reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/polly/lib/CodeGen/LoopGenerators.cpp
  180   BasicBlock::iterator BeforeLoop = Builder.GetInsertPoint();
  185   *LoopBody = Builder.GetInsertPoint();
  186   Builder.SetInsertPoint(&*BeforeLoop);
  188   Value *SubFnParam = Builder.CreateBitCast(Struct, Builder.getInt8PtrTy(),
  188   Value *SubFnParam = Builder.CreateBitCast(Struct, Builder.getInt8PtrTy(),
  193   UB = Builder.CreateAdd(UB, ConstantInt::get(LongType, 1));
  202   Function *F = Builder.GetInsertBlock()->getParent();
  224   const DataLayout &DL = Builder.GetInsertBlock()->getModule()->getDataLayout();
  229   BasicBlock &EntryBB = Builder.GetInsertBlock()->getParent()->getEntryBlock();
  231   StructType *Ty = StructType::get(Builder.getContext(), Members);
  236     Value *Address = Builder.CreateStructGEP(Ty, Struct, i);
  238     Builder.CreateStore(Values[i], Address);
  247     Value *Address = Builder.CreateStructGEP(Ty, Struct, i);
  248     Value *NewValue = Builder.CreateLoad(Address);
tools/polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
   33                           Builder.getVoidTy(), Builder.getInt8PtrTy(), false)),
   33                           Builder.getVoidTy(), Builder.getInt8PtrTy(), false)),
   34                       Builder.getInt8PtrTy(),
   35                       Builder.getInt32Ty(),
   40     FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), Params, false);
   44   Value *Args[] = {SubFn, SubFnParam, Builder.getInt32(PollyNumThreads),
   47   Builder.CreateCall(F, Args);
   56   Builder.CreateCall(SubFn, SubFnParam);
   62       FunctionType::get(Builder.getVoidTy(), {Builder.getInt8PtrTy()}, false);
   62       FunctionType::get(Builder.getVoidTy(), {Builder.getInt8PtrTy()}, false);
  110   BasicBlock *PrevBB = Builder.GetInsertBlock();
  126   Builder.SetInsertPoint(HeaderBB);
  127   Value *LBPtr = Builder.CreateAlloca(LongType, nullptr, "polly.par.LBPtr");
  128   Value *UBPtr = Builder.CreateAlloca(LongType, nullptr, "polly.par.UBPtr");
  129   Value *UserContext = Builder.CreateBitCast(
  134   Builder.CreateBr(CheckNextBB);
  137   Builder.SetInsertPoint(CheckNextBB);
  139   Value *HasNextSchedule = Builder.CreateTrunc(
  140       Next, Builder.getInt1Ty(), "polly.par.hasNextScheduleBlock");
  141   Builder.CreateCondBr(HasNextSchedule, PreHeaderBB, ExitBB);
  144   Builder.SetInsertPoint(PreHeaderBB);
  145   Value *LB = Builder.CreateLoad(LBPtr, "polly.par.LB");
  146   Value *UB = Builder.CreateLoad(UBPtr, "polly.par.UB");
  150   UB = Builder.CreateSub(UB, ConstantInt::get(LongType, 1),
  153   Builder.CreateBr(CheckNextBB);
  154   Builder.SetInsertPoint(&*--Builder.GetInsertPoint());
  154   Builder.SetInsertPoint(&*--Builder.GetInsertPoint());
  157       createLoop(LB, UB, Stride, Builder, LI, DT, AfterBB, ICmpInst::ICMP_SLE,
  160   BasicBlock::iterator LoopBody = Builder.GetInsertPoint();
  163   Builder.SetInsertPoint(ExitBB);
  165   Builder.CreateRetVoid();
  167   Builder.SetInsertPoint(&*LoopBody);
  182     FunctionType *Ty = FunctionType::get(Builder.getInt8Ty(), Params, false);
  187   Value *Return = Builder.CreateCall(F, Args);
  188   Return = Builder.CreateICmpNE(
  189       Return, Builder.CreateZExt(Builder.getFalse(), Return->getType()));
  189       Return, Builder.CreateZExt(Builder.getFalse(), Return->getType()));
  202     FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), false);
  206   Builder.CreateCall(F, {});
  218     FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), false);
  222   Builder.CreateCall(F, {});
tools/polly/lib/CodeGen/LoopGeneratorsKMP.cpp
   30     Type *MicroParams[] = {Builder.getInt32Ty()->getPointerTo(),
   31                            Builder.getInt32Ty()->getPointerTo()};
   33     KMPCMicroTy = FunctionType::get(Builder.getVoidTy(), MicroParams, true);
   41     Type *Params[] = {IdentTy->getPointerTo(), Builder.getInt32Ty(),
   44     FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), Params, true);
   48   Value *Task = Builder.CreatePointerBitCastOrAddrSpaceCast(
   52                    Builder.getInt32(4) /* Number of arguments (w/o Task) */,
   59   Builder.CreateCall(F, Args);
   69     createCallPushNumThreads(GlobalThreadID, Builder.getInt32(PollyNumThreads));
   77   std::vector<Type *> Arguments = {Builder.getInt32Ty()->getPointerTo(),
   78                                    Builder.getInt32Ty()->getPointerTo(),
   82                                    Builder.getInt8PtrTy()};
   84   FunctionType *FT = FunctionType::get(Builder.getVoidTy(), Arguments, false);
  134   BasicBlock *PrevBB = Builder.GetInsertBlock();
  150   Builder.SetInsertPoint(HeaderBB);
  151   Value *LBPtr = Builder.CreateAlloca(LongType, nullptr, "polly.par.LBPtr");
  152   Value *UBPtr = Builder.CreateAlloca(LongType, nullptr, "polly.par.UBPtr");
  153   Value *IsLastPtr = Builder.CreateAlloca(Builder.getInt32Ty(), nullptr,
  153   Value *IsLastPtr = Builder.CreateAlloca(Builder.getInt32Ty(), nullptr,
  156       Builder.CreateAlloca(LongType, nullptr, "polly.par.StridePtr");
  173   Value *UserContext = Builder.CreateBitCast(Shared, StructData->getType(),
  181       Builder.CreateAlignedLoad(IDPtr, Alignment, "polly.par.global_tid");
  183   Builder.CreateAlignedStore(LB, LBPtr, Alignment);
  184   Builder.CreateAlignedStore(UB, UBPtr, Alignment);
  185   Builder.CreateAlignedStore(Builder.getInt32(0), IsLastPtr, Alignment);
  185   Builder.CreateAlignedStore(Builder.getInt32(0), IsLastPtr, Alignment);
  186   Builder.CreateAlignedStore(Stride, StridePtr, Alignment);
  190   Value *AdjustedUB = Builder.CreateAdd(UB, ConstantInt::get(LongType, -1),
  207           Builder.CreateICmp(llvm::CmpInst::Predicate::ICMP_EQ, HasWork,
  208                              Builder.getInt32(1), "polly.hasIteration");
  209       Builder.CreateCondBr(HasIteration, PreHeaderBB, ExitBB);
  211       Builder.SetInsertPoint(CheckNextBB);
  214           Builder.CreateICmp(llvm::CmpInst::Predicate::ICMP_EQ, HasWork,
  215                              Builder.getInt32(1), "polly.hasWork");
  216       Builder.CreateCondBr(HasIteration, PreHeaderBB, ExitBB);
  218       Builder.SetInsertPoint(PreHeaderBB);
  219       LB = Builder.CreateAlignedLoad(LBPtr, Alignment, "polly.indvar.LB");
  220       UB = Builder.CreateAlignedLoad(UBPtr, Alignment, "polly.indvar.UB");
  229       LB = Builder.CreateAlignedLoad(LBPtr, Alignment, "polly.indvar.LB");
  230       UB = Builder.CreateAlignedLoad(UBPtr, Alignment, "polly.indvar.UB");
  233           Builder.CreateICmp(llvm::CmpInst::Predicate::ICMP_SLT, UB, AdjustedUB,
  236       UB = Builder.CreateSelect(AdjUBOutOfBounds, UB, AdjustedUB);
  237       Builder.CreateAlignedStore(UB, UBPtr, Alignment);
  239       Value *HasIteration = Builder.CreateICmp(
  241       Builder.CreateCondBr(HasIteration, PreHeaderBB, ExitBB);
  243       Builder.SetInsertPoint(CheckNextBB);
  244       Builder.CreateBr(ExitBB);
  246       Builder.SetInsertPoint(PreHeaderBB);
  251   Builder.CreateBr(CheckNextBB);
  252   Builder.SetInsertPoint(&*--Builder.GetInsertPoint());
  252   Builder.SetInsertPoint(&*--Builder.GetInsertPoint());
  254   Value *IV = createLoop(LB, UB, Stride, Builder, LI, DT, AfterBB,
  258   BasicBlock::iterator LoopBody = Builder.GetInsertPoint();
  261   Builder.SetInsertPoint(ExitBB);
  266   Builder.CreateRetVoid();
  267   Builder.SetInsertPoint(&*LoopBody);
  283     FunctionType *Ty = FunctionType::get(Builder.getInt32Ty(), Params, false);
  287   return Builder.CreateCall(F, {SourceLocationInfo});
  300     Type *Params[] = {IdentTy->getPointerTo(), Builder.getInt32Ty(),
  301                       Builder.getInt32Ty()};
  303     FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), Params, false);
  309   Builder.CreateCall(F, Args);
  327                       Builder.getInt32Ty(),
  328                       Builder.getInt32Ty(),
  329                       Builder.getInt32Ty()->getPointerTo(),
  336     FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), Params, false);
  345       Builder.getInt32(int(getSchedType(PollyChunkSize, PollyScheduling))),
  353   Builder.CreateCall(F, Args);
  364     Type *Params[] = {IdentTy->getPointerTo(), Builder.getInt32Ty()};
  365     FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), Params, false);
  371   Builder.CreateCall(F, Args);
  388                       Builder.getInt32Ty(),
  389                       Builder.getInt32Ty(),
  395     FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), Params, false);
  404       Builder.getInt32(int(getSchedType(PollyChunkSize, PollyScheduling))),
  410   Builder.CreateCall(F, Args);
  428                       Builder.getInt32Ty(),
  429                       Builder.getInt32Ty()->getPointerTo(),
  434     FunctionType *Ty = FunctionType::get(Builder.getInt32Ty(), Params, false);
  441   return Builder.CreateCall(F, Args);
  457       Type *LocMembers[] = {Builder.getInt32Ty(), Builder.getInt32Ty(),
  457       Type *LocMembers[] = {Builder.getInt32Ty(), Builder.getInt32Ty(),
  458                             Builder.getInt32Ty(), Builder.getInt32Ty(),
  458                             Builder.getInt32Ty(), Builder.getInt32Ty(),
  459                             Builder.getInt8PtrTy()};
  466         llvm::ArrayType::get(Builder.getInt8Ty(), /* Length */ 23);
  481     Constant *StrPtr = static_cast<Constant *>(Builder.CreateInBoundsGEP(
  482         ArrayType, StrVar, {Builder.getInt32(0), Builder.getInt32(0)}));
  482         ArrayType, StrVar, {Builder.getInt32(0), Builder.getInt32(0)}));
  485         IdentTy, {Builder.getInt32(0), Builder.getInt32(0), Builder.getInt32(0),
  485         IdentTy, {Builder.getInt32(0), Builder.getInt32(0), Builder.getInt32(0),
  485         IdentTy, {Builder.getInt32(0), Builder.getInt32(0), Builder.getInt32(0),
  486                   Builder.getInt32(0), StrPtr});