17 return 1uLL <<
static_cast<std::size_t
>(S);
21 return static_cast<std::size_t
>(S);
27 return "BufferExtents";
31 return "WallClockTime";
59 std::bitset<
number(BlockVerifier::State::StateMax)> ToStates;
64Error BlockVerifier::transition(State To) {
115 std::make_error_code(std::errc::executable_format_error),
116 "BUG (BlockVerifier): Cannot find transition table entry for %s, "
117 "transitioning to %s.",
125 auto &Mapping = TransitionTable[
number(CurrentRecord)];
126 auto &Destinations = Mapping.ToStates;
127 assert(Mapping.From == CurrentRecord &&
128 "BUG: Wrong index for record mapping.");
129 if ((Destinations & ToSet(
mask(To))) == 0)
131 std::make_error_code(std::errc::executable_format_error),
132 "BlockVerifier: Invalid transition from %s to %s.",
187 switch (CurrentRecord) {
198 std::make_error_code(std::errc::executable_format_error),
199 "BlockVerifier: Invalid terminal condition %s, malformed block.",
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static constexpr unsigned long long mask(BlockVerifier::State S)
static StringRef recordToString(BlockVerifier::State R)
static constexpr std::size_t number(BlockVerifier::State S)
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
StringRef - Represent a constant reference to a string, i.e.
Error visit(BufferExtents &) override
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
Error createStringError(std::error_code EC, char const *Fmt, const Ts &... Vals)
Create formatted StringError object.