aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/SetTheory.h
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2012-10-24 22:03:59 +0000
committerJoerg Sonnenberger <joerg@bec.de>2012-10-24 22:03:59 +0000
commit2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7 (patch)
tree804a11ce287bcb12b3493eecdd67e6c94bcdd116 /utils/TableGen/SetTheory.h
parentaacb68806f4cb05b0b8102a188726e5b13f2a759 (diff)
downloadexternal_llvm-2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7.zip
external_llvm-2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7.tar.gz
external_llvm-2c6d71388fb1b68ce6fdbb88642a95a24b27b2a7.tar.bz2
Don't use stack unwinding to provide the location information for
SetTheory, but pass down the location explicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166629 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/SetTheory.h')
-rw-r--r--utils/TableGen/SetTheory.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/utils/TableGen/SetTheory.h b/utils/TableGen/SetTheory.h
index b394058..122372a 100644
--- a/utils/TableGen/SetTheory.h
+++ b/utils/TableGen/SetTheory.h
@@ -49,6 +49,7 @@
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/SetVector.h"
+#include "llvm/Support/SourceMgr.h"
#include <map>
#include <vector>
@@ -72,7 +73,8 @@ public:
/// apply - Apply this operator to Expr's arguments and insert the result
/// in Elts.
- virtual void apply(SetTheory&, DagInit *Expr, RecSet &Elts) =0;
+ virtual void apply(SetTheory&, DagInit *Expr, RecSet &Elts,
+ ArrayRef<SMLoc> Loc) =0;
};
/// Expander - A callback function that can transform a Record representing a
@@ -119,13 +121,13 @@ public:
void addOperator(StringRef Name, Operator*);
/// evaluate - Evaluate Expr and append the resulting set to Elts.
- void evaluate(Init *Expr, RecSet &Elts);
+ void evaluate(Init *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc);
/// evaluate - Evaluate a sequence of Inits and append to Elts.
template<typename Iter>
- void evaluate(Iter begin, Iter end, RecSet &Elts) {
+ void evaluate(Iter begin, Iter end, RecSet &Elts, ArrayRef<SMLoc> Loc) {
while (begin != end)
- evaluate(*begin++, Elts);
+ evaluate(*begin++, Elts, Loc);
}
/// expand - Expand a record into a set of elements if possible. Return a