namespace llvm {
class IntrinsicEmitter : public TableGenBackend {
RecordKeeper &Records;
+ bool TargetOnly;
+ std::string TargetPrefix;
public:
- IntrinsicEmitter(RecordKeeper &R) : Records(R) {}
+ IntrinsicEmitter(RecordKeeper &R, bool T = false)
+ : Records(R), TargetOnly(T) {}
- void run(std::ostream &OS);
+ void run(raw_ostream &OS);
void EmitEnumInfo(const std::vector<CodeGenIntrinsic> &Ints,
- std::ostream &OS);
+ raw_ostream &OS);
void EmitFnNameRecognizer(const std::vector<CodeGenIntrinsic> &Ints,
- std::ostream &OS);
+ raw_ostream &OS);
void EmitIntrinsicToNameTable(const std::vector<CodeGenIntrinsic> &Ints,
- std::ostream &OS);
+ raw_ostream &OS);
+ void EmitIntrinsicToOverloadTable(const std::vector<CodeGenIntrinsic> &Ints,
+ raw_ostream &OS);
void EmitVerifier(const std::vector<CodeGenIntrinsic> &Ints,
- std::ostream &OS);
+ raw_ostream &OS);
void EmitGenerator(const std::vector<CodeGenIntrinsic> &Ints,
- std::ostream &OS);
+ raw_ostream &OS);
void EmitAttributes(const std::vector<CodeGenIntrinsic> &Ints,
- std::ostream &OS);
+ raw_ostream &OS);
+ void EmitModRefBehavior(const std::vector<CodeGenIntrinsic> &Ints,
+ raw_ostream &OS);
void EmitGCCBuiltinList(const std::vector<CodeGenIntrinsic> &Ints,
- std::ostream &OS);
+ raw_ostream &OS);
void EmitIntrinsicToGCCBuiltinMap(const std::vector<CodeGenIntrinsic> &Ints,
- std::ostream &OS);
+ raw_ostream &OS);
};
} // End llvm namespace