aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorPeter Bergner <bergner@linux.ibm.com>2018-10-06 02:12:30 +0000
committerPeter Bergner <bergner@gcc.gnu.org>2018-10-05 21:12:30 -0500
commita141f2d86293dc202e35bd4d7f832756e1792cdf (patch)
tree5c5f68081db774a0b61e0904e11d151bb12eab8c /gcc/fortran/resolve.c
parentfb6f9bbc754df7f410d0ae00e0cd8dc839203dc4 (diff)
downloadgcc-a141f2d86293dc202e35bd4d7f832756e1792cdf.zip
gcc-a141f2d86293dc202e35bd4d7f832756e1792cdf.tar.gz
gcc-a141f2d86293dc202e35bd4d7f832756e1792cdf.tar.bz2
re PR rtl-optimization/86939 (IRA incorrectly creates an interference between a pseudo register and a hard register)
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. From-SVN: r264897
Diffstat (limited to 'gcc/fortran/resolve.c')
0 files changed, 0 insertions, 0 deletions