|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Transforms/Scalar/StraightLineStrengthReduce.cpp 143 Candidate *Basis = nullptr;
170 bool isBasisFor(const Candidate &Basis, const Candidate &C);
170 bool isBasisFor(const Candidate &Basis, const Candidate &C);
173 bool isFoldable(const Candidate &C, TargetTransformInfo *TTI,
178 bool isSimplestForm(const Candidate &C);
210 void allocateCandidatesAndFindBasis(Candidate::Kind CT, const SCEV *B,
215 void rewriteCandidateWithBasis(const Candidate &C, const Candidate &Basis);
215 void rewriteCandidateWithBasis(const Candidate &C, const Candidate &Basis);
227 static Value *emitBump(const Candidate &Basis, const Candidate &C,
227 static Value *emitBump(const Candidate &Basis, const Candidate &C,
235 std::list<Candidate> Candidates;
259 bool StraightLineStrengthReduce::isBasisFor(const Candidate &Basis,
260 const Candidate &C) {
290 bool StraightLineStrengthReduce::isFoldable(const Candidate &C,
293 if (C.CandidateKind == Candidate::Add)
295 if (C.CandidateKind == Candidate::GEP)
311 bool StraightLineStrengthReduce::isSimplestForm(const Candidate &C) {
312 if (C.CandidateKind == Candidate::Add) {
316 if (C.CandidateKind == Candidate::Mul) {
320 if (C.CandidateKind == Candidate::GEP) {
336 Candidate::Kind CT, const SCEV *B, ConstantInt *Idx, Value *S,
338 Candidate C(CT, B, Idx, S, I);
405 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I);
410 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I);
414 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS,
438 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I);
444 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I);
448 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS,
479 allocateCandidatesAndFindBasis(Candidate::GEP, B, ScaledIdx, S, I);
570 Value *StraightLineStrengthReduce::emitBump(const Candidate &Basis,
571 const Candidate &C,
580 if (Basis.CandidateKind == Candidate::GEP) {
622 const Candidate &C, const Candidate &Basis) {
622 const Candidate &C, const Candidate &Basis) {
641 case Candidate::Add:
642 case Candidate::Mul: {
665 case Candidate::GEP:
722 const Candidate &C = Candidates.back();
usr/include/c++/7.4.0/bits/alloc_traits.h 387 using allocator_type = allocator<_Tp>;
389 using value_type = _Tp;
392 using pointer = _Tp*;
395 using const_pointer = const _Tp*;
474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
486 destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/list.tcc 68 typedef _List_node<_Tp> _Node;
74 _Tp* __val = __tmp->_M_valptr();
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
83 constexpr _Tp&&
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h 123 typedef _Tp value_type;
usr/include/c++/7.4.0/bits/stl_list.h 112 __gnu_cxx::__aligned_membuf<_Tp> _M_storage;
113 _Tp* _M_valptr() { return _M_storage._M_ptr(); }
114 _Tp const* _M_valptr() const { return _M_storage._M_ptr(); }
130 typedef _List_iterator<_Tp> _Self;
131 typedef _List_node<_Tp> _Node;
135 typedef _Tp value_type;
136 typedef _Tp* pointer;
137 typedef _Tp& reference;
304 rebind<_Tp>::other _Tp_alloc_type;
307 rebind<_List_node<_Tp> >::other _Node_alloc_type;
503 class list : protected _List_base<_Tp, _Alloc>
514 typedef _List_base<_Tp, _Alloc> _Base;
521 typedef _Tp value_type;
526 typedef _List_iterator<_Tp> iterator;
527 typedef _List_const_iterator<_Tp> const_iterator;
537 typedef _List_node<_Tp> _Node;
570 _M_create_node(_Args&&... __args)
1587 remove(const _Tp& __value);
1799 _M_insert(iterator __position, _Args&&... __args)
usr/include/c++/7.4.0/ext/aligned_buffer.h 52 struct _Tp2 { _Tp _M_t; };
54 alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
69 _Tp*
73 const _Tp*
usr/include/c++/7.4.0/ext/alloc_traits.h 117 { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h 135 construct(_Up* __p, _Args&&... __args)
135 construct(_Up* __p, _Args&&... __args)
136 { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
140 destroy(_Up* __p) { __p->~_Up(); }