diff options
| author | Jay Foad <jay.foad@gmail.com> | 2011-07-12 14:06:48 +0000 | 
|---|---|---|
| committer | Jay Foad <jay.foad@gmail.com> | 2011-07-12 14:06:48 +0000 | 
| commit | 5fdd6c8793462549e3593890ec61573da06e3346 (patch) | |
| tree | 895067e740b3c6f2f97805443c61195cf8de169a /lib | |
| parent | d475c105080cc5082ca8b8e87c89fa7c2dade39e (diff) | |
| download | external_llvm-5fdd6c8793462549e3593890ec61573da06e3346.zip external_llvm-5fdd6c8793462549e3593890ec61573da06e3346.tar.gz external_llvm-5fdd6c8793462549e3593890ec61573da06e3346.tar.bz2  | |
Second attempt at de-constifying LLVM Types in FunctionType::get(),
StructType::get() and TargetData::getIntPtrType().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134982 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
27 files changed, 78 insertions, 96 deletions
diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index 881b3e9..4b066fe 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -1442,7 +1442,7 @@ bool LLParser::ParseFunctionType(Type *&Result) {                     "argument attributes invalid in function type");    } -  SmallVector<const Type*, 16> ArgListTy; +  SmallVector<Type*, 16> ArgListTy;    for (unsigned i = 0, e = ArgList.size(); i != e; ++i)      ArgListTy.push_back(ArgList[i].Ty); @@ -2655,7 +2655,7 @@ bool LLParser::ParseFunctionHeader(Function *&Fn, bool isDefine) {    // Okay, if we got here, the function is syntactically valid.  Convert types    // and do semantic checks. -  std::vector<const Type*> ParamTypeList; +  std::vector<Type*> ParamTypeList;    SmallVector<AttributeWithIndex, 8> Attrs;    if (RetAttrs != Attribute::None) @@ -3171,7 +3171,7 @@ bool LLParser::ParseInvoke(Instruction *&Inst, PerFunctionState &PFS) {    if (!(PFTy = dyn_cast<PointerType>(RetType)) ||        !(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {      // Pull out the types of all of the arguments... -    std::vector<const Type*> ParamTypes; +    std::vector<Type*> ParamTypes;      for (unsigned i = 0, e = ArgList.size(); i != e; ++i)        ParamTypes.push_back(ArgList[i].V->getType()); @@ -3508,7 +3508,7 @@ bool LLParser::ParseCall(Instruction *&Inst, PerFunctionState &PFS,    if (!(PFTy = dyn_cast<PointerType>(RetType)) ||        !(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {      // Pull out the types of all of the arguments... -    std::vector<const Type*> ParamTypes; +    std::vector<Type*> ParamTypes;      for (unsigned i = 0, e = ArgList.size(); i != e; ++i)        ParamTypes.push_back(ArgList[i].V->getType()); diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index 1bdcfe9..0a5ba45 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -582,7 +582,7 @@ bool BitcodeReader::ParseTypeTableBody() {        // FUNCTION: [vararg, attrid, retty, paramty x N]        if (Record.size() < 3)          return Error("Invalid FUNCTION type record"); -      std::vector<const Type*> ArgTys; +      std::vector<Type*> ArgTys;        for (unsigned i = 3, e = Record.size(); i != e; ++i) {          if (Type *T = getTypeByID(Record[i]))            ArgTys.push_back(T); @@ -838,7 +838,7 @@ RestartScan:        // FUNCTION: [vararg, attrid, retty, paramty x N]        if (Record.size() < 3)          return Error("Invalid FUNCTION type record"); -      std::vector<const Type*> ArgTys; +      std::vector<Type*> ArgTys;        for (unsigned i = 3, e = Record.size(); i != e; ++i) {          if (Type *Elt = getTypeByIDOrNull(Record[i]))            ArgTys.push_back(Elt); diff --git a/lib/CodeGen/DwarfEHPrepare.cpp b/lib/CodeGen/DwarfEHPrepare.cpp index 22c5465..46a8884 100644 --- a/lib/CodeGen/DwarfEHPrepare.cpp +++ b/lib/CodeGen/DwarfEHPrepare.cpp @@ -497,10 +497,8 @@ bool DwarfEHPrepare::LowerUnwindsAndResumes() {    // Find the rewind function if we didn't already.    if (!RewindFunction) {      LLVMContext &Ctx = ResumeInsts[0]->getContext(); -    std::vector<const Type*> -      Params(1, Type::getInt8PtrTy(Ctx));      FunctionType *FTy = FunctionType::get(Type::getVoidTy(Ctx), -                                          Params, false); +                                          Type::getInt8PtrTy(Ctx), false);      const char *RewindName = TLI->getLibcallName(RTLIB::UNWIND_RESUME);      RewindFunction = F->getParent()->getOrInsertFunction(RewindName, FTy);    } diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp index b0a8230..a1166d0 100644 --- a/lib/CodeGen/IntrinsicLowering.cpp +++ b/lib/CodeGen/IntrinsicLowering.cpp @@ -29,7 +29,7 @@ static void EnsureFunctionExists(Module &M, const char *Name,                                   ArgIt ArgBegin, ArgIt ArgEnd,                                   const Type *RetTy) {    // Insert a correctly-typed definition now. -  std::vector<const Type *> ParamTys; +  std::vector<Type *> ParamTys;    for (ArgIt I = ArgBegin; I != ArgEnd; ++I)      ParamTys.push_back(I->getType());    M.getOrInsertFunction(Name, FunctionType::get(RetTy, ParamTys, false)); @@ -69,7 +69,7 @@ static CallInst *ReplaceCallWith(const char *NewFn, CallInst *CI,    // program already contains a function with this name.    Module *M = CI->getParent()->getParent()->getParent();    // Get or insert the definition now. -  std::vector<const Type *> ParamTys; +  std::vector<Type *> ParamTys;    for (ArgIt I = ArgBegin; I != ArgEnd; ++I)      ParamTys.push_back((*I)->getType());    Constant* FCache = M->getOrInsertFunction(NewFn, @@ -553,12 +553,12 @@ bool IntrinsicLowering::LowerToByteSwap(CallInst *CI) {        !CI->getType()->isIntegerTy())      return false; -  const IntegerType *Ty = dyn_cast<IntegerType>(CI->getType()); +  IntegerType *Ty = dyn_cast<IntegerType>(CI->getType());    if (!Ty)      return false;    // Okay, we can do this xform, do so now. -  const Type *Tys[] = { Ty }; +  Type *Tys[] = { Ty };    Module *M = CI->getParent()->getParent()->getParent();    Constant *Int = Intrinsic::getDeclaration(M, Intrinsic::bswap, Tys, 1); diff --git a/lib/CodeGen/SjLjEHPrepare.cpp b/lib/CodeGen/SjLjEHPrepare.cpp index c2565af..65a33da 100644 --- a/lib/CodeGen/SjLjEHPrepare.cpp +++ b/lib/CodeGen/SjLjEHPrepare.cpp @@ -87,9 +87,8 @@ FunctionPass *llvm::createSjLjEHPass(const TargetLowering *TLI) {  bool SjLjEHPass::doInitialization(Module &M) {    // Build the function context structure.    // builtin_setjmp uses a five word jbuf -  const Type *VoidPtrTy = -          Type::getInt8PtrTy(M.getContext()); -  const Type *Int32Ty = Type::getInt32Ty(M.getContext()); +  Type *VoidPtrTy = Type::getInt8PtrTy(M.getContext()); +  Type *Int32Ty = Type::getInt32Ty(M.getContext());    FunctionContextTy =      StructType::get(VoidPtrTy,                        // __prev                      Int32Ty,                          // call_site diff --git a/lib/Target/ARM/ARMGlobalMerge.cpp b/lib/Target/ARM/ARMGlobalMerge.cpp index f899379..8d77b2d 100644 --- a/lib/Target/ARM/ARMGlobalMerge.cpp +++ b/lib/Target/ARM/ARMGlobalMerge.cpp @@ -128,10 +128,10 @@ bool ARMGlobalMerge::doMerge(SmallVectorImpl<GlobalVariable*> &Globals,    for (size_t i = 0, e = Globals.size(); i != e; ) {      size_t j = 0;      uint64_t MergedSize = 0; -    std::vector<const Type*> Tys; +    std::vector<Type*> Tys;      std::vector<Constant*> Inits;      for (j = i; j != e; ++j) { -      const Type *Ty = Globals[j]->getType()->getElementType(); +      Type *Ty = Globals[j]->getType()->getElementType();        MergedSize += TD->getTypeAllocSize(Ty);        if (MergedSize > MaxOffset) {          break; diff --git a/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp b/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp index 34a8d38..ae8ee9e 100644 --- a/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp +++ b/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp @@ -83,7 +83,7 @@ bool BlackfinIntrinsicInfo::isOverloaded(unsigned IntrID) const {  static const FunctionType *getType(LLVMContext &Context, unsigned id) {    const Type *ResultTy = NULL; -  std::vector<const Type*> ArgTys; +  std::vector<Type*> ArgTys;    bool IsVarArg = false;  #define GET_INTRINSIC_GENERATOR diff --git a/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp b/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp index 7e4a2f5..32d67b2 100644 --- a/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp +++ b/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp @@ -92,7 +92,7 @@ bool MBlazeIntrinsicInfo::isOverloaded(unsigned IntrID) const {  static const FunctionType *getType(LLVMContext &Context, unsigned id) {    const Type *ResultTy = NULL; -  std::vector<const Type*> ArgTys; +  std::vector<Type*> ArgTys;    bool IsVarArg = false;  #define GET_INTRINSIC_GENERATOR diff --git a/lib/Transforms/IPO/ArgumentPromotion.cpp b/lib/Transforms/IPO/ArgumentPromotion.cpp index 54a7f67..3288ee5 100644 --- a/lib/Transforms/IPO/ArgumentPromotion.cpp +++ b/lib/Transforms/IPO/ArgumentPromotion.cpp @@ -493,7 +493,7 @@ CallGraphNode *ArgPromotion::DoPromotion(Function *F,    // Start by computing a new prototype for the function, which is the same as    // the old function, but has modified arguments.    const FunctionType *FTy = F->getFunctionType(); -  std::vector<const Type*> Params; +  std::vector<Type*> Params;    typedef std::set<IndicesVector> ScalarizeTable; diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp index d4eaf0c..bbb386c 100644 --- a/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp @@ -208,7 +208,7 @@ bool DAE::DeleteDeadVarargs(Function &Fn) {    // the old function, but doesn't have isVarArg set.    const FunctionType *FTy = Fn.getFunctionType(); -  std::vector<const Type*> Params(FTy->param_begin(), FTy->param_end()); +  std::vector<Type*> Params(FTy->param_begin(), FTy->param_end());    FunctionType *NFTy = FunctionType::get(FTy->getReturnType(),                                                  Params, false);    unsigned NumArgs = Params.size(); @@ -647,7 +647,7 @@ bool DAE::RemoveDeadStuffFromFunction(Function *F) {    // Start by computing a new prototype for the function, which is the same as    // the old function, but has fewer arguments and a different return type.    const FunctionType *FTy = F->getFunctionType(); -  std::vector<const Type*> Params; +  std::vector<Type*> Params;    // Set up to build a new list of parameter attributes.    SmallVector<AttributeWithIndex, 8> AttributesVec; @@ -659,13 +659,13 @@ bool DAE::RemoveDeadStuffFromFunction(Function *F) {    // Find out the new return value. -  const Type *RetTy = FTy->getReturnType(); +  Type *RetTy = FTy->getReturnType();    const Type *NRetTy = NULL;    unsigned RetCount = NumRetVals(F);    // -1 means unused, other numbers are the new index    SmallVector<int, 5> NewRetIdxs(RetCount, -1); -  std::vector<const Type*> RetTypes; +  std::vector<Type*> RetTypes;    if (RetTy->isVoidTy()) {      NRetTy = RetTy;    } else { diff --git a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp index a08446e..1dfbd3e 100644 --- a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp +++ b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp @@ -1400,7 +1400,7 @@ static bool CollectBSwapParts(Value *V, int OverallLeftShift, uint32_t ByteMask,  /// MatchBSwap - Given an OR instruction, check to see if this is a bswap idiom.  /// If so, insert the new bswap intrinsic and return it.  Instruction *InstCombiner::MatchBSwap(BinaryOperator &I) { -  const IntegerType *ITy = dyn_cast<IntegerType>(I.getType()); +  IntegerType *ITy = dyn_cast<IntegerType>(I.getType());    if (!ITy || ITy->getBitWidth() % 16 ||         // ByteMask only allows up to 32-byte values.        ITy->getBitWidth() > 32*8)  @@ -1424,7 +1424,7 @@ Instruction *InstCombiner::MatchBSwap(BinaryOperator &I) {    for (unsigned i = 1, e = ByteValues.size(); i != e; ++i)      if (ByteValues[i] != V)        return 0; -  const Type *Tys[] = { ITy }; +  Type *Tys[] = { ITy };    Module *M = I.getParent()->getParent()->getParent();    Function *F = Intrinsic::getDeclaration(M, Intrinsic::bswap, Tys, 1);    return CallInst::Create(F, V); diff --git a/lib/Transforms/InstCombine/InstCombineCalls.cpp b/lib/Transforms/InstCombine/InstCombineCalls.cpp index 27e15c3..b484365 100644 --- a/lib/Transforms/InstCombine/InstCombineCalls.cpp +++ b/lib/Transforms/InstCombine/InstCombineCalls.cpp @@ -217,9 +217,9 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) {          if (GVSrc->isConstant()) {            Module *M = CI.getParent()->getParent()->getParent();            Intrinsic::ID MemCpyID = Intrinsic::memcpy; -          const Type *Tys[3] = { CI.getArgOperand(0)->getType(), -                                 CI.getArgOperand(1)->getType(), -                                 CI.getArgOperand(2)->getType() }; +          Type *Tys[3] = { CI.getArgOperand(0)->getType(), +                           CI.getArgOperand(1)->getType(), +                           CI.getArgOperand(2)->getType() };            CI.setCalledFunction(Intrinsic::getDeclaration(M, MemCpyID, Tys, 3));            Changed = true;          } @@ -1187,7 +1187,7 @@ Instruction *InstCombiner::transformCallThroughTrampoline(CallSite CS) {    const AttrListPtr &NestAttrs = NestF->getAttributes();    if (!NestAttrs.isEmpty()) {      unsigned NestIdx = 1; -    const Type *NestTy = 0; +    Type *NestTy = 0;      Attributes NestAttr = Attribute::None;      // Look for a parameter marked with the 'nest' attribute. @@ -1249,7 +1249,7 @@ Instruction *InstCombiner::transformCallThroughTrampoline(CallSite CS) {        // Handle this by synthesizing a new function type, equal to FTy        // with the chain parameter inserted. -      std::vector<const Type*> NewTypes; +      std::vector<Type*> NewTypes;        NewTypes.reserve(FTy->getNumParams()+1);        // Insert the chain's type into the list of parameter types, which may diff --git a/lib/Transforms/InstCombine/InstCombineCompares.cpp b/lib/Transforms/InstCombine/InstCombineCompares.cpp index 5a1e2b0..3cdb705 100644 --- a/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/lib/Transforms/InstCombine/InstCombineCompares.cpp @@ -1683,7 +1683,7 @@ static Instruction *ProcessUGT_ADDCST_ADD(ICmpInst &I, Value *A, Value *B,    // result and the overflow bit.    Module *M = I.getParent()->getParent()->getParent(); -  const Type *NewType = IntegerType::get(OrigAdd->getContext(), NewWidth); +  Type *NewType = IntegerType::get(OrigAdd->getContext(), NewWidth);    Value *F = Intrinsic::getDeclaration(M, Intrinsic::sadd_with_overflow,                                         &NewType, 1); @@ -1725,7 +1725,7 @@ static Instruction *ProcessUAddIdiom(Instruction &I, Value *OrigAddV,    Builder->SetInsertPoint(OrigAdd);    Module *M = I.getParent()->getParent()->getParent(); -  const Type *Ty = LHS->getType(); +  Type *Ty = LHS->getType();    Value *F = Intrinsic::getDeclaration(M, Intrinsic::uadd_with_overflow, &Ty,1);    CallInst *Call = Builder->CreateCall2(F, LHS, RHS, "uadd");    Value *Add = Builder->CreateExtractValue(Call, 0); diff --git a/lib/Transforms/Instrumentation/GCOVProfiling.cpp b/lib/Transforms/Instrumentation/GCOVProfiling.cpp index 07d69e8..3f2c412 100644 --- a/lib/Transforms/Instrumentation/GCOVProfiling.cpp +++ b/lib/Transforms/Instrumentation/GCOVProfiling.cpp @@ -572,14 +572,13 @@ GlobalVariable *GCOVProfiler::buildEdgeLookupTable(  }  Constant *GCOVProfiler::getStartFileFunc() { -  const Type *Args[] = { Type::getInt8PtrTy(*Ctx) };    const FunctionType *FTy = FunctionType::get(Type::getVoidTy(*Ctx), -                                              Args, false); +                                              Type::getInt8PtrTy(*Ctx), false);    return M->getOrInsertFunction("llvm_gcda_start_file", FTy);  }  Constant *GCOVProfiler::getIncrementIndirectCounterFunc() { -  const Type *Args[] = { +  Type *Args[] = {      Type::getInt32PtrTy(*Ctx),                  // uint32_t *predecessor      Type::getInt64PtrTy(*Ctx)->getPointerTo(),  // uint64_t **state_table_row    }; @@ -589,7 +588,7 @@ Constant *GCOVProfiler::getIncrementIndirectCounterFunc() {  }  Constant *GCOVProfiler::getEmitFunctionFunc() { -  const Type *Args[2] = { +  Type *Args[2] = {      Type::getInt32Ty(*Ctx),    // uint32_t ident      Type::getInt8PtrTy(*Ctx),  // const char *function_name    }; @@ -599,7 +598,7 @@ Constant *GCOVProfiler::getEmitFunctionFunc() {  }  Constant *GCOVProfiler::getEmitArcsFunc() { -  const Type *Args[] = { +  Type *Args[] = {      Type::getInt32Ty(*Ctx),     // uint32_t num_counters      Type::getInt64PtrTy(*Ctx),  // uint64_t *counters    }; diff --git a/lib/Transforms/Instrumentation/ProfilingUtils.cpp b/lib/Transforms/Instrumentation/ProfilingUtils.cpp index 4224ee3..327e423 100644 --- a/lib/Transforms/Instrumentation/ProfilingUtils.cpp +++ b/lib/Transforms/Instrumentation/ProfilingUtils.cpp @@ -134,7 +134,7 @@ void llvm::IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum,  void llvm::InsertProfilingShutdownCall(Function *Callee, Module *Mod) {    // llvm.global_dtors is an array of type { i32, void ()* }. Prepare those    // types. -  const Type *GlobalDtorElems[2] = { +  Type *GlobalDtorElems[2] = {      Type::getInt32Ty(Mod->getContext()),      FunctionType::get(Type::getVoidTy(Mod->getContext()), false)->getPointerTo()    }; diff --git a/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/lib/Transforms/Scalar/MemCpyOptimizer.cpp index bd4c2d6..a3a3063 100644 --- a/lib/Transforms/Scalar/MemCpyOptimizer.cpp +++ b/lib/Transforms/Scalar/MemCpyOptimizer.cpp @@ -840,9 +840,9 @@ bool MemCpyOpt::processMemMove(MemMoveInst *M) {    // If not, then we know we can transform this.    Module *Mod = M->getParent()->getParent()->getParent(); -  const Type *ArgTys[3] = { M->getRawDest()->getType(), -                            M->getRawSource()->getType(), -                            M->getLength()->getType() }; +  Type *ArgTys[3] = { M->getRawDest()->getType(), +                      M->getRawSource()->getType(), +                      M->getLength()->getType() };    M->setCalledFunction(Intrinsic::getDeclaration(Mod, Intrinsic::memcpy,                                                   ArgTys, 3)); diff --git a/lib/Transforms/Scalar/ObjCARC.cpp b/lib/Transforms/Scalar/ObjCARC.cpp index 89a451e..6e3e0f8 100644 --- a/lib/Transforms/Scalar/ObjCARC.cpp +++ b/lib/Transforms/Scalar/ObjCARC.cpp @@ -1498,8 +1498,8 @@ void ObjCARCOpt::getAnalysisUsage(AnalysisUsage &AU) const {  Constant *ObjCARCOpt::getRetainRVCallee(Module *M) {    if (!RetainRVCallee) {      LLVMContext &C = M->getContext(); -    const Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); -    std::vector<const Type *> Params; +    Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); +    std::vector<Type *> Params;      Params.push_back(I8X);      const FunctionType *FTy =        FunctionType::get(I8X, Params, /*isVarArg=*/false); @@ -1515,8 +1515,8 @@ Constant *ObjCARCOpt::getRetainRVCallee(Module *M) {  Constant *ObjCARCOpt::getAutoreleaseRVCallee(Module *M) {    if (!AutoreleaseRVCallee) {      LLVMContext &C = M->getContext(); -    const Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); -    std::vector<const Type *> Params; +    Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); +    std::vector<Type *> Params;      Params.push_back(I8X);      const FunctionType *FTy =        FunctionType::get(I8X, Params, /*isVarArg=*/false); @@ -1532,7 +1532,7 @@ Constant *ObjCARCOpt::getAutoreleaseRVCallee(Module *M) {  Constant *ObjCARCOpt::getReleaseCallee(Module *M) {    if (!ReleaseCallee) {      LLVMContext &C = M->getContext(); -    std::vector<const Type *> Params; +    std::vector<Type *> Params;      Params.push_back(PointerType::getUnqual(Type::getInt8Ty(C)));      AttrListPtr Attributes;      Attributes.addAttr(~0u, Attribute::NoUnwind); @@ -1548,7 +1548,7 @@ Constant *ObjCARCOpt::getReleaseCallee(Module *M) {  Constant *ObjCARCOpt::getRetainCallee(Module *M) {    if (!RetainCallee) {      LLVMContext &C = M->getContext(); -    std::vector<const Type *> Params; +    std::vector<Type *> Params;      Params.push_back(PointerType::getUnqual(Type::getInt8Ty(C)));      AttrListPtr Attributes;      Attributes.addAttr(~0u, Attribute::NoUnwind); @@ -1564,7 +1564,7 @@ Constant *ObjCARCOpt::getRetainCallee(Module *M) {  Constant *ObjCARCOpt::getAutoreleaseCallee(Module *M) {    if (!AutoreleaseCallee) {      LLVMContext &C = M->getContext(); -    std::vector<const Type *> Params; +    std::vector<Type *> Params;      Params.push_back(PointerType::getUnqual(Type::getInt8Ty(C)));      AttrListPtr Attributes;      Attributes.addAttr(~0u, Attribute::NoUnwind); @@ -3269,9 +3269,9 @@ void ObjCARCContract::getAnalysisUsage(AnalysisUsage &AU) const {  Constant *ObjCARCContract::getStoreStrongCallee(Module *M) {    if (!StoreStrongCallee) {      LLVMContext &C = M->getContext(); -    const Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); -    const Type *I8XX = PointerType::getUnqual(I8X); -    std::vector<const Type *> Params; +    Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); +    Type *I8XX = PointerType::getUnqual(I8X); +    std::vector<Type *> Params;      Params.push_back(I8XX);      Params.push_back(I8X); @@ -3291,8 +3291,8 @@ Constant *ObjCARCContract::getStoreStrongCallee(Module *M) {  Constant *ObjCARCContract::getRetainAutoreleaseCallee(Module *M) {    if (!RetainAutoreleaseCallee) {      LLVMContext &C = M->getContext(); -    const Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); -    std::vector<const Type *> Params; +    Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); +    std::vector<Type *> Params;      Params.push_back(I8X);      const FunctionType *FTy =        FunctionType::get(I8X, Params, /*isVarArg=*/false); @@ -3307,8 +3307,8 @@ Constant *ObjCARCContract::getRetainAutoreleaseCallee(Module *M) {  Constant *ObjCARCContract::getRetainAutoreleaseRVCallee(Module *M) {    if (!RetainAutoreleaseRVCallee) {      LLVMContext &C = M->getContext(); -    const Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); -    std::vector<const Type *> Params; +    Type *I8X = PointerType::getUnqual(Type::getInt8Ty(C)); +    std::vector<Type *> Params;      Params.push_back(I8X);      const FunctionType *FTy =        FunctionType::get(I8X, Params, /*isVarArg=*/false); diff --git a/lib/Transforms/Scalar/SimplifyLibCalls.cpp b/lib/Transforms/Scalar/SimplifyLibCalls.cpp index 6247b03..66c3028 100644 --- a/lib/Transforms/Scalar/SimplifyLibCalls.cpp +++ b/lib/Transforms/Scalar/SimplifyLibCalls.cpp @@ -992,7 +992,7 @@ struct FFSOpt : public LibCallOptimization {      }      // ffs(x) -> x != 0 ? (i32)llvm.cttz(x)+1 : 0 -    const Type *ArgType = Op->getType(); +    Type *ArgType = Op->getType();      Value *F = Intrinsic::getDeclaration(Callee->getParent(),                                           Intrinsic::cttz, &ArgType, 1);      Value *V = B.CreateCall(F, Op, "cttz"); diff --git a/lib/Transforms/Utils/CloneFunction.cpp b/lib/Transforms/Utils/CloneFunction.cpp index 98c9f68..6ea831f 100644 --- a/lib/Transforms/Utils/CloneFunction.cpp +++ b/lib/Transforms/Utils/CloneFunction.cpp @@ -140,7 +140,7 @@ void llvm::CloneFunctionInto(Function *NewFunc, const Function *OldFunc,  Function *llvm::CloneFunction(const Function *F, ValueToValueMapTy &VMap,                                bool ModuleLevelChanges,                                ClonedCodeInfo *CodeInfo) { -  std::vector<const Type*> ArgTypes; +  std::vector<Type*> ArgTypes;    // The user might be deleting arguments to the function by specifying them in    // the VMap.  If so, we need to not add the arguments to the arg ty vector diff --git a/lib/Transforms/Utils/CodeExtractor.cpp b/lib/Transforms/Utils/CodeExtractor.cpp index 8c133ea..9a2e53f 100644 --- a/lib/Transforms/Utils/CodeExtractor.cpp +++ b/lib/Transforms/Utils/CodeExtractor.cpp @@ -258,7 +258,7 @@ Function *CodeExtractor::constructFunction(const Values &inputs,    default: RetTy = Type::getInt16Ty(header->getContext()); break;    } -  std::vector<const Type*> paramTy; +  std::vector<Type*> paramTy;    // Add the types of the input values to the function's argument list    for (Values::const_iterator i = inputs.begin(), @@ -279,7 +279,7 @@ Function *CodeExtractor::constructFunction(const Values &inputs,    }    DEBUG(dbgs() << "Function type: " << *RetTy << " f("); -  for (std::vector<const Type*>::iterator i = paramTy.begin(), +  for (std::vector<Type*>::iterator i = paramTy.begin(),           e = paramTy.end(); i != e; ++i)      DEBUG(dbgs() << **i << ", ");    DEBUG(dbgs() << ")\n"); @@ -403,7 +403,7 @@ emitCallAndSwitchStatement(Function *newFunction, BasicBlock *codeReplacer,    AllocaInst *Struct = 0;    if (AggregateArgs && (inputs.size() + outputs.size() > 0)) { -    std::vector<const Type*> ArgTypes; +    std::vector<Type*> ArgTypes;      for (Values::iterator v = StructValues.begin(),             ve = StructValues.end(); v != ve; ++v)        ArgTypes.push_back((*v)->getType()); diff --git a/lib/Transforms/Utils/InlineFunction.cpp b/lib/Transforms/Utils/InlineFunction.cpp index 348c3e4..791d30c 100644 --- a/lib/Transforms/Utils/InlineFunction.cpp +++ b/lib/Transforms/Utils/InlineFunction.cpp @@ -663,7 +663,7 @@ static Value *HandleByValArgument(Value *Arg, Instruction *TheCall,    LLVMContext &Context = Arg->getContext(); -  const Type *VoidPtrTy = Type::getInt8PtrTy(Context); +  Type *VoidPtrTy = Type::getInt8PtrTy(Context);    // Create the alloca.  If we have TargetData, use nice alignment.    unsigned Align = 1; @@ -680,7 +680,7 @@ static Value *HandleByValArgument(Value *Arg, Instruction *TheCall,    Value *NewAlloca = new AllocaInst(AggTy, 0, Align, Arg->getName(),                                       &*Caller->begin()->begin());    // Emit a memcpy. -  const Type *Tys[3] = {VoidPtrTy, VoidPtrTy, Type::getInt64Ty(Context)}; +  Type *Tys[3] = {VoidPtrTy, VoidPtrTy, Type::getInt64Ty(Context)};    Function *MemCpyFn = Intrinsic::getDeclaration(Caller->getParent(),                                                   Intrinsic::memcpy,                                                    Tys, 3); diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index f29afa7..945af7a 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -619,7 +619,7 @@ Constant *ConstantArray::get(LLVMContext &Context, StringRef Str,  StructType *ConstantStruct::getTypeForElements(LLVMContext &Context,                                                 ArrayRef<Constant*> V,                                                 bool Packed) { -  SmallVector<const Type*, 16> EltTypes; +  SmallVector<Type*, 16> EltTypes;    for (unsigned i = 0, e = V.size(); i != e; ++i)      EltTypes.push_back(V[i]->getType()); diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp index d9ced94..15d2723 100644 --- a/lib/VMCore/Core.cpp +++ b/lib/VMCore/Core.cpp @@ -260,7 +260,7 @@ LLVMTypeRef LLVMX86MMXType(void) {  LLVMTypeRef LLVMFunctionType(LLVMTypeRef ReturnType,                               LLVMTypeRef *ParamTypes, unsigned ParamCount,                               LLVMBool IsVarArg) { -  std::vector<const Type*> Tys; +  std::vector<Type*> Tys;    for (LLVMTypeRef *I = ParamTypes, *E = ParamTypes + ParamCount; I != E; ++I)      Tys.push_back(unwrap(*I)); @@ -290,7 +290,7 @@ void LLVMGetParamTypes(LLVMTypeRef FunctionTy, LLVMTypeRef *Dest) {  LLVMTypeRef LLVMStructTypeInContext(LLVMContextRef C, LLVMTypeRef *ElementTypes,                             unsigned ElementCount, LLVMBool Packed) { -  std::vector<const Type*> Tys; +  std::vector<Type*> Tys;    for (LLVMTypeRef *I = ElementTypes,                     *E = ElementTypes + ElementCount; I != E; ++I)      Tys.push_back(unwrap(*I)); diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp index 972319e..bde6a6d 100644 --- a/lib/VMCore/Function.cpp +++ b/lib/VMCore/Function.cpp @@ -333,7 +333,7 @@ unsigned Function::getIntrinsicID() const {    return 0;  } -std::string Intrinsic::getName(ID id, const Type **Tys, unsigned numTys) {  +std::string Intrinsic::getName(ID id, Type **Tys, unsigned numTys) {     assert(id < num_intrinsics && "Invalid intrinsic ID!");    static const char * const Table[] = {      "not_intrinsic", @@ -356,10 +356,10 @@ std::string Intrinsic::getName(ID id, const Type **Tys, unsigned numTys) {  }  const FunctionType *Intrinsic::getType(LLVMContext &Context, -                                       ID id, const Type **Tys,  +                                       ID id, Type **Tys,                                          unsigned numTys) {    const Type *ResultTy = NULL; -  std::vector<const Type*> ArgTys; +  std::vector<Type*> ArgTys;    bool IsVarArg = false;  #define GET_INTRINSIC_GENERATOR @@ -384,7 +384,7 @@ bool Intrinsic::isOverloaded(ID id) {  #include "llvm/Intrinsics.gen"  #undef GET_INTRINSIC_ATTRIBUTES -Function *Intrinsic::getDeclaration(Module *M, ID id, const Type **Tys,  +Function *Intrinsic::getDeclaration(Module *M, ID id, Type **Tys,                                       unsigned numTys) {    // There can never be multiple globals with the same name of different types,    // because intrinsics must be a specific type. diff --git a/lib/VMCore/IRBuilder.cpp b/lib/VMCore/IRBuilder.cpp index 5ad88a7..647c0b7 100644 --- a/lib/VMCore/IRBuilder.cpp +++ b/lib/VMCore/IRBuilder.cpp @@ -65,7 +65,7 @@ CreateMemSet(Value *Ptr, Value *Val, Value *Size, unsigned Align,               bool isVolatile, MDNode *TBAATag) {    Ptr = getCastedInt8PtrValue(Ptr);    Value *Ops[] = { Ptr, Val, Size, getInt32(Align), getInt1(isVolatile) }; -  const Type *Tys[] = { Ptr->getType(), Size->getType() }; +  Type *Tys[] = { Ptr->getType(), Size->getType() };    Module *M = BB->getParent()->getParent();    Value *TheFn = Intrinsic::getDeclaration(M, Intrinsic::memset, Tys, 2); @@ -85,7 +85,7 @@ CreateMemCpy(Value *Dst, Value *Src, Value *Size, unsigned Align,    Src = getCastedInt8PtrValue(Src);    Value *Ops[] = { Dst, Src, Size, getInt32(Align), getInt1(isVolatile) }; -  const Type *Tys[] = { Dst->getType(), Src->getType(), Size->getType() }; +  Type *Tys[] = { Dst->getType(), Src->getType(), Size->getType() };    Module *M = BB->getParent()->getParent();    Value *TheFn = Intrinsic::getDeclaration(M, Intrinsic::memcpy, Tys, 3); @@ -105,7 +105,7 @@ CreateMemMove(Value *Dst, Value *Src, Value *Size, unsigned Align,    Src = getCastedInt8PtrValue(Src);    Value *Ops[] = { Dst, Src, Size, getInt32(Align), getInt1(isVolatile) }; -  const Type *Tys[] = { Dst->getType(), Src->getType(), Size->getType() }; +  Type *Tys[] = { Dst->getType(), Src->getType(), Size->getType() };    Module *M = BB->getParent()->getParent();    Value *TheFn = Intrinsic::getDeclaration(M, Intrinsic::memmove, Tys, 3); diff --git a/lib/VMCore/Module.cpp b/lib/VMCore/Module.cpp index 1ca7016..8a738cb 100644 --- a/lib/VMCore/Module.cpp +++ b/lib/VMCore/Module.cpp @@ -216,8 +216,8 @@ Constant *Module::getOrInsertFunction(StringRef Name,    va_start(Args, RetTy);    // Build the list of argument types... -  std::vector<const Type*> ArgTys; -  while (const Type *ArgTy = va_arg(Args, const Type*)) +  std::vector<Type*> ArgTys; +  while (Type *ArgTy = va_arg(Args, Type*))      ArgTys.push_back(ArgTy);    va_end(Args); @@ -234,8 +234,8 @@ Constant *Module::getOrInsertFunction(StringRef Name,    va_start(Args, RetTy);    // Build the list of argument types... -  std::vector<const Type*> ArgTys; -  while (const Type *ArgTy = va_arg(Args, const Type*)) +  std::vector<Type*> ArgTys; +  while (Type *ArgTy = va_arg(Args, Type*))      ArgTys.push_back(ArgTy);    va_end(Args); diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp index ac8b76f..10467a8 100644 --- a/lib/VMCore/Type.cpp +++ b/lib/VMCore/Type.cpp @@ -325,13 +325,6 @@ FunctionType::FunctionType(const Type *Result, ArrayRef<Type*> Params,    NumContainedTys = Params.size() + 1; // + 1 for result type  } -// FIXME: Remove this version. -FunctionType *FunctionType::get(const Type *ReturnType, -                                ArrayRef<const Type*> Params, bool isVarArg) { -  return get(ReturnType, ArrayRef<Type*>(const_cast<Type**>(Params.data()), -                                         Params.size()), isVarArg); -} -  // FunctionType::get - The factory function for the FunctionType class.  FunctionType *FunctionType::get(const Type *ReturnType,                                  ArrayRef<Type*> Params, bool isVarArg) { @@ -357,7 +350,7 @@ FunctionType *FunctionType::get(const Type *ReturnType,  FunctionType *FunctionType::get(const Type *Result, bool isVarArg) { -  return get(Result, ArrayRef<const Type *>(), isVarArg); +  return get(Result, ArrayRef<Type *>(), isVarArg);  } @@ -465,22 +458,15 @@ void StructType::setName(StringRef Name) {  //===----------------------------------------------------------------------===//  // StructType Helper functions. -// FIXME: Remove this version. -StructType *StructType::get(LLVMContext &Context, ArrayRef<const Type*>Elements, -                            bool isPacked) { -  return get(Context, ArrayRef<Type*>(const_cast<Type**>(Elements.data()), -             Elements.size()), isPacked); -} -  StructType *StructType::get(LLVMContext &Context, bool isPacked) { -  return get(Context, llvm::ArrayRef<const Type*>(), isPacked); +  return get(Context, llvm::ArrayRef<Type*>(), isPacked);  } -StructType *StructType::get(const Type *type, ...) { +StructType *StructType::get(Type *type, ...) {    assert(type != 0 && "Cannot create a struct type with no elements with this");    LLVMContext &Ctx = type->getContext();    va_list ap; -  SmallVector<const llvm::Type*, 8> StructFields; +  SmallVector<llvm::Type*, 8> StructFields;    va_start(ap, type);    while (type) {      StructFields.push_back(type);  | 
