Hello. Following patch implements emission of function declarations and removes hsa_call_block_insn. The insn is replaced with a new hsa_arg_block_insn, which will make insn iteration flat and much easier for register allocator. Thanks, Martin