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

Declarations

lib/Transforms/Vectorize/VPlan.h
   59 class VPBasicBlock;

References

include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h
  643   zippy(Args &&... ts_) : ts(std::forward<Args>(ts_)...) {}
include/llvm/ADT/ilist_node.h
  266   const ParentTy *getNodeParent() const {
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
lib/Transforms/Vectorize/LoopVectorizationPlanner.h
   37   VPBasicBlock *BB = nullptr;
   38   VPBasicBlock::iterator InsertPt = VPBasicBlock::iterator();
   63   VPBasicBlock *getInsertBlock() const { return BB; }
   64   VPBasicBlock::iterator getInsertPoint() const { return InsertPt; }
   68     VPBasicBlock *Block = nullptr;
   69     VPBasicBlock::iterator Point;
   76     VPInsertPoint(VPBasicBlock *InsertBlock, VPBasicBlock::iterator InsertPoint)
   76     VPInsertPoint(VPBasicBlock *InsertBlock, VPBasicBlock::iterator InsertPoint)
   82     VPBasicBlock *getBlock() const { return Block; }
   83     VPBasicBlock::iterator getPoint() const { return Point; }
   96   void setInsertPoint(VPBasicBlock *TheBB) {
  104   void setInsertPoint(VPBasicBlock *TheBB, VPBasicBlock::iterator IP) {
  104   void setInsertPoint(VPBasicBlock *TheBB, VPBasicBlock::iterator IP) {
  149     VPBasicBlock *Block;
  150     VPBasicBlock::iterator Point;
lib/Transforms/Vectorize/LoopVectorize.cpp
 6832 bool VPRecipeBuilder::tryToWiden(Instruction *I, VPBasicBlock *VPBB,
 6938 VPBasicBlock *VPRecipeBuilder::handleReplication(
 6939     Instruction *I, VFRange &Range, VPBasicBlock *VPBB,
 6972   auto *RegSucc = new VPBasicBlock();
 6972   auto *RegSucc = new VPBasicBlock();
 6990   auto *Entry = new VPBasicBlock(Twine(RegionName) + ".entry", BOMRecipe);
 6990   auto *Entry = new VPBasicBlock(Twine(RegionName) + ".entry", BOMRecipe);
 6993   auto *Exit = new VPBasicBlock(Twine(RegionName) + ".continue", PHIRecipe);
 6993   auto *Exit = new VPBasicBlock(Twine(RegionName) + ".continue", PHIRecipe);
 6994   auto *Pred = new VPBasicBlock(Twine(RegionName) + ".if", PredRecipe);
 6994   auto *Pred = new VPBasicBlock(Twine(RegionName) + ".if", PredRecipe);
 7006                                         VPlanPtr &Plan, VPBasicBlock *VPBB) {
 7102   VPBasicBlock *VPBB = new VPBasicBlock("Pre-Entry");
 7102   VPBasicBlock *VPBB = new VPBasicBlock("Pre-Entry");
 7119     auto *FirstVPBBForBB = new VPBasicBlock(BB->getName());
 7119     auto *FirstVPBBForBB = new VPBasicBlock(BB->getName());
 7179       VPBasicBlock *NextVPBB = RecipeBuilder.handleReplication(
 7192   VPBasicBlock *PreEntry = cast<VPBasicBlock>(Plan->getEntry());
 7192   VPBasicBlock *PreEntry = cast<VPBasicBlock>(Plan->getEntry());
lib/Transforms/Vectorize/VPRecipeBuilder.h
   95   bool tryToWiden(Instruction *I, VPBasicBlock *VPBB, VFRange &Range);
  111                          VPBasicBlock *VPBB);
  119   VPBasicBlock *handleReplication(
  120       Instruction *I, VFRange &Range, VPBasicBlock *VPBB,
lib/Transforms/Vectorize/VPlan.cpp
   59 const VPBasicBlock *VPBlockBase::getEntryBasicBlock() const {
   63   return cast<VPBasicBlock>(Block);
   66 VPBasicBlock *VPBlockBase::getEntryBasicBlock() {
   70   return cast<VPBasicBlock>(Block);
   74 const VPBasicBlock *VPBlockBase::getExitBasicBlock() const {
   78   return cast<VPBasicBlock>(Block);
   81 VPBasicBlock *VPBlockBase::getExitBasicBlock() {
   85   return cast<VPBasicBlock>(Block);
  124     VPBasicBlock *PredVPBB = PredVPBlock->getExitBasicBlock();
  164   VPBasicBlock *PrevVPBB = State->CFG.PrevVPBB;
  425       VPBasicBlock *SuccVPBB = SuccVPBlock->getEntryBasicBlock();
  532   if (const VPBasicBlock *BasicBlock = dyn_cast<VPBasicBlock>(Block))
  532   if (const VPBasicBlock *BasicBlock = dyn_cast<VPBasicBlock>(Block))
  571 void VPlanPrinter::dumpBasicBlock(const VPBasicBlock *BasicBlock) {
  733   if (VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(Block)) {
  733   if (VPBasicBlock *VPBB = dyn_cast<VPBasicBlock>(Block)) {
lib/Transforms/Vectorize/VPlan.h
  284     VPBasicBlock *PrevVPBB = nullptr;
  296     SmallDenseMap<VPBasicBlock *, BasicBlock *> VPBB2IRBB;
  300     SmallVector<VPBasicBlock *, 8> VPBBsToFix;
  416   const VPBasicBlock *getEntryBasicBlock() const;
  417   VPBasicBlock *getEntryBasicBlock();
  422   const VPBasicBlock *getExitBasicBlock() const;
  423   VPBasicBlock *getExitBasicBlock();
  568 class VPRecipeBase : public ilist_node_with_parent<VPRecipeBase, VPBasicBlock> {
  575   VPBasicBlock *Parent = nullptr;
  604   VPBasicBlock *getParent() { return Parent; }
  605   const VPBasicBlock *getParent() const { return Parent; }
 1034     return &VPBasicBlock::Recipes;
 1290   void dumpBasicBlock(const VPBasicBlock *BasicBlock);
 1629   const VPBasicBlock &BB;
 1673   VPlanSlp(VPInterleavedAccessInfo &IAI, VPBasicBlock &BB) : IAI(IAI), BB(BB) {}
lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
   55   DenseMap<BasicBlock *, VPBasicBlock *> BB2VPBB;
   63   void setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB);
   65   VPBasicBlock *getOrCreateVPBB(BasicBlock *BB);
   70   void createVPInstructionsForVPBB(VPBasicBlock *VPBB, BasicBlock *BB);
   83 void PlainCFGBuilder::setVPBBPredsFromBB(VPBasicBlock *VPBB, BasicBlock *BB) {
  109 VPBasicBlock *PlainCFGBuilder::getOrCreateVPBB(BasicBlock *BB) {
  117   VPBasicBlock *VPBB = new VPBasicBlock(BB->getName());
  117   VPBasicBlock *VPBB = new VPBasicBlock(BB->getName());
  192 void PlainCFGBuilder::createVPInstructionsForVPBB(VPBasicBlock *VPBB,
  255   VPBasicBlock *PreheaderVPBB = getOrCreateVPBB(PreheaderBB);
  268     VPBasicBlock *VPBB = getOrCreateVPBB(BB);
  279       VPBasicBlock *SuccVPBB = getOrCreateVPBB(TI->getSuccessor(0));
  283       VPBasicBlock *SuccVPBB0 = getOrCreateVPBB(TI->getSuccessor(0));
  285       VPBasicBlock *SuccVPBB1 = getOrCreateVPBB(TI->getSuccessor(1));
  312   VPBasicBlock *LoopExitVPBB = BB2VPBB[LoopExitBB];
lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp
   31     VPBasicBlock *VPBB = Base->getEntryBasicBlock();
   43     VPBasicBlock *VPBB = Base->getEntryBasicBlock();
lib/Transforms/Vectorize/VPlanPredicator.cpp
   37 VPValue *VPlanPredicator::getOrCreateNotPredicate(VPBasicBlock *PredBB,
   38                                                   VPBasicBlock *CurrBB) {
  147   VPBasicBlock *CurrBB = cast<VPBasicBlock>(CurrBlock->getEntryBasicBlock());
  147   VPBasicBlock *CurrBB = cast<VPBasicBlock>(CurrBlock->getEntryBasicBlock());
  171           getOrCreateNotPredicate(cast<VPBasicBlock>(PredBlock), CurrBB);
  188   VPBasicBlock *EntryBlock = cast<VPBasicBlock>(Region->getEntry());
  188   VPBasicBlock *EntryBlock = cast<VPBasicBlock>(Region->getEntry());
lib/Transforms/Vectorize/VPlanPredicator.h
   50   VPValue *getOrCreateNotPredicate(VPBasicBlock *PredBB, VPBasicBlock *CurrBB);
   50   VPValue *getOrCreateNotPredicate(VPBasicBlock *PredBB, VPBasicBlock *CurrBB);
lib/Transforms/Vectorize/VPlanSLP.cpp
  123     VPBasicBlock *Parent = cast<VPInstruction>(Operands[0])->getParent();
unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
   43   VPBasicBlock *Entry = Plan->getEntry()->getEntryBasicBlock();
   49   VPBasicBlock *VecBB = Entry->getSingleSuccessor()->getEntryBasicBlock();
  130   VPBasicBlock *VecBB = Entry->getSingleSuccessor()->getEntryBasicBlock();
unittests/Transforms/Vectorize/VPlanSlpTest.cpp
  102   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  169   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  236   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  295   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  307                                 VPBasicBlock *Body,
  423   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  495   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  567   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  643   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  704   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  705   VPBasicBlock *BB2 = Body->getSingleSuccessor()->getEntryBasicBlock();
  767   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  768   VPBasicBlock *BB2 = Body->getSingleSuccessor()->getEntryBasicBlock();
  827   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
  886   VPBasicBlock *Body = Entry->getSingleSuccessor()->getEntryBasicBlock();
unittests/Transforms/Vectorize/VPlanTest.cpp
   32   VPBasicBlock VPBB1;
   47   VPBasicBlock VPBB1;
   67   VPBasicBlock VPBB1;
   78   VPBasicBlock VPBB2;
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   83     constexpr _Tp&&
usr/include/c++/7.4.0/bits/range_access.h
   58     begin(const _Container& __cont) -> decltype(__cont.begin())
   78     end(const _Container& __cont) -> decltype(__cont.end())
usr/include/c++/7.4.0/tuple
  125       constexpr _Head_base(const _Head& __h)
  132         constexpr _Head_base(_UHead&& __h)
  159       static constexpr _Head&
  162       static constexpr const _Head&
  194       static constexpr _Head&
  197       static constexpr const _Head&
  210       constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  248 		    const _Head& __head, const _Tail&... __tail)
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  947         constexpr tuple(const _T1& __a1, const _T2& __a2)
  956         explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
  971         constexpr tuple(_U1&& __a1, _U2&& __a2)
 1078 	      const _T1& __a1, const _T2& __a2)
 1090 	      const _T1& __a1, const _T2& __a2)
 1302     constexpr _Head&
 1307     constexpr const _Head&
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
usr/include/c++/7.4.0/type_traits
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1983     { typedef _Up     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };