diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2007-10-15 17:14:46 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2007-10-15 17:14:46 +0200 |
commit | e0b55676ccb8be00d5adf582b49d86ff2d7fc71c (patch) | |
tree | dae62f8923fcc82a1202f1c8275a8bfb6bc75c5b /gcc/tree-ssa-ter.c | |
parent | fc632f6e0f21d74881cbddf30553afbdaa69f608 (diff) | |
download | gcc-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.c | 9 |
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) |