[llvm] r186601 - Revert "Remove DIBuilder cache of variable TheCU and change the few"

Eric Christopher echristo at gmail.com
Fri Jul 19 15:35:56 PDT 2013


On Fri, Jul 19, 2013 at 3:33 PM, David Blaikie <dblaikie at gmail.com> wrote:
> On Thu, Jul 18, 2013 at 12:13 PM, Eric Christopher <echristo at gmail.com> wrote:
>> Author: echristo
>> Date: Thu Jul 18 14:13:06 2013
>> New Revision: 186601
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=186601&view=rev
>> Log:
>> Revert "Remove DIBuilder cache of variable TheCU and change the few"
>>
>> This reverts commit r186599 as I didn't want to commit this yet.
>
> Seemed like a reasonable commit - any reason not to?
>

I recommitted it later, I just hadn't checked dragonegg yet and didn't
want to break the dragonegg bots (though they are now anyhow).

-eric

>>
>> Modified:
>>     llvm/trunk/include/llvm/DIBuilder.h
>>     llvm/trunk/lib/IR/DIBuilder.cpp
>>     llvm/trunk/lib/Transforms/Instrumentation/DebugIR.cpp
>>
>> Modified: llvm/trunk/include/llvm/DIBuilder.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DIBuilder.h?rev=186601&r1=186600&r2=186601&view=diff
>> ==============================================================================
>> --- llvm/trunk/include/llvm/DIBuilder.h (original)
>> +++ llvm/trunk/include/llvm/DIBuilder.h Thu Jul 18 14:13:06 2013
>> @@ -29,7 +29,6 @@ namespace llvm {
>>    class MDNode;
>>    class StringRef;
>>    class DIBasicType;
>> -  class DICompileUnit;
>>    class DICompositeType;
>>    class DIDerivedType;
>>    class DIDescriptor;
>> @@ -54,6 +53,7 @@ namespace llvm {
>>      private:
>>      Module &M;
>>      LLVMContext & VMContext;
>> +    MDNode *TheCU;
>>
>>      MDNode *TempEnumTypes;
>>      MDNode *TempRetainTypes;
>> @@ -81,6 +81,7 @@ namespace llvm {
>>
>>      public:
>>      explicit DIBuilder(Module &M);
>> +    const MDNode *getCU() { return TheCU; }
>>      enum ComplexAddrKind { OpPlus=1, OpDeref };
>>
>>      /// finalize - Construct any deferred debug info descriptors.
>> @@ -102,11 +103,10 @@ namespace llvm {
>>      ///                 Objective-C.
>>      /// @param SplitName The name of the file that we'll split debug info out
>>      ///                  into.
>> -    DICompileUnit createCompileUnit(unsigned Lang, StringRef File,
>> -                                    StringRef Dir, StringRef Producer,
>> -                                    bool isOptimized, StringRef Flags,
>> -                                    unsigned RV,
>> -                                    StringRef SplitName = StringRef());
>> +    void createCompileUnit(unsigned Lang, StringRef File, StringRef Dir,
>> +                           StringRef Producer, bool isOptimized,
>> +                           StringRef Flags, unsigned RV,
>> +                           StringRef SplitName = StringRef());
>>
>>      /// createFile - Create a file descriptor to hold debugging information
>>      /// for a file.
>>
>> Modified: llvm/trunk/lib/IR/DIBuilder.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DIBuilder.cpp?rev=186601&r1=186600&r2=186601&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/IR/DIBuilder.cpp (original)
>> +++ llvm/trunk/lib/IR/DIBuilder.cpp Thu Jul 18 14:13:06 2013
>> @@ -30,7 +30,7 @@ static Constant *GetTagConstant(LLVMCont
>>  }
>>
>>  DIBuilder::DIBuilder(Module &m)
>> -  : M(m), VMContext(M.getContext()), TempEnumTypes(0),
>> +  : M(m), VMContext(M.getContext()), TheCU(0), TempEnumTypes(0),
>>      TempRetainTypes(0), TempSubprograms(0), TempGVs(0), DeclareFn(0),
>>      ValueFn(0)
>>  {}
>> @@ -86,11 +86,10 @@ static MDNode *createFilePathPair(LLVMCo
>>
>>  /// createCompileUnit - A CompileUnit provides an anchor for all debugging
>>  /// information generated during this instance of compilation.
>> -DICompileUnit DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename,
>> -                                           StringRef Directory,
>> -                                           StringRef Producer, bool isOptimized,
>> -                                           StringRef Flags, unsigned RunTimeVer,
>> -                                           StringRef SplitName) {
>> +void DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename,
>> +                                  StringRef Directory, StringRef Producer,
>> +                                  bool isOptimized, StringRef Flags,
>> +                                  unsigned RunTimeVer, StringRef SplitName) {
>>    assert(((Lang <= dwarf::DW_LANG_Python && Lang >= dwarf::DW_LANG_C89) ||
>>            (Lang <= dwarf::DW_LANG_hi_user && Lang >= dwarf::DW_LANG_lo_user)) &&
>>           "Invalid Language tag");
>> @@ -122,14 +121,11 @@ DICompileUnit DIBuilder::createCompileUn
>>      TempImportedModules,
>>      MDString::get(VMContext, SplitName)
>>    };
>> -
>> -  MDNode *CUNode = MDNode::get(VMContext, Elts);
>> +  TheCU = DICompileUnit(MDNode::get(VMContext, Elts));
>>
>>    // Create a named metadata so that it is easier to find cu in a module.
>>    NamedMDNode *NMD = M.getOrInsertNamedMetadata("llvm.dbg.cu");
>> -  NMD->addOperand(CUNode);
>> -
>> -  return DICompileUnit(CUNode);
>> +  NMD->addOperand(TheCU);
>>  }
>>
>>  static DIImportedEntity
>> @@ -220,7 +216,7 @@ DIBasicType DIBuilder::createUnspecified
>>    Value *Elts[] = {
>>      GetTagConstant(VMContext, dwarf::DW_TAG_unspecified_type),
>>      NULL, // Filename
>> -    NULL, // Unused
>> +    NULL, //TheCU,
>>      MDString::get(VMContext, Name),
>>      ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Line
>>      ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Size
>> @@ -248,7 +244,7 @@ DIBuilder::createBasicType(StringRef Nam
>>    Value *Elts[] = {
>>      GetTagConstant(VMContext, dwarf::DW_TAG_base_type),
>>      NULL, // File/directory name
>> -    NULL, // Unused
>> +    NULL, //TheCU,
>>      MDString::get(VMContext, Name),
>>      ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Line
>>      ConstantInt::get(Type::getInt64Ty(VMContext), SizeInBits),
>> @@ -267,7 +263,7 @@ DIDerivedType DIBuilder::createQualified
>>    Value *Elts[] = {
>>      GetTagConstant(VMContext, Tag),
>>      NULL, // Filename
>> -    NULL, // Unused
>> +    NULL, //TheCU,
>>      MDString::get(VMContext, StringRef()), // Empty name.
>>      ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Line
>>      ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Size
>> @@ -287,7 +283,7 @@ DIBuilder::createPointerType(DIType Poin
>>    Value *Elts[] = {
>>      GetTagConstant(VMContext, dwarf::DW_TAG_pointer_type),
>>      NULL, // Filename
>> -    NULL, // Unused
>> +    NULL, //TheCU,
>>      MDString::get(VMContext, Name),
>>      ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Line
>>      ConstantInt::get(Type::getInt64Ty(VMContext), SizeInBits),
>> @@ -305,7 +301,7 @@ DIDerivedType DIBuilder::createMemberPoi
>>    Value *Elts[] = {
>>      GetTagConstant(VMContext, dwarf::DW_TAG_ptr_to_member_type),
>>      NULL, // Filename
>> -    NULL, // Unused
>> +    NULL, //TheCU,
>>      NULL,
>>      ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Line
>>      ConstantInt::get(Type::getInt64Ty(VMContext), 0),
>> @@ -741,7 +737,7 @@ DICompositeType DIBuilder::createArrayTy
>>    Value *Elts[] = {
>>      GetTagConstant(VMContext, dwarf::DW_TAG_array_type),
>>      NULL, // Filename/Directory,
>> -    NULL, // Unused
>> +    NULL, //TheCU,
>>      MDString::get(VMContext, ""),
>>      ConstantInt::get(Type::getInt32Ty(VMContext), 0),
>>      ConstantInt::get(Type::getInt64Ty(VMContext), Size),
>> @@ -764,7 +760,7 @@ DICompositeType DIBuilder::createVectorT
>>    Value *Elts[] = {
>>      GetTagConstant(VMContext, dwarf::DW_TAG_array_type),
>>      NULL, // Filename/Directory,
>> -    NULL, // Unused
>> +    NULL, //TheCU,
>>      MDString::get(VMContext, ""),
>>      ConstantInt::get(Type::getInt32Ty(VMContext), 0),
>>      ConstantInt::get(Type::getInt64Ty(VMContext), Size),
>>
>> Modified: llvm/trunk/lib/Transforms/Instrumentation/DebugIR.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/DebugIR.cpp?rev=186601&r1=186600&r2=186601&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Transforms/Instrumentation/DebugIR.cpp (original)
>> +++ llvm/trunk/lib/Transforms/Instrumentation/DebugIR.cpp Thu Jul 18 14:13:06 2013
>> @@ -289,9 +289,9 @@ private:
>>            "LLVM Version " STR(LLVM_VERSION_MAJOR) "." STR(LLVM_VERSION_MINOR);
>>      }
>>
>> -    CUNode =
>> -        Builder.createCompileUnit(dwarf::DW_LANG_C99, Filename, Directory,
>> -                                  Producer, IsOptimized, Flags, RuntimeVersion);
>> +    Builder.createCompileUnit(dwarf::DW_LANG_C99, Filename, Directory, Producer,
>> +                              IsOptimized, Flags, RuntimeVersion);
>> +    CUNode = Builder.getCU();
>>
>>      if (CUToReplace)
>>        CUToReplace->replaceAllUsesWith(const_cast<MDNode *>(CUNode));
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list