@@ -488,7 +488,7 @@ void IslNodeBuilder::createForSequential(isl::ast_node_for For,
488488
489489 IDToValue.erase (IDToValue.find (IteratorID.get ()));
490490
491- Builder.SetInsertPoint (& ExitBlock-> front ());
491+ Builder.SetInsertPoint (ExitBlock, ExitBlock-> begin ());
492492
493493 SequentialLoops++;
494494}
@@ -508,7 +508,7 @@ void IslNodeBuilder::createForParallel(__isl_take isl_ast_node *For) {
508508 BasicBlock *ParBB = SplitBlock (Builder.GetInsertBlock (),
509509 &*Builder.GetInsertPoint (), &DT, &LI);
510510 ParBB->setName (" polly.parallel.for" );
511- Builder.SetInsertPoint (& ParBB-> front ());
511+ Builder.SetInsertPoint (ParBB, ParBB-> begin ());
512512
513513 Body = isl_ast_node_for_get_body (For);
514514 Init = isl_ast_node_for_get_init (For);
@@ -612,7 +612,7 @@ void IslNodeBuilder::createForParallel(__isl_take isl_ast_node *For) {
612612 BlockGen.switchGeneratedFunc (SubFn, GenDT, GenLI, GenSE);
613613 RegionGen.switchGeneratedFunc (SubFn, GenDT, GenLI, GenSE);
614614 ExprBuilder.switchGeneratedFunc (SubFn, GenDT, GenLI, GenSE);
615- Builder.SetInsertPoint (&* LoopBody);
615+ Builder.SetInsertPoint (LoopBody);
616616
617617 // Update the ValueMap to use instructions in the subfunction. Note that
618618 // "GlobalMap" used in BlockGenerator/IslExprBuilder is a reference to this
@@ -682,7 +682,7 @@ void IslNodeBuilder::createForParallel(__isl_take isl_ast_node *For) {
682682 ExprBuilder.switchGeneratedFunc (CallerFn, CallerDT, CallerLI, CallerSE);
683683 RegionGen.switchGeneratedFunc (CallerFn, CallerDT, CallerLI, CallerSE);
684684 BlockGen.switchGeneratedFunc (CallerFn, CallerDT, CallerLI, CallerSE);
685- Builder.SetInsertPoint (&* AfterLoop);
685+ Builder.SetInsertPoint (AfterLoop);
686686
687687 for (const Loop *L : Loops)
688688 OutsideLoopIterations.erase (L);
@@ -737,16 +737,16 @@ void IslNodeBuilder::createIf(__isl_take isl_ast_node *If) {
737737 Builder.CreateBr (MergeBB);
738738 Builder.SetInsertPoint (ElseBB);
739739 Builder.CreateBr (MergeBB);
740- Builder.SetInsertPoint (& ThenBB-> front ());
740+ Builder.SetInsertPoint (ThenBB, ThenBB-> begin ());
741741
742742 create (isl_ast_node_if_get_then (If));
743743
744- Builder.SetInsertPoint (& ElseBB-> front ());
744+ Builder.SetInsertPoint (ElseBB, ElseBB-> begin ());
745745
746746 if (isl_ast_node_if_has_else (If))
747747 create (isl_ast_node_if_get_else (If));
748748
749- Builder.SetInsertPoint (& MergeBB-> front ());
749+ Builder.SetInsertPoint (MergeBB, MergeBB-> begin ());
750750
751751 isl_ast_node_free (If);
752752
@@ -1126,16 +1126,16 @@ Value *IslNodeBuilder::preloadInvariantLoad(const MemoryAccess &MA,
11261126 L->addBasicBlockToLoop (ExecBB, *GenLI);
11271127
11281128 auto *CondBBTerminator = CondBB->getTerminator ();
1129- Builder.SetInsertPoint (CondBBTerminator);
1129+ Builder.SetInsertPoint (CondBB, CondBBTerminator-> getIterator () );
11301130 Builder.CreateCondBr (Cond, ExecBB, MergeBB);
11311131 CondBBTerminator->eraseFromParent ();
11321132
11331133 Builder.SetInsertPoint (ExecBB);
11341134 Builder.CreateBr (MergeBB);
11351135
1136- Builder.SetInsertPoint (ExecBB->getTerminator ());
1136+ Builder.SetInsertPoint (ExecBB, ExecBB ->getTerminator ()-> getIterator ());
11371137 Value *PreAccInst = preloadUnconditionally (AccessRange, Build, AccInst);
1138- Builder.SetInsertPoint (MergeBB->getTerminator ());
1138+ Builder.SetInsertPoint (MergeBB, MergeBB ->getTerminator ()-> getIterator ());
11391139 auto *MergePHI = Builder.CreatePHI (
11401140 AccInstTy, 2 , " polly.preload." + AccInst->getName () + " .merge" );
11411141 PreloadVal = MergePHI;
@@ -1315,7 +1315,9 @@ void IslNodeBuilder::allocateNewArrays(BBPair StartExitBlocks) {
13151315 unsigned Size = SAI->getElemSizeInBytes ();
13161316
13171317 // Insert the malloc call at polly.start
1318- Builder.SetInsertPoint (std::get<0 >(StartExitBlocks)->getTerminator ());
1318+ BasicBlock *StartBlock = std::get<0 >(StartExitBlocks);
1319+ Builder.SetInsertPoint (StartBlock,
1320+ StartBlock->getTerminator ()->getIterator ());
13191321 auto *CreatedArray = Builder.CreateMalloc (
13201322 IntPtrTy, SAI->getElementType (),
13211323 ConstantInt::get (Type::getInt64Ty (Ctx), Size),
@@ -1325,7 +1327,9 @@ void IslNodeBuilder::allocateNewArrays(BBPair StartExitBlocks) {
13251327 SAI->setBasePtr (CreatedArray);
13261328
13271329 // Insert the free call at polly.exiting
1328- Builder.SetInsertPoint (std::get<1 >(StartExitBlocks)->getTerminator ());
1330+ BasicBlock *ExitingBlock = std::get<1 >(StartExitBlocks);
1331+ Builder.SetInsertPoint (ExitingBlock,
1332+ ExitingBlock->getTerminator ()->getIterator ());
13291333 Builder.CreateFree (CreatedArray);
13301334 } else {
13311335 auto InstIt = Builder.GetInsertBlock ()
@@ -1351,7 +1355,7 @@ bool IslNodeBuilder::preloadInvariantLoads() {
13511355 BasicBlock *PreLoadBB = SplitBlock (Builder.GetInsertBlock (),
13521356 &*Builder.GetInsertPoint (), GenDT, GenLI);
13531357 PreLoadBB->setName (" polly.preload.begin" );
1354- Builder.SetInsertPoint (& PreLoadBB-> front ());
1358+ Builder.SetInsertPoint (PreLoadBB, PreLoadBB-> begin ());
13551359
13561360 for (auto &IAClass : InvariantEquivClasses)
13571361 if (!preloadInvariantEquivClass (IAClass))
0 commit comments