From c00090b16b2b35f2d042d965945c4246d13321b5 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Tue, 19 Nov 2013 06:43:35 +0000 Subject: [PATCH] Merging r195103: ------------------------------------------------------------------------ r195103 | atrick | 2013-11-18 21:05:43 -0800 (Mon, 18 Nov 2013) | 1 line Fix patchpoint comments. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@195115 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/StackMaps.h | 6 +++++- lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/include/llvm/CodeGen/StackMaps.h b/include/llvm/CodeGen/StackMaps.h index 86d55cf27fa..e90f22e5b69 100644 --- a/include/llvm/CodeGen/StackMaps.h +++ b/include/llvm/CodeGen/StackMaps.h @@ -25,7 +25,11 @@ class MCExpr; /// MI patchpoint operations take the form: /// [], , , , , , ... /// -/// Note that IR/SD patchpoints do not have the or operands. +/// IR patchpoint intrinsics do not have the operand because calling +/// convention is part of the subclass data. +/// +/// SD patchpoint nodes do not have a def operand because it is part of the +/// SDValue. /// /// Patchpoints following the anyregcc convention are handled specially. For /// these, the stack map also records the location of the return value and diff --git a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp index 253aad59f15..3a8fb859110 100644 --- a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp +++ b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp @@ -21,6 +21,7 @@ #include "llvm/CodeGen/MachineFunction.h" #include "llvm/CodeGen/MachineInstrBuilder.h" #include "llvm/CodeGen/MachineRegisterInfo.h" +#include "llvm/CodeGen/StackMaps.h" #include "llvm/IR/DataLayout.h" #include "llvm/Support/Debug.h" #include "llvm/Support/ErrorHandling.h" @@ -732,7 +733,7 @@ EmitMachineNode(SDNode *Node, bool IsClone, bool IsCloned, // Handle PATCHPOINT specially and then use the generic code. if (Opc == TargetOpcode::PATCHPOINT) { - unsigned CC = Node->getConstantOperandVal(4); + unsigned CC = Node->getConstantOperandVal(PatchPointOpers::CCPos); NumDefs = NumResults; ScratchRegs = TLI->getScratchRegisters((CallingConv::ID) CC); } -- 2.40.0