blob: e5bb4d91058bb2abd327db6d9bcdaba8be7a1bff [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001//=====-- MipsTargetAsmInfo.h - Mips asm properties -----------*- C++ -*--====//
2//
3// The LLVM Compiler Infrastructure
4//
Chris Lattner081ce942007-12-29 20:36:04 +00005// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
Dan Gohmanf17a25c2007-07-18 16:29:46 +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"
asldedcd842008-07-19 13:16:11 +000018#include "llvm/Target/ELFTargetAsmInfo.h"
Bruno Cardoso Lopes8291a622008-07-22 15:34:27 +000019#include "llvm/DerivedTypes.h"
20#include "llvm/GlobalVariable.h"
21#include "llvm/Target/TargetOptions.h"
Dan Gohmanf17a25c2007-07-18 16:29:46 +000022
23namespace llvm {
24
25 // Forward declaration.
26 class MipsTargetMachine;
27
asldedcd842008-07-19 13:16:11 +000028 struct MipsTargetAsmInfo : public ELFTargetAsmInfo {
Dan Gohmancdd820b2007-09-25 20:27:06 +000029 explicit MipsTargetAsmInfo(const MipsTargetMachine &TM);
Bruno Cardoso Lopes8291a622008-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
Dan Gohmanf17a25c2007-07-18 16:29:46 +000041 };
42
43} // namespace llvm
44
45#endif