aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-09-30 23:25:52 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2004-09-30 21:25:52 +0000
commita71024790309f81fdcf38e5150f081b300acd3b1 (patch)
treedae06d9ce92a27f5d915c142bf46cfdc29dea973 /gcc/tree-ssa-pre.c
parent9108699053ebb8ac2493f3f9efa97d1e228182f5 (diff)
downloadgcc-a71024790309f81fdcf38e5150f081b300acd3b1.zip
gcc-a71024790309f81fdcf38e5150f081b300acd3b1.tar.gz
gcc-a71024790309f81fdcf38e5150f081b300acd3b1.tar.bz2
re PR debug/13974 (bad line marker in debug info)
PR debug/13974 * cfgrtl.c (try_redirect_by_replacing_jump, force_nonfallthru_and_redirect, commit_one_edge_insertion, cfg_layout_merge_blocks): Do not attach any line number information to newly inserted instructions. * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to emit_insn_*_noloc. (emit_*insn_before, emit_insn*_after): New. (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite existing locators. * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare. (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill. From-SVN: r88358
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r--gcc/tree-ssa-pre.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 3d505b5..83f039a 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1855,6 +1855,7 @@ eliminate (void)
if (TREE_CODE (stmt) == MODIFY_EXPR
&& TREE_CODE (TREE_OPERAND (stmt, 0)) == SSA_NAME
&& TREE_CODE (TREE_OPERAND (stmt ,1)) != SSA_NAME
+ && TREE_CODE (TREE_OPERAND (stmt, 1)) != NOP_EXPR
&& !is_gimple_min_invariant (TREE_OPERAND (stmt, 1))
&& !stmt_ann (stmt)->has_volatile_ops)
{