diff options
author | Lauro Ramos Venancio <lauro.venancio@gmail.com> | 2007-04-27 13:54:47 +0000 |
---|---|---|
committer | Lauro Ramos Venancio <lauro.venancio@gmail.com> | 2007-04-27 13:54:47 +0000 |
commit | c39c12a3fae1cf979ce7b39d83d394f73506dcaa (patch) | |
tree | 098c7d07bf16b9325ae9cbf74e67aaf80acf5337 /llvm/lib/Target/ARM/ARMConstantPoolValue.h | |
parent | c9f22fd1a4341822c3a6d934ab7139ce2c427ec3 (diff) | |
download | bcm5719-llvm-c39c12a3fae1cf979ce7b39d83d394f73506dcaa.tar.gz bcm5719-llvm-c39c12a3fae1cf979ce7b39d83d394f73506dcaa.zip |
ARM TLS: implement "general dynamic", "initial exec" and "local exec" models.
llvm-svn: 36506
Diffstat (limited to 'llvm/lib/Target/ARM/ARMConstantPoolValue.h')
-rw-r--r-- | llvm/lib/Target/ARM/ARMConstantPoolValue.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMConstantPoolValue.h b/llvm/lib/Target/ARM/ARMConstantPoolValue.h index b7511aa8dd6..d71bcf0ff4f 100644 --- a/llvm/lib/Target/ARM/ARMConstantPoolValue.h +++ b/llvm/lib/Target/ARM/ARMConstantPoolValue.h @@ -37,14 +37,17 @@ class ARMConstantPoolValue : public MachineConstantPoolValue { unsigned char PCAdjust; // Extra adjustment if constantpool is pc relative. // 8 for ARM, 4 for Thumb. const char *Modifier; // GV modifier i.e. (&GV(modifier)-(LPIC+8)) + bool AddCurrentAddress; public: ARMConstantPoolValue(GlobalValue *gv, unsigned id, ARMCP::ARMCPKind Kind = ARMCP::CPValue, - unsigned char PCAdj = 0, const char *Modifier = NULL); + unsigned char PCAdj = 0, const char *Modifier = NULL, + bool AddCurrentAddress = false); ARMConstantPoolValue(const char *s, unsigned id, ARMCP::ARMCPKind Kind = ARMCP::CPValue, - unsigned char PCAdj = 0, const char *Modifier = NULL); + unsigned char PCAdj = 0, const char *Modifier = NULL, + bool AddCurrentAddress = false); ARMConstantPoolValue(GlobalValue *GV, ARMCP::ARMCPKind Kind, const char *Modifier); @@ -53,6 +56,7 @@ public: const char *getSymbol() const { return S; } const char *getModifier() const { return Modifier; } bool hasModifier() const { return Modifier != NULL; } + bool mustAddCurrentAddress() const { return AddCurrentAddress; } unsigned getLabelId() const { return LabelId; } bool isNonLazyPointer() const { return Kind == ARMCP::CPNonLazyPtr; } bool isStub() const { return Kind == ARMCP::CPStub; } |