13#ifndef LLVM_TABLEGEN_CODEGENHELPERS_H
14#define LLVM_TABLEGEN_CODEGENHELPERS_H
30 : Name(Name.str()), OS(OS), LateUndef(LateUndef) {
31 OS <<
"#ifdef " << Name <<
"\n";
33 OS <<
"#undef " << Name <<
"\n";
43 OS <<
"#undef " << Name <<
"\n";
44 OS <<
"#endif // " << Name <<
"\n\n";
57 : Condition(Condition.str()), OS(OS) {
58 OS << If <<
" " << Condition <<
"\n\n";
67 std::string Condition;
102 : Name(Name.str()), OS(OS) {
103 OS <<
"#ifndef " << Name <<
"\n"
104 <<
"#define " << Name <<
"\n\n";
123 : Name(trim(NameUntrimmed.str()).str()), OS(OS) {
125 OS <<
"namespace " << Name <<
" {\n\n";
133 OS <<
"\n} // namespace " << Name <<
"\n";
145 Name.consume_front(
"::");
AnonNamespaceEmitter(const AnonNamespaceEmitter &)=delete
AnonNamespaceEmitter(raw_ostream &OS)
AnonNamespaceEmitter & operator=(const AnonNamespaceEmitter &)=delete
IfDefEmitter & operator=(const IfDefEmitter &)=delete
IfDefEmitter(raw_ostream &OS, StringRef Name, bool LateUndef=false)
IfDefEmitter(const IfDefEmitter &)=delete
IfDefGuardEmitter(raw_ostream &OS, StringRef Condition)
IfGuardEmitterBase & operator=(const IfGuardEmitterBase &)=delete
IfGuardEmitterBase(raw_ostream &OS, StringRef If, StringRef Condition)
IfGuardEmitterBase(const IfGuardEmitterBase &)=delete
IfGuardEmitter(raw_ostream &OS, StringRef Condition)
IfNDefGuardEmitter(raw_ostream &OS, StringRef Condition)
IncludeGuardEmitter & operator=(const IncludeGuardEmitter &)=delete
IncludeGuardEmitter(const IncludeGuardEmitter &)=delete
IncludeGuardEmitter(raw_ostream &OS, StringRef Name)
NamespaceEmitter(raw_ostream &OS, const Twine &NameUntrimmed)
NamespaceEmitter(const NamespaceEmitter &)=delete
NamespaceEmitter & operator=(const NamespaceEmitter &)=delete
StringRef - Represent a constant reference to a string, i.e.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.