[all-commits] [llvm/llvm-project] f4615f: Revert "[DAG] Extend SearchForAndLoads with any_ex...
Hans via All-commits
all-commits at lists.llvm.org
Tue Jan 18 01:56:00 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f4615feaa1fb686b12db518299a372d0c99824ae
https://github.com/llvm/llvm-project/commit/f4615feaa1fb686b12db518299a372d0c99824ae
Author: Hans Wennborg <hans at chromium.org>
Date: 2022-01-18 (Tue, 18 Jan 2022)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/combine-andintoload.ll
M llvm/test/CodeGen/X86/pr35763.ll
M llvm/test/CodeGen/X86/pr35765.ll
Log Message:
-----------
Revert "[DAG] Extend SearchForAndLoads with any_extend handling"
This caused builds to fail with
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:5638:
bool (anonymous namespace)::DAGCombiner::BackwardsPropagateMask(llvm::SDNode *):
Assertion `NewLoad && "Shouldn't be masking the load if it can't be narrowed"' failed.
See the code review for a link to a reproducer.
> This extends the code in SearchForAndLoads to be able to look through
> ANY_EXTEND nodes, which can be created from mismatching IR types where
> the AND node we begin from only demands the low parts of the register.
> That turns zext and sext into any_extends as only the low bits are
> demanded. To be able to look through ANY_EXTEND nodes we need to handle
> mismatching types in a few places, potentially truncating the mask to
> the size of the final load.
>
> Differential Revision: https://reviews.llvm.org/D117457
This reverts commit 578008789fd061a88ce47dac6ff627001b404348.
More information about the All-commits
mailing list