X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FCodeGen%2FGlobalMerge.cpp;h=da5c94595489df229988412f2d3ba166d114ac3b;hb=983d814835709d574d0f29d875cb11a32c2f65f8;hp=3d3f354bcdd9e499c85409773d987012113378eb;hpb=2d35348660127118b357c2ac8f0247460243173a;p=oota-llvm.git diff --git a/lib/CodeGen/GlobalMerge.cpp b/lib/CodeGen/GlobalMerge.cpp index 3d3f354bcdd..da5c9459548 100644 --- a/lib/CodeGen/GlobalMerge.cpp +++ b/lib/CodeGen/GlobalMerge.cpp @@ -441,13 +441,13 @@ bool GlobalMerge::doMerge(const SmallVectorImpl &Globals, M, MergedTy, isConst, GlobalValue::PrivateLinkage, MergedInit, "_MergedGlobals", nullptr, GlobalVariable::NotThreadLocal, AddrSpace); - for (ssize_t k = i, idx = 0; k != j; k = GlobalSet.find_next(k)) { + for (ssize_t k = i, idx = 0; k != j; k = GlobalSet.find_next(k), ++idx) { GlobalValue::LinkageTypes Linkage = Globals[k]->getLinkage(); std::string Name = Globals[k]->getName(); Constant *Idx[2] = { ConstantInt::get(Int32Ty, 0), - ConstantInt::get(Int32Ty, idx++) + ConstantInt::get(Int32Ty, idx), }; Constant *GEP = ConstantExpr::getInBoundsGetElementPtr(MergedTy, MergedGV, Idx); @@ -461,9 +461,7 @@ bool GlobalMerge::doMerge(const SmallVectorImpl &Globals, // MergedGlobals variable) may be dead stripped at link time. if (Linkage != GlobalValue::InternalLinkage || !TM->getTargetTriple().isOSBinFormatMachO()) { - auto *PTy = cast(GEP->getType()); - GlobalAlias::create(PTy->getElementType(), PTy->getAddressSpace(), - Linkage, Name, GEP, &M); + GlobalAlias::create(Tys[idx], AddrSpace, Linkage, Name, GEP, &M); } NumMerged++;