re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)
authorJakub Jelinek <jakub@redhat.com>
Thu, 23 Feb 2017 22:05:19 +0000 (23:05 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 23 Feb 2017 22:05:19 +0000 (23:05 +0100)
commitada61c3d4774b98d42b53e99836abd695969fbc6
treebe0895ee3e183c6faea1c9333e9467ba519248ab
parentd822f3d585da1f9be6ab62245073625385a0e34f
re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)

PR tree-optimization/79389
* ifcvt.c (struct noce_if_info): Add rev_cond field.
(noce_reversed_cond_code): New function.
(noce_emit_store_flag): Use rev_cond if non-NULL instead of
reversed_comparison_code.  Formatting fix.
(noce_try_store_flag): Test rev_cond != NULL in addition to
reversed_comparison_code.
(noce_try_store_flag_constants): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_addcc): Use rev_cond if non-NULL instead of
reversed_comparison_code.
(noce_try_cmove_arith): Likewise.  Formatting fixes.
(noce_try_minmax, noce_try_abs): Clear rev_cond.
(noce_find_if_block): Initialize rev_cond.
(find_cond_trap): Call noce_get_condition with then_bb == trap_bb
instead of false as last argument never attempt to reverse it
afterwards.

From-SVN: r245690
gcc/ChangeLog
gcc/ifcvt.c