summaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2008-08-29 11:39:04 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2008-08-29 11:39:04 +0000
commit4612996b23ab6dfd0393b3f94bda2c6d8c4a350b (patch)
treed76c6ee971e06837b56e7b4c042ff8fa4b153ecc /gcc/opts.c
parent5afe38fe4c359548ac69898c28c2511a6f341d96 (diff)
downloadgcc-4612996b23ab6dfd0393b3f94bda2c6d8c4a350b.tar.gz
* doc/invoke.texi (-fipa-cp): Enabled by default at -O2/-Os/-O3
(-fipa-cp-clone): Enabled by default at -O3. * opts.c (decode_options): Enable ipa-cp at -O2, ipa-cp-clone at -O3; make ipa-cp-clone to imply ipa-cp; disable cloning at -Os. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139762 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index 8c46dfa9cf7..f64d74736b2 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -955,7 +955,8 @@ decode_options (unsigned int argc, const char **argv)
flag_tree_vrp = opt2;
flag_tree_builtin_call_dce = opt2;
flag_tree_pre = opt2;
- flag_tree_switch_conversion = 1;
+ flag_tree_switch_conversion = 1;
+ flag_ipa_cp = opt2;
/* Allow more virtual operators to increase alias precision. */
@@ -973,6 +974,9 @@ decode_options (unsigned int argc, const char **argv)
flag_unswitch_loops = opt3;
flag_gcse_after_reload = opt3;
flag_tree_vectorize = opt3;
+ flag_ipa_cp_clone = opt3;
+ if (flag_ipa_cp_clone)
+ flag_ipa_cp = 1;
/* Allow even more virtual operators. Max-aliased-vops was set above for
-O2, so don't reset it unless we are at -O3. */
@@ -1028,6 +1032,9 @@ decode_options (unsigned int argc, const char **argv)
/* We want to crossjump as much as possible. */
set_param_value ("min-crossjump-insns", 1);
+
+ /* Do not perform clonning in ipcp. */
+ flag_ipa_cp_clone = 0;
}
else
set_param_value ("min-crossjump-insns", initial_min_crossjump_insns);