blob: e5bb4d91058bb2abd327db6d9bcdaba8be7a1bff [file] [log] [blame]
Bruno Cardoso Lopes972f5892007-06-06 07:42:06 +00001//=====-- MipsTargetAsmInfo.h - Mips asm properties -----------*- C++ -*--====//
2//
3// The LLVM Compiler Infrastructure
4//
Chris Lattner4ee451d2007-12-29 20:36:04 +00005// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
Bruno Cardoso Lopes972f5892007-06-06 07:42:06 +00007//
8//===----------------------------------------------------------------------===//
9//
10// This file contains the declaration of the MipsTargetAsmInfo class.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef MIPSTARGETASMINFO_H
15#define MIPSTARGETASMINFO_H
16
17#include "llvm/Target/TargetAsmInfo.h"
Anton Korobeynikovae408e62008-07-19 13:16:11 +000018#include "llvm/Target/ELFTargetAsmInfo.h"
Bruno Cardoso Lopesfeb95cc2008-07-22 15:34:27 +000019#include "llvm/DerivedTypes.h"
20#include "llvm/GlobalVariable.h"
21#include "llvm/Target/TargetOptions.h"
Bruno Cardoso Lopes972f5892007-06-06 07:42:06 +000022
23namespace llvm {
24
25 // Forward declaration.
26 class MipsTargetMachine;
27
Anton Korobeynikovae408e62008-07-19 13:16:11 +000028 struct MipsTargetAsmInfo : public ELFTargetAsmInfo {
Dan Gohman677ccc62007-09-25 20:27:06 +000029 explicit MipsTargetAsmInfo(const MipsTargetMachine &TM);
Bruno Cardoso Lopesfeb95cc2008-07-22 15:34:27 +000030
31 /// SectionKindForGlobal - This hook allows the target to select proper
32 /// section kind used for global emission.
33 virtual SectionKind::Kind
34 SectionKindForGlobal(const GlobalValue *GV) const;
35
36 virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
37
38 private:
39 const MipsTargetMachine *MipsTM;
40
Bruno Cardoso Lopes972f5892007-06-06 07:42:06 +000041 };
42
43} // namespace llvm
44
45#endif