[all-commits] [llvm/llvm-project] 578008: [DAG] Extend SearchForAndLoads with any_extend han...
David Green via All-commits
all-commits at lists.llvm.org
Mon Jan 17 07:25:24 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 578008789fd061a88ce47dac6ff627001b404348
https://github.com/llvm/llvm-project/commit/578008789fd061a88ce47dac6ff627001b404348
Author: David Green <david.green at arm.com>
Date: 2022-01-17 (Mon, 17 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:
-----------
[DAG] Extend SearchForAndLoads with any_extend handling
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
More information about the All-commits
mailing list