This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] pre vs asm statements
- From: Richard Henderson <rth at redhat dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 4 Jan 2004 21:58:04 -0800
- Subject: [tree-ssa] pre vs asm statements
A current regression on tree-ssa, g++.dg/opt/noreturn-1.C, is due to
PRE smashing an ASM_EXPR.
2619 copy = TREE_OPERAND (use_stmt, 1);
2620 copy = unshare_expr (copy);
2621 newexpr = build (MODIFY_EXPR, TREE_TYPE (temp), temp, copy);
2622 newtemp = make_ssa_name (temp, newexpr);
2623 EREF_TEMP (use) = newtemp;
2624 TREE_OPERAND (newexpr, 0) = newtemp;
2625 TREE_OPERAND (use_stmt, 1) = newtemp;
Operand 1 of an asm_expr is a tree_list of constraint/value pairs.
Here you're smashing the whole thing to an ssa_name. We die later
trying to dereference it.
r~