/freebsd-10.2-release/contrib/llvm/utils/TableGen/ |
H A D | DAGISelMatcher.h | 22 class Matcher; 31 Matcher *ConvertPatternToMatcher(const PatternToMatch &Pattern,unsigned Variant, 33 Matcher *OptimizeMatcher(Matcher *Matcher, const CodeGenDAGPatterns &CGP); 34 void EmitMatcherTable(const Matcher *Matcher, const CodeGenDAGPatterns &CGP, 38 /// Matcher - Base class for all the DAG ISel Matcher representation 40 class Matcher { class in namespace:llvm 90 Matcher(KindTy K) : Kind(K) {} function in class:llvm::Matcher [all...] |
H A D | DAGISelMatcherOpt.cpp | 1 //===- DAGISelMatcherOpt.cpp - Optimize a DAG Matcher ---------------------===// 10 // This file implements the DAG Matcher optimizer. 25 static void ContractNodes(OwningPtr<Matcher> &MatcherPtr, 28 Matcher *N = MatcherPtr.get(); 34 OwningPtr<Matcher> Child(Scope->takeChild(i)); 44 Matcher *New = 0; 84 Matcher *EmitNode = MatcherPtr.take(); 85 Matcher *MFR = EmitNode->takeNext(); 86 Matcher *Tail = MFR->takeNext(); 164 Matcher *CheckTyp [all...] |
H A D | DAGISelMatcherEmitter.cpp | 1 //===- DAGISelMatcherEmitter.cpp - Matcher Emitter ------------------------===// 54 unsigned EmitMatcherList(const Matcher *N, unsigned Indent, 59 void EmitHistogram(const Matcher *N, formatted_raw_ostream &OS); 61 unsigned EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx, 138 EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx, 143 case Matcher::Scope: { 205 case Matcher::RecordNode: 214 case Matcher::RecordChild: 224 case Matcher::RecordMemRef: 228 case Matcher 447 const EmitRegisterMatcher *Matcher = cast<EmitRegisterMatcher>(N); local [all...] |
H A D | DAGISelMatcher.cpp | 18 void Matcher::anchor() { } 20 void Matcher::dump() const { 24 void Matcher::print(raw_ostream &OS, unsigned indent) const { 30 void Matcher::printOne(raw_ostream &OS) const { 37 Matcher *Matcher::unlinkNode(Matcher *Other) { 42 Matcher *Cur = this; 55 bool Matcher::canMoveBefore(const Matcher *Othe [all...] |
H A D | DAGISelEmitter.cpp | 147 // Convert each variant of each pattern into a Matcher. 148 std::vector<Matcher*> PatternMatchers; 151 if (Matcher *M = ConvertPatternToMatcher(*Patterns[i], Variant, CGP)) 158 Matcher *TheMatcher = new ScopeMatcher(&PatternMatchers[0], 162 //Matcher->dump();
|
H A D | DAGISelMatcherGen.cpp | 1 //===- DAGISelMatcherGen.cpp - Matcher generator --------------------------===// 91 /// Matcher - This is the top level of the generated matcher, the result. 92 Matcher *TheMatcher; 96 Matcher *CurPredicate; 107 Matcher *GetMatcher() const { return TheMatcher; } 109 void AddMatcher(Matcher *NewNode); 112 // Matcher Generation. 184 void MatcherGen::AddMatcher(Matcher *NewNode) { 961 Matcher *llvm::ConvertPatternToMatcher(const PatternToMatch &Pattern,
|
/freebsd-10.2-release/contrib/llvm/tools/clang/include/clang/ASTMatchers/ |
H A D | ASTMatchersMacros.h | 11 // Since a matcher is a function which returns a Matcher<T> object, where 29 // internal::Matcher<ValueDecl>, InnerMatcher) { 42 /// Matcher<Type> object. 53 class matcher_##DefineMatcher##Matcher : public MatcherInterface<Type> { \ 55 explicit matcher_##DefineMatcher##Matcher() {} \ 60 inline internal::Matcher<Type> DefineMatcher() { \ 62 new internal::matcher_##DefineMatcher##Matcher()); \ 64 inline bool internal::matcher_##DefineMatcher##Matcher::matches( \ 70 /// Matcher<Type> object. 87 class matcher_##DefineMatcher##OverloadId##Matcher \ [all...] |
H A D | ASTMatchers.h | 113 internal::Matcher<T> id(const std::string &ID, 121 typedef internal::Matcher<Decl> DeclarationMatcher; 122 typedef internal::Matcher<Stmt> StatementMatcher; 123 typedef internal::Matcher<QualType> TypeMatcher; 124 typedef internal::Matcher<TypeLoc> TypeLocMatcher; 125 typedef internal::Matcher<NestedNameSpecifier> NestedNameSpecifierMatcher; 126 typedef internal::Matcher<NestedNameSpecifierLoc> NestedNameSpecifierLocMatcher; 133 /// to an \c internal::Matcher<> type such as \c TypeMatcher. 142 /// Usable as: Any Matcher 327 internal::Matcher<TemplateArgumen 1632 findAll(const internal::Matcher<T> &Matcher) argument [all...] |
H A D | ASTMatchersInternal.h | 12 // Matchers are methods that return a Matcher<T> which provides a method 19 // 1. A function Matcher<T> MatcherName(<arguments>) which returns a Matcher<T> 21 // on the arguments. Matcher<T>s form an implicit reverse hierarchy 22 // to clang's AST class hierarchy, meaning that you can use a Matcher<Base> 23 // everywhere a Matcher<Derived> is required. 210 /// A Matcher<Base> can be used anywhere a Matcher<Derived> is 212 /// to the AST hierarchy. In other words, Matcher<T> is contravariant 217 class Matcher { class in namespace:clang::ast_matchers::internal 220 explicit Matcher(MatcherInterface<T> *Implementation) function in class:clang::ast_matchers::internal::Matcher 227 Matcher(const Matcher<From> &Other, function in class:clang::ast_matchers::internal::Matcher 237 Matcher(const Matcher<TypeT> &Other, function in class:clang::ast_matchers::internal::Matcher 458 WrappedMatcher(const DynTypedMatcher &Matcher) argument 497 matchesFirstInRange(const MatcherT &Matcher, IteratorT Start, IteratorT End, ASTMatchFinder *Finder, BoundNodesTreeBuilder *Builder) argument 513 matchesFirstInPointerRange(const MatcherT &Matcher, IteratorT Start, IteratorT End, ASTMatchFinder *Finder, BoundNodesTreeBuilder *Builder) argument 738 matchesChildOf(const T &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, TraversalKind Traverse, BindKind Bind) argument 756 matchesDescendantOf(const T &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, BindKind Bind) argument 774 matchesAncestorOf(const T &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, AncestorMatchMode MatchMode) argument [all...] |
H A D | ASTMatchFinder.h | 186 /// \brief Returns the results of matching \p Matcher on \p Node. 189 /// \p Matcher on \p Node and returns the collected results. 198 match(MatcherT Matcher, const NodeT &Node, ASTContext &Context); 202 match(MatcherT Matcher, const ast_type_traits::DynTypedNode &Node, 213 /// Decl *D = selectFirst<Decl>("id", match(Matcher.bind("id"), 240 match(MatcherT Matcher, const ast_type_traits::DynTypedNode &Node, argument 244 Finder.addMatcher(Matcher, &Callback); 251 match(MatcherT Matcher, const NodeT &Node, ASTContext &Context) { argument 252 return match(Matcher, ast_type_traits::DynTypedNode::create(Node), Context);
|
/freebsd-10.2-release/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/ |
H A D | VariantValue.h | 12 /// Supports all the types required for dynamic Matcher construction. 47 /// the underlying matcher(s) can unambiguously return a Matcher<T>. 53 virtual bool canConstructFrom(const DynTypedMatcher &Matcher) const = 0; 54 virtual void constructFrom(const DynTypedMatcher &Matcher) = 0; 76 static VariantMatcher SingleMatcher(const DynTypedMatcher &Matcher); 104 /// \c Matcher<T>. 107 /// \c Matcher<T>. 109 /// overloads can be converted to \c Matcher<T>. If there are more than one 118 /// \brief Return this matcher as a \c Matcher<T>. 123 ast_matchers::internal::Matcher< 152 constructFrom(const DynTypedMatcher& Matcher) argument 250 VariantMatcher *Matcher; member in union:clang::ast_matchers::dynamic::VariantValue::AllValues [all...] |
/freebsd-10.2-release/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/ |
H A D | VariantValue.cpp | 29 SinglePayload(const DynTypedMatcher &Matcher) : Matcher(Matcher) {} argument 32 return Matcher; 36 return (Twine("Matcher<") + Matcher.getSupportedKind().asStringRef() + ">") 41 if (Ops.canConstructFrom(Matcher)) 42 Ops.constructFrom(Matcher); 46 const DynTypedMatcher Matcher; member in class:clang::ast_matchers::dynamic::VariantMatcher::SinglePayload 69 return (Twine("Matcher<") 119 SingleMatcher(const DynTypedMatcher &Matcher) argument 157 VariantValue(const VariantMatcher &Matcher) argument [all...] |
H A D | Marshallers.h | 57 template <class T> struct ArgTypeTraits<ast_matchers::internal::Matcher<T> > { 59 return (Twine("Matcher<") + 66 static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) { 106 /// \param Func Matcher construct function. This is the function that 176 Out.push_back(ast_matchers::internal::Matcher<typename TypeList::head>(Poly)); 182 /// There are 2 cases right now: The return value is a Matcher<T> or is a 184 /// For the latter, we instantiate all the possible Matcher<T> of the poly 186 static VariantMatcher outvalueToVariantMatcher(const DynTypedMatcher &Matcher) { argument 187 return VariantMatcher::SingleMatcher(Matcher); 362 << (i + 1) << "Matcher<>" << Valu [all...] |
/freebsd-10.2-release/contrib/llvm/tools/clang/lib/ASTMatchers/ |
H A D | ASTMatchFinder.cpp | 86 MatchChildASTVisitor(const DynTypedMatcher *Matcher, argument 92 : Matcher(Matcher), 241 // Sets 'Matched' to true if 'Matcher' matches 'Node' and: 253 if (Matcher->matches(ast_type_traits::DynTypedNode::create(Node), Finder, 261 if (Matcher->matches(ast_type_traits::DynTypedNode::create(Node), Finder, 282 const DynTypedMatcher *const Matcher; member in class:clang::ast_matchers::internal::__anon3170::MatchChildASTVisitor 374 const DynTypedMatcher &Matcher, 379 return matchesRecursively(Node, Matcher, Builder, MaxDepth, Traversal, 383 Key.MatcherID = Matcher 373 memoizedMatchesRecursively(const ast_type_traits::DynTypedNode &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, int MaxDepth, TraversalKind Traversal, BindKind Bind) argument 404 matchesRecursively(const ast_type_traits::DynTypedNode &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, int MaxDepth, TraversalKind Traversal, BindKind Bind) argument 418 matchesChildOf(const ast_type_traits::DynTypedNode &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, TraversalKind Traversal, BindKind Bind) argument 429 matchesDescendantOf(const ast_type_traits::DynTypedNode &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, BindKind Bind) argument 439 matchesAncestorOf(const ast_type_traits::DynTypedNode &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, AncestorMatchMode MatchMode) argument 494 memoizedMatchesAncestorOfRecursively( const ast_type_traits::DynTypedNode &Node, const DynTypedMatcher &Matcher, BoundNodesTreeBuilder *Builder, AncestorMatchMode MatchMode) argument 589 typeHasMatchingAlias(const Type *TypeNode, const Matcher<NamedDecl> Matcher, BoundNodesTreeBuilder *Builder) argument [all...] |
/freebsd-10.2-release/contrib/llvm/lib/Transforms/Scalar/ |
H A D | CodeGenPrepare.cpp | 1421 AddressingModeMatcher Matcher(MatchedAddrModeInsts, TLI, AddressAccessTy, 1423 Matcher.IgnoreProfitability = true; 1424 bool Success = Matcher.MatchAddr(Address, 0);
|