14552c9a3b34ad9b2085635266348d0d9b95514a6Akira Hatanaka//===-- llvm/Target/MipsTargetObjectFile.h - Mips Object Info ---*- C++ -*-===// 2b71b909bc76f48377fc96547d53a088346852600Chris Lattner// 3b71b909bc76f48377fc96547d53a088346852600Chris Lattner// The LLVM Compiler Infrastructure 4b71b909bc76f48377fc96547d53a088346852600Chris Lattner// 5b71b909bc76f48377fc96547d53a088346852600Chris Lattner// This file is distributed under the University of Illinois Open Source 6b71b909bc76f48377fc96547d53a088346852600Chris Lattner// License. See LICENSE.TXT for details. 7b71b909bc76f48377fc96547d53a088346852600Chris Lattner// 84552c9a3b34ad9b2085635266348d0d9b95514a6Akira Hatanaka//===----------------------------------------------------------------------===// 9b71b909bc76f48377fc96547d53a088346852600Chris Lattner 10b71b909bc76f48377fc96547d53a088346852600Chris Lattner#ifndef LLVM_TARGET_MIPS_TARGETOBJECTFILE_H 11b71b909bc76f48377fc96547d53a088346852600Chris Lattner#define LLVM_TARGET_MIPS_TARGETOBJECTFILE_H 12b71b909bc76f48377fc96547d53a088346852600Chris Lattner 13362dd0bef5437f85586c046bc53287b6fbe9c099Anton Korobeynikov#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" 14b71b909bc76f48377fc96547d53a088346852600Chris Lattner 15b71b909bc76f48377fc96547d53a088346852600Chris Lattnernamespace llvm { 16b71b909bc76f48377fc96547d53a088346852600Chris Lattner 17b71b909bc76f48377fc96547d53a088346852600Chris Lattner class MipsTargetObjectFile : public TargetLoweringObjectFileELF { 18b71b909bc76f48377fc96547d53a088346852600Chris Lattner const MCSection *SmallDataSection; 19b71b909bc76f48377fc96547d53a088346852600Chris Lattner const MCSection *SmallBSSSection; 20b71b909bc76f48377fc96547d53a088346852600Chris Lattner public: 2181092dc20abe5253a5b4d48a75997baa84dde196Bruno Cardoso Lopes 2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines void Initialize(MCContext &Ctx, const TargetMachine &TM) override; 23b71b909bc76f48377fc96547d53a088346852600Chris Lattner 2481092dc20abe5253a5b4d48a75997baa84dde196Bruno Cardoso Lopes 25b71b909bc76f48377fc96547d53a088346852600Chris Lattner /// IsGlobalInSmallSection - Return true if this global address should be 26b71b909bc76f48377fc96547d53a088346852600Chris Lattner /// placed into small data/bss section. 27b71b909bc76f48377fc96547d53a088346852600Chris Lattner bool IsGlobalInSmallSection(const GlobalValue *GV, 284552c9a3b34ad9b2085635266348d0d9b95514a6Akira Hatanaka const TargetMachine &TM, SectionKind Kind)const; 29b71b909bc76f48377fc96547d53a088346852600Chris Lattner bool IsGlobalInSmallSection(const GlobalValue *GV, 3081092dc20abe5253a5b4d48a75997baa84dde196Bruno Cardoso Lopes const TargetMachine &TM) const; 3181092dc20abe5253a5b4d48a75997baa84dde196Bruno Cardoso Lopes 32b71b909bc76f48377fc96547d53a088346852600Chris Lattner const MCSection *SelectSectionForGlobal(const GlobalValue *GV, 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines SectionKind Kind, Mangler &Mang, 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines const TargetMachine &TM) const override; 35b71b909bc76f48377fc96547d53a088346852600Chris Lattner }; 36b71b909bc76f48377fc96547d53a088346852600Chris Lattner} // end namespace llvm 37b71b909bc76f48377fc96547d53a088346852600Chris Lattner 38b71b909bc76f48377fc96547d53a088346852600Chris Lattner#endif 39