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

Derived Classes

utils/TableGen/GlobalISelEmitter.cpp
  674 class GroupMatcher final : public Matcher {
  745 class SwitchMatcher : public Matcher {
  800 class RuleMatcher : public Matcher {

Declarations

utils/TableGen/GlobalISelEmitter.cpp
  476 class Matcher;

References

include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  127     ArrayRef(const std::vector<U *, A> &Vec,
  129                  std::is_convertible<U *const *, T const *>::value>::type* = 0)
usr/include/c++/7.4.0/bits/unique_ptr.h
   68         default_delete(const default_delete<_Up>&) noexcept { }
   72       operator()(_Tp* __ptr) const
   74 	static_assert(!is_void<_Tp>::value,
   76 	static_assert(sizeof(_Tp)>0,
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
  252 	unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
  297           __safe_conversion_up<_Up, _Ep>,
  301 	operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>
utils/TableGen/GlobalISelEmitter.cpp
  546   static MatchTable buildTable(ArrayRef<Matcher *> Rules, bool WithCoverage);
  665 MatchTable MatchTable::buildTable(ArrayRef<Matcher *> Rules,
  668   for (Matcher *Rule : Rules)
  674 class GroupMatcher final : public Matcher {
  679   std::vector<Matcher *> Matchers;
  683   std::vector<std::unique_ptr<Matcher>> MatcherStorage;
  690   bool addMatcher(Matcher &Candidate);
  719   iterator_range<std::vector<Matcher *>::iterator> matchers() {
  745 class SwitchMatcher : public Matcher {
  751   std::vector<Matcher *> Matchers;
  763   std::vector<std::unique_ptr<Matcher>> MatcherStorage;
  766   bool addMatcher(Matcher &Candidate);
  771   iterator_range<std::vector<Matcher *>::iterator> matchers() {
  800 class RuleMatcher : public Matcher {
 3384   static std::vector<Matcher *> optimizeRules(
 3385       ArrayRef<Matcher *> Rules,
 3386       std::vector<std::unique_ptr<Matcher>> &MatcherStorage);
 4876 std::vector<Matcher *> GlobalISelEmitter::optimizeRules(
 4877     ArrayRef<Matcher *> Rules,
 4878     std::vector<std::unique_ptr<Matcher>> &MatcherStorage) {
 4880   std::vector<Matcher *> OptRules;
 4894       for (Matcher *M : CurrentGroup->matchers())
 4904   for (Matcher *Rule : Rules) {
 4928   std::vector<Matcher *> InputRules;
 4929   for (Matcher &Rule : Rules)
 4954   for (Matcher *Rule : InputRules)
 4957   std::vector<std::unique_ptr<Matcher>> MatcherStorage;
 4958   std::vector<Matcher *> OptRules =
 4961   for (Matcher *Rule : OptRules)
 5419   const Matcher &Representative = **Matchers.begin();
 5426 bool GroupMatcher::addMatcher(Matcher &Candidate) {
 5443   Matcher &FirstRule = **Matchers.begin();
 5507   const Matcher &CaseRepresentative = **Matchers.begin();
 5519 bool SwitchMatcher::addMatcher(Matcher &Candidate) {