From 9cbbba287d1ca590c503682d72df99fa2800b985 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 14 May 2012 08:46:33 +0000 Subject: 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. : Skip calls to internal functions. From-SVN: r187450 --- gcc/tree-ssa-pre.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'gcc/tree-ssa-pre.c') 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); -- cgit v1.1