summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Core.cpp2
-rw-r--r--llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp42
2 files changed, 1 insertions, 43 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp
index 7272cd6014d..38f2213a85f 100644
--- a/llvm/lib/ExecutionEngine/Orc/Core.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp
@@ -462,7 +462,7 @@ void ReExportsMaterializationUnit::materialize(
// FIXME: We're creating a SymbolFlagsMap and a std::map of
// std::sets just to add one dependency here. This needs a
// re-think.
- Resolved.insert(KV.second.Aliasee);
+ Resolved.insert(KV.first);
}
QueryInfo->R.resolve(ResolutionMap);
diff --git a/llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp b/llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
index 60354cca6f3..68911d75877 100644
--- a/llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
+++ b/llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
@@ -300,48 +300,6 @@ TEST_F(CoreAPIsStandardTest, TestChainedAliases) {
<< "\"Baz\"'s address should match \"Foo\"'s";
}
-TEST_F(CoreAPIsStandardTest, TestBasicReExports) {
- // Test that the basic use case of re-exporting a single symbol from another
- // VSO works.
- cantFail(V.define(absoluteSymbols({{Foo, FooSym}})));
-
- auto &V2 = ES.createVSO("V2");
-
- cantFail(V2.define(reexports(V, {{Bar, {Foo, BarSym.getFlags()}}})));
-
- auto Result = cantFail(lookup({&V2}, Bar));
- EXPECT_EQ(Result.getAddress(), FooSym.getAddress())
- << "Re-export Bar for symbol Foo should match FooSym's address";
-}
-
-TEST_F(CoreAPIsStandardTest, TestThatReExportsDontUnnecessarilyMaterialize) {
- // Test that re-exports do not materialize symbols that have not been queried
- // for.
- cantFail(V.define(absoluteSymbols({{Foo, FooSym}})));
-
- bool BarMaterialized = false;
- auto BarMU = llvm::make_unique<SimpleMaterializationUnit>(
- SymbolFlagsMap({{Bar, BarSym.getFlags()}}),
- [&](MaterializationResponsibility R) {
- BarMaterialized = true;
- R.resolve({{Bar, BarSym}});
- R.finalize();
- });
-
- cantFail(V.define(BarMU));
-
- auto &V2 = ES.createVSO("V2");
-
- cantFail(V2.define(reexports(
- V, {{Baz, {Foo, BazSym.getFlags()}}, {Qux, {Bar, QuxSym.getFlags()}}})));
-
- auto Result = cantFail(lookup({&V2}, Baz));
- EXPECT_EQ(Result.getAddress(), FooSym.getAddress())
- << "Re-export Baz for symbol Foo should match FooSym's address";
-
- EXPECT_FALSE(BarMaterialized) << "Bar should not have been materialized";
-}
-
TEST_F(CoreAPIsStandardTest, TestTrivialCircularDependency) {
Optional<MaterializationResponsibility> FooR;
auto FooMU = llvm::make_unique<SimpleMaterializationUnit>(
OpenPOWER on IntegriCloud