summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/lib/CodeGen/BlockGenerators.cpp4
-rw-r--r--polly/lib/CodeGen/LoopGenerators.cpp4
-rw-r--r--polly/lib/CodeGen/PPCGCodeGeneration.cpp33
3 files changed, 23 insertions, 18 deletions
diff --git a/polly/lib/CodeGen/BlockGenerators.cpp b/polly/lib/CodeGen/BlockGenerators.cpp
index ae5dc3aedf8..d02d06cb1dd 100644
--- a/polly/lib/CodeGen/BlockGenerators.cpp
+++ b/polly/lib/CodeGen/BlockGenerators.cpp
@@ -408,8 +408,8 @@ Value *BlockGenerator::getOrCreateAlloca(const ScopArrayInfo *Array) {
else
NameExt = ".s2a";
- const DataLayout &DL
- = Builder.GetInsertBlock()->getParent()->getParent()->getDataLayout();
+ const DataLayout &DL =
+ Builder.GetInsertBlock()->getParent()->getParent()->getDataLayout();
Addr = new AllocaInst(Ty, DL.getAllocaAddrSpace(),
ScalarBase->getName() + NameExt);
diff --git a/polly/lib/CodeGen/LoopGenerators.cpp b/polly/lib/CodeGen/LoopGenerators.cpp
index de8a21d2fc0..547c38d4a52 100644
--- a/polly/lib/CodeGen/LoopGenerators.cpp
+++ b/polly/lib/CodeGen/LoopGenerators.cpp
@@ -281,8 +281,8 @@ ParallelLoopGenerator::storeValuesIntoStruct(SetVector<Value *> &Values) {
for (Value *V : Values)
Members.push_back(V->getType());
- const DataLayout &DL
- = Builder.GetInsertBlock()->getParent()->getParent()->getDataLayout();
+ const DataLayout &DL =
+ Builder.GetInsertBlock()->getParent()->getParent()->getDataLayout();
// We do not want to allocate the alloca inside any loop, thus we allocate it
// in the entry block of the function and use annotations to denote the actual
diff --git a/polly/lib/CodeGen/PPCGCodeGeneration.cpp b/polly/lib/CodeGen/PPCGCodeGeneration.cpp
index 2bd1b425811..3fe6713d53b 100644
--- a/polly/lib/CodeGen/PPCGCodeGeneration.cpp
+++ b/polly/lib/CodeGen/PPCGCodeGeneration.cpp
@@ -1083,9 +1083,10 @@ GPUNodeBuilder::createLaunchParameters(ppcg_kernel *Kernel, Function *F,
BasicBlock *EntryBlock =
&Builder.GetInsertBlock()->getParent()->getEntryBlock();
+ auto AddressSpace = F->getParent()->getDataLayout().getAllocaAddrSpace();
std::string Launch = "polly_launch_" + std::to_string(Kernel->id);
- Instruction *Parameters =
- new AllocaInst(ArrayTy, Launch + "_params", EntryBlock->getTerminator());
+ Instruction *Parameters = new AllocaInst(
+ ArrayTy, AddressSpace, Launch + "_params", EntryBlock->getTerminator());
int Index = 0;
for (long i = 0; i < Prog->n_array; i++) {
@@ -1115,9 +1116,10 @@ GPUNodeBuilder::createLaunchParameters(ppcg_kernel *Kernel, Function *F,
Builder.CreatePointerCast(ValPtr, Builder.getInt8PtrTy());
Builder.CreateStore(ValPtrCast, Slot);
} else {
- Instruction *Param = new AllocaInst(
- Builder.getInt8PtrTy(), Launch + "_param_" + std::to_string(Index),
- EntryBlock->getTerminator());
+ Instruction *Param =
+ new AllocaInst(Builder.getInt8PtrTy(), AddressSpace,
+ Launch + "_param_" + std::to_string(Index),
+ EntryBlock->getTerminator());
Builder.CreateStore(DevArray, Param);
Value *ParamTyped =
Builder.CreatePointerCast(Param, Builder.getInt8PtrTy());
@@ -1132,9 +1134,10 @@ GPUNodeBuilder::createLaunchParameters(ppcg_kernel *Kernel, Function *F,
isl_id *Id = isl_space_get_dim_id(Kernel->space, isl_dim_set, i);
Value *Val = IDToValue[Id];
isl_id_free(Id);
- Instruction *Param = new AllocaInst(
- Val->getType(), Launch + "_param_" + std::to_string(Index),
- EntryBlock->getTerminator());
+ Instruction *Param =
+ new AllocaInst(Val->getType(), AddressSpace,
+ Launch + "_param_" + std::to_string(Index),
+ EntryBlock->getTerminator());
Builder.CreateStore(Val, Param);
Value *Slot = Builder.CreateGEP(
Parameters, {Builder.getInt64(0), Builder.getInt64(Index)});
@@ -1150,9 +1153,10 @@ GPUNodeBuilder::createLaunchParameters(ppcg_kernel *Kernel, Function *F,
isl_id *Id = isl_space_get_dim_id(Kernel->space, isl_dim_param, i);
Value *Val = IDToValue[Id];
isl_id_free(Id);
- Instruction *Param = new AllocaInst(
- Val->getType(), Launch + "_param_" + std::to_string(Index),
- EntryBlock->getTerminator());
+ Instruction *Param =
+ new AllocaInst(Val->getType(), AddressSpace,
+ Launch + "_param_" + std::to_string(Index),
+ EntryBlock->getTerminator());
Builder.CreateStore(Val, Param);
Value *Slot = Builder.CreateGEP(
Parameters, {Builder.getInt64(0), Builder.getInt64(Index)});
@@ -1163,9 +1167,10 @@ GPUNodeBuilder::createLaunchParameters(ppcg_kernel *Kernel, Function *F,
}
for (auto Val : SubtreeValues) {
- Instruction *Param = new AllocaInst(
- Val->getType(), Launch + "_param_" + std::to_string(Index),
- EntryBlock->getTerminator());
+ Instruction *Param =
+ new AllocaInst(Val->getType(), AddressSpace,
+ Launch + "_param_" + std::to_string(Index),
+ EntryBlock->getTerminator());
Builder.CreateStore(Val, Param);
Value *Slot = Builder.CreateGEP(
Parameters, {Builder.getInt64(0), Builder.getInt64(Index)});
OpenPOWER on IntegriCloud