[llvm] [GISel] Combine vector load followed by an extractelement (PR #72670)
Amara Emerson via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 22 22:38:55 PST 2023
================
@@ -1165,6 +1165,140 @@ bool CombinerHelper::findPreIndexCandidate(GLoadStore &LdSt, Register &Addr,
return RealUse;
}
+bool CombinerHelper::matchCombineExtractedVectorLoad(MachineInstr &MI) {
+ assert(MI.getOpcode() == TargetOpcode::G_EXTRACT_VECTOR_ELT);
+
+ // Check if there is a load that defines the vector being extracted from.
+ MachineInstr *LoadMI =
+ getOpcodeDef(TargetOpcode::G_LOAD, MI.getOperand(1).getReg(), MRI);
----------------
aemerson wrote:
You can use `auto *LoadMI = getOpcodeDef<GLoad>(MI.getOperand(1).getReg(), MRI);`
https://github.com/llvm/llvm-project/pull/72670
More information about the llvm-commits
mailing list