[llvm] [JITlink][AArch32] Add some misssing function declarations (PR #71621)

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 7 18:05:12 PST 2023


https://github.com/tstellar created https://github.com/llvm/llvm-project/pull/71621

None

>From 3435c6f28c7746dbb6e21210e57d2165c5bbbe3d Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Wed, 8 Nov 2023 01:17:43 +0000
Subject: [PATCH] [JITlink][AArch32] Add some misssing function declarations

---
 .../llvm/ExecutionEngine/JITLink/ELF_aarch32.h      |  3 +++
 llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h | 13 +++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch32.h b/llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch32.h
index 25d1c3aac2c26e3..335a14d2013f6cf 100644
--- a/llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch32.h
+++ b/llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch32.h
@@ -32,6 +32,9 @@ createLinkGraphFromELFObject_aarch32(MemoryBufferRef ObjectBuffer);
 void link_ELF_aarch32(std::unique_ptr<LinkGraph> G,
                       std::unique_ptr<JITLinkContext> Ctx);
 
+Expected<uint32_t> getELFRelocationType(Edge::Kind Kind);
+Expected<aarch32::EdgeKind_aarch32> getJITLinkEdgeKind(uint32_t ELFType);
+
 } // end namespace jitlink
 } // end namespace llvm
 
diff --git a/llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h b/llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
index 3f36b53d6684a79..b218c5a5703acc6 100644
--- a/llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
+++ b/llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
@@ -335,6 +335,19 @@ class StubsManager : public TableManager<StubsManager<Flavor>> {
 template <>
 Symbol &StubsManager<Thumbv7>::createEntry(LinkGraph &G, Symbol &Target);
 
+HalfWords encodeRegMovtT1MovwT3(int64_t Value);
+int64_t decodeRegMovtT1MovwT3(unsigned int, unsigned int);
+uint16_t decodeImmMovtT1MovwT3(uint32_t Hi, uint32_t Lo);
+int64_t decodeImmBT4BlT1BlxT2_J1J2(uint32_t Hi, uint32_t Lo);
+HalfWords encodeImmMovtT1MovwT3(uint16_t Value);
+HalfWords encodeImmBT4BlT1BlxT2_J1J2(int64_t Value);
+int64_t decodeRegMovtA1MovwA2(uint64_t Value);
+uint16_t decodeImmMovtA1MovwA2(uint64_t Value);
+uint32_t encodeImmMovtA1MovwA2(uint16_t Value);
+uint32_t encodeRegMovtA1MovwA2(int64_t Value);
+int64_t decodeImmBA1BlA1BlxA2(int64_t Value);
+uint32_t encodeImmBA1BlA1BlxA2(int64_t Value);
+
 } // namespace aarch32
 } // namespace jitlink
 } // namespace llvm



More information about the llvm-commits mailing list