From 6f565c0e974e7b420697eba15c16095813ae3d67 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Thu, 15 Oct 2015 06:56:10 +0000 Subject: [PATCH] Remove DIFile from createSubroutineType. Patch by Amaury Sechet with a small modification by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250374 91177308-0d34-0410-b5e6-96231b3b80d8 --- bindings/go/llvm/DIBuilderBindings.cpp | 3 +-- include/llvm/IR/DIBuilder.h | 6 ++---- lib/IR/DIBuilder.cpp | 3 +-- unittests/IR/IRBuilderTest.cpp | 4 ++-- unittests/Transforms/Utils/Cloning.cpp | 2 +- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/bindings/go/llvm/DIBuilderBindings.cpp b/bindings/go/llvm/DIBuilderBindings.cpp index d9d0f7ac964..e7fe8f5dde8 100644 --- a/bindings/go/llvm/DIBuilderBindings.cpp +++ b/bindings/go/llvm/DIBuilderBindings.cpp @@ -128,8 +128,7 @@ LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Dref, LLVMMetadataRef File, LLVMMetadataRef ParameterTypes) { DIBuilder *D = unwrap(Dref); return wrap( - D->createSubroutineType(File ? unwrap(File) : nullptr, - DITypeRefArray(unwrap(ParameterTypes)))); + D->createSubroutineType(DITypeRefArray(unwrap(ParameterTypes)))); } LLVMMetadataRef LLVMDIBuilderCreateStructType( diff --git a/include/llvm/IR/DIBuilder.h b/include/llvm/IR/DIBuilder.h index 8aca266ce77..b957704b8b8 100644 --- a/include/llvm/IR/DIBuilder.h +++ b/include/llvm/IR/DIBuilder.h @@ -375,13 +375,11 @@ namespace llvm { DIType *UnderlyingType, StringRef UniqueIdentifier = ""); /// Create subroutine type. - /// \param File File in which this subroutine is defined. /// \param ParameterTypes An array of subroutine parameter types. This /// includes return type at 0th index. /// \param Flags E.g.: LValueReference. /// These flags are used to emit dwarf attributes. - DISubroutineType *createSubroutineType(DIFile *File, - DITypeRefArray ParameterTypes, + DISubroutineType *createSubroutineType(DITypeRefArray ParameterTypes, unsigned Flags = 0); /// Create an external type reference. @@ -702,7 +700,7 @@ namespace llvm { /// has a self-reference -- \a DIBuilder needs to track the array to /// resolve cycles. void replaceArrays(DICompositeType *&T, DINodeArray Elements, - DINodeArray TParems = DINodeArray()); + DINodeArray TParams = DINodeArray()); /// Replace a temporary node. /// diff --git a/lib/IR/DIBuilder.cpp b/lib/IR/DIBuilder.cpp index aedddb98330..def72d6cf6e 100644 --- a/lib/IR/DIBuilder.cpp +++ b/lib/IR/DIBuilder.cpp @@ -429,8 +429,7 @@ DICompositeType *DIBuilder::createUnionType( return R; } -DISubroutineType *DIBuilder::createSubroutineType(DIFile *File, - DITypeRefArray ParameterTypes, +DISubroutineType *DIBuilder::createSubroutineType(DITypeRefArray ParameterTypes, unsigned Flags) { return DISubroutineType::get(VMContext, Flags, ParameterTypes); } diff --git a/unittests/IR/IRBuilderTest.cpp b/unittests/IR/IRBuilderTest.cpp index 093cbbfc779..30e137cadbc 100644 --- a/unittests/IR/IRBuilderTest.cpp +++ b/unittests/IR/IRBuilderTest.cpp @@ -312,7 +312,7 @@ TEST_F(IRBuilderTest, DIBuilder) { auto File = DIB.createFile("F.CBL", "/"); auto CU = DIB.createCompileUnit(dwarf::DW_LANG_Cobol74, "F.CBL", "/", "llvm-cobol74", true, "", 0); - auto Type = DIB.createSubroutineType(File, DIB.getOrCreateTypeArray(None)); + auto Type = DIB.createSubroutineType(DIB.getOrCreateTypeArray(None)); DIB.createFunction(CU, "foo", "", File, 1, Type, false, true, 1, 0, true, F); AllocaInst *I = Builder.CreateAlloca(Builder.getInt8Ty()); auto BarSP = DIB.createFunction(CU, "bar", "", File, 1, Type, false, true, 1, @@ -362,7 +362,7 @@ TEST_F(IRBuilderTest, DebugLoc) { auto File = DIB.createFile("tmp.cpp", "/"); auto CU = DIB.createCompileUnit(dwarf::DW_LANG_C_plus_plus_11, "tmp.cpp", "/", "", true, "", 0); - auto SPType = DIB.createSubroutineType(File, DIB.getOrCreateTypeArray(None)); + auto SPType = DIB.createSubroutineType(DIB.getOrCreateTypeArray(None)); auto SP = DIB.createFunction(CU, "foo", "foo", File, 1, SPType, false, true, 1); DebugLoc DL1 = DILocation::get(Ctx, 2, 0, SP); diff --git a/unittests/Transforms/Utils/Cloning.cpp b/unittests/Transforms/Utils/Cloning.cpp index 3ceb84c42c7..62a280df812 100644 --- a/unittests/Transforms/Utils/Cloning.cpp +++ b/unittests/Transforms/Utils/Cloning.cpp @@ -231,7 +231,7 @@ protected: auto *File = DBuilder.createFile("filename.c", "/file/dir/"); DITypeRefArray ParamTypes = DBuilder.getOrCreateTypeArray(None); DISubroutineType *FuncType = - DBuilder.createSubroutineType(File, ParamTypes); + DBuilder.createSubroutineType(ParamTypes); auto *CU = DBuilder.createCompileUnit(dwarf::DW_LANG_C99, "filename.c", "/file/dir", "CloneFunc", false, "", 0); -- 2.34.1