Add a no_register_allocation target hook.
authorBernd Schmidt <bernds@codesourcery.com>
Wed, 5 Nov 2014 12:14:27 +0000 (12:14 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Wed, 5 Nov 2014 12:14:27 +0000 (12:14 +0000)
commita50fa76a9d8e3690ea563ff75d8d9cebb07208f7
tree8c769246fc064bcf589bbd7310157cfab45d3fbc
parent146ca1446676fa735c323eafff16516f3b2c65b9
Add a no_register_allocation target hook.

* target.def (no_register_allocation): New data hook.
* doc/tm.texi.in: Add @hook TARGET_NO_REGISTER_ALLOCATION.
* doc/tm.texi: Regenerate.
* ira.c (gate_ira): New function.
(pass_data_ira): Set has_gate.
(pass_ira): Add a gate function.
(pass_data_reload): Likewise.
(pass_reload): Add a gate function.
(pass_ira): Use it.
* reload1.c (eliminate_regs): If reg_eliminate_is NULL, assert that
no register allocation happens on the target and return.
* final.c (alter_subreg): Ensure register is not a pseudo before
calling simplify_subreg.
(output_operand): Assert that x isn't a pseudo only if doing
register allocation.

From-SVN: r217122
gcc/ChangeLog
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/final.c
gcc/ira.c
gcc/reload1.c
gcc/target.def