Be bug compatible with gcc by returning MMX values in RAX.
[oota-llvm.git] / lib / Target / Mips / MipsTargetAsmInfo.h
index e5bb4d91058bb2abd327db6d9bcdaba8be7a1bff..2b5a739e7219ea9c271ed536a75a7b0058bfe577 100644 (file)
 #ifndef MIPSTARGETASMINFO_H
 #define MIPSTARGETASMINFO_H
 
-#include "llvm/Target/TargetAsmInfo.h"
-#include "llvm/Target/ELFTargetAsmInfo.h"
+#include "MipsSubtarget.h"
 #include "llvm/DerivedTypes.h"
-#include "llvm/GlobalVariable.h"
+#include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetOptions.h"
+#include "llvm/Target/ELFTargetAsmInfo.h"
 
 namespace llvm {
 
   // Forward declaration.
+  class GlobalValue;
   class MipsTargetMachine;
 
   struct MipsTargetAsmInfo : public ELFTargetAsmInfo {
@@ -33,11 +34,16 @@ namespace llvm {
     virtual SectionKind::Kind
     SectionKindForGlobal(const GlobalValue *GV) const;
 
+    /// SectionFlagsForGlobal - This hook allows the target to select proper
+    /// section flags either for given global or for section.
+    virtual unsigned
+    SectionFlagsForGlobal(const GlobalValue *GV = NULL,
+                          const char* name = NULL) const;
+
     virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
 
     private:
-      const MipsTargetMachine *MipsTM; 
-
+      const MipsSubtarget *Subtarget;
   };
 
 } // namespace llvm