diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-07-30 15:56:43 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-07-30 15:56:43 +0000 |
commit | 57ef94fb06af30d86c561d3cb18f30d43aedd344 (patch) | |
tree | 33dfce30028b01d3d3d91d2262505e73a2d63316 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | 5e0adce40f3481246c887ccfe4bb67573539e5de (diff) | |
download | llvm-57ef94fb06af30d86c561d3cb18f30d43aedd344.zip llvm-57ef94fb06af30d86c561d3cb18f30d43aedd344.tar.gz llvm-57ef94fb06af30d86c561d3cb18f30d43aedd344.tar.bz2 |
AMDGPU: Avoid emitting "true" predicates
Empty condition strings are considerde always true. This removes a lot
of clutter from the generated matcher tables.
This shrinks the source size of AMDGPUGenDAGISel.inc from 7.3M to
6.1M.
llvm-svn: 367326
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp index c8f710d..75890d27 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp @@ -1373,8 +1373,10 @@ getPatternComplexity(const CodeGenDAGPatterns &CGP) const { /// std::string PatternToMatch::getPredicateCheck() const { SmallVector<const Predicate*,4> PredList; - for (const Predicate &P : Predicates) - PredList.push_back(&P); + for (const Predicate &P : Predicates) { + if (!P.getCondString().empty()) + PredList.push_back(&P); + } llvm::sort(PredList, deref<llvm::less>()); std::string Check; |