#define LLVM_ELF_TARGET_ASM_INFO_H
#include "llvm/Target/TargetAsmInfo.h"
-#include "llvm/Target/TargetMachine.h"
namespace llvm {
class GlobalValue;
class GlobalVariable;
+ class Type;
- class ELFTargetAsmInfo: public TargetAsmInfo {
+ struct ELFTargetAsmInfo: public TargetAsmInfo {
explicit ELFTargetAsmInfo(const TargetMachine &TM);
+ SectionKind::Kind SectionKindForGlobal(const GlobalValue *GV) const;
virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
- virtual std::string PrintSectionFlags(unsigned flags) const;
+ virtual std::string printSectionFlags(unsigned flags) const;
const Section* MergeableConstSection(const GlobalVariable *GV) const;
+ inline const Section* MergeableConstSection(const Type *Ty) const;
const Section* MergeableStringSection(const GlobalVariable *GV) const;
- protected:
- const TargetMachine* ETM;
+ virtual const Section*
+ SelectSectionForMachineConst(const Type *Ty) const;
+
+ const Section* DataRelSection;
+ const Section* DataRelLocalSection;
+ const Section* DataRelROSection;
+ const Section* DataRelROLocalSection;
};
}