diff options
author | Yuri Rumyantsev <ysrumyan@gmail.com> | 2015-01-28 11:46:44 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2015-01-28 11:46:44 +0000 |
commit | 090238ee1f3b3726c5dbd746b3ec7098fc51bb37 (patch) | |
tree | 3216a60a83250b142f8e546a5edce62cbe6baad4 /gcc/cfgexpand.c | |
parent | fa8e5051889f8bc0610e3400152b73755d12d04e (diff) | |
download | gcc-090238ee1f3b3726c5dbd746b3ec7098fc51bb37.zip gcc-090238ee1f3b3726c5dbd746b3ec7098fc51bb37.tar.gz gcc-090238ee1f3b3726c5dbd746b3ec7098fc51bb37.tar.bz2 |
re PR middle-end/64809 (ICE at -O3 with -g enabled on x86_64-linux-gnu (in 32-bit mode))
gcc/
PR middle-end/64809
* cfgexpand.c (reorder_operands): Skip debug gimples.
gcc/testsuite/
PR middle-end/64809
* gcc.dg/pr64809.c: New test.
From-SVN: r220205
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 4df973b..4d8ba32 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -5010,13 +5010,16 @@ reorder_operands (basic_block bb) for (gsi = gsi_start (stmts); !gsi_end_p (gsi); gsi_next (&gsi)) { stmt = gsi_stmt (gsi); - gimple_set_uid (stmt, n++); + if (!is_gimple_debug (stmt)) + gimple_set_uid (stmt, n++); } lattice = XNEWVEC (unsigned int, n); for (gsi = gsi_start (stmts); !gsi_end_p (gsi); gsi_next (&gsi)) { unsigned cost; stmt = gsi_stmt (gsi); + if (is_gimple_debug (stmt)) + continue; cost = estimate_num_insns (stmt, &eni_size_weights); lattice[i] = cost; FOR_EACH_SSA_USE_OPERAND (use_p, stmt, iter, SSA_OP_USE) |