aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-ter.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2007-10-15 17:14:46 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2007-10-15 17:14:46 +0200
commite0b55676ccb8be00d5adf582b49d86ff2d7fc71c (patch)
treedae62f8923fcc82a1202f1c8275a8bfb6bc75c5b /gcc/tree-ssa-ter.c
parentfc632f6e0f21d74881cbddf30553afbdaa69f608 (diff)
downloadgcc-e0b55676ccb8be00d5adf582b49d86ff2d7fc71c.zip
gcc-e0b55676ccb8be00d5adf582b49d86ff2d7fc71c.tar.gz
gcc-e0b55676ccb8be00d5adf582b49d86ff2d7fc71c.tar.bz2
re PR tree-optimization/33619 (TER breaks some inline-asm code (again))
PR tree-optimization/33619 * tree-ssa-ter.c (is_replaceable_p): Return false for all calls. * gcc.dg/pr33619.c: New test. From-SVN: r129350
Diffstat (limited to 'gcc/tree-ssa-ter.c')
-rw-r--r--gcc/tree-ssa-ter.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/gcc/tree-ssa-ter.c b/gcc/tree-ssa-ter.c
index 424ccbe..d8553ce 100644
--- a/gcc/tree-ssa-ter.c
+++ b/gcc/tree-ssa-ter.c
@@ -402,14 +402,9 @@ is_replaceable_p (tree stmt)
&& DECL_HARD_REGISTER (GENERIC_TREE_OPERAND (stmt, 1)))
return false;
- /* Calls to functions with side-effects cannot be replaced. */
+ /* No function calls can be replaced. */
if ((call_expr = get_call_expr_in (stmt)) != NULL_TREE)
- {
- int call_flags = call_expr_flags (call_expr);
- if (TREE_SIDE_EFFECTS (call_expr)
- && !(call_flags & (ECF_PURE | ECF_CONST | ECF_NORETURN)))
- return false;
- }
+ return false;
/* Leave any stmt with volatile operands alone as well. */
if (stmt_ann (stmt)->has_volatile_ops)