Skip to content

Commit fe1f344

Browse files
committed
[clang-repl] JITTargetAddress --> ExecutorAddr, NFC
Most of Orc and JITLink are movinng away from JITTargetAddress and use ExecutorAddr instead. Signed-off-by: Jun Zhang <[email protected]> Differential Revision: https://reviews.llvm.org/D148434
1 parent 7c06f63 commit fe1f344

File tree

6 files changed

+19
-16
lines changed

6 files changed

+19
-16
lines changed

clang/include/clang/Interpreter/Interpreter.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "clang/AST/GlobalDecl.h"
2020

2121
#include "llvm/ExecutionEngine/JITSymbol.h"
22+
#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
2223
#include "llvm/Support/Error.h"
2324

2425
#include <memory>
@@ -78,18 +79,18 @@ class Interpreter {
7879
/// Link a dynamic library
7980
llvm::Error LoadDynamicLibrary(const char *name);
8081

81-
/// \returns the \c JITTargetAddress of a \c GlobalDecl. This interface uses
82+
/// \returns the \c ExecutorAddr of a \c GlobalDecl. This interface uses
8283
/// the CodeGenModule's internal mangling cache to avoid recomputing the
8384
/// mangled name.
84-
llvm::Expected<llvm::JITTargetAddress> getSymbolAddress(GlobalDecl GD) const;
85+
llvm::Expected<llvm::orc::ExecutorAddr> getSymbolAddress(GlobalDecl GD) const;
8586

86-
/// \returns the \c JITTargetAddress of a given name as written in the IR.
87-
llvm::Expected<llvm::JITTargetAddress>
87+
/// \returns the \c ExecutorAddr of a given name as written in the IR.
88+
llvm::Expected<llvm::orc::ExecutorAddr>
8889
getSymbolAddress(llvm::StringRef IRName) const;
8990

90-
/// \returns the \c JITTargetAddress of a given name as written in the object
91+
/// \returns the \c ExecutorAddr of a given name as written in the object
9192
/// file.
92-
llvm::Expected<llvm::JITTargetAddress>
93+
llvm::Expected<llvm::orc::ExecutorAddr>
9394
getSymbolAddressFromLinkerName(llvm::StringRef LinkerName) const;
9495
};
9596
} // namespace clang

clang/lib/Interpreter/IncrementalExecutor.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,15 @@ llvm::Error IncrementalExecutor::runCtors() const {
7777
return Jit->initialize(Jit->getMainJITDylib());
7878
}
7979

80-
llvm::Expected<llvm::JITTargetAddress>
80+
llvm::Expected<llvm::orc::ExecutorAddr>
8181
IncrementalExecutor::getSymbolAddress(llvm::StringRef Name,
8282
SymbolNameKind NameKind) const {
8383
auto Sym = (NameKind == LinkerName) ? Jit->lookupLinkerMangled(Name)
8484
: Jit->lookup(Name);
8585

8686
if (!Sym)
8787
return Sym.takeError();
88-
return Sym->getValue();
88+
return Sym;
8989
}
9090

9191
} // end namespace clang

clang/lib/Interpreter/IncrementalExecutor.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "llvm/ADT/DenseMap.h"
1717
#include "llvm/ADT/StringRef.h"
1818
#include "llvm/ExecutionEngine/Orc/ExecutionUtils.h"
19+
#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
1920

2021
#include <memory>
2122

@@ -51,7 +52,7 @@ class IncrementalExecutor {
5152
llvm::Error removeModule(PartialTranslationUnit &PTU);
5253
llvm::Error runCtors() const;
5354
llvm::Error cleanUp();
54-
llvm::Expected<llvm::JITTargetAddress>
55+
llvm::Expected<llvm::orc::ExecutorAddr>
5556
getSymbolAddress(llvm::StringRef Name, SymbolNameKind NameKind) const;
5657

5758
llvm::orc::LLJIT &GetExecutionEngine() { return *Jit; }

clang/lib/Interpreter/Interpreter.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ llvm::Error Interpreter::Execute(PartialTranslationUnit &T) {
246246
return llvm::Error::success();
247247
}
248248

249-
llvm::Expected<llvm::JITTargetAddress>
249+
llvm::Expected<llvm::orc::ExecutorAddr>
250250
Interpreter::getSymbolAddress(GlobalDecl GD) const {
251251
if (!IncrExecutor)
252252
return llvm::make_error<llvm::StringError>("Operation failed. "
@@ -256,7 +256,7 @@ Interpreter::getSymbolAddress(GlobalDecl GD) const {
256256
return getSymbolAddress(MangledName);
257257
}
258258

259-
llvm::Expected<llvm::JITTargetAddress>
259+
llvm::Expected<llvm::orc::ExecutorAddr>
260260
Interpreter::getSymbolAddress(llvm::StringRef IRName) const {
261261
if (!IncrExecutor)
262262
return llvm::make_error<llvm::StringError>("Operation failed. "
@@ -266,7 +266,7 @@ Interpreter::getSymbolAddress(llvm::StringRef IRName) const {
266266
return IncrExecutor->getSymbolAddress(IRName, IncrementalExecutor::IRName);
267267
}
268268

269-
llvm::Expected<llvm::JITTargetAddress>
269+
llvm::Expected<llvm::orc::ExecutorAddr>
270270
Interpreter::getSymbolAddressFromLinkerName(llvm::StringRef Name) const {
271271
if (!IncrExecutor)
272272
return llvm::make_error<llvm::StringError>("Operation failed. "

clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "llvm/ExecutionEngine/Orc/LLJIT.h"
2626
#include "llvm/Support/ManagedStatic.h"
2727
#include "llvm/Support/TargetSelect.h"
28-
#include "llvm-c/Error.h"
2928

3029
#include "gmock/gmock.h"
3130
#include "gtest/gtest.h"
@@ -116,7 +115,8 @@ extern "C" int throw_exception() {
116115
llvm::cantFail(Interp->ParseAndExecute(ExceptionCode));
117116
testing::internal::CaptureStdout();
118117
auto ThrowException =
119-
(int (*)())llvm::cantFail(Interp->getSymbolAddress("throw_exception"));
118+
llvm::cantFail(Interp->getSymbolAddress("throw_exception"))
119+
.toPtr<int (*)()>();
120120
EXPECT_ANY_THROW(ThrowException());
121121
std::string CapturedStdOut = testing::internal::GetCapturedStdout();
122122
EXPECT_EQ(CapturedStdOut, "Caught: 'To be caught in JIT'\n");

clang/unittests/Interpreter/InterpreterTest.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ TEST(IncrementalProcessing, FindMangledNameSymbol) {
225225

226226
std::string MangledName = MangleName(FD);
227227
auto Addr = cantFail(Interp->getSymbolAddress(MangledName));
228-
EXPECT_NE(0U, Addr);
228+
EXPECT_NE(0U, Addr.getValue());
229229
GlobalDecl GD(FD);
230230
EXPECT_EQ(Addr, cantFail(Interp->getSymbolAddress(GD)));
231231
}
@@ -309,7 +309,8 @@ TEST(IncrementalProcessing, InstantiateTemplate) {
309309

310310
std::string MangledName = MangleName(TmpltSpec);
311311
typedef int (*TemplateSpecFn)(void *);
312-
auto fn = (TemplateSpecFn)cantFail(Interp->getSymbolAddress(MangledName));
312+
auto fn =
313+
cantFail(Interp->getSymbolAddress(MangledName)).toPtr<TemplateSpecFn>();
313314
EXPECT_EQ(42, fn(NewA));
314315
free(NewA);
315316
}

0 commit comments

Comments
 (0)