summaryrefslogtreecommitdiff
path: root/include/llvm/MC/MCObjectFileInfo.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-07-20 19:50:42 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-07-20 19:50:42 +0000
commit203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae (patch)
treea16f407717874ac406be0e520508b944a77a22b0 /include/llvm/MC/MCObjectFileInfo.h
parent8eda1310dbbbb747c0e8646dbdfc7a2c33f7a6b6 (diff)
downloadllvm-203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae.tar.gz
llvm-203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae.tar.bz2
llvm-203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae.tar.xz
Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.
There is still a bit more refactoring left to do in Targets. But we are now very close to fixing all the layering issues in MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135611 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC/MCObjectFileInfo.h')
-rw-r--r--include/llvm/MC/MCObjectFileInfo.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/llvm/MC/MCObjectFileInfo.h b/include/llvm/MC/MCObjectFileInfo.h
index b507c0c0a9..060d5085d0 100644
--- a/include/llvm/MC/MCObjectFileInfo.h
+++ b/include/llvm/MC/MCObjectFileInfo.h
@@ -40,6 +40,13 @@ protected:
/// non-.globl label. This defaults to true.
bool IsFunctionEHFrameSymbolPrivate;
+ /// PersonalityEncoding, LSDAEncoding, FDEEncoding, TTypeEncoding - Some
+ /// encoding values for EH.
+ unsigned PersonalityEncoding;
+ unsigned LSDAEncoding;
+ unsigned FDEEncoding;
+ unsigned FDECFIEncoding;
+ unsigned TTypeEncoding;
/// TextSection - Section directive for standard text.
///
@@ -151,7 +158,8 @@ protected:
const MCSection *XDataSection;
public:
- void InitMCObjectFileInfo(StringRef TT, Reloc::Model RM, MCContext &ctx);
+ void InitMCObjectFileInfo(StringRef TT, Reloc::Model RM, CodeModel::Model CM,
+ MCContext &ctx);
bool isFunctionEHFrameSymbolPrivate() const {
return IsFunctionEHFrameSymbolPrivate;
@@ -163,6 +171,13 @@ public:
return CommDirectiveSupportsAlignment;
}
+ unsigned getPersonalityEncoding() const { return PersonalityEncoding; }
+ unsigned getLSDAEncoding() const { return LSDAEncoding; }
+ unsigned getFDEEncoding(bool CFI) const {
+ return CFI ? FDECFIEncoding : FDEEncoding;
+ }
+ unsigned getTTypeEncoding() const { return TTypeEncoding; }
+
const MCSection *getTextSection() const { return TextSection; }
const MCSection *getDataSection() const { return DataSection; }
const MCSection *getBSSSection() const { return BSSSection; }
@@ -262,6 +277,7 @@ private:
enum Environment { IsMachO, IsELF, IsCOFF };
Environment Env;
Reloc::Model RelocM;
+ CodeModel::Model CMModel;
MCContext *Ctx;
void InitMachOMCObjectFileInfo(Triple T);