diff options
author | Jakub Jelinek <jakub@redhat.com> | 2015-03-26 14:19:59 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-03-26 14:19:59 +0100 |
commit | 672ff0b6fd7f43aa5415bff60ab212b893b9f474 (patch) | |
tree | 103331a842bf4bd31af5f4ef2d0b06f0304344e3 /gcc/passes.def | |
parent | d00dce2749c652a0d63b646695249a9c5a820b94 (diff) | |
download | gcc-672ff0b6fd7f43aa5415bff60ab212b893b9f474.tar.gz |
re PR tree-optimization/64715 (__builtin_object_size (..., 1) fails to locate subobject)
PR tree-optimization/64715
* passes.def: Add another instance of pass_object_sizes before
ccp1.
* tree-object-size.c (pass_object_sizes::execute): In
first_pass_instance, only handle __bos (, 1) and __bos (, 3)
calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
__bos result and the computed constant. Remove redundant
checks, obsoleted by gimple_call_builtin_p test.
* gcc.dg/builtin-object-size-15.c: New test.
* gcc.dg/pr64715-1.c: New test.
* gcc.dg/pr64715-2.c: New test.
From-SVN: r221694
Diffstat (limited to 'gcc/passes.def')
-rw-r--r-- | gcc/passes.def | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/passes.def b/gcc/passes.def index 2bc5dcd781f..c839b7984ca 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -77,6 +77,7 @@ along with GCC; see the file COPYING3. If not see PUSH_INSERT_PASSES_WITHIN (pass_all_early_optimizations) NEXT_PASS (pass_remove_cgraph_callee_edges); NEXT_PASS (pass_rename_ssa_copies); + NEXT_PASS (pass_object_sizes); NEXT_PASS (pass_ccp); /* After CCP we rewrite no longer addressed locals into SSA form if possible. */ |