summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/AsmPrinter.h
diff options
context:
space:
mode:
authorJames Molloy <james.molloy@arm.com>2012-01-26 09:25:43 +0000
committerJames Molloy <james.molloy@arm.com>2012-01-26 09:25:43 +0000
commit34982576a43887e7f062ed0a3571af2cbab003f3 (patch)
tree672c8ca4d13c41c1f797d7278c1ea3db30fc5cc5 /include/llvm/CodeGen/AsmPrinter.h
parent668f7ac9e4642e1b4af4f5b047d569c68bc2c55f (diff)
downloadllvm-34982576a43887e7f062ed0a3571af2cbab003f3.tar.gz
llvm-34982576a43887e7f062ed0a3571af2cbab003f3.tar.bz2
llvm-34982576a43887e7f062ed0a3571af2cbab003f3.tar.xz
Add support for the R_ARM_TARGET1 relocation, which should be given to relocations applied to all C++ constructors and destructors.
This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149057 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/AsmPrinter.h')
-rw-r--r--include/llvm/CodeGen/AsmPrinter.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h
index 285c7690ce..303c6c21f4 100644
--- a/include/llvm/CodeGen/AsmPrinter.h
+++ b/include/llvm/CodeGen/AsmPrinter.h
@@ -268,6 +268,12 @@ namespace llvm {
virtual void EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV);
+ /// EmitXXStructor - Targets can override this to change how global constants
+ /// that are part of a C++ static/global constructor list are emitted.
+ virtual void EmitXXStructor(const Constant *CV) {
+ EmitGlobalConstant(CV);
+ }
+
/// isBlockOnlyReachableByFallthough - Return true if the basic block has
/// exactly one predecessor and the control transfer mechanism between
/// the predecessor and this block is a fall-through.