[llvm-branch-commits] [libcxx] r366547 - Drop svn version suffix.

2019-07-19 Thread Hans Wennborg via llvm-branch-commits
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.

2019-07-19 Thread Hans Wennborg via llvm-branch-commits
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.

2019-07-19 Thread Hans Wennborg via llvm-branch-commits
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.

2019-07-19 Thread Hans Wennborg via llvm-branch-commits
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:

2019-07-19 Thread Hans Wennborg via llvm-branch-commits
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:

2019-07-19 Thread Hans Wennborg via llvm-branch-commits
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:

2019-07-19 Thread Hans Wennborg via llvm-branch-commits
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:

2019-07-19 Thread Hans Wennborg via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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

2019-07-19 Thread Tom Stellard via llvm-branch-commits
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