26 std::optional<RemarkLocation> RL,
StringRef FunctionName,
29 io.mapRequired(
"Name", RemarkName);
30 io.mapOptional(
"DebugLoc", RL);
31 io.mapRequired(
"Function", FunctionName);
32 io.mapOptional(
"Hotness", Hotness);
33 io.mapOptional(
"Args", Args);
41 assert(io.outputting() &&
"input not yet implemented");
49 else if (io.mapTag(
"!AnalysisFPCommute",
52 else if (io.mapTag(
"!AnalysisAliasing",
67 assert(io.outputting() &&
"input not yet implemented");
73 io.mapRequired(
"File", File);
75 io.mapRequired(
"Line", Line);
76 io.mapRequired(
"Column", Col);
79 static const bool flow =
true;
91 return ScalarTraits<StringRef>::output(S.
Value, Ctx,
OS);
95 return ScalarTraits<StringRef>::input(Scalar, Ctx, S.
Value);
105template <
typename T>
struct SequenceTraits<
ArrayRef<
T>> {
108 assert(io.outputting() &&
"input not yet implemented");
110 return const_cast<T &
>(
seq[index]);
117 assert(io.outputting() &&
"input not yet implemented");
121 io.mapRequired(
A.Key.data(), S);
123 io.mapRequired(
A.Key.data(),
A.Val);
125 io.mapOptional(
"DebugLoc",
A.Loc);
137 YAMLOutput(
OS, reinterpret_cast<
void *>(this)) {
138 StrTab = std::move(StrTabIn);
149 raw_ostream &
OS, std::optional<StringRef> ExternalFilename) {
150 return std::make_unique<YAMLMetaSerializer>(
OS, ExternalFilename);
171 assert(!FilenameBuf.
empty() &&
"The filename can't be empty.");
185 std::array<char, 8> StrTabSizeBuf;
188 OS.
write(StrTabSizeBuf.data(), StrTabSizeBuf.size());
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static const char PassName[]
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
This class represents an incoming formal argument to a Function.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
pointer data()
Return a pointer to the vector's buffer, even if empty().
StringRef - Represent a constant reference to a string, i.e.
size_t count(char C) const
Return the number of occurrences of C in the string.
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
raw_ostream & write(unsigned char C)
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
void write64le(void *P, uint64_t V)
LLVM_ABI void make_absolute(const Twine ¤t_directory, SmallVectorImpl< char > &path)
Make path an absolute path.
This is an optimization pass for GlobalISel generic memory operations.
auto seq(T Begin, T End)
Iterate over an integral type from Begin up to - but not including - End.
Implement std::hash so that hash_code can be used in STL containers.
static void output(const StringBlockVal &S, void *Ctx, raw_ostream &OS)
static StringRef input(StringRef Scalar, void *Ctx, StringBlockVal &S)
static void mapping(IO &io, Argument &A)
static Argument & element(IO &io, ArrayRef< T > &seq, size_t index)
static size_t size(IO &io, ArrayRef< T > &seq)
Helper struct for multiline string block literals.
StringBlockVal(StringRef R)