[DAGCombiner] Option --combiner-select-seq Minimize condition-code lifetime for select sequences over constants in arithmetic progressions.
Details
Details
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Event Timeline
Comment Actions
Thanks to the Works On Arm program https://www.arm.com/solutions/infrastructure/works-on-arm for providing an equinix-metal-arm64-cluster by Equinix https://www.equinix.com for developing this solution.
Comment Actions
For the test case from https://bugs.llvm.org/show_bug.cgi?id=51147 the (cross-compiling on RHEL8/x86_64) build times:
without -mllvm --combiner-select-seq: real 24m16.804s
with -mllvm --combiner-select-seq: real 0m0.897s
with about 25% code size reduction under the option.
Comment Actions
Added a cost-benefit option: --combiner-select-seq-min-cost-benefit
Added a check: <ConstantSDNode>.getAPIntValue().getMinSignedBits() <= 64