reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
41 static void deleteNode(NodeTy *V) { delete V; } 65 void addNodeToList(NodeTy *) {} 66 void removeNodeFromList(NodeTy *) {} 82 struct ilist_node_traits : ilist_alloc_traits<NodeTy>, 83 ilist_callback_traits<NodeTy> {}; 89 struct ilist_traits : public ilist_node_traits<NodeTy> {}; 96 template <class T> T &make(); 106 static Yes &test(U *I, decltype(I->getNext(&make<NodeT>())) * = 0); 136 static Yes &test(U *I, decltype(I->createNode(make<NodeT>())) * = 0); 144 static const bool value = HasGetNext<TraitsT, NodeT>::value || 146 HasCreateNode<TraitsT, NodeT>::value; 389 : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> { 389 : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> {include/llvm/ADT/ilist_node.h
150 typename ilist_detail::compute_node_options<T, Options...>::type> {
include/llvm/ADT/ilist_node_options.h108 typedef T value_type; 109 typedef T *pointer; 110 typedef T &reference; 111 typedef const T *const_pointer; 112 typedef const T &const_reference; 122 typedef node_options<T, extract_sentinel_tracking<Options...>::value,include/llvm/ADT/simple_ilist.h
79 : ilist_detail::compute_node_options<T, Options...>::type::list_base_type, 81 typename ilist_detail::compute_node_options<T, Options...>::type> { 85 typename ilist_detail::compute_node_options<T, Options...>::type;include/llvm/Analysis/IVUsers.h
37 class IVStrideUse final : public CallbackVH, public ilist_node<IVStrideUse> { 104 ilist<IVStrideUse> IVUses; 117 for (IVStrideUse &U : IVUses) 131 IVStrideUse &AddUser(Instruction *User, Value *Operand); 135 const SCEV *getReplacementExpr(const IVStrideUse &IU) const; 138 const SCEV *getExpr(const IVStrideUse &IU) const; 140 const SCEV *getStride(const IVStrideUse &IU, const Loop *L) const; 142 typedef ilist<IVStrideUse>::iterator iterator; 143 typedef ilist<IVStrideUse>::const_iterator const_iterator;lib/Analysis/IVUsers.cpp
249 IVStrideUse &NewUse = AddUser(User, I); 299 IVStrideUse &IVUsers::AddUser(Instruction *User, Value *Operand) { 300 IVUses.push_back(new IVStrideUse(this, User, Operand)); 326 for (const IVStrideUse &IVUse : IVUses) { 384 const SCEV *IVUsers::getReplacementExpr(const IVStrideUse &IU) const { 389 const SCEV *IVUsers::getExpr(const IVStrideUse &IU) const { 411 const SCEV *IVUsers::getStride(const IVStrideUse &IU, const Loop *L) const {lib/Transforms/Scalar/LoopStrengthReduce.cpp
1956 bool FindIVUserForCond(ICmpInst *Cond, IVStrideUse *&CondUse); 1957 ICmpInst *OptimizeMax(ICmpInst *Cond, IVStrideUse* &CondUse); 2187 bool LSRInstance::FindIVUserForCond(ICmpInst *Cond, IVStrideUse *&CondUse) { 2188 for (IVStrideUse &U : IU) 2247 ICmpInst *LSRInstance::OptimizeMax(ICmpInst *Cond, IVStrideUse* &CondUse) { 2399 IVStrideUse *CondUse = nullptr; 2656 for (const IVStrideUse &U : IU) { 3244 for (const IVStrideUse &U : IU) { 5512 for (const IVStrideUse &U : IU) {