18 explicit operator bool()
const {
return data_.has_value(); }
21 std::optional<u64> data_;
26 if (b->isa<
Lit>() || (a->gid() > b->
gid() && !a->isa<
Lit>())) std::swap(a, b);
constexpr u32 gid() const noexcept
Utility class when folding constants in normalizers.
constexpr u64 & operator*() &
constexpr const u64 & operator*() const &
D bitcast(const S &src)
A bitcast from src of type S to D.
void commute(const Def *&a, const Def *&b)
Swap Lit to left - or smaller Def::gid, if no lit present.