[llvm] r343977 - TableGen/CodeGenDAGPatterns: addPredicateFn only once
Nicolai Haehnle via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 8 09:53:32 PDT 2018
Author: nha
Date: Mon Oct 8 09:53:31 2018
New Revision: 343977
URL: http://llvm.org/viewvc/llvm-project?rev=343977&view=rev
Log:
TableGen/CodeGenDAGPatterns: addPredicateFn only once
Summary:
The predicate function is added in InlinePatternFragments, no need to
do it here. As a result, all uses of addPredicateFn are located in
InlinePatternFragments.
Test confirmed that there are no changes to generated files when
building all (non-experimental) targets.
Change-Id: I720e42e045ca596eb0aa339fb61adf6fe71034d5
Reviewers: arsenm, rampitec, RKSimon, craig.topper, hfinkel, uweigand
Subscribers: wdng, llvm-commits
Differential Revision: https://reviews.llvm.org/D51993
Modified:
llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp
llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h
Modified: llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp?rev=343977&r1=343976&r2=343977&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp (original)
+++ llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp Mon Oct 8 09:53:31 2018
@@ -3037,13 +3037,6 @@ void CodeGenDAGPatterns::ParsePatternFra
P->error("Operands list does not contain an entry for operand '" +
*OperandsSet.begin() + "'!");
- // If there is a code init for this fragment, keep track of the fact that
- // this fragment uses it.
- TreePredicateFn PredFn(P);
- if (!PredFn.isAlwaysTrue())
- for (auto T : P->getTrees())
- T->addPredicateFn(PredFn);
-
// If there is a node transformation corresponding to this, keep track of
// it.
Record *Transform = Frag->getValueAsDef("OperandTransform");
Modified: llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h?rev=343977&r1=343976&r2=343977&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h (original)
+++ llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h Mon Oct 8 09:53:31 2018
@@ -673,8 +673,8 @@ public:
}
void addPredicateFn(const TreePredicateFn &Fn) {
assert(!Fn.isAlwaysTrue() && "Empty predicate string!");
- if (!is_contained(PredicateFns, Fn))
- PredicateFns.push_back(Fn);
+ assert(!is_contained(PredicateFns, Fn) && "predicate applied recursively");
+ PredicateFns.push_back(Fn);
}
Record *getTransformFn() const { return TransformFn; }
More information about the llvm-commits
mailing list