summaryrefslogtreecommitdiff
path: root/lld/ELF/Target.h
diff options
context:
space:
mode:
Diffstat (limited to 'lld/ELF/Target.h')
-rw-r--r--lld/ELF/Target.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/lld/ELF/Target.h b/lld/ELF/Target.h
index e0e97301ca98..f7b947ec3aa2 100644
--- a/lld/ELF/Target.h
+++ b/lld/ELF/Target.h
@@ -221,6 +221,16 @@ void addPPC64SaveRestore();
uint64_t getPPC64TocBase();
uint64_t getAArch64Page(uint64_t expr);
+class AArch64Relaxer {
+ bool safeToRelaxAdrpLdr = true;
+
+public:
+ explicit AArch64Relaxer(ArrayRef<Relocation> relocs);
+
+ bool tryRelaxAdrpLdr(const Relocation &adrpRel, const Relocation &ldrRel,
+ uint64_t secAddr, uint8_t *buf) const;
+};
+
extern const TargetInfo *target;
TargetInfo *getTarget();