diff options
author | Martin Liska <mliska@suse.cz> | 2015-01-09 11:33:00 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2015-01-09 10:33:00 +0000 |
commit | 3f9f4ae70554ee0f7b756fc1d811aefb6e70f076 (patch) | |
tree | 1c877e5ceb75376cc425d2d78971a217c753a79c /gcc/cgraphunit.c | |
parent | 56f6033d2bc75b90a1006b5245a8da338224506d (diff) | |
download | gcc-3f9f4ae70554ee0f7b756fc1d811aefb6e70f076.zip gcc-3f9f4ae70554ee0f7b756fc1d811aefb6e70f076.tar.gz gcc-3f9f4ae70554ee0f7b756fc1d811aefb6e70f076.tar.bz2 |
IPA ICF: target and optimization flags comparison.
* cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
* ipa-icf.c (sem_function::equals_private): Add support for target and
(sem_item_optimizer::merge_classes): Remove redundant function
optimization flags comparison.
* tree.h (target_opts_for_fn): New function.
* gcc.dg/ipa/ipa-icf-32.c: New test.
From-SVN: r219377
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index c8c8562..81246e2 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -2385,40 +2385,40 @@ cgraphunit_c_finalize (void) void cgraph_node::create_wrapper (cgraph_node *target) { - /* Preserve DECL_RESULT so we get right by reference flag. */ - tree decl_result = DECL_RESULT (decl); + /* Preserve DECL_RESULT so we get right by reference flag. */ + tree decl_result = DECL_RESULT (decl); - /* Remove the function's body but keep arguments to be reused - for thunk. */ - release_body (true); - reset (); + /* Remove the function's body but keep arguments to be reused + for thunk. */ + release_body (true); + reset (); - DECL_RESULT (decl) = decl_result; - DECL_INITIAL (decl) = NULL; - allocate_struct_function (decl, false); - set_cfun (NULL); + DECL_RESULT (decl) = decl_result; + DECL_INITIAL (decl) = NULL; + allocate_struct_function (decl, false); + set_cfun (NULL); - /* Turn alias into thunk and expand it into GIMPLE representation. */ - definition = true; - thunk.thunk_p = true; - thunk.this_adjusting = false; + /* Turn alias into thunk and expand it into GIMPLE representation. */ + definition = true; + thunk.thunk_p = true; + thunk.this_adjusting = false; - cgraph_edge *e = create_edge (target, NULL, 0, CGRAPH_FREQ_BASE); + cgraph_edge *e = create_edge (target, NULL, 0, CGRAPH_FREQ_BASE); - tree arguments = DECL_ARGUMENTS (decl); + tree arguments = DECL_ARGUMENTS (decl); - while (arguments) - { - TREE_ADDRESSABLE (arguments) = false; - arguments = TREE_CHAIN (arguments); - } + while (arguments) + { + TREE_ADDRESSABLE (arguments) = false; + arguments = TREE_CHAIN (arguments); + } - expand_thunk (false, true); - e->call_stmt_cannot_inline_p = true; + expand_thunk (false, true); + e->call_stmt_cannot_inline_p = true; - /* Inline summary set-up. */ - analyze (); - inline_analyze_function (this); + /* Inline summary set-up. */ + analyze (); + inline_analyze_function (this); } #include "gt-cgraphunit.h" |