aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorYuri Rumyantsev <ysrumyan@gmail.com>2016-01-11 12:07:31 +0000
committerIlya Enkovich <ienkovich@gcc.gnu.org>2016-01-11 12:07:31 +0000
commitca90b1ed9ac7e9aaacb3ef0eb055d2f594d30493 (patch)
treeaff7cf99fbd76cee5e9f06139145d6518bc63045 /gcc/params.def
parentb4934671aed067e0a8c3ac3fcc5871dd27a706ed (diff)
downloadgcc-ca90b1ed9ac7e9aaacb3ef0eb055d2f594d30493.zip
gcc-ca90b1ed9ac7e9aaacb3ef0eb055d2f594d30493.tar.gz
gcc-ca90b1ed9ac7e9aaacb3ef0eb055d2f594d30493.tar.bz2
re PR rtl-optimization/68920 (Undesirable if-conversion for a rarely taken branch)
gcc/ 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com> PR rtl-optimization/68920 * config/i386/i386.c (ix86_option_override_internal): Restrict number of conditional moves for RTL if-conversion to 1 for TARGET_ONE_IF_CONV_INSN. * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros. * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros. * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new parameter to restirct number of conditional moves for RTL if-conversion. * doc/invoke.texi (max-rtl-if-conversion-insns): Document it. * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of conditionl moves. gcc/testsuite/ 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com> PR rtl-optimization/68920 * gcc.dg/ifcvt-4.c: Add "--param max-rtl-if-conversion-insns=3" option for ix86 targets. * gcc.dg/ifcvt-5.c: New test. From-SVN: r232220
Diffstat (limited to 'gcc/params.def')
-rw-r--r--gcc/params.def6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/params.def b/gcc/params.def
index 472b20c..308844a 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -1177,6 +1177,12 @@ DEFPARAM (PARAM_MAX_SSA_NAME_QUERY_DEPTH,
"Maximum recursion depth allowed when querying a property of an"
" SSA name.",
2, 1, 0)
+
+DEFPARAM (PARAM_MAX_RTL_IF_CONVERSION_INSNS,
+ "max-rtl-if-conversion-insns",
+ "Maximum number of insns in a basic block to consider for RTL "
+ "if-conversion.",
+ 10, 0, 99)
/*
Local variables: