Fix PR44281, bad RA with global regs.
authorBernd Schmidt <bernds@redhat.com>
Tue, 3 May 2016 09:35:42 +0000 (09:35 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Tue, 3 May 2016 09:35:42 +0000 (09:35 +0000)
commitf80041efb991e4326971dea550157192f912d9a4
treedb4f856ef821d7dc564edeb431dc0da7bf076b30
parent1cfcd39eee915a7582adc113fa6e7faac8b943e4
Fix PR44281, bad RA with global regs.

PR rtl-optimization/44281
* hard-reg-set.h (struct target_hard_regs): New field
x_fixed_nonglobal_reg_set.
(fixed_nonglobal_reg_set): New macro.
* reginfo.c (init_reg_sets_1): Initialize it.
* ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead
of fixed_reg_set.
* df-scan.c (df_insn_refs_collect): Asms may reference global regs.

testsuite/
PR rtl-optimization/44281
* gcc.target/i386/pr44281.c: New test.

From-SVN: r235809
gcc/ChangeLog
gcc/df-scan.c
gcc/hard-reg-set.h
gcc/ira.c
gcc/reginfo.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr44281.c [new file with mode: 0644]