aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2012-08-14 09:43:09 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2012-08-14 09:43:09 +0200
commitdbabddf32d99e53e3dd0953267b87939ecb014f9 (patch)
treea87c4f8fcc9426a38fd7339d86bb53c8fcb39056 /gcc/ira.c
parent2ad74f71d118d54173823e46394facb3e6087818 (diff)
downloadgcc-dbabddf32d99e53e3dd0953267b87939ecb014f9.zip
gcc-dbabddf32d99e53e3dd0953267b87939ecb014f9.tar.gz
gcc-dbabddf32d99e53e3dd0953267b87939ecb014f9.tar.bz2
re PR middle-end/53411 (ICE in move_unallocated_pseudos)
PR middle-end/53411 PR rtl-optimization/53495 * ira.c (ira): Move delete_trivially_dead_insns call before find_moveable_pseudos call. * gcc.c-torture/compile/pr53411.c: New test. * gcc.c-torture/compile/pr53495.c: New test. From-SVN: r190376
Diffstat (limited to 'gcc/ira.c')
-rw-r--r--gcc/ira.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/ira.c b/gcc/ira.c
index a209894..5000d43 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -4206,6 +4206,9 @@ ira (FILE *f)
allocated_reg_info_size = max_reg_num ();
+ if (delete_trivially_dead_insns (get_insns (), max_reg_num ()))
+ df_analyze ();
+
/* It is not worth to do such improvement when we use a simple
allocation because of -O0 usage or because the function is too
big. */
@@ -4288,9 +4291,6 @@ ira (FILE *f)
check_allocation ();
#endif
- if (delete_trivially_dead_insns (get_insns (), max_reg_num ()))
- df_analyze ();
-
if (max_regno != max_regno_before_ira)
{
regstat_free_n_sets_and_refs ();