diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2012-05-14 08:46:33 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2012-05-14 08:46:33 +0000 |
commit | 9cbbba287d1ca590c503682d72df99fa2800b985 (patch) | |
tree | 24a9b1d109a3426404acbce3f2ac87147420a614 /gcc/tree-ssa-pre.c | |
parent | 5341ab80950eb02944ac1a9e25814833d51cf649 (diff) | |
download | gcc-9cbbba287d1ca590c503682d72df99fa2800b985.zip gcc-9cbbba287d1ca590c503682d72df99fa2800b985.tar.gz gcc-9cbbba287d1ca590c503682d72df99fa2800b985.tar.bz2 |
stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype into a PLUS_EXPR byte offset.
* stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype
into a PLUS_EXPR byte offset.
* tree-ssa-pre.c (can_value_number_call): Delete.
(compute_avail): Skip all statements with side effects.
<GIMPLE_CALL>: Skip calls to internal functions.
From-SVN: r187450
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index fcd7fee..0550879 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -2586,19 +2586,6 @@ compute_antic (void) sbitmap_free (changed_blocks); } -/* Return true if we can value number the call in STMT. This is true - if we have a pure or constant call to a real function. */ - -static bool -can_value_number_call (gimple stmt) -{ - if (gimple_call_internal_p (stmt)) - return false; - if (gimple_call_flags (stmt) & (ECF_PURE | ECF_CONST)) - return true; - return false; -} - /* Return true if OP is a tree which we can perform PRE on. This may not match the operations we can value number, but in a perfect world would. */ @@ -3975,8 +3962,7 @@ compute_avail (void) or control flow. If this isn't a call or it is the last stmt in the basic-block then the CFG represents things correctly. */ - if (is_gimple_call (stmt) - && !stmt_ends_bb_p (stmt)) + if (is_gimple_call (stmt) && !stmt_ends_bb_p (stmt)) { /* Non-looping const functions always return normally. Otherwise the call might not return or have side-effects @@ -3998,8 +3984,7 @@ compute_avail (void) bitmap_value_insert_into_set (AVAIL_OUT (block), e); } - if (gimple_has_volatile_ops (stmt) - || stmt_could_throw_p (stmt)) + if (gimple_has_side_effects (stmt) || stmt_could_throw_p (stmt)) continue; switch (gimple_code (stmt)) @@ -4017,7 +4002,8 @@ compute_avail (void) pre_expr result = NULL; VEC(vn_reference_op_s, heap) *ops = NULL; - if (!can_value_number_call (stmt)) + /* We can value number only calls to real functions. */ + if (gimple_call_internal_p (stmt)) continue; copy_reference_ops_from_call (stmt, &ops); |