[PATCH] D117457: [DAG] Extend SearchForAndLoads with any_extend handling
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 17 00:42:27 PST 2022
dmgreen created this revision.
dmgreen added reviewers: niravd, samparker, spatel, bjope, RKSimon.
Herald added subscribers: ecnelises, pengfei, hiraditya.
dmgreen requested review of this revision.
Herald added a project: LLVM.
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.
https://reviews.llvm.org/D117457
Files:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/AArch64/combine-andintoload.ll
llvm/test/CodeGen/X86/pr35763.ll
llvm/test/CodeGen/X86/pr35765.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117457.400454.patch
Type: text/x-patch
Size: 13255 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220117/c8053af2/attachment.bin>
More information about the llvm-commits
mailing list