diff options
Diffstat (limited to 'polly/lib/CodeGen/PPCGCodeGeneration.cpp')
-rw-r--r-- | polly/lib/CodeGen/PPCGCodeGeneration.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/polly/lib/CodeGen/PPCGCodeGeneration.cpp b/polly/lib/CodeGen/PPCGCodeGeneration.cpp index 6b872c35351..a2edb715ec2 100644 --- a/polly/lib/CodeGen/PPCGCodeGeneration.cpp +++ b/polly/lib/CodeGen/PPCGCodeGeneration.cpp @@ -146,8 +146,10 @@ class GPUNodeBuilder : public IslNodeBuilder { public: GPUNodeBuilder(PollyIRBuilder &Builder, ScopAnnotator &Annotator, Pass *P, const DataLayout &DL, LoopInfo &LI, ScalarEvolution &SE, - DominatorTree &DT, Scop &S, gpu_prog *Prog) - : IslNodeBuilder(Builder, Annotator, P, DL, LI, SE, DT, S), Prog(Prog) { + DominatorTree &DT, Scop &S, BasicBlock *StartBlock, + gpu_prog *Prog) + : IslNodeBuilder(Builder, Annotator, P, DL, LI, SE, DT, S, StartBlock), + Prog(Prog) { getExprBuilder().setIDToSAI(&IDToSAI); } @@ -2398,9 +2400,6 @@ public: PollyIRBuilder Builder = createPollyIRBuilder(EnteringBB, Annotator); - GPUNodeBuilder NodeBuilder(Builder, Annotator, this, *DL, *LI, *SE, *DT, *S, - Prog); - // Only build the run-time condition and parameters _after_ having // introduced the conditional branch. This is important as the conditional // branch will guard the original scop from new induction variables that @@ -2410,6 +2409,9 @@ public: BasicBlock *StartBlock = executeScopConditionally(*S, this, Builder.getTrue()); + GPUNodeBuilder NodeBuilder(Builder, Annotator, this, *DL, *LI, *SE, *DT, *S, + StartBlock, Prog); + // TODO: Handle LICM auto SplitBlock = StartBlock->getSinglePredecessor(); Builder.SetInsertPoint(SplitBlock->getTerminator()); |