aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/ELFWriter.h
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2009-08-10 03:32:40 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2009-08-10 03:32:40 +0000
commit64a6b3941759587d5d1800580e959a2d40e7f17c (patch)
treeeb6dd4b2f77a64849456ef0ac90fbf96ea740f8b /lib/CodeGen/ELFWriter.h
parente8af1f9afe5e70e1d4ec4d00a6870428dba88692 (diff)
Move ConstantExpr handling to ResolveConstantExpr method and also
add support for PtrToInt, Add, Mul. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78552 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/ELFWriter.h')
-rw-r--r--lib/CodeGen/ELFWriter.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/ELFWriter.h b/lib/CodeGen/ELFWriter.h
index 362c278472..ae14313db6 100644
--- a/lib/CodeGen/ELFWriter.h
+++ b/lib/CodeGen/ELFWriter.h
@@ -43,6 +43,7 @@ namespace llvm {
typedef std::vector<ELFSection*>::iterator ELFSectionIter;
typedef SetVector<const GlobalValue*>::const_iterator PendingGblsIter;
typedef SetVector<const char *>::const_iterator PendingExtsIter;
+ typedef std::pair<const Constant *, int64_t> CstExprResTy;
/// ELFWriter - This class implements the common target-independent code for
/// writing ELF files. Targets should derive a class from this to
@@ -251,7 +252,7 @@ namespace llvm {
ELFSection &GblS);
void EmitGlobalConstantLargeInt(const ConstantInt *CI, ELFSection &S);
void EmitGlobalDataRelocation(const GlobalValue *GV, unsigned Size,
- ELFSection &GblS, uint64_t Offset = 0);
+ ELFSection &GblS, int64_t Offset = 0);
bool EmitSpecialLLVMGlobal(const GlobalVariable *GV);
void EmitXXStructorList(Constant *List, ELFSection &Xtor);
void EmitRelocations();
@@ -265,6 +266,7 @@ namespace llvm {
void RelocateField(BinaryObject &BO, uint32_t Offset, int64_t Value,
unsigned Size);
unsigned SortSymbols();
+ CstExprResTy ResolveConstantExpr(const Constant *CV);
};
}