Silence compiler warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132624 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen 2011-06-04 05:09:36 +00:00
parent 1de99829b6
commit 1023f5a42d
2 changed files with 10 additions and 6 deletions

View File

@ -62,7 +62,7 @@ struct AndOp : public SetTheory::Operator {
// SetIntBinOp - Abstract base class for (Op S, N) operators.
struct SetIntBinOp : public SetTheory::Operator {
virtual void apply(SetTheory &ST, DagInit *Expr,
virtual void apply2(SetTheory &ST, DagInit *Expr,
RecSet &Set, int64_t N,
RecSet &Elts) =0;
@ -74,13 +74,13 @@ struct SetIntBinOp : public SetTheory::Operator {
IntInit *II = dynamic_cast<IntInit*>(Expr->arg_begin()[1]);
if (!II)
throw "Second argument must be an integer: " + Expr->getAsString();
apply(ST, Expr, Set, II->getValue(), Elts);
apply2(ST, Expr, Set, II->getValue(), Elts);
}
};
// (shl S, N) Shift left, remove the first N elements.
struct ShlOp : public SetIntBinOp {
void apply(SetTheory &ST, DagInit *Expr,
void apply2(SetTheory &ST, DagInit *Expr,
RecSet &Set, int64_t N,
RecSet &Elts) {
if (N < 0)
@ -92,7 +92,7 @@ struct ShlOp : public SetIntBinOp {
// (trunc S, N) Truncate after the first N elements.
struct TruncOp : public SetIntBinOp {
void apply(SetTheory &ST, DagInit *Expr,
void apply2(SetTheory &ST, DagInit *Expr,
RecSet &Set, int64_t N,
RecSet &Elts) {
if (N < 0)
@ -109,7 +109,7 @@ struct RotOp : public SetIntBinOp {
RotOp(bool Rev) : Reverse(Rev) {}
void apply(SetTheory &ST, DagInit *Expr,
void apply2(SetTheory &ST, DagInit *Expr,
RecSet &Set, int64_t N,
RecSet &Elts) {
if (Reverse)
@ -128,7 +128,7 @@ struct RotOp : public SetIntBinOp {
// (decimate S, N) Pick every N'th element of S.
struct DecimateOp : public SetIntBinOp {
void apply(SetTheory &ST, DagInit *Expr,
void apply2(SetTheory &ST, DagInit *Expr,
RecSet &Set, int64_t N,
RecSet &Elts) {
if (N <= 0)

View File

@ -66,6 +66,8 @@ public:
/// Operator - A callback representing a DAG operator.
struct Operator {
virtual ~Operator() {}
/// apply - Apply this operator to Expr's arguments and insert the result
/// in Elts.
virtual void apply(SetTheory&, DagInit *Expr, RecSet &Elts) =0;
@ -75,6 +77,8 @@ public:
/// set into a fully expanded list of elements. Expanders provide a way for
/// users to define named sets that can be used in DAG expressions.
struct Expander {
virtual ~Expander() {}
virtual void expand(SetTheory&, Record*, RecSet &Elts) =0;
};