diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/AsmPrinter.h | 4 | ||||
-rw-r--r-- | include/llvm/CodeGen/MachineModuleInfo.h | 12 | ||||
-rw-r--r-- | include/llvm/CodeGen/SelectionDAG.h | 4 | ||||
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGNodes.h | 6 | ||||
-rw-r--r-- | include/llvm/Target/TargetInstrInfo.h | 5 |
5 files changed, 27 insertions, 4 deletions
diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h index cda213cbb9..bbe650b0c2 100644 --- a/include/llvm/CodeGen/AsmPrinter.h +++ b/include/llvm/CodeGen/AsmPrinter.h @@ -281,6 +281,10 @@ namespace llvm { void printLabel(const MachineInstr *MI) const; void printLabel(unsigned Id) const; + /// printDeclare - This method prints a local variable declaration used by + /// debug tables. + void printDeclare(const MachineInstr *MI) const; + protected: /// EmitZeros - Emit a block of zeros. /// diff --git a/include/llvm/CodeGen/MachineModuleInfo.h b/include/llvm/CodeGen/MachineModuleInfo.h index ee94e51a2b..8d0a34b1f3 100644 --- a/include/llvm/CodeGen/MachineModuleInfo.h +++ b/include/llvm/CodeGen/MachineModuleInfo.h @@ -844,6 +844,10 @@ public: /// serialization of a DebugInfoDesc. bool Verify(Value *V); bool Verify(GlobalVariable *GV); + + /// isVerified - Return true if the specified GV has already been + /// verified as a debug information descriptor. + bool isVerified(GlobalVariable *GV); }; //===----------------------------------------------------------------------===// @@ -1073,7 +1077,11 @@ public: /// Verify - Verify that a Value is debug information descriptor. /// - bool Verify(Value *V); + bool Verify(Value *V) { return VR.Verify(V); } + + /// isVerified - Return true if the specified GV has already been + /// verified as a debug information descriptor. + bool isVerified(GlobalVariable *GV) { return VR.isVerified(GV); } /// AnalyzeModule - Scan the module for global debug information. /// @@ -1197,7 +1205,7 @@ public: /// RecordVariable - Indicate the declaration of a local variable. /// - void RecordVariable(Value *V, unsigned FrameIndex); + void RecordVariable(GlobalValue *GV, unsigned FrameIndex); /// getRootScope - Return current functions root scope. /// diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index a9ad9a452d..c1a01ea744 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -551,6 +551,10 @@ public: /// implement the ComputeNumSignBitsForTarget method in the TargetLowering /// class to allow target nodes to be understood. unsigned ComputeNumSignBits(SDOperand Op, unsigned Depth = 0) const; + + /// isVerifiedDebugInfoDesc - Returns true if the specified SDOperand has + /// been verified as a debug information descriptor. + bool isVerifiedDebugInfoDesc(SDOperand Op) const; private: void RemoveNodeFromCSEMaps(SDNode *N); diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index d0011c3347..fb8db3e221 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -498,6 +498,12 @@ namespace ISD { // Operand #2 : 0 indicates a debug label (e.g. stoppoint), 1 indicates // a EH label, 2 indicates unknown label type. LABEL, + + // DECLARE - Represents a llvm.dbg.declare intrinsic. It's used to track + // local variable declarations for debugging information. First operand is + // a chain, while the next two operands are first two arguments (address + // and variable) of a llvm.dbg.declare instruction. + DECLARE, // STACKSAVE - STACKSAVE has one operand, an input chain. It produces a // value, the same type as the pointer type for the system, and an output diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h index e62104c921..e18b3665f6 100644 --- a/include/llvm/Target/TargetInstrInfo.h +++ b/include/llvm/Target/TargetInstrInfo.h @@ -47,8 +47,9 @@ public: PHI = 0, INLINEASM = 1, LABEL = 2, - EXTRACT_SUBREG = 3, - INSERT_SUBREG = 4 + DECLARE = 3, + EXTRACT_SUBREG = 4, + INSERT_SUBREG = 5 }; unsigned getNumOpcodes() const { return NumOpcodes; } |