This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: protect label from being optimized
- From: Kunal Parmar <kunalparmar at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Cc: iant at google dot com
- Date: Thu, 17 Apr 2008 19:10:33 -0400
- Subject: Re: protect label from being optimized
Hi,
>> I am working on porting GCC to a new RISC architecture. The ISA does
>> not have a "Jump and Link Register" instruction. So I am simulating
>> one by replacing
>> jal [reg]
>> by
>> load ra, Lret
>> jr reg
>> Lret:
>>
>> in RTL.
>> But my return label is getting optimized away. Could you please tell
>> me how to avoid this.
>
>Make sure the load label instruction is using a LABEL_REF. Look at
> sh.md for various examples.
Is this correct :
ret_label = gen_label_rtx ();
emit_move_insn (gen_rtx_REG (HImode, 7),
gen_rtx_LABEL_REF (VOIDmode,
ret_label));
emit_call_insn (gen_brc_call_simulate (addr, args_size));
emit_label (ret_label);
Cheers,
Kunal