X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FIntrinsicEmitter.h;h=b1efecb92eea386614a26fe998ebf7d10a7f01e1;hb=9977e521a634b85764562efd910a221f15ea3109;hp=7ab1ddfec73bf1c2eb46e81eb53d0a316bb26333;hpb=3f8b8913bc9cb232871445eefa8654caf7f9986f;p=oota-llvm.git diff --git a/utils/TableGen/IntrinsicEmitter.h b/utils/TableGen/IntrinsicEmitter.h index 7ab1ddfec73..b1efecb92ee 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,27 +20,39 @@ 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 EmitPrefix(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); - void EmitModRefInfo(const std::vector &Ints, - std::ostream &OS); - void EmitSideEffectInfo(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, - std::ostream &OS); + raw_ostream &OS); void EmitIntrinsicToGCCBuiltinMap(const std::vector &Ints, - std::ostream &OS); + raw_ostream &OS); + void EmitSuffix(raw_ostream &OS); }; } // End llvm namespace