summaryrefslogtreecommitdiffstats
path: root/llvm/utils
diff options
context:
space:
mode:
authorDaniel Sanders <daniel_l_sanders@apple.com>2017-09-19 12:56:36 +0000
committerDaniel Sanders <daniel_l_sanders@apple.com>2017-09-19 12:56:36 +0000
commit28887fe54842fbfbb89b8789280c6a0f3d43ef31 (patch)
treef6fb51fad3adffde0e27066a474606d8a70583f5 /llvm/utils
parentebbde1409f1a4eb5ef0550d72fdd11848f4fbf69 (diff)
downloadbcm5719-llvm-28887fe54842fbfbb89b8789280c6a0f3d43ef31.tar.gz
bcm5719-llvm-28887fe54842fbfbb89b8789280c6a0f3d43ef31.zip
[globalisel] Add support for intrinsic_w_chain.
This maps directly to G_INTRINSIC_W_SIDE_EFFECTS. llvm-svn: 313627
Diffstat (limited to 'llvm/utils')
-rw-r--r--llvm/utils/TableGen/GlobalISelEmitter.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/utils/TableGen/GlobalISelEmitter.cpp b/llvm/utils/TableGen/GlobalISelEmitter.cpp
index 4e7d5dc5174..5a85503e710 100644
--- a/llvm/utils/TableGen/GlobalISelEmitter.cpp
+++ b/llvm/utils/TableGen/GlobalISelEmitter.cpp
@@ -2038,9 +2038,11 @@ GlobalISelEmitter::createAndImportSelDAGMatcher(InstructionMatcher &InsnMatcher,
for (unsigned i = 0, e = Src->getNumChildren(); i != e; ++i) {
TreePatternNode *SrcChild = Src->getChild(i);
- // For G_INTRINSIC, the operand immediately following the defs is an
- // intrinsic ID.
- if (SrcGIOrNull->TheDef->getName() == "G_INTRINSIC" && i == 0) {
+ // For G_INTRINSIC/G_INTRINSIC_W_SIDE_EFFECTS, the operand immediately
+ // following the defs is an intrinsic ID.
+ if ((SrcGIOrNull->TheDef->getName() == "G_INTRINSIC" ||
+ SrcGIOrNull->TheDef->getName() == "G_INTRINSIC_W_SIDE_EFFECTS") &&
+ i == 0) {
if (const CodeGenIntrinsic *II = Src->getIntrinsicInfo(CGP)) {
OperandMatcher &OM =
InsnMatcher.addOperand(OpIdx++, SrcChild->getName(), TempOpIdx);
OpenPOWER on IntegriCloud