diff options
Diffstat (limited to 'include/llvm/IR/DIBuilder.h')
| -rw-r--r-- | include/llvm/IR/DIBuilder.h | 34 | 
1 files changed, 19 insertions, 15 deletions
| diff --git a/include/llvm/IR/DIBuilder.h b/include/llvm/IR/DIBuilder.h index 6a14f783005d..3c2074dfe788 100644 --- a/include/llvm/IR/DIBuilder.h +++ b/include/llvm/IR/DIBuilder.h @@ -74,6 +74,17 @@ namespace llvm {      /// Create an \a temporary node and track it in \a UnresolvedNodes.      void trackIfUnresolved(MDNode *N); +    /// Internal helper for insertDeclare. +    Instruction *insertDeclare(llvm::Value *Storage, DILocalVariable *VarInfo, +                               DIExpression *Expr, const DILocation *DL, +                               BasicBlock *InsertBB, Instruction *InsertBefore); + +    /// Internal helper for insertDbgValueIntrinsic. +    Instruction * +    insertDbgValueIntrinsic(llvm::Value *Val, DILocalVariable *VarInfo, +                            DIExpression *Expr, const DILocation *DL, +                            BasicBlock *InsertBB, Instruction *InsertBefore); +    public:      /// Construct a builder for a module.      /// @@ -112,6 +123,8 @@ namespace llvm {      /// \param SplitDebugInlining    Whether to emit inline debug info.      /// \param DebugInfoForProfiling Whether to emit extra debug info for      ///                              profile collection. +    /// \param GnuPubnames   Whether to emit .debug_gnu_pubnames section instead +    ///                      of .debug_pubnames.      DICompileUnit *      createCompileUnit(unsigned Lang, DIFile *File, StringRef Producer,                        bool isOptimized, StringRef Flags, unsigned RV, @@ -119,7 +132,8 @@ namespace llvm {                        DICompileUnit::DebugEmissionKind Kind =                            DICompileUnit::DebugEmissionKind::FullDebug,                        uint64_t DWOId = 0, bool SplitDebugInlining = true, -                      bool DebugInfoForProfiling = false); +                      bool DebugInfoForProfiling = false, +                      bool GnuPubnames = false);      /// Create a file descriptor to hold debugging information for a file.      /// \param Filename  File name. @@ -551,14 +565,6 @@ namespace llvm {      DIExpression *createExpression(ArrayRef<uint64_t> Addr = None);      DIExpression *createExpression(ArrayRef<int64_t> Addr); -    /// Create a descriptor to describe one part -    /// of aggregate variable that is fragmented across multiple Values. -    /// -    /// \param OffsetInBits Offset of the piece in bits. -    /// \param SizeInBits   Size of the piece in bits. -    DIExpression *createFragmentExpression(unsigned OffsetInBits, -                                           unsigned SizeInBits); -      /// Create an expression for a variable that does not have an address, but      /// does have a constant value.      DIExpression *createConstantValueExpression(uint64_t Val) { @@ -729,12 +735,11 @@ namespace llvm {      /// Insert a new llvm.dbg.value intrinsic call.      /// \param Val          llvm::Value of the variable -    /// \param Offset       Offset      /// \param VarInfo      Variable's debug info descriptor.      /// \param Expr         A complex location expression.      /// \param DL           Debug info location.      /// \param InsertAtEnd Location for the new intrinsic. -    Instruction *insertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset, +    Instruction *insertDbgValueIntrinsic(llvm::Value *Val,                                           DILocalVariable *VarInfo,                                           DIExpression *Expr,                                           const DILocation *DL, @@ -742,23 +747,22 @@ namespace llvm {      /// Insert a new llvm.dbg.value intrinsic call.      /// \param Val          llvm::Value of the variable -    /// \param Offset       Offset      /// \param VarInfo      Variable's debug info descriptor.      /// \param Expr         A complex location expression.      /// \param DL           Debug info location.      /// \param InsertBefore Location for the new intrinsic. -    Instruction *insertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset, +    Instruction *insertDbgValueIntrinsic(llvm::Value *Val,                                           DILocalVariable *VarInfo,                                           DIExpression *Expr,                                           const DILocation *DL,                                           Instruction *InsertBefore); -    /// Replace the vtable holder in the given composite type. +    /// Replace the vtable holder in the given type.      ///      /// If this creates a self reference, it may orphan some unresolved cycles      /// in the operands of \c T, so \a DIBuilder needs to track that.      void replaceVTableHolder(DICompositeType *&T, -                             DICompositeType *VTableHolder); +                             DIType *VTableHolder);      /// Replace arrays on a composite type.      /// | 
