[PATCH] D79955: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be indirectified
Konstantin Schwarz via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 14 12:31:12 PDT 2020
kschwarz created this revision.
kschwarz added reviewers: arsenm, paquette.
Herald added subscribers: hiraditya, rovka, wdng.
Herald added a project: LLVM.
D78319 <https://reviews.llvm.org/D78319> introduced basic support for inline asm input operands in GlobalISel.
However, that patch did not handle the case where a memory input operand still needs to
be indirectified. Later code asserts that the memory operand is already indirect.
This patch adds an early return false to trigger the SelectionDAG fallback for now.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D79955
Files:
llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
Index: llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
===================================================================
--- llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
+++ llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
@@ -306,6 +306,12 @@
// Compute the constraint code and ConstraintType to use.
computeConstraintToUse(TLI, OpInfo);
+ if (OpInfo.ConstraintType == TargetLowering::C_Memory &&
+ !OpInfo.isIndirect) {
+ LLVM_DEBUG(dbgs() << "Cannot indirectify memory input operands yet\n");
+ return false;
+ }
+
// The selected constraint type might expose new sideeffects
ExtraInfo.update(OpInfo);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79955.264052.patch
Type: text/x-patch
Size: 665 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200514/79609673/attachment.bin>
More information about the llvm-commits
mailing list