Lines Matching refs:TruncationKind
18 static Truncation None() { return Truncation(TruncationKind::kNone); }
19 static Truncation Bool() { return Truncation(TruncationKind::kBool); }
20 static Truncation Word32() { return Truncation(TruncationKind::kWord32); }
21 static Truncation Word64() { return Truncation(TruncationKind::kWord64); }
22 static Truncation Float32() { return Truncation(TruncationKind::kFloat32); }
23 static Truncation Float64() { return Truncation(TruncationKind::kFloat64); }
24 static Truncation Any() { return Truncation(TruncationKind::kAny); }
32 return LessGeneral(kind_, TruncationKind::kWord32);
35 return LessGeneral(kind_, TruncationKind::kWord32) ||
36 LessGeneral(kind_, TruncationKind::kBool);
39 return LessGeneral(kind_, TruncationKind::kFloat64) ||
40 LessGeneral(kind_, TruncationKind::kWord64);
54 enum class TruncationKind : uint8_t {
64 explicit Truncation(TruncationKind kind) : kind_(kind) {}
65 TruncationKind kind() const { return kind_; }
67 TruncationKind kind_;
69 static TruncationKind Generalize(TruncationKind rep1, TruncationKind rep2);
70 static bool LessGeneral(TruncationKind rep1, TruncationKind rep2);