summaryrefslogtreecommitdiff
path: root/utils/TableGen/DAGISelEmitter.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-04-19 18:07:24 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-04-19 18:07:24 +0000
commit5941320c0d89711571b87c486b5c50a7c70a8130 (patch)
tree7ccce9edac0bee4aa8fa70e9eb65a92ad0288c30 /utils/TableGen/DAGISelEmitter.h
parent0c760dc224013afcc835f157073eaaf49918ab4b (diff)
downloadllvm-5941320c0d89711571b87c486b5c50a7c70a8130.tar.gz
llvm-5941320c0d89711571b87c486b5c50a7c70a8130.tar.bz2
llvm-5941320c0d89711571b87c486b5c50a7c70a8130.tar.xz
Allow "let AddedCost = n in" to increase pattern complexity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27834 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelEmitter.h')
-rw-r--r--utils/TableGen/DAGISelEmitter.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/utils/TableGen/DAGISelEmitter.h b/utils/TableGen/DAGISelEmitter.h
index 8ed66be800..c0e984a527 100644
--- a/utils/TableGen/DAGISelEmitter.h
+++ b/utils/TableGen/DAGISelEmitter.h
@@ -394,16 +394,19 @@ namespace llvm {
/// PatternToMatch - Used by DAGISelEmitter to keep tab of patterns processed
/// to produce isel.
struct PatternToMatch {
- PatternToMatch(ListInit *preds, TreePatternNode *src, TreePatternNode *dst):
- Predicates(preds), SrcPattern(src), DstPattern(dst) {};
+ PatternToMatch(ListInit *preds,
+ TreePatternNode *src, TreePatternNode *dst, unsigned cost):
+ Predicates(preds), SrcPattern(src), DstPattern(dst), AddedCost(cost) {};
ListInit *Predicates; // Top level predicate conditions to match.
TreePatternNode *SrcPattern; // Source pattern to match.
TreePatternNode *DstPattern; // Resulting pattern.
+ unsigned AddedCost; // Add to matching pattern complexity.
ListInit *getPredicates() const { return Predicates; }
TreePatternNode *getSrcPattern() const { return SrcPattern; }
TreePatternNode *getDstPattern() const { return DstPattern; }
+ unsigned getAddedCost() const { return AddedCost; }
};
/// DAGISelEmitter - The top-level class which coordinates construction