Don't keep the log files around. Just pipe to a log file instead.
[oota-llvm.git] / utils / TableGen / IntrinsicEmitter.h
index fa483ce67455f88230517d595a70154edbf7b567..b1efecb92eea386614a26fe998ebf7d10a7f01e1 100644 (file)
@@ -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.
 //
 //===----------------------------------------------------------------------===//
 //
 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<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);
-    void EmitModRefInfo(const std::vector<CodeGenIntrinsic> &Ints, 
-                        std::ostream &OS);
-    void EmitNoMemoryInfo(const std::vector<CodeGenIntrinsic> &Ints, 
-                          std::ostream &OS);
-    void EmitSideEffectInfo(const std::vector<CodeGenIntrinsic> &Ints, 
-                            std::ostream &OS);
+                       raw_ostream &OS);
+    void EmitAttributes(const std::vector<CodeGenIntrinsic> &Ints,
+                        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);
+    void EmitSuffix(raw_ostream &OS);
   };
 
 } // End llvm namespace