mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-05 13:09:10 +00:00
Fix some Twine locals.
Two of those are use after frees. Found by clang-tidy, fixed by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212537 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
986392e6e7
commit
e63aae5b75
@ -199,19 +199,17 @@ bool GlobalMerge::doMerge(SmallVectorImpl<GlobalVariable*> &Globals,
|
|||||||
? GlobalValue::ExternalLinkage
|
? GlobalValue::ExternalLinkage
|
||||||
: GlobalValue::InternalLinkage;
|
: GlobalValue::InternalLinkage;
|
||||||
|
|
||||||
// If merged variables have external linkage, we use symbol name of the
|
|
||||||
// first variable merged as the suffix of global symbol name. This would
|
|
||||||
// be able to avoid the link-time naming conflict for globalm symbols.
|
|
||||||
Twine MergedGVName = HasExternal
|
|
||||||
? "_MergedGlobals_" + TheFirstExternal->getName()
|
|
||||||
: "_MergedGlobals";
|
|
||||||
|
|
||||||
StructType *MergedTy = StructType::get(M.getContext(), Tys);
|
StructType *MergedTy = StructType::get(M.getContext(), Tys);
|
||||||
Constant *MergedInit = ConstantStruct::get(MergedTy, Inits);
|
Constant *MergedInit = ConstantStruct::get(MergedTy, Inits);
|
||||||
|
|
||||||
|
// If merged variables have external linkage, we use symbol name of the
|
||||||
|
// first variable merged as the suffix of global symbol name. This would
|
||||||
|
// be able to avoid the link-time naming conflict for globalm symbols.
|
||||||
GlobalVariable *MergedGV = new GlobalVariable(
|
GlobalVariable *MergedGV = new GlobalVariable(
|
||||||
M, MergedTy, isConst, Linkage, MergedInit, MergedGVName, nullptr,
|
M, MergedTy, isConst, Linkage, MergedInit,
|
||||||
GlobalVariable::NotThreadLocal, AddrSpace);
|
HasExternal ? "_MergedGlobals_" + TheFirstExternal->getName()
|
||||||
|
: "_MergedGlobals",
|
||||||
|
nullptr, GlobalVariable::NotThreadLocal, AddrSpace);
|
||||||
|
|
||||||
for (size_t k = i; k < j; ++k) {
|
for (size_t k = i; k < j; ++k) {
|
||||||
GlobalValue::LinkageTypes Linkage = Globals[k]->getLinkage();
|
GlobalValue::LinkageTypes Linkage = Globals[k]->getLinkage();
|
||||||
|
@ -737,9 +737,8 @@ void Triple::setObjectFormat(ObjectFormatType Kind) {
|
|||||||
if (Environment == UnknownEnvironment)
|
if (Environment == UnknownEnvironment)
|
||||||
return setEnvironmentName(getObjectFormatTypeName(Kind));
|
return setEnvironmentName(getObjectFormatTypeName(Kind));
|
||||||
|
|
||||||
Twine Env = getEnvironmentTypeName(Environment) + Twine("-") +
|
setEnvironmentName((getEnvironmentTypeName(Environment) + Twine("-") +
|
||||||
getObjectFormatTypeName(Kind);
|
getObjectFormatTypeName(Kind)).str());
|
||||||
setEnvironmentName(Env.str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Triple::setArchName(StringRef Str) {
|
void Triple::setArchName(StringRef Str) {
|
||||||
|
@ -242,21 +242,25 @@ bool llvm::UnrollLoop(Loop *L, unsigned Count, unsigned TripCount,
|
|||||||
Twine("completely unrolled loop with ") +
|
Twine("completely unrolled loop with ") +
|
||||||
Twine(TripCount) + " iterations");
|
Twine(TripCount) + " iterations");
|
||||||
} else {
|
} else {
|
||||||
|
auto EmitDiag = [&](const Twine &T) {
|
||||||
|
emitOptimizationRemark(Ctx, DEBUG_TYPE, *F, LoopLoc,
|
||||||
|
"unrolled loop by a factor of " + Twine(Count) +
|
||||||
|
T);
|
||||||
|
};
|
||||||
|
|
||||||
DEBUG(dbgs() << "UNROLLING loop %" << Header->getName()
|
DEBUG(dbgs() << "UNROLLING loop %" << Header->getName()
|
||||||
<< " by " << Count);
|
<< " by " << Count);
|
||||||
Twine DiagMsg("unrolled loop by a factor of " + Twine(Count));
|
|
||||||
if (TripMultiple == 0 || BreakoutTrip != TripMultiple) {
|
if (TripMultiple == 0 || BreakoutTrip != TripMultiple) {
|
||||||
DEBUG(dbgs() << " with a breakout at trip " << BreakoutTrip);
|
DEBUG(dbgs() << " with a breakout at trip " << BreakoutTrip);
|
||||||
DiagMsg.concat(" with a breakout at trip " + Twine(BreakoutTrip));
|
EmitDiag(" with a breakout at trip " + Twine(BreakoutTrip));
|
||||||
} else if (TripMultiple != 1) {
|
} else if (TripMultiple != 1) {
|
||||||
DEBUG(dbgs() << " with " << TripMultiple << " trips per branch");
|
DEBUG(dbgs() << " with " << TripMultiple << " trips per branch");
|
||||||
DiagMsg.concat(" with " + Twine(TripMultiple) + " trips per branch");
|
EmitDiag(" with " + Twine(TripMultiple) + " trips per branch");
|
||||||
} else if (RuntimeTripCount) {
|
} else if (RuntimeTripCount) {
|
||||||
DEBUG(dbgs() << " with run-time trip count");
|
DEBUG(dbgs() << " with run-time trip count");
|
||||||
DiagMsg.concat(" with run-time trip count");
|
EmitDiag(" with run-time trip count");
|
||||||
}
|
}
|
||||||
DEBUG(dbgs() << "!\n");
|
DEBUG(dbgs() << "!\n");
|
||||||
emitOptimizationRemark(Ctx, DEBUG_TYPE, *F, LoopLoc, DiagMsg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ContinueOnTrue = L->contains(BI->getSuccessor(0));
|
bool ContinueOnTrue = L->contains(BI->getSuccessor(0));
|
||||||
|
Loading…
Reference in New Issue
Block a user