[ir] Remove the VarData from Value.
This CL removes VarData from Value. This will be implemented in another
way and is not currently used anywhere.
Bug: tint:1718
Change-Id: If5758cf050a080c6f68812219cd8ac968b54a8d6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112042
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/ir/value.cc b/src/tint/ir/value.cc
index bd45a98..e7a69e3 100644
--- a/src/tint/ir/value.cc
+++ b/src/tint/ir/value.cc
@@ -30,8 +30,6 @@
Value::Value(bool b) : kind_(Kind::kBool), data_(b) {}
-Value::Value(Symbol s, Id id) : kind_(Kind::kVar), data_(VarData{s, id}) {}
-
Value::~Value() = default;
Value::Value(const Value& o) = default;
@@ -59,10 +57,6 @@
case Value::Kind::kU32:
out << std::to_string(r.AsU32().value);
break;
- // TODO(dsinclair): Emit the symbol instead of v
- case Value::Kind::kVar:
- out << "%v" << std::to_string(r.AsVarData().id);
- break;
case Value::Kind::kBool:
out << (r.AsBool() ? "true" : "false");
break;
diff --git a/src/tint/ir/value.h b/src/tint/ir/value.h
index 7c9f8b5..2a28ca6 100644
--- a/src/tint/ir/value.h
+++ b/src/tint/ir/value.h
@@ -19,7 +19,6 @@
#include <variant>
#include "src/tint/number.h"
-#include "src/tint/symbol.h"
namespace tint::ir {
@@ -45,24 +44,10 @@
kI32,
/// A u32 value
kU32,
- /// A variable value
- kVar,
/// A boolean value
kBool,
};
- /// Stores data for a given variable. There will be multiple `VarData` entries for a given `id`.
- /// The `id` acts like a generation number (although they aren't sequential, they are
- /// increasing). As the variable is stored too a new value will be created and the the `id`
- /// will be incremented.
- struct VarData {
- /// The symbol for the variable
- Symbol sym;
- /// The id for the variable.
- Id id;
- // TODO(dsinclair): Should var type data be stored here along side the variable info?
- };
-
/// Constructor
/// Creates a uninitialized value
Value();
@@ -72,11 +57,6 @@
explicit Value(Id id);
/// Constructor
- /// @param s the symbol for the value
- /// @param id the id for the value
- Value(Symbol s, Id id);
-
- /// Constructor
/// @param b the `bool` value to store in the value
explicit Value(bool b);
@@ -125,8 +105,6 @@
bool IsI32() const { return kind_ == Kind::kI32; }
/// @returns true if this is a u32 value
bool IsU32() const { return kind_ == Kind::kU32; }
- /// @returns true if this is a var value
- bool IsVar() const { return kind_ == Kind::kVar; }
/// @returns true if this is a bool value
bool IsBool() const { return kind_ == Kind::kBool; }
@@ -148,9 +126,6 @@
/// @returns the value data as an `Id`.
/// @note, must only be called if `IsTemp()` is true
Id AsId() const { return std::get<Id>(data_); }
- /// @returns the value data as a `VarData` structure.
- /// @note, must only be called if `IsVar()` is true
- VarData AsVarData() const { return std::get<VarData>(data_); }
/// @returns the value data as a `bool`.
/// @note, must only be called if `IsBool()` is true
bool AsBool() const { return std::get<bool>(data_); }
@@ -159,7 +134,7 @@
/// The type of data stored in this value
Kind kind_;
/// The data stored in the value
- std::variant<Id, f32, f16, u32, i32, VarData, bool> data_;
+ std::variant<Id, f32, f16, u32, i32, bool> data_;
};
std::ostream& operator<<(std::ostream& out, const Value& r);
diff --git a/src/tint/ir/value_test.cc b/src/tint/ir/value_test.cc
index 77ee3e4..8954560 100644
--- a/src/tint/ir/value_test.cc
+++ b/src/tint/ir/value_test.cc
@@ -38,7 +38,6 @@
EXPECT_FALSE(val.IsI32());
EXPECT_FALSE(val.IsU32());
EXPECT_FALSE(val.IsTemp());
- EXPECT_FALSE(val.IsVar());
EXPECT_FALSE(val.IsBool());
}
@@ -56,7 +55,6 @@
EXPECT_FALSE(val.IsI32());
EXPECT_FALSE(val.IsU32());
EXPECT_FALSE(val.IsTemp());
- EXPECT_FALSE(val.IsVar());
EXPECT_FALSE(val.IsBool());
}
@@ -74,7 +72,6 @@
EXPECT_TRUE(val.IsI32());
EXPECT_FALSE(val.IsU32());
EXPECT_FALSE(val.IsTemp());
- EXPECT_FALSE(val.IsVar());
EXPECT_FALSE(val.IsBool());
}
@@ -92,7 +89,6 @@
EXPECT_FALSE(val.IsI32());
EXPECT_TRUE(val.IsU32());
EXPECT_FALSE(val.IsTemp());
- EXPECT_FALSE(val.IsVar());
EXPECT_FALSE(val.IsBool());
}
@@ -110,7 +106,6 @@
EXPECT_FALSE(val.IsI32());
EXPECT_FALSE(val.IsU32());
EXPECT_TRUE(val.IsTemp());
- EXPECT_FALSE(val.IsVar());
EXPECT_FALSE(val.IsBool());
}
@@ -135,38 +130,9 @@
EXPECT_FALSE(val.IsI32());
EXPECT_FALSE(val.IsU32());
EXPECT_FALSE(val.IsTemp());
- EXPECT_FALSE(val.IsVar());
EXPECT_TRUE(val.IsBool());
}
-TEST_F(IR_ValueTest, var) {
- std::stringstream str;
-
- Symbol s;
- Value val(s, 2);
- EXPECT_EQ(2u, val.AsVarData().id);
- EXPECT_EQ(s, val.AsVarData().sym);
-
- str << val;
- EXPECT_EQ("%v2", str.str());
- str.str("");
-
- val = Value(s, 4);
- EXPECT_EQ(4u, val.AsVarData().id);
- EXPECT_EQ(s, val.AsVarData().sym);
-
- str << val;
- EXPECT_EQ("%v4", str.str());
-
- EXPECT_FALSE(val.IsF32());
- EXPECT_FALSE(val.IsF16());
- EXPECT_FALSE(val.IsI32());
- EXPECT_FALSE(val.IsU32());
- EXPECT_FALSE(val.IsTemp());
- EXPECT_TRUE(val.IsVar());
- EXPECT_FALSE(val.IsBool());
-}
-
TEST_F(IR_ValueTest, uninitialized) {
Value val;
@@ -175,7 +141,6 @@
EXPECT_FALSE(val.IsI32());
EXPECT_FALSE(val.IsU32());
EXPECT_FALSE(val.IsTemp());
- EXPECT_FALSE(val.IsVar());
EXPECT_FALSE(val.IsBool());
}