aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCObjectFileInfo.h
diff options
context:
space:
mode:
authorLogan Chien <loganchien@google.com>2011-10-20 00:08:13 +0800
committerLogan Chien <loganchien@google.com>2011-10-20 00:09:35 +0800
commit0ebc07a576037e4e36f68bf5cece32740ca120c0 (patch)
treec2e40648043d01498ee25af839a071193561e425 /include/llvm/MC/MCObjectFileInfo.h
parent62383e889e0b06fd12a6b88311717cd33a1925c4 (diff)
parentcdd8e46bec4e975d00a5abea808d8eb4138515c5 (diff)
downloadexternal_llvm-0ebc07a576037e4e36f68bf5cece32740ca120c0.tar.gz
external_llvm-0ebc07a576037e4e36f68bf5cece32740ca120c0.tar.bz2
external_llvm-0ebc07a576037e4e36f68bf5cece32740ca120c0.zip
Merge with LLVM upstream 2011/10/20 (r142530)
Conflicts: lib/Support/Unix/Host.inc Change-Id: Idc00db3b63912dca6348bddd9f8a1af2a8d5d147
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);