tree-object-size: Avoid unnecessary processing of __builtin_object_size
This is a minor cleanup to bail out early if the result of __builtin_object_size is not assigned to anything and avoid initializing the object size arrays. gcc/ChangeLog: * tree-object-size.c (object_sizes_execute): Consolidate LHS null check and do it early. Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
This commit is contained in:
parent
c9ff458184
commit
30d6ff3916
@ -1298,6 +1298,10 @@ object_sizes_execute (function *fun, bool insert_min_max_p)
|
|||||||
if (!gimple_call_builtin_p (call, BUILT_IN_OBJECT_SIZE))
|
if (!gimple_call_builtin_p (call, BUILT_IN_OBJECT_SIZE))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
tree lhs = gimple_call_lhs (call);
|
||||||
|
if (!lhs)
|
||||||
|
continue;
|
||||||
|
|
||||||
init_object_sizes ();
|
init_object_sizes ();
|
||||||
|
|
||||||
/* If insert_min_max_p, only attempt to fold
|
/* If insert_min_max_p, only attempt to fold
|
||||||
@ -1312,11 +1316,9 @@ object_sizes_execute (function *fun, bool insert_min_max_p)
|
|||||||
{
|
{
|
||||||
unsigned HOST_WIDE_INT object_size_type = tree_to_uhwi (ost);
|
unsigned HOST_WIDE_INT object_size_type = tree_to_uhwi (ost);
|
||||||
tree ptr = gimple_call_arg (call, 0);
|
tree ptr = gimple_call_arg (call, 0);
|
||||||
tree lhs = gimple_call_lhs (call);
|
|
||||||
if ((object_size_type == 1 || object_size_type == 3)
|
if ((object_size_type == 1 || object_size_type == 3)
|
||||||
&& (TREE_CODE (ptr) == ADDR_EXPR
|
&& (TREE_CODE (ptr) == ADDR_EXPR
|
||||||
|| TREE_CODE (ptr) == SSA_NAME)
|
|| TREE_CODE (ptr) == SSA_NAME))
|
||||||
&& lhs)
|
|
||||||
{
|
{
|
||||||
tree type = TREE_TYPE (lhs);
|
tree type = TREE_TYPE (lhs);
|
||||||
unsigned HOST_WIDE_INT bytes;
|
unsigned HOST_WIDE_INT bytes;
|
||||||
@ -1339,10 +1341,6 @@ object_sizes_execute (function *fun, bool insert_min_max_p)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
tree lhs = gimple_call_lhs (call);
|
|
||||||
if (!lhs)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
result = gimple_fold_stmt_to_constant (call, do_valueize);
|
result = gimple_fold_stmt_to_constant (call, do_valueize);
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user