aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-07-30 15:56:43 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-07-30 15:56:43 +0000
commit57ef94fb06af30d86c561d3cb18f30d43aedd344 (patch)
tree33dfce30028b01d3d3d91d2262505e73a2d63316 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp
parent5e0adce40f3481246c887ccfe4bb67573539e5de (diff)
downloadllvm-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.cpp6
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;