[all-commits] [llvm/llvm-project] 688566: [IndVars] Add tests for #79861 (NFC)
Nikita Popov via All-commits
all-commits at lists.llvm.org
Tue Feb 20 16:45:59 PST 2024
Branch: refs/heads/release/18.x
Home: https://github.com/llvm/llvm-project
Commit: 688566b2dfb86c0cd3e896470150282b98b5d8d3
https://github.com/llvm/llvm-project/commit/688566b2dfb86c0cd3e896470150282b98b5d8d3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/pr79861.ll
Log Message:
-----------
[IndVars] Add tests for #79861 (NFC)
(cherry picked from commit c105848fd29d3b46eeb794bb6b10dad04f903b09)
Commit: 4223b2264ce5e6d1855b9e7b32fe61152a681046
https://github.com/llvm/llvm-project/commit/4223b2264ce5e6d1855b9e7b32fe61152a681046
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/IndVarSimplify/pr79861.ll
Log Message:
-----------
[SCEVExpander] Do not reuse disjoint or (#80281)
SCEV treats "or disjoint" the same as "add nsw nuw". However, when
expanding, we cannot generally replace an add SCEV node with an "or
disjoint" instruction. Just dropping the poison flag is insufficient in
this case, we would have to actually convert the or into an add.
This is a partial fix for #79861.
(cherry picked from commit 5b8e1a6ebf11b6e93bcc96a0d009febe4bb3d7bc)
Commit: dc0ed54ac582357c8e097b2610791b7f802bb0ad
https://github.com/llvm/llvm-project/commit/dc0ed54ac582357c8e097b2610791b7f802bb0ad
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
[SCEV] Move canReuseInstruction() helper into SCEV (NFC)
To allow reusing it in IndVars.
(cherry picked from commit 43dd1e84df1ecdad872e1004af47b489e08fc228)
Commit: 94dcc1d6ae0912910c1a001da54ca64171d36374
https://github.com/llvm/llvm-project/commit/94dcc1d6ae0912910c1a001da54ca64171d36374
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/pr55925.ll
M llvm/test/Transforms/IndVarSimplify/pr79861.ll
Log Message:
-----------
[IndVarSimplify] Fix poison-safety when reusing instructions (#80458)
IndVars may replace an instruction with one of its operands, if they
have the same SCEV expression. However, such a replacement may be more
poisonous.
First, check whether the operand being poison implies that the
instruction is also poison, in which case the replacement is always
safe. If this fails, check whether SCEV can determine that reusing the
instruction is safe, using the same check as SCEVExpander.
Fixes https://github.com/llvm/llvm-project/issues/79861.
(cherry picked from commit 7d2b6f0b355bc98bbe3aa5bae83316a708da33ee)
Compare: https://github.com/llvm/llvm-project/compare/66351a501e51...94dcc1d6ae09
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list