X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FIntrinsicEmitter.h;h=c3c92bcc569415ea7bfd9a5a6b22c28ac6d259c2;hb=871384fcdaafde9341923b280aa277c9f4d4a7a3;hp=f09f6f633b43a8f6792f8d321e8c785d9cda2319;hpb=f97a00e681c7a526d49759d0d1b9d327cbf6c04a;p=oota-llvm.git diff --git a/utils/TableGen/IntrinsicEmitter.h b/utils/TableGen/IntrinsicEmitter.h index f09f6f633b4..c3c92bcc569 100644 --- a/utils/TableGen/IntrinsicEmitter.h +++ b/utils/TableGen/IntrinsicEmitter.h @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Chris Lattner and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // @@ -20,19 +20,36 @@ 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 &Ints, - std::ostream &OS); + raw_ostream &OS); void EmitFnNameRecognizer(const std::vector &Ints, - std::ostream &OS); + raw_ostream &OS); + void EmitIntrinsicToNameTable(const std::vector &Ints, + raw_ostream &OS); + void EmitIntrinsicToOverloadTable(const std::vector &Ints, + raw_ostream &OS); void EmitVerifier(const std::vector &Ints, - std::ostream &OS); + raw_ostream &OS); + void EmitGenerator(const std::vector &Ints, + raw_ostream &OS); + void EmitAttributes(const std::vector &Ints, + raw_ostream &OS); + void EmitModRefBehavior(const std::vector &Ints, + raw_ostream &OS); + void EmitGCCBuiltinList(const std::vector &Ints, + raw_ostream &OS); + void EmitIntrinsicToGCCBuiltinMap(const std::vector &Ints, + raw_ostream &OS); }; } // End llvm namespace