Searched refs:Matcher (Results 1 - 15 of 15) sorted by relevance

/freebsd-10.2-release/contrib/llvm/utils/TableGen/
H A DDAGISelMatcher.h22 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 DDAGISelMatcherOpt.cpp1 //===- 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 DDAGISelMatcherEmitter.cpp1 //===- 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 DDAGISelMatcher.cpp18 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 DDAGISelEmitter.cpp147 // 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 DDAGISelMatcherGen.cpp1 //===- 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 DASTMatchersMacros.h11 // 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 DASTMatchers.h113 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 DASTMatchersInternal.h12 // 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 DASTMatchFinder.h186 /// \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 DVariantValue.h12 /// 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 DVariantValue.cpp29 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 DMarshallers.h57 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 DASTMatchFinder.cpp86 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 DCodeGenPrepare.cpp1421 AddressingModeMatcher Matcher(MatchedAddrModeInsts, TLI, AddressAccessTy,
1423 Matcher.IgnoreProfitability = true;
1424 bool Success = Matcher.MatchAddr(Address, 0);

Completed in 131 milliseconds