]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/df-scan.c
Fix PR44281, bad RA with global regs.
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 May 2016 09:35:42 +0000 (09:35 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 May 2016 09:35:42 +0000 (09:35 +0000)
commit69105acc9c655b95feb2d6ebd6cec7211343b719
treedb4f856ef821d7dc564edeb431dc0da7bf076b30
parent9ab8df54d1d38d1f5c82995147927ddc0a85e01f
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235809 138bc75d-0d04-0410-961f-82ee72b054a4
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]