diff options
Diffstat (limited to 'lld/ELF/Target.h')
-rw-r--r-- | lld/ELF/Target.h | 10 |
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(); |