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

References

include/llvm/ADT/ilist.h
   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.h
  108   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) {