陳韋任 <che...@iis.sinica.edu.tw> writes:

>> The machine reorg pass in particular can change anything, and may change
>> the CFG.  The delay slots pass may also change the CFG.  It depends on
>> your particular target.
>
>   From the comments and source code in gcc/reorg.c, I guess both machine
> reorg pass and delay slots pass are for delayed-branch scheduling. And
> you said it depends on particular target. Did you mean those architectures
> have branch delay slot, like those listed in the comments in gcc/reorg.c? 

Different targets use the machine reorg pass for all sorts of different
things.  Most of the code in reorg.c is actually not the machine reorg
pass, it is the delay slots pass (pass_delay_slots).  The machine reorg
pass (pass_machine_reorg) simply calls targetm.machine_dependent_reorg,
which is what a backend (in config/*) calls
TARGET_MACHINE_DEPENDENT_REORG.

Ian

Reply via email to