[OPENMP]Avoid string concat where possible and use standard name

generation function, NFC.
This commit is contained in:
Alexey Bataev 2020-01-16 15:46:34 -05:00
parent cbc63fbdc4
commit 8b32192948
1 changed files with 12 additions and 12 deletions

View File

@ -24,6 +24,7 @@
#include "clang/CodeGen/ConstantInitBuilder.h" #include "clang/CodeGen/ConstantInitBuilder.h"
#include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SetOperations.h" #include "llvm/ADT/SetOperations.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Bitcode/BitcodeReader.h" #include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/Frontend/OpenMP/OMPIRBuilder.h" #include "llvm/Frontend/OpenMP/OMPIRBuilder.h"
#include "llvm/IR/DerivedTypes.h" #include "llvm/IR/DerivedTypes.h"
@ -9085,8 +9086,9 @@ void CGOpenMPRuntime::emitUDMapperArrayInitOrDel(
// Evaluate if this is an array section. // Evaluate if this is an array section.
llvm::BasicBlock *IsDeleteBB = llvm::BasicBlock *IsDeleteBB =
MapperCGF.createBasicBlock("omp.array" + Prefix + ".evaldelete"); MapperCGF.createBasicBlock(getName({"omp.array", Prefix, ".evaldelete"}));
llvm::BasicBlock *BodyBB = MapperCGF.createBasicBlock("omp.array" + Prefix); llvm::BasicBlock *BodyBB =
MapperCGF.createBasicBlock(getName({"omp.array", Prefix}));
llvm::Value *IsArray = MapperCGF.Builder.CreateICmpSGE( llvm::Value *IsArray = MapperCGF.Builder.CreateICmpSGE(
Size, MapperCGF.Builder.getInt64(1), "omp.arrayinit.isarray"); Size, MapperCGF.Builder.getInt64(1), "omp.arrayinit.isarray");
MapperCGF.Builder.CreateCondBr(IsArray, IsDeleteBB, ExitBB); MapperCGF.Builder.CreateCondBr(IsArray, IsDeleteBB, ExitBB);
@ -9099,10 +9101,10 @@ void CGOpenMPRuntime::emitUDMapperArrayInitOrDel(
llvm::Value *DeleteCond; llvm::Value *DeleteCond;
if (IsInit) { if (IsInit) {
DeleteCond = MapperCGF.Builder.CreateIsNull( DeleteCond = MapperCGF.Builder.CreateIsNull(
DeleteBit, "omp.array" + Prefix + ".delete"); DeleteBit, getName({"omp.array", Prefix, ".delete"}));
} else { } else {
DeleteCond = MapperCGF.Builder.CreateIsNotNull( DeleteCond = MapperCGF.Builder.CreateIsNotNull(
DeleteBit, "omp.array" + Prefix + ".delete"); DeleteBit, getName({"omp.array", Prefix, ".delete"}));
} }
MapperCGF.Builder.CreateCondBr(DeleteCond, BodyBB, ExitBB); MapperCGF.Builder.CreateCondBr(DeleteCond, BodyBB, ExitBB);
@ -11000,7 +11002,7 @@ Address CGOpenMPRuntime::getAddressOfLocalVariable(CodeGenFunction &CGF,
llvm::Value *Addr = llvm::Value *Addr =
CGF.EmitRuntimeCall(createRuntimeFunction(OMPRTL__kmpc_alloc), Args, CGF.EmitRuntimeCall(createRuntimeFunction(OMPRTL__kmpc_alloc), Args,
CVD->getName() + ".void.addr"); getName({CVD->getName(), ".void.addr"}));
llvm::Value *FiniArgs[OMPAllocateCleanupTy::CleanupArgs] = {ThreadID, Addr, llvm::Value *FiniArgs[OMPAllocateCleanupTy::CleanupArgs] = {ThreadID, Addr,
Allocator}; Allocator};
llvm::FunctionCallee FiniRTLFn = createRuntimeFunction(OMPRTL__kmpc_free); llvm::FunctionCallee FiniRTLFn = createRuntimeFunction(OMPRTL__kmpc_free);
@ -11010,7 +11012,7 @@ Address CGOpenMPRuntime::getAddressOfLocalVariable(CodeGenFunction &CGF,
Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast( Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
Addr, Addr,
CGF.ConvertTypeForMem(CGM.getContext().getPointerType(CVD->getType())), CGF.ConvertTypeForMem(CGM.getContext().getPointerType(CVD->getType())),
CVD->getName() + ".addr"); getName({CVD->getName(), ".addr"}));
return Address(Addr, Align); return Address(Addr, Align);
} }
@ -11361,8 +11363,6 @@ CGOpenMPRuntime::LastprivateConditionalRAII::LastprivateConditionalRAII(
Data.UseOriginalIV = true; Data.UseOriginalIV = true;
return; return;
} }
llvm::SmallString<16> Buffer;
llvm::raw_svector_ostream OS(Buffer);
PresumedLoc PLoc = PresumedLoc PLoc =
CGM.getContext().getSourceManager().getPresumedLoc(S.getBeginLoc()); CGM.getContext().getSourceManager().getPresumedLoc(S.getBeginLoc());
assert(PLoc.isValid() && "Source location is expected to be always valid."); assert(PLoc.isValid() && "Source location is expected to be always valid.");
@ -11371,9 +11371,9 @@ CGOpenMPRuntime::LastprivateConditionalRAII::LastprivateConditionalRAII(
if (auto EC = llvm::sys::fs::getUniqueID(PLoc.getFilename(), ID)) if (auto EC = llvm::sys::fs::getUniqueID(PLoc.getFilename(), ID))
CGM.getDiags().Report(diag::err_cannot_open_file) CGM.getDiags().Report(diag::err_cannot_open_file)
<< PLoc.getFilename() << EC.message(); << PLoc.getFilename() << EC.message();
OS << "$pl_cond_" << ID.getDevice() << "_" << ID.getFile() << "_" Data.IVName = CGM.getOpenMPRuntime().getName(
<< PLoc.getLine() << "_" << PLoc.getColumn() << "$iv"; {"pl_cond", llvm::utostr(ID.getDevice()), llvm::utostr(ID.getFile()),
Data.IVName = OS.str(); llvm::utostr(PLoc.getLine()), llvm::utostr(PLoc.getColumn()), "iv"});
} }
CGOpenMPRuntime::LastprivateConditionalRAII::~LastprivateConditionalRAII() { CGOpenMPRuntime::LastprivateConditionalRAII::~LastprivateConditionalRAII() {
@ -11496,7 +11496,7 @@ void CGOpenMPRuntime::checkAndEmitLastprivateConditional(CodeGenFunction &CGF,
// int<xx> last_iv = 0; // int<xx> last_iv = 0;
llvm::Type *LLIVTy = CGF.ConvertTypeForMem(IVLVal.getType()); llvm::Type *LLIVTy = CGF.ConvertTypeForMem(IVLVal.getType());
llvm::Constant *LastIV = llvm::Constant *LastIV =
getOrCreateInternalVariable(LLIVTy, UniqueDeclName + "$iv"); getOrCreateInternalVariable(LLIVTy, getName({UniqueDeclName, "iv"}));
cast<llvm::GlobalVariable>(LastIV)->setAlignment( cast<llvm::GlobalVariable>(LastIV)->setAlignment(
IVLVal.getAlignment().getAsAlign()); IVLVal.getAlignment().getAsAlign());
LValue LastIVLVal = CGF.MakeNaturalAlignAddrLValue(LastIV, IVLVal.getType()); LValue LastIVLVal = CGF.MakeNaturalAlignAddrLValue(LastIV, IVLVal.getType());