On 04/02/14 12:14, Richard Sandiford wrote:
> s390_emit_prologue performs some optimisations on the function before
> emitting the prologue.  It also rewrites constant pool accesses to make
> the base register explicit.
> 
> Doing this in the prologue pattern makes the interaction with direct
> returns and simple_returns less obvious, so this patch splits the code
> out into a new target-specific pre-prologue pass.  I've called it
> "early_mach" for want of a better name.
> 
> I also moved s390_option_override to the end of the file in order
> to avoid some forward declarations that would have been needed otherwise.
> The only change is at the very end of the function.
> 
> Tested on s390-linux-gnu and s390x-linux-gnu, using
> unix{,-m31,-march=z10/-m31,-march=z10,-march=z196,-march=zEC12}
> for the latter.  OK to install?
> 
> Thanks,
> Richard
> 
> 
> gcc/
>       * config/s390/s390.c: Include tree-pass.h and context.h.
>       (s390_early_mach): New function, split out from...
>       (s390_emit_prologue): ...here.
>       (pass_data_s390_early_mach): New pass structure.
>       (pass_s390_early_mach): New class.
>       (s390_option_override): Create and register early_mach pass.
>       Move to end of file.

Ok to apply.  Thanks a lot for doing this work!

-Andreas-

Reply via email to