From: Andrew Trick Date: Tue, 19 Nov 2013 05:05:43 +0000 (+0000) Subject: Fix patchpoint comments. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=0b843861c6f41b02ebe5c4973e33a91f60370d7d;p=oota-llvm.git Fix patchpoint comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195103 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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); }