summaryrefslogtreecommitdiff
path: root/gcc/passes.def
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-19 00:58:43 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-19 00:58:43 +0000
commitcf8b23bb59e3fdc56a7c4023419d7f7d2902a085 (patch)
tree353bbd6b2ed6da4c5c83773cb11308dfd538b143 /gcc/passes.def
parent63806c8f8690a06619cf2b113394dea317f3afb5 (diff)
downloadgcc-cf8b23bb59e3fdc56a7c4023419d7f7d2902a085.tar.gz
* tree-pass.h (make_pass_ipa_comdats): New pass.
* timevar.def (TV_IPA_COMDATS): New timevar. * passes.def (pass_ipa_comdats): Add. * Makefile.in (OBJS): Add ipa-comdats.o * ipa-comdats.c: New file. * g++.dg/ipa/comdat.C: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210597 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.def')
-rw-r--r--gcc/passes.def4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/passes.def b/gcc/passes.def
index 506b65789f6..2f889e88905 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -110,6 +110,10 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_ipa_inline);
NEXT_PASS (pass_ipa_pure_const);
NEXT_PASS (pass_ipa_reference);
+ /* Comdat privatization come last, as direct references to comdat local
+ symbols are not allowed outside of the comdat group. Privatizing early
+ would result in missed optimizations due to this restriction. */
+ NEXT_PASS (pass_ipa_comdats);
TERMINATE_PASS_LIST ()
/* Simple IPA passes executed after the regular passes. In WHOPR mode the