gcc/
commit4bcfedf5c1fd7d15521a220f43c2a390c93688f0
authorbergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Oct 2018 02:12:30 +0000 (6 02:12 +0000)
committerbergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Oct 2018 02:12:30 +0000 (6 02:12 +0000)
tree5c5f68081db774a0b61e0904e11d151bb12eab8c
parent0e16f2a75991eeaaa833152180810c536c7d5368
gcc/
PR rtl-optimization/86939
PR rtl-optimization/87479
* ira.h (non_conflicting_reg_copy_p): New prototype.
* ira-lives.c (ignore_reg_for_conflicts): New static variable.
(make_hard_regno_dead): Don't add conflicts for register
ignore_reg_for_conflicts.
(make_object_dead): Likewise.
(non_conflicting_reg_copy_p): New function.
(process_bb_node_lives): Set ignore_reg_for_conflicts for copies.
Remove special conflict handling of REAL_PIC_OFFSET_TABLE_REGNUM.
* lra-lives.c (ignore_reg_for_conflicts): New static variable.
(make_hard_regno_dead): Don't add conflicts for register
ignore_reg_for_conflicts.  Remove special conflict handling of
REAL_PIC_OFFSET_TABLE_REGNUM.  Remove now unused argument
check_pic_pseudo_p and update callers.
(mark_pseudo_dead): Don't add conflicts for register
ignore_reg_for_conflicts.
(process_bb_lives): Set ignore_reg_for_conflicts for copies.

gcc/testsuite/
PR rtl-optimization/86939
PR rtl-optimization/87479
* gcc.target/powerpc/pr86939.c: New test.
* gcc/testsuite/gcc.target/i386/pr49095.c: Fix expected results.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264897 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ira-lives.c
gcc/ira.h
gcc/lra-lives.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr49095.c
gcc/testsuite/gcc.target/powerpc/pr86939.c [new file with mode: 0644]