summaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2022-05-17 13:40:03 +0100
committerSimon Pilgrim <llvm-dev@redking.me.uk>2022-05-17 13:40:11 +0100
commitd40b7f0d5aec3b70bd2a5d42c71b1ebb5c28a03b (patch)
treed2b5d1522882dfb9ce6a6c6aa9303825174446ef /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent6de59ca417b491c5ca2ab189aaae83e62369695a (diff)
[DAG] Fold (shl (srl x, c), c) -> and(x, m) even if srl has other uses
If we're using shift pairs to mask, then relax the one use limit if the shift amounts are equal - we'll only be generating a single AND node. AArch64 has a couple of regressions due to this, so I've enforced the existing one use limit inside a AArch64TargetLowering::shouldFoldConstantShiftPairToMask callback. Part of the work to fix the regressions in D77804 Differential Revision: https://reviews.llvm.org/D125607
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions