Home
last modified time | relevance | path

Searched refs:BlockT (Results 1 – 23 of 23) sorted by relevance

/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DGenericLoopInfoImpl.h32 template <class BlockT, class LoopT>
33 void LoopBase<BlockT, LoopT>::getExitingBlocks( in getExitingBlocks()
34 SmallVectorImpl<BlockT *> &ExitingBlocks) const { in getExitingBlocks()
37 for (auto *Succ : children<BlockT *>(BB)) in getExitingBlocks()
47 template <class BlockT, class LoopT>
48 BlockT *LoopBase<BlockT, LoopT>::getExitingBlock() const { in getExitingBlock()
50 auto notInLoop = [&](BlockT *BB) { return !contains(BB); }; in getExitingBlock()
51 auto isExitBlock = [&](BlockT *BB, bool AllowRepeats) -> BlockT * { in getExitingBlock()
54 return any_of(children<BlockT *>(BB), notInLoop) ? BB : nullptr; in getExitingBlock()
57 return find_singleton<BlockT>(blocks(), isExitBlock); in getExitingBlock()
[all …]
H A DGenericLoopInfo.h59 template <class BlockT, class LoopT> class LoopBase {
65 std::vector<BlockT *> Blocks;
67 SmallPtrSet<const BlockT *, 8> DenseBlockSet;
74 LoopBase(const LoopBase<BlockT, LoopT> &) = delete;
75 const LoopBase<BlockT, LoopT> &
76 operator=(const LoopBase<BlockT, LoopT> &) = delete;
90 BlockT *getHeader() const { return getBlocks().front(); } in getHeader()
134 bool contains(const BlockT *BB) const { in contains()
173 ArrayRef<BlockT *> getBlocks() const { in getBlocks()
177 typedef typename ArrayRef<BlockT *>::const_iterator block_iterator;
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DDominanceFrontierImpl.h33 template <class BlockT>
36 using DomTreeNodeT = DomTreeNodeBase<BlockT>;
38 DFCalculateWorkObject(BlockT *B, BlockT *P, const DomTreeNodeT *N, in DFCalculateWorkObject()
42 BlockT *currentBB;
43 BlockT *parentBB;
48 template <class BlockT, bool IsPostDom>
49 void DominanceFrontierBase<BlockT, IsPostDom>::print(raw_ostream &OS) const { in print()
58 const SetVector<BlockT *> &BBs = I->second; in print()
60 for (const BlockT *BB : BBs) { in print()
72 template <class BlockT, bool IsPostDom>
[all …]
H A DRegionInfo.h85 using BlockT = BasicBlock;
119 using BlockT = typename Tr::BlockT;
133 PointerIntPair<BlockT *, 1, bool> entry;
148 inline RegionNodeBase(RegionT *Parent, BlockT *Entry,
172 inline BlockT *getEntry() const { return entry.getPointer(); }
256 using BlockT = typename Tr::BlockT;
265 using BlockTraits = GraphTraits<BlockT *>;
266 using InvBlockTraits = GraphTraits<Inverse<BlockT *>>;
276 BlockT *exit;
283 using BBNodeMapT = std::map<BlockT *, std::unique_ptr<RegionNodeT>>;
[all …]
H A DRegionInfoImpl.h42 RegionBase<Tr>::RegionBase(BlockT *Entry, BlockT *Exit, in RegionBase()
55 void RegionBase<Tr>::replaceEntry(BlockT *BB) { in replaceEntry()
60 void RegionBase<Tr>::replaceExit(BlockT *BB) { in replaceExit()
66 void RegionBase<Tr>::replaceEntryRecursive(BlockT *NewEntry) { in replaceEntryRecursive()
68 BlockT *OldEntry = getEntry(); in replaceEntryRecursive()
84 void RegionBase<Tr>::replaceExitRecursive(BlockT *NewExit) { in replaceExitRecursive()
86 BlockT *OldExit = getExit(); in replaceExitRecursive()
102 bool RegionBase<Tr>::contains(const BlockT *B) const { in contains()
103 BlockT *BB = const_cast<BlockT *>(B); in contains()
108 BlockT *entry = getEntry(), *exit = getExit(); in contains()
[all …]
H A DRegionIterator.h38 template <class NodeRef, class BlockT, class RegionT> class RNSuccIterator {
47 using BlockTraits = GraphTraits<BlockT *>;
87 NodeRef getISucc(BlockT *BB) const { in getISucc()
95 inline BlockT* getRegionSucc() const { in getRegionSucc()
101 inline bool isExit(BlockT* BB) const { in isExit()
106 using Self = RNSuccIterator<NodeRef, BlockT, RegionT>;
137 BlockT *BB = isRegionMode() ? getRegionSucc() : *BItor;
169 template <class NodeRef, class BlockT, class RegionT>
170 class RNSuccIterator<FlatIt<NodeRef>, BlockT, RegionT> {
171 using BlockTraits = GraphTraits<BlockT *>;
[all …]
H A DDominanceFrontier.h39 template <class BlockT, bool IsPostDom>
44 using DomSetType = SetVector<BlockT *>;
45 using DomSetMapType = DenseMap<BlockT *, DomSetType>; // Dom set map
48 using BlockTraits = GraphTraits<BlockT *>;
52 SmallVector<BlockT *, IsPostDom ? 4 : 1> Roots;
61 const SmallVectorImpl<BlockT *> &getRoots() const { return Roots; } in getRoots()
63 BlockT *getRoot() const { in getRoot()
85 iterator find(BlockT *B) { return Frontiers.find(B); } in find()
86 const_iterator find(BlockT *B) const { return Frontiers.find(B); } in find()
102 template <class BlockT>
[all …]
H A DEHUtils.h17 template <typename FunctionT, typename BlockT>
18 static void computeEHOnlyBlocks(FunctionT &F, DenseSet<BlockT *> &EHBlocks) { in computeEHOnlyBlocks()
23 DenseSet<BlockT *> WorkList; in computeEHOnlyBlocks()
24 DenseMap<BlockT *, Status> Statuses; in computeEHOnlyBlocks()
26 auto GetStatus = [&](BlockT *BB) { in computeEHOnlyBlocks()
31 auto CheckPredecessors = [&](BlockT *BB, Status Stat) { in computeEHOnlyBlocks()
42 auto AddSuccesors = [&](BlockT *BB) { in computeEHOnlyBlocks()
50 BlockT *StartBlock = &F.front(); in computeEHOnlyBlocks()
H A DBlockFrequencyInfoImpl.h541 template <class BlockT> struct TypeMap {};
543 using BlockT = BasicBlock;
551 using BlockT = MachineBasicBlock;
559 template <class BlockT, class BFIImplT>
569 template <class BlockT> std::string getBlockName(const BlockT *BB) {
843 using BlockT = typename bfi_detail::TypeMap<BT>::BlockT;
850 using Successor = GraphTraits<const BlockT *>;
851 using Predecessor = GraphTraits<Inverse<const BlockT *>>;
853 bfi_detail::BFICallbackVH<BlockT, BlockFrequencyInfoImpl>;
860 std::vector<const BlockT *> RPOT;
[all …]
H A DBlockFrequencyInfo.h32 template <class BlockT> class BlockFrequencyInfoImpl;
/freebsd/contrib/llvm-project/llvm/include/llvm/ADT/
H A DGenericCycleInfo.h46 using BlockT = typename ContextT::BlockT;
59 SmallVector<BlockT *, 1> Entries;
66 using BlockSetVectorT = SetVector<BlockT *, SmallVector<BlockT *, 8>,
67 DenseSet<const BlockT *>, 8>;
78 mutable SmallVector<BlockT *, 4> ExitBlocksCache;
89 void appendEntry(BlockT *Block) { in appendEntry()
94 void appendBlock(BlockT *Block) { in appendBlock()
110 BlockT *getHeader() const { return Entries[0]; } in getHeader()
112 const SmallVectorImpl<BlockT *> & getEntries() const { in getEntries()
122 bool isEntry(const BlockT *Block) const { in isEntry()
[all …]
H A DGenericCycleImpl.h49 SmallVectorImpl<BlockT *> &TmpStorage) const { in getExitBlocks()
58 for (BlockT *Block : blocks()) { in getExitBlocks()
63 BlockT *Succ = TmpStorage[Idx]; in getExitBlocks()
78 SmallVectorImpl<BlockT *> &TmpStorage) const { in getExitingBlocks()
81 for (BlockT *Block : blocks()) { in getExitingBlocks()
82 for (BlockT *Succ : successors(Block)) { in getExitingBlocks()
92 auto GenericCycle<ContextT>::getCyclePreheader() const -> BlockT * {
93 BlockT *Predecessor = getCyclePredecessor();
110 auto GenericCycle<ContextT>::getCyclePredecessor() const -> BlockT * {
114 BlockT *Out = nullptr;
[all …]
H A DGenericUniformityImpl.h91 using BlockT = typename ContextT::BlockT;
97 using const_iterator = typename std::vector<BlockT *>::const_iterator;
107 unsigned count(BlockT *BB) const { return POIndex.count(BB); } in count()
108 const BlockT *operator[](size_t idx) const { return m_order[idx]; }
110 void appendBlock(const BlockT &BB, bool isReducibleCycleHeader = false) {
119 unsigned getIndex(const BlockT *BB) const { in getIndex()
124 bool isReducibleCycleHeader(const BlockT *BB) const { in isReducibleCycleHeader()
129 SmallVector<const BlockT *> m_order;
130 DenseMap<const BlockT *, unsigned> POIndex;
131 SmallPtrSet<const BlockT *, 32> ReducibleCycleHeaders;
[all …]
H A DGenericConvergenceVerifier.h25 using BlockT = typename ContextT::BlockT;
43 void visit(const BlockT &BB);
H A DGenericUniformityInfo.h31 using BlockT = typename ContextT::BlockT;
80 bool hasDivergentTerminator(const BlockT &B);
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DCFG.h138 template <class InstructionT, class BlockT>
140 : public iterator_facade_base<SuccIterator<InstructionT, BlockT>,
141 std::random_access_iterator_tag, BlockT, int,
142 BlockT *, BlockT *> {
145 using pointer = BlockT *;
146 using reference = BlockT *;
151 using Self = SuccIterator<InstructionT, BlockT>;
204 inline BlockT *operator*() const { return Inst->getSuccessor(Idx); }
207 inline BlockT *operator->() const { return operator*(); }
237 inline BlockT *getSource() { in getSource()
H A DSSAContext.h32 using BlockT = BasicBlock;
H A DGenericConvergenceVerifierImpl.h58 void GenericConvergenceVerifier<ContextT>::visit(const BlockT &BB) { in visit()
134 DenseMap<const BlockT *, SmallVector<const InstructionT *, 8>> LiveTokenMap; in verify()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineSSAContext.h30 using BlockT = MachineBasicBlock;
H A DMachineBlockFrequencyInfo.h26 template <class BlockT> class BlockFrequencyInfoImpl;
H A DMachineRegionInfo.h32 using BlockT = MachineBasicBlock;
/freebsd/contrib/telnet/libtelnet/
H A Dencrypt.h62 typedef unsigned char *BlockT; typedef
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSampleProfileLoaderBaseImpl.h60 template <typename BlockT> struct IRTraits;