]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR rtl-optimization/68920 (Undesirable if-conversion for a rarely taken branch)
authorYuri Rumyantsev <ysrumyan@gmail.com>
Mon, 11 Jan 2016 12:07:31 +0000 (12:07 +0000)
committerIlya Enkovich <ienkovich@gcc.gnu.org>
Mon, 11 Jan 2016 12:07:31 +0000 (12:07 +0000)
commitca90b1ed9ac7e9aaacb3ef0eb055d2f594d30493
treeaff7cf99fbd76cee5e9f06139145d6518bc63045
parentb4934671aed067e0a8c3ac3fcc5871dd27a706ed
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
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/x86-tune.def
gcc/doc/invoke.texi
gcc/ifcvt.c
gcc/params.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/ifcvt-4.c
gcc/testsuite/gcc.dg/ifcvt-5.c [new file with mode: 0644]