mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203083 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -8,7 +8,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/ExecutionEngine/SectionMemoryManager.h"
|
||||
#include "llvm/ADT/OwningPtr.h"
|
||||
#include "llvm/ExecutionEngine/JIT.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
@@ -17,7 +16,7 @@ using namespace llvm;
|
||||
namespace {
|
||||
|
||||
TEST(MCJITMemoryManagerTest, BasicAllocations) {
|
||||
OwningPtr<SectionMemoryManager> MemMgr(new SectionMemoryManager());
|
||||
std::unique_ptr<SectionMemoryManager> MemMgr(new SectionMemoryManager());
|
||||
|
||||
uint8_t *code1 = MemMgr->allocateCodeSection(256, 0, 1, "");
|
||||
uint8_t *data1 = MemMgr->allocateDataSection(256, 0, 2, "", true);
|
||||
@@ -50,7 +49,7 @@ TEST(MCJITMemoryManagerTest, BasicAllocations) {
|
||||
}
|
||||
|
||||
TEST(MCJITMemoryManagerTest, LargeAllocations) {
|
||||
OwningPtr<SectionMemoryManager> MemMgr(new SectionMemoryManager());
|
||||
std::unique_ptr<SectionMemoryManager> MemMgr(new SectionMemoryManager());
|
||||
|
||||
uint8_t *code1 = MemMgr->allocateCodeSection(0x100000, 0, 1, "");
|
||||
uint8_t *data1 = MemMgr->allocateDataSection(0x100000, 0, 2, "", true);
|
||||
@@ -83,7 +82,7 @@ TEST(MCJITMemoryManagerTest, LargeAllocations) {
|
||||
}
|
||||
|
||||
TEST(MCJITMemoryManagerTest, ManyAllocations) {
|
||||
OwningPtr<SectionMemoryManager> MemMgr(new SectionMemoryManager());
|
||||
std::unique_ptr<SectionMemoryManager> MemMgr(new SectionMemoryManager());
|
||||
|
||||
uint8_t* code[10000];
|
||||
uint8_t* data[10000];
|
||||
@@ -118,7 +117,7 @@ TEST(MCJITMemoryManagerTest, ManyAllocations) {
|
||||
}
|
||||
|
||||
TEST(MCJITMemoryManagerTest, ManyVariedAllocations) {
|
||||
OwningPtr<SectionMemoryManager> MemMgr(new SectionMemoryManager());
|
||||
std::unique_ptr<SectionMemoryManager> MemMgr(new SectionMemoryManager());
|
||||
|
||||
uint8_t* code[10000];
|
||||
uint8_t* data[10000];
|
||||
|
@@ -90,7 +90,7 @@ TEST_F(MCJITMultipleModuleTest, multiple_empty_modules) {
|
||||
TEST_F(MCJITMultipleModuleTest, two_module_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA, *FB;
|
||||
createTwoModuleCase(A, FA, B, FB);
|
||||
|
||||
@@ -110,7 +110,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, two_module_reverse_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA, *FB;
|
||||
createTwoModuleCase(A, FA, B, FB);
|
||||
|
||||
@@ -131,7 +131,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_reverse_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, two_module_extern_reverse_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA, *FB;
|
||||
createTwoModuleExternCase(A, FA, B, FB);
|
||||
|
||||
@@ -152,7 +152,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_extern_reverse_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, two_module_extern_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA, *FB;
|
||||
createTwoModuleExternCase(A, FA, B, FB);
|
||||
|
||||
@@ -172,7 +172,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_extern_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, two_module_consecutive_call_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA1, *FA2, *FB;
|
||||
createTwoModuleExternCase(A, FA1, B, FB);
|
||||
FA2 = insertSimpleCallFunction<int32_t(int32_t, int32_t)>(A.get(), FA1);
|
||||
@@ -199,7 +199,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_consecutive_call_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, two_module_global_variables_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA, *FB;
|
||||
GlobalVariable *GVA, *GVB;
|
||||
A.reset(createEmptyModule("A"));
|
||||
@@ -237,7 +237,7 @@ TEST_F(MCJITMultipleModuleTest, two_module_global_variables_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, three_module_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B, C;
|
||||
std::unique_ptr<Module> A, B, C;
|
||||
Function *FA, *FB, *FC;
|
||||
createThreeModuleCase(A, FA, B, FB, C, FC);
|
||||
|
||||
@@ -262,7 +262,7 @@ TEST_F(MCJITMultipleModuleTest, three_module_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, three_module_case_reverse_order) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B, C;
|
||||
std::unique_ptr<Module> A, B, C;
|
||||
Function *FA, *FB, *FC;
|
||||
createThreeModuleCase(A, FA, B, FB, C, FC);
|
||||
|
||||
@@ -287,7 +287,7 @@ TEST_F(MCJITMultipleModuleTest, three_module_case_reverse_order) {
|
||||
TEST_F(MCJITMultipleModuleTest, three_module_chain_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B, C;
|
||||
std::unique_ptr<Module> A, B, C;
|
||||
Function *FA, *FB, *FC;
|
||||
createThreeModuleChainedCallsCase(A, FA, B, FB, C, FC);
|
||||
|
||||
@@ -312,7 +312,7 @@ TEST_F(MCJITMultipleModuleTest, three_module_chain_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, three_modules_chain_case_reverse_order) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B, C;
|
||||
std::unique_ptr<Module> A, B, C;
|
||||
Function *FA, *FB, *FC;
|
||||
createThreeModuleChainedCallsCase(A, FA, B, FB, C, FC);
|
||||
|
||||
@@ -337,7 +337,7 @@ TEST_F(MCJITMultipleModuleTest, three_modules_chain_case_reverse_order) {
|
||||
TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA, *FB1, *FB2;
|
||||
createCrossModuleRecursiveCase(A, FA, B, FB1, FB2);
|
||||
|
||||
@@ -358,7 +358,7 @@ TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case) {
|
||||
TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case_reverse_order) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA, *FB1, *FB2;
|
||||
createCrossModuleRecursiveCase(A, FA, B, FB1, FB2);
|
||||
|
||||
@@ -379,7 +379,7 @@ TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case_reverse_order) {
|
||||
TEST_F(MCJITMultipleModuleTest, cross_module_dependency_case3) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<Module> A, B;
|
||||
std::unique_ptr<Module> A, B;
|
||||
Function *FA, *FB1, *FB2;
|
||||
createCrossModuleRecursiveCase(A, FA, B, FB1, FB2);
|
||||
|
||||
|
@@ -7,7 +7,6 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/ADT/OwningPtr.h"
|
||||
#include "MCJITTestBase.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
@@ -101,7 +100,7 @@ protected:
|
||||
|
||||
void compileAndRun(int ExpectedRC = OriginalRC) {
|
||||
// This function shouldn't be called until after SetUp.
|
||||
ASSERT_TRUE(TheJIT.isValid());
|
||||
ASSERT_TRUE(bool(TheJIT));
|
||||
ASSERT_TRUE(0 != Main);
|
||||
|
||||
// We may be using a null cache, so ensure compilation is valid.
|
||||
@@ -133,7 +132,7 @@ TEST_F(MCJITObjectCacheTest, SetNullObjectCache) {
|
||||
TEST_F(MCJITObjectCacheTest, VerifyBasicObjectCaching) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<TestObjectCache> Cache(new TestObjectCache);
|
||||
std::unique_ptr<TestObjectCache> Cache(new TestObjectCache);
|
||||
|
||||
// Save a copy of the module pointer before handing it off to MCJIT.
|
||||
const Module * SavedModulePointer = M.get();
|
||||
@@ -162,7 +161,7 @@ TEST_F(MCJITObjectCacheTest, VerifyBasicObjectCaching) {
|
||||
TEST_F(MCJITObjectCacheTest, VerifyLoadFromCache) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<TestObjectCache> Cache(new TestObjectCache);
|
||||
std::unique_ptr<TestObjectCache> Cache(new TestObjectCache);
|
||||
|
||||
// Compile this module with an MCJIT engine
|
||||
createJIT(M.release());
|
||||
@@ -196,7 +195,7 @@ TEST_F(MCJITObjectCacheTest, VerifyLoadFromCache) {
|
||||
TEST_F(MCJITObjectCacheTest, VerifyNonLoadFromCache) {
|
||||
SKIP_UNSUPPORTED_PLATFORM;
|
||||
|
||||
OwningPtr<TestObjectCache> Cache(new TestObjectCache);
|
||||
std::unique_ptr<TestObjectCache> Cache(new TestObjectCache);
|
||||
|
||||
// Compile this module with an MCJIT engine
|
||||
createJIT(M.release());
|
||||
|
@@ -185,11 +185,9 @@ protected:
|
||||
// Populates Modules A and B:
|
||||
// Module A { Extern FB1, Function FA which calls FB1 },
|
||||
// Module B { Extern FA, Function FB1, Function FB2 which calls FA },
|
||||
void createCrossModuleRecursiveCase(OwningPtr<Module> &A,
|
||||
Function *&FA,
|
||||
OwningPtr<Module> &B,
|
||||
Function *&FB1,
|
||||
Function *&FB2) {
|
||||
void createCrossModuleRecursiveCase(std::unique_ptr<Module> &A, Function *&FA,
|
||||
std::unique_ptr<Module> &B,
|
||||
Function *&FB1, Function *&FB2) {
|
||||
// Define FB1 in B.
|
||||
B.reset(createEmptyModule("B"));
|
||||
FB1 = insertAccumulateFunction(B.get(), 0, "FB1");
|
||||
@@ -211,12 +209,10 @@ protected:
|
||||
// Module A { Function FA },
|
||||
// Module B { Extern FA, Function FB which calls FA },
|
||||
// Module C { Extern FB, Function FC which calls FB },
|
||||
void createThreeModuleChainedCallsCase(OwningPtr<Module> &A,
|
||||
Function *&FA,
|
||||
OwningPtr<Module> &B,
|
||||
Function *&FB,
|
||||
OwningPtr<Module> &C,
|
||||
Function *&FC) {
|
||||
void
|
||||
createThreeModuleChainedCallsCase(std::unique_ptr<Module> &A, Function *&FA,
|
||||
std::unique_ptr<Module> &B, Function *&FB,
|
||||
std::unique_ptr<Module> &C, Function *&FC) {
|
||||
A.reset(createEmptyModule("A"));
|
||||
FA = insertAddFunction(A.get());
|
||||
|
||||
@@ -233,8 +229,8 @@ protected:
|
||||
// Module A { Function FA },
|
||||
// Populates Modules A and B:
|
||||
// Module B { Function FB }
|
||||
void createTwoModuleCase(OwningPtr<Module> &A, Function *&FA,
|
||||
OwningPtr<Module> &B, Function *&FB) {
|
||||
void createTwoModuleCase(std::unique_ptr<Module> &A, Function *&FA,
|
||||
std::unique_ptr<Module> &B, Function *&FB) {
|
||||
A.reset(createEmptyModule("A"));
|
||||
FA = insertAddFunction(A.get());
|
||||
|
||||
@@ -244,8 +240,8 @@ protected:
|
||||
|
||||
// Module A { Function FA },
|
||||
// Module B { Extern FA, Function FB which calls FA }
|
||||
void createTwoModuleExternCase(OwningPtr<Module> &A, Function *&FA,
|
||||
OwningPtr<Module> &B, Function *&FB) {
|
||||
void createTwoModuleExternCase(std::unique_ptr<Module> &A, Function *&FA,
|
||||
std::unique_ptr<Module> &B, Function *&FB) {
|
||||
A.reset(createEmptyModule("A"));
|
||||
FA = insertAddFunction(A.get());
|
||||
|
||||
@@ -258,12 +254,9 @@ protected:
|
||||
// Module A { Function FA },
|
||||
// Module B { Extern FA, Function FB which calls FA },
|
||||
// Module C { Extern FB, Function FC which calls FA },
|
||||
void createThreeModuleCase(OwningPtr<Module> &A,
|
||||
Function *&FA,
|
||||
OwningPtr<Module> &B,
|
||||
Function *&FB,
|
||||
OwningPtr<Module> &C,
|
||||
Function *&FC) {
|
||||
void createThreeModuleCase(std::unique_ptr<Module> &A, Function *&FA,
|
||||
std::unique_ptr<Module> &B, Function *&FB,
|
||||
std::unique_ptr<Module> &C, Function *&FC) {
|
||||
A.reset(createEmptyModule("A"));
|
||||
FA = insertAddFunction(A.get());
|
||||
|
||||
@@ -342,10 +335,10 @@ protected:
|
||||
CodeModel::Model CodeModel;
|
||||
StringRef MArch;
|
||||
SmallVector<std::string, 1> MAttrs;
|
||||
OwningPtr<ExecutionEngine> TheJIT;
|
||||
std::unique_ptr<ExecutionEngine> TheJIT;
|
||||
RTDyldMemoryManager *MM;
|
||||
|
||||
OwningPtr<Module> M;
|
||||
std::unique_ptr<Module> M;
|
||||
};
|
||||
|
||||
} // namespace llvm
|
||||
|
Reference in New Issue
Block a user