[llvm-branch-commits] [libcxx] r366547 - Drop svn version suffix.
Author: hans Date: Fri Jul 19 02:22:23 2019 New Revision: 366547 URL: http://llvm.org/viewvc/llvm-project?rev=366547&view=rev Log: Drop svn version suffix. Modified: libcxx/branches/release_90/CMakeLists.txt Modified: libcxx/branches/release_90/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_90/CMakeLists.txt?rev=366547&r1=366546&r2=366547&view=diff == --- libcxx/branches/release_90/CMakeLists.txt (original) +++ libcxx/branches/release_90/CMakeLists.txt Fri Jul 19 02:22:23 2019 @@ -27,7 +27,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR project(libcxx CXX C) set(PACKAGE_NAME libcxx) - set(PACKAGE_VERSION 9.0.0svn) + set(PACKAGE_VERSION 9.0.0) set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") set(PACKAGE_BUGREPORT "llvm-b...@lists.llvm.org") ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [libunwind] r366549 - Drop svn version suffix.
Author: hans Date: Fri Jul 19 02:22:57 2019 New Revision: 366549 URL: http://llvm.org/viewvc/llvm-project?rev=366549&view=rev Log: Drop svn version suffix. Modified: libunwind/branches/release_90/CMakeLists.txt Modified: libunwind/branches/release_90/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/libunwind/branches/release_90/CMakeLists.txt?rev=366549&r1=366548&r2=366549&view=diff == --- libunwind/branches/release_90/CMakeLists.txt (original) +++ libunwind/branches/release_90/CMakeLists.txt Fri Jul 19 02:22:57 2019 @@ -83,7 +83,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR endif() set(PACKAGE_NAME libunwind) - set(PACKAGE_VERSION 9.0.0svn) + set(PACKAGE_VERSION 9.0.0) set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") set(PACKAGE_BUGREPORT "llvm-b...@lists.llvm.org") ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [libcxxabi] r366548 - Drop svn version suffix.
Author: hans Date: Fri Jul 19 02:22:41 2019 New Revision: 366548 URL: http://llvm.org/viewvc/llvm-project?rev=366548&view=rev Log: Drop svn version suffix. Modified: libcxxabi/branches/release_90/CMakeLists.txt Modified: libcxxabi/branches/release_90/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/libcxxabi/branches/release_90/CMakeLists.txt?rev=366548&r1=366547&r2=366548&view=diff == --- libcxxabi/branches/release_90/CMakeLists.txt (original) +++ libcxxabi/branches/release_90/CMakeLists.txt Fri Jul 19 02:22:41 2019 @@ -21,7 +21,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR project(libcxxabi CXX C) set(PACKAGE_NAME libcxxabi) - set(PACKAGE_VERSION 9.0.0svn) + set(PACKAGE_VERSION 9.0.0) set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") set(PACKAGE_BUGREPORT "llvm-b...@lists.llvm.org") ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-branch] r366550 - Drop svn version suffix.
Author: hans Date: Fri Jul 19 02:23:25 2019 New Revision: 366550 URL: http://llvm.org/viewvc/llvm-project?rev=366550&view=rev Log: Drop svn version suffix. Modified: llvm/branches/release_90/CMakeLists.txt Modified: llvm/branches/release_90/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_90/CMakeLists.txt?rev=366550&r1=366549&r2=366550&view=diff == --- llvm/branches/release_90/CMakeLists.txt (original) +++ llvm/branches/release_90/CMakeLists.txt Fri Jul 19 02:23:25 2019 @@ -25,7 +25,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH) set(LLVM_VERSION_PATCH 0) endif() if(NOT DEFINED LLVM_VERSION_SUFFIX) - set(LLVM_VERSION_SUFFIX svn) + set(LLVM_VERSION_SUFFIX "") endif() if (NOT PACKAGE_VERSION) ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [cfe-branch] r366552 - Merging r366429:
Author: hans Date: Fri Jul 19 02:36:22 2019 New Revision: 366552 URL: http://llvm.org/viewvc/llvm-project?rev=366552&view=rev Log: Merging r366429: r366429 | ibiryukov | 2019-07-18 13:55:33 +0200 (Thu, 18 Jul 2019) | 5 lines Revert r366422: [OpenCL] Improve destructor support in C++ for OpenCL Reason: this commit causes crashes in the clang compiler when building LLVM Support with libc++, see https://bugs.llvm.org/show_bug.cgi?id=42665 for details. Added: cfe/branches/release_90/test/CodeGenOpenCLCXX/addrspace-ctor.cl - copied unchanged from r366429, cfe/trunk/test/CodeGenOpenCLCXX/addrspace-ctor.cl Removed: cfe/branches/release_90/test/CodeGenOpenCLCXX/addrspace-with-class.cl Modified: cfe/branches/release_90/ (props changed) cfe/branches/release_90/include/clang/AST/DeclCXX.h cfe/branches/release_90/lib/AST/DeclCXX.cpp cfe/branches/release_90/lib/CodeGen/CGCXXABI.h cfe/branches/release_90/lib/CodeGen/CGCall.cpp cfe/branches/release_90/lib/CodeGen/CGClass.cpp cfe/branches/release_90/lib/CodeGen/CGDecl.cpp cfe/branches/release_90/lib/CodeGen/CGExprCXX.cpp cfe/branches/release_90/lib/CodeGen/CodeGenFunction.h cfe/branches/release_90/lib/CodeGen/ItaniumCXXABI.cpp cfe/branches/release_90/lib/CodeGen/MicrosoftCXXABI.cpp cfe/branches/release_90/lib/Sema/SemaDeclCXX.cpp cfe/branches/release_90/lib/Sema/SemaOverload.cpp Propchange: cfe/branches/release_90/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Jul 19 02:36:22 2019 @@ -1,3 +1,4 @@ /cfe/branches/type-system-rewrite:134693-134817 +/cfe/trunk:366429 /cfe/trunk/test:170344 /cfe/trunk/test/SemaTemplate:126920 Modified: cfe/branches/release_90/include/clang/AST/DeclCXX.h URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_90/include/clang/AST/DeclCXX.h?rev=366552&r1=366551&r2=366552&view=diff == --- cfe/branches/release_90/include/clang/AST/DeclCXX.h (original) +++ cfe/branches/release_90/include/clang/AST/DeclCXX.h Fri Jul 19 02:36:22 2019 @@ -2232,20 +2232,20 @@ public: overridden_method_range overridden_methods() const; - /// Return the parent of this method declaration, which + /// Returns the parent of this method declaration, which /// is the class in which this method is defined. const CXXRecordDecl *getParent() const { return cast(FunctionDecl::getParent()); } - /// Return the parent of this method declaration, which + /// Returns the parent of this method declaration, which /// is the class in which this method is defined. CXXRecordDecl *getParent() { return const_cast( cast(FunctionDecl::getParent())); } - /// Return the type of the \c this pointer. + /// Returns the type of the \c this pointer. /// /// Should only be called for instance (i.e., non-static) methods. Note /// that for the call operator of a lambda closure type, this returns the @@ -2253,17 +2253,9 @@ public: /// 'this' type. QualType getThisType() const; - /// Return the type of the object pointed by \c this. - /// - /// See getThisType() for usage restriction. - QualType getThisObjectType() const; - static QualType getThisType(const FunctionProtoType *FPT, const CXXRecordDecl *Decl); - static QualType getThisObjectType(const FunctionProtoType *FPT, -const CXXRecordDecl *Decl); - Qualifiers getMethodQualifiers() const { return getType()->getAs()->getMethodQuals(); } Modified: cfe/branches/release_90/lib/AST/DeclCXX.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_90/lib/AST/DeclCXX.cpp?rev=366552&r1=366551&r2=366552&view=diff == --- cfe/branches/release_90/lib/AST/DeclCXX.cpp (original) +++ cfe/branches/release_90/lib/AST/DeclCXX.cpp Fri Jul 19 02:36:22 2019 @@ -2253,23 +2253,12 @@ CXXMethodDecl::overridden_methods() cons return getASTContext().overridden_methods(this); } -static QualType getThisObjectType(ASTContext &C, const FunctionProtoType *FPT, - const CXXRecordDecl *Decl) { - QualType ClassTy = C.getTypeDeclType(Decl); - return C.getQualifiedType(ClassTy, FPT->getMethodQuals()); -} - QualType CXXMethodDecl::getThisType(const FunctionProtoType *FPT, const CXXRecordDecl *Decl) { ASTContext &C = Decl->getASTContext(); - QualType ObjectTy = ::getThisObjectType(C, FPT, Decl); - return C.getPointerType(ObjectTy); -} - -QualType CXXMethodDecl::getThisObjectType(const FunctionProtoType *FPT, - const CXXRecordDecl *Decl) { -
[llvm-branch-commits] [lldb] r366553 - Merging r366433:
Author: hans Date: Fri Jul 19 02:38:24 2019 New Revision: 366553 URL: http://llvm.org/viewvc/llvm-project?rev=366553&view=rev Log: Merging r366433: r366433 | stefan.graenitz | 2019-07-18 15:30:37 +0200 (Thu, 18 Jul 2019) | 19 lines [CMake] Always build debugserver on Darwin and allow tests to use the system's one Summary: We can always build debugserver, but we can't always sign it to be useable for testing. `LLDB_USE_SYSTEM_DEBUGSERVER` should only tell whether or not the system debugserver should be used for testing. The old behavior complicated the logic around debugserver a lot. The new logic sorts out most of it. Please note that this patch is in early stage and needs some more testing. It should not affect platfroms other than Darwin. It builds on Davide's approach to validate the code-signing identity at configuration time. What do you think? Reviewers: xiaobai, JDevlieghere, davide, compnerd, friss, labath, mgorny, jasonmolenda Reviewed By: JDevlieghere Subscribers: lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D64806 Modified: lldb/branches/release_90/ (props changed) lldb/branches/release_90/CMakeLists.txt lldb/branches/release_90/cmake/modules/AddLLDB.cmake lldb/branches/release_90/cmake/modules/LLDBConfig.cmake lldb/branches/release_90/test/CMakeLists.txt lldb/branches/release_90/tools/debugserver/source/CMakeLists.txt lldb/branches/release_90/unittests/CMakeLists.txt lldb/branches/release_90/unittests/tools/lldb-server/CMakeLists.txt Propchange: lldb/branches/release_90/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Jul 19 02:38:24 2019 @@ -1,2 +1,3 @@ /lldb/branches/apple/python-GIL:156467-162159 /lldb/branches/iohandler:198360-200250 +/lldb/trunk:366433 Modified: lldb/branches/release_90/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/lldb/branches/release_90/CMakeLists.txt?rev=366553&r1=366552&r2=366553&view=diff == --- lldb/branches/release_90/CMakeLists.txt (original) +++ lldb/branches/release_90/CMakeLists.txt Fri Jul 19 02:38:24 2019 @@ -107,10 +107,6 @@ if(LLDB_INCLUDE_TESTS) list(APPEND LLDB_TEST_DEPS lldb-server) endif() - if(TARGET debugserver) -list(APPEND LLDB_TEST_DEPS debugserver) - endif() - if(TARGET lldb-mi) list(APPEND LLDB_TEST_DEPS lldb-mi) endif() Modified: lldb/branches/release_90/cmake/modules/AddLLDB.cmake URL: http://llvm.org/viewvc/llvm-project/lldb/branches/release_90/cmake/modules/AddLLDB.cmake?rev=366553&r1=366552&r2=366553&view=diff == --- lldb/branches/release_90/cmake/modules/AddLLDB.cmake (original) +++ lldb/branches/release_90/cmake/modules/AddLLDB.cmake Fri Jul 19 02:38:24 2019 @@ -276,3 +276,27 @@ function(lldb_setup_rpaths name) INSTALL_RPATH "${LIST_INSTALL_RPATH}" ) endfunction() + +function(lldb_find_system_debugserver path) + execute_process(COMMAND xcode-select -p + RESULT_VARIABLE exit_code + OUTPUT_VARIABLE xcode_dev_dir + ERROR_VARIABLE error_msg + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(exit_code) +message(WARNING "`xcode-select -p` failed:\n${error_msg}") + else() +set(subpath "LLDB.framework/Resources/debugserver") +set(path_shared "${xcode_dev_dir}/../SharedFrameworks/${subpath}") +set(path_private "${xcode_dev_dir}/Library/PrivateFrameworks/${subpath}") + +if(EXISTS ${path_shared}) + set(${path} ${path_shared} PARENT_SCOPE) +elseif(EXISTS ${path_private}) + set(${path} ${path_private} PARENT_SCOPE) +else() + message(WARNING "System debugserver requested, but not found. " + "Candidates don't exist: ${path_shared}\n${path_private}") +endif() + endif() +endfunction() Modified: lldb/branches/release_90/cmake/modules/LLDBConfig.cmake URL: http://llvm.org/viewvc/llvm-project/lldb/branches/release_90/cmake/modules/LLDBConfig.cmake?rev=366553&r1=366552&r2=366553&view=diff == --- lldb/branches/release_90/cmake/modules/LLDBConfig.cmake (original) +++ lldb/branches/release_90/cmake/modules/LLDBConfig.cmake Fri Jul 19 02:38:24 2019 @@ -50,6 +50,7 @@ option(LLDB_USE_SYSTEM_SIX "Use six.py s option(LLDB_USE_ENTITLEMENTS "When codesigning, use entitlements if available" ON) option(LLDB_BUILD_FRAMEWORK "Build LLDB.framework (Darwin only)" OFF) option(LLDB_NO_INSTALL_DEFAULT_RPATH "Disable default RPATH settings in binaries" OFF) +option(LLDB_USE_SYSTEM_DEBUGSERVER "Use the system's debugserver for testing (Darwin only)." OFF)
[llvm-branch-commits] [cfe-branch] r366554 - Merging r366480:
Author: hans Date: Fri Jul 19 02:43:12 2019 New Revision: 366554 URL: http://llvm.org/viewvc/llvm-project?rev=366554&view=rev Log: Merging r366480: r366480 | asb | 2019-07-18 20:29:59 +0200 (Thu, 18 Jul 2019) | 25 lines [RISCV] Hard float ABI support The RISC-V hard float calling convention requires the frontend to: * Detect cases where, once "flattened", a struct can be passed using int+fp or fp+fp registers under the hard float ABI and coerce to the appropriate type(s) * Track usage of GPRs and FPRs in order to gate the above, and to determine when signext/zeroext attributes must be added to integer scalars This patch attempts to do this in compliance with the documented ABI, and uses ABIArgInfo::CoerceAndExpand in order to do this. @rjmccall, as author of that code I've tagged you as reviewer for initial feedback on my usage. Note that a previous version of the ABI indicated that when passing an int+fp struct using a GPR+FPR, the int would need to be sign or zero-extended appropriately. GCC never did this and the ABI was changed, which makes life easier as ABIArgInfo::CoerceAndExpand can't currently handle sign/zero-extension attributes. Re-landed after backing out 366450 due to missed hunks. Differential Revision: https://reviews.llvm.org/D60456 Added: cfe/branches/release_90/test/CodeGen/riscv32-ilp32d-abi.c - copied unchanged from r366480, cfe/trunk/test/CodeGen/riscv32-ilp32d-abi.c cfe/branches/release_90/test/CodeGen/riscv32-ilp32f-abi.c - copied unchanged from r366480, cfe/trunk/test/CodeGen/riscv32-ilp32f-abi.c cfe/branches/release_90/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c - copied unchanged from r366480, cfe/trunk/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c cfe/branches/release_90/test/CodeGen/riscv64-lp64d-abi.c - copied unchanged from r366480, cfe/trunk/test/CodeGen/riscv64-lp64d-abi.c cfe/branches/release_90/test/CodeGen/riscv64-lp64f-lp64d-abi.c - copied unchanged from r366480, cfe/trunk/test/CodeGen/riscv64-lp64f-lp64d-abi.c Modified: cfe/branches/release_90/ (props changed) cfe/branches/release_90/lib/Basic/Targets/RISCV.cpp cfe/branches/release_90/lib/Basic/Targets/RISCV.h cfe/branches/release_90/lib/CodeGen/TargetInfo.cpp cfe/branches/release_90/test/CodeGen/riscv32-ilp32-ilp32f-abi.c cfe/branches/release_90/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c cfe/branches/release_90/test/CodeGen/riscv64-lp64-lp64f-abi.c cfe/branches/release_90/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c cfe/branches/release_90/test/Driver/riscv-abi.c cfe/branches/release_90/test/Preprocessor/riscv-target-features.c Propchange: cfe/branches/release_90/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Jul 19 02:43:12 2019 @@ -1,4 +1,4 @@ /cfe/branches/type-system-rewrite:134693-134817 -/cfe/trunk:366429 +/cfe/trunk:366429,366480 /cfe/trunk/test:170344 /cfe/trunk/test/SemaTemplate:126920 Modified: cfe/branches/release_90/lib/Basic/Targets/RISCV.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_90/lib/Basic/Targets/RISCV.cpp?rev=366554&r1=366553&r2=366554&view=diff == --- cfe/branches/release_90/lib/Basic/Targets/RISCV.cpp (original) +++ cfe/branches/release_90/lib/Basic/Targets/RISCV.cpp Fri Jul 19 02:43:12 2019 @@ -65,9 +65,18 @@ void RISCVTargetInfo::getTargetDefines(c Builder.defineMacro("__riscv"); bool Is64Bit = getTriple().getArch() == llvm::Triple::riscv64; Builder.defineMacro("__riscv_xlen", Is64Bit ? "64" : "32"); - // TODO: modify when more code models and ABIs are supported. + // TODO: modify when more code models are supported. Builder.defineMacro("__riscv_cmodel_medlow"); - Builder.defineMacro("__riscv_float_abi_soft"); + + StringRef ABIName = getABI(); + if (ABIName == "ilp32f" || ABIName == "lp64f") +Builder.defineMacro("__riscv_float_abi_single"); + else if (ABIName == "ilp32d" || ABIName == "lp64d") +Builder.defineMacro("__riscv_float_abi_double"); + else if (ABIName == "ilp32e") +Builder.defineMacro("__riscv_abi_rve"); + else +Builder.defineMacro("__riscv_float_abi_soft"); if (HasM) { Builder.defineMacro("__riscv_mul"); Modified: cfe/branches/release_90/lib/Basic/Targets/RISCV.h URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_90/lib/Basic/Targets/RISCV.h?rev=366554&r1=366553&r2=366554&view=diff == --- cfe/branches/release_90/lib/Basic/Targets/RISCV.h (original) +++ cfe/branches/release_90/lib/Basic/Targets/RISCV.h Fri Jul 19 02:43:12 2019 @@ -87,8 +87,7 @@ public: } bool setABI(const std::string &Name) override { -// TODO: su
[llvm-branch-commits] [cfe-branch] r366556 - Merging r366511:
Author: hans Date: Fri Jul 19 02:55:32 2019 New Revision: 366556 URL: http://llvm.org/viewvc/llvm-project?rev=366556&view=rev Log: Merging r366511: r366511 | lhames | 2019-07-19 00:47:18 +0200 (Fri, 19 Jul 2019) | 3 lines Update the SimpleJIT class in the clang-interpreter example to use ORCv2. This will remove the ORCv1 deprecation warnings. Modified: cfe/branches/release_90/ (props changed) cfe/branches/release_90/examples/clang-interpreter/main.cpp Propchange: cfe/branches/release_90/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Jul 19 02:55:32 2019 @@ -1,4 +1,4 @@ /cfe/branches/type-system-rewrite:134693-134817 -/cfe/trunk:366429,366480 +/cfe/trunk:366429,366480,366511 /cfe/trunk/test:170344 /cfe/trunk/test/SemaTemplate:126920 Modified: cfe/branches/release_90/examples/clang-interpreter/main.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_90/examples/clang-interpreter/main.cpp?rev=366556&r1=366555&r2=366556&view=diff == --- cfe/branches/release_90/examples/clang-interpreter/main.cpp (original) +++ cfe/branches/release_90/examples/clang-interpreter/main.cpp Fri Jul 19 02:55:32 2019 @@ -18,6 +18,7 @@ #include "llvm/ADT/SmallString.h" #include "llvm/ExecutionEngine/ExecutionEngine.h" #include "llvm/ExecutionEngine/Orc/CompileUtils.h" +#include "llvm/ExecutionEngine/Orc/ExecutionUtils.h" #include "llvm/ExecutionEngine/Orc/IRCompileLayer.h" #include "llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h" #include "llvm/ExecutionEngine/SectionMemoryManager.h" @@ -50,65 +51,69 @@ namespace orc { class SimpleJIT { private: ExecutionSession ES; - std::shared_ptr Resolver; std::unique_ptr TM; const DataLayout DL; - LegacyRTDyldObjectLinkingLayer ObjectLayer; - LegacyIRCompileLayer CompileLayer; + MangleAndInterner Mangle{ES, DL}; + RTDyldObjectLinkingLayer ObjectLayer{ES, createMemMgr}; + IRCompileLayer CompileLayer{ES, ObjectLayer, SimpleCompiler(*TM)}; -public: - SimpleJIT() - : Resolver(createLegacyLookupResolver( -ES, -[this](const std::string &Name) -> JITSymbol { - if (auto Sym = CompileLayer.findSymbol(Name, false)) -return Sym; - else if (auto Err = Sym.takeError()) -return std::move(Err); - if (auto SymAddr = - RTDyldMemoryManager::getSymbolAddressInProcess(Name)) -return JITSymbol(SymAddr, JITSymbolFlags::Exported); - return nullptr; -}, -[](Error Err) { cantFail(std::move(Err), "lookupFlags failed"); })), -TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()), -ObjectLayer(ES, -[this](VModuleKey) { - return LegacyRTDyldObjectLinkingLayer::Resources{ - std::make_shared(), Resolver}; -}), -CompileLayer(ObjectLayer, SimpleCompiler(*TM)) { + static std::unique_ptr createMemMgr() { +return llvm::make_unique(); + } + + SimpleJIT(std::unique_ptr TM, DataLayout DL, +DynamicLibrarySearchGenerator ProcessSymbolsGenerator) + : TM(std::move(TM)), DL(std::move(DL)) { llvm::sys::DynamicLibrary::LoadLibraryPermanently(nullptr); +ES.getMainJITDylib().setGenerator(std::move(ProcessSymbolsGenerator)); } - const TargetMachine &getTargetMachine() const { return *TM; } +public: + static Expected> Create() { +auto JTMB = JITTargetMachineBuilder::detectHost(); +if (!JTMB) + return JTMB.takeError(); + +auto TM = JTMB->createTargetMachine(); +if (!TM) + return TM.takeError(); + +auto DL = (*TM)->createDataLayout(); + +auto ProcessSymbolsGenerator = +DynamicLibrarySearchGenerator::GetForCurrentProcess( +DL.getGlobalPrefix()); + +if (!ProcessSymbolsGenerator) + return ProcessSymbolsGenerator.takeError(); - VModuleKey addModule(std::unique_ptr M) { -// Add the module to the JIT with a new VModuleKey. -auto K = ES.allocateVModule(); -cantFail(CompileLayer.addModule(K, std::move(M))); -return K; +return std::unique_ptr(new SimpleJIT( +std::move(*TM), std::move(DL), std::move(*ProcessSymbolsGenerator))); } - JITSymbol findSymbol(const StringRef &Name) { -std::string MangledName; -raw_string_ostream MangledNameStream(MangledName); -Mangler::getNameWithPrefix(MangledNameStream, Name, DL); -return CompileLayer.findSymbol(MangledNameStream.str(), true); + const TargetMachine &getTargetMachine() const { return *TM; } + + Error addModule(ThreadSafeModule M) { +return CompileLayer.add(ES.getMainJITDylib(), std::move(M)); }
[llvm-branch-commits] [lldb] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: lldb/tags/RELEASE_801/final/ - copied from r366580, lldb/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [compiler-rt-tag] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: compiler-rt/tags/RELEASE_801/final/ - copied from r366580, compiler-rt/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [polly] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: polly/tags/RELEASE_801/final/ - copied from r366580, polly/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [libcxx] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: libcxx/tags/RELEASE_801/final/ - copied from r366580, libcxx/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [libcxxabi] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: libcxxabi/tags/RELEASE_801/final/ - copied from r366580, libcxxabi/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang-tools-extra-tag] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: clang-tools-extra/tags/RELEASE_801/final/ - copied from r366580, clang-tools-extra/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [test-suite] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: test-suite/tags/RELEASE_801/final/ - copied from r366580, test-suite/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [pstl] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: pstl/tags/RELEASE_801/final/ - copied from r366580, pstl/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [libunwind] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: libunwind/tags/RELEASE_801/final/ - copied from r366580, libunwind/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-tag] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: llvm/tags/RELEASE_801/final/ - copied from r366580, llvm/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [cfe-tag] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: cfe/tags/RELEASE_801/final/ - copied from r366580, cfe/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [openmp] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: openmp/tags/RELEASE_801/final/ - copied from r366580, openmp/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [lld] r366581 - Creating release candidate final from release_801 branch
Author: tstellar Date: Fri Jul 19 07:14:12 2019 New Revision: 366581 URL: http://llvm.org/viewvc/llvm-project?rev=366581&view=rev Log: Creating release candidate final from release_801 branch Added: lld/tags/RELEASE_801/final/ - copied from r366580, lld/branches/release_80/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits