On 11/30/18 1:50 PM, Jakub Jelinek wrote:
> Hi!
> 
> Until we stop depending on BRANCH_COST and LOGICAL_OP_NON_SHORT_CIRCUIT
> macros at least for early GIMPLE, I'm afraid the current state for the
> testsuite is terrible, on some targets it is enough to use
> -mbranch-cost={1,2} to pick either of the setting, but other targets,
> while they implement -mbranch-cost=, redefine LOGICAL_OP_NON_SHORT_CIRCUIT,
> so it ignores BRANCH_COST altogether, or sometimes, other targets don't
> implement -mbranch-cost= and have various complex definitions of BRANCH_COST
> or LOGICAL_OP_NON_SHORT_CIRCUIT depending on other command line options.
> 
> The following patch introduces a new param (not an option, to make it
> clearer it is intended primarily for the testsuite and we can more easily
> remove it again) that overrides the target's LOGICAL_OP_NON_SHORT_CIRCUIT
> and adjusts the testsuite to use it.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, Christophe has kindly
> tested it on ARM.  Ok for trunk?
> 
> 2018-11-30  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR testsuite/85368
>       * params.def (PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT): New param.
>       * tree-ssa-ifcombine.c (ifcombine_ifandif): If
>       --param logical-op-non-short-circuit is present, override
>       LOGICAL_OP_NON_SHORT_CIRCUIT value from the param.
>       * fold-const.c (fold_range_test, fold_truth_andor): Likewise.
> 
>       * lib/target-supports.exp (logical_op_short_circuit): Remove.
>       * gcc.dg/builtin-bswap-7.c: Remove logical_op_short_circuit
>       effective target, drop -mbranch-cost= options from the test and
>       instead pass --param logical-op-non-short-circuit=0 or
>       --param logical-op-non-short-circuit=1 depending on what the
>       tests meant to test.
>       * gcc.dg/pr21643.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
>       * gcc.dg/tree-ssa/phi-opt-11.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-thread-14.c: Likewise.
>       * gcc.dg/tree-ssa/vrp47.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-dom-thread-11.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-dom-thread-16.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-dom-thread-14.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
>       * gcc.dg/tree-ssa/vrp87.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
>       * gcc.dg/tree-ssa/phi-opt-2.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-ifcombine-13.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-thread-11.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
>       * gcc.dg/tree-ssa/forwprop-28.c: Likewise.
>       * gcc.dg/binop-xor1.c: Likewise.
>       * gcc.dg/pr46309.c: Likewise.
>       * gcc.dg/tree-ssa/ssa-dom-thread-18.c: New test.
>       * gcc.dg/tree-ssa/reassoc-32.c: Add
>       --param logical-op-non-short-circuit=1 to dg-options.
>       * gcc.dg/tree-ssa/reassoc-33.c: Likewise.
>       * gcc.dg/tree-ssa/reassoc-34.c: Likewise.
>       * gcc.dg/tree-ssa/reassoc-35.c: Likewise.
>       * gcc.dg/tree-ssa/reassoc-36.c: Likewise.
OK.

Jeff

Reply via email to