#include "TableGenBackends.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/TableGen/Error.h"
#include "llvm/TableGen/Record.h"
#include "llvm/TableGen/TableGenBackend.h"
usingnamespacellvm;
namespace {
enum class BuiltinType { … };
class PrototypeParser { … };
class HeaderNameParser { … };
void PrintAttributes(const Record *Builtin, BuiltinType BT,
llvm::raw_ostream &OS) { … }
void EmitBuiltinDef(llvm::raw_ostream &OS, StringRef Substitution,
const Record *Builtin, Twine Spelling, BuiltinType BT) { … }
struct TemplateInsts { … };
TemplateInsts getTemplateInsts(const Record *R) { … }
void EmitBuiltin(llvm::raw_ostream &OS, const Record *Builtin) { … }
}
void clang::EmitClangBuiltins(llvm::RecordKeeper &Records,
llvm::raw_ostream &OS) { … }