summaryrefslogtreecommitdiff
path: root/gcc/ipa-cp.c
diff options
context:
space:
mode:
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-03 21:10:11 +0000
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-03 21:10:11 +0000
commit7bfefa9d2c82e804ef4e59772f4060ac325bf99a (patch)
tree3a9882bd235e5026410e5397a5e46a97ece50b48 /gcc/ipa-cp.c
parent7271d48ec9cd1a9aa3893d1d95e1d4a1c5882c37 (diff)
downloadgcc-7bfefa9d2c82e804ef4e59772f4060ac325bf99a.tar.gz
Merge lto branch into trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152434 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r--gcc/ipa-cp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index f7782cbbf83..a974dd0aab3 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -1273,7 +1273,13 @@ ipcp_generate_summary (void)
static bool
cgraph_gate_cp (void)
{
- return flag_ipa_cp;
+ /* FIXME lto. IPA-CP does not tolerate running when the inlining decisions
+ have not been applied. This happens when WPA modifies the callgraph.
+ Since those decisions are not applied until after all the IPA passes
+ have been run in LTRANS, this means that IPA passes may see partially
+ modified callgraphs. The solution to this is to apply WPA decisions
+ early during LTRANS. */
+ return flag_ipa_cp && !flag_ltrans;
}
struct ipa_opt_pass_d pass_ipa_cp =