aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2025-10-18 13:32:40 +0100
committerGitHub <noreply@github.com>2025-10-18 13:32:40 +0100
commita5d3522c137bdaf270480dfe0e5b3fb977e4cc73 (patch)
treeffd1eeac4fc626e13fe736184f2a8cf29fe378b3 /llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
parentc491c6e80945258750e7f4e3af4e69ae97353586 (diff)
downloadllvm-a5d3522c137bdaf270480dfe0e5b3fb977e4cc73.zip
llvm-a5d3522c137bdaf270480dfe0e5b3fb977e4cc73.tar.gz
llvm-a5d3522c137bdaf270480dfe0e5b3fb977e4cc73.tar.bz2
[SCEV] Rewrite A - B = UMin(1, A - B) lazily for A != B loop guards. (#163787)
Follow-up to 2d027260b0f8 (https://github.com/llvm/llvm-project/pull/160500) Creating the SCEV subtraction eagerly is very expensive. To soften the blow, just collect a map with inequalities and check if we can apply the subtract rewrite when rewriting SCEVAddExpr. Restores most of the regression: http://llvm-compile-time-tracker.com/compare.php?from=0792478e4e133be96650444f3264e89d002fc058&to=7fca35db60fe6f423ea6051b45226046c067c252&stat=instructions:u stage1-O3: -0.10% stage1-ReleaseThinLTO: -0.09% stage1-ReleaseLTO-g: -0.10% stage1-O0-g: +0.02% stage1-aarch64-O3: -0.09% stage1-aarch64-O0-g: +0.00% stage2-O3: -0.17% stage2-O0-g: -0.05% stage2-clang: -0.07% There is still some negative impact compared to before 2d027260b0f8, but there's probably not much we could do reduce this even more. Compile-time improvement with 2d027260b0f8 reverted on top of the current PR: http://llvm-compile-time-tracker.com/compare.php?from=7fca35db60fe6f423ea6051b45226046c067c252&to=98dd152bdfc76b30d00190d3850d89406ca3c21f&stat=instructions:u stage1-O3: 60628M (-0.03%) stage1-ReleaseThinLTO: 76388M (-0.04%) stage1-ReleaseLTO-g: 89228M (-0.02%) stage1-O0-g: 18523M (-0.03%) stage1-aarch64-O3: 67623M (-0.03%) stage1-aarch64-O0-g: 22595M (+0.01%) stage2-O3: 52336M (+0.01%) stage2-O0-g: 16174M (+0.00%) stage2-clang: 34890032M (-0.03%) PR: https://github.com/llvm/llvm-project/pull/163787
Diffstat (limited to 'llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp')
0 files changed, 0 insertions, 0 deletions