mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-28 23:43:50 +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::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);
|
||||
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(
|
||||
M, MergedTy, isConst, Linkage, MergedInit, MergedGVName, nullptr,
|
||||
GlobalVariable::NotThreadLocal, AddrSpace);
|
||||
M, MergedTy, isConst, Linkage, MergedInit,
|
||||
HasExternal ? "_MergedGlobals_" + TheFirstExternal->getName()
|
||||
: "_MergedGlobals",
|
||||
nullptr, GlobalVariable::NotThreadLocal, AddrSpace);
|
||||
|
||||
for (size_t k = i; k < j; ++k) {
|
||||
GlobalValue::LinkageTypes Linkage = Globals[k]->getLinkage();
|
||||
|
@ -737,9 +737,8 @@ void Triple::setObjectFormat(ObjectFormatType Kind) {
|
||||
if (Environment == UnknownEnvironment)
|
||||
return setEnvironmentName(getObjectFormatTypeName(Kind));
|
||||
|
||||
Twine Env = getEnvironmentTypeName(Environment) + Twine("-") +
|
||||
getObjectFormatTypeName(Kind);
|
||||
setEnvironmentName(Env.str());
|
||||
setEnvironmentName((getEnvironmentTypeName(Environment) + Twine("-") +
|
||||
getObjectFormatTypeName(Kind)).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(TripCount) + " iterations");
|
||||
} 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()
|
||||
<< " by " << Count);
|
||||
Twine DiagMsg("unrolled loop by a factor of " + Twine(Count));
|
||||
if (TripMultiple == 0 || BreakoutTrip != TripMultiple) {
|
||||
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) {
|
||||
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) {
|
||||
DEBUG(dbgs() << " with run-time trip count");
|
||||
DiagMsg.concat(" with run-time trip count");
|
||||
EmitDiag(" with run-time trip count");
|
||||
}
|
||||
DEBUG(dbgs() << "!\n");
|
||||
emitOptimizationRemark(Ctx, DEBUG_TYPE, *F, LoopLoc, DiagMsg);
|
||||
}
|
||||
|
||||
bool ContinueOnTrue = L->contains(BI->getSuccessor(0));
|
||||
|
Loading…
Reference in New Issue
Block a user