diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2009-08-10 03:32:40 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2009-08-10 03:32:40 +0000 |
commit | 64a6b3941759587d5d1800580e959a2d40e7f17c (patch) | |
tree | eb6dd4b2f77a64849456ef0ac90fbf96ea740f8b /lib/CodeGen/ELFWriter.h | |
parent | e8af1f9afe5e70e1d4ec4d00a6870428dba88692 (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.h | 4 |
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); }; } |