[llvm-branch-commits] [clang-tools-extra-branch] r324871 - Merging r323040:

2018-02-12 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Mon Feb 12 01:54:35 2018
New Revision: 324871

URL: http://llvm.org/viewvc/llvm-project?rev=324871&view=rev
Log:
Merging r323040:

r323040 | dim | 2018-01-20 15:34:33 +0100 (Sat, 20 Jan 2018) | 5 lines

Assume the shared library path variable is LD_LIBRARY_PATH on systems
except Darwin and Windows.  This prevents inserting an environment
variable with an empty name (which is illegal and leads to a Python
exception) on any of the BSDs.



Modified:
clang-tools-extra/branches/release_60/   (props changed)
clang-tools-extra/branches/release_60/test/Unit/lit.cfg

Propchange: clang-tools-extra/branches/release_60/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Feb 12 01:54:35 2018
@@ -1 +1 @@
-/clang-tools-extra/trunk:321762
+/clang-tools-extra/trunk:321762,323040

Modified: clang-tools-extra/branches/release_60/test/Unit/lit.cfg
URL: 
http://llvm.org/viewvc/llvm-project/clang-tools-extra/branches/release_60/test/Unit/lit.cfg?rev=324871&r1=324870&r2=324871&view=diff
==
--- clang-tools-extra/branches/release_60/test/Unit/lit.cfg (original)
+++ clang-tools-extra/branches/release_60/test/Unit/lit.cfg Mon Feb 12 01:54:35 
2018
@@ -19,13 +19,12 @@ config.test_exec_root = config.test_sour
 # ;-separated list of subdirectories).
 config.test_format = lit.formats.GoogleTest('.', 'Tests')
 
-shlibpath_var = ''
-if platform.system() == 'Linux':
-shlibpath_var = 'LD_LIBRARY_PATH'
-elif platform.system() == 'Darwin':
+if platform.system() == 'Darwin':
 shlibpath_var = 'DYLD_LIBRARY_PATH'
 elif platform.system() == 'Windows':
 shlibpath_var = 'PATH'
+else:
+shlibpath_var = 'LD_LIBRARY_PATH'
 
 # Point the dynamic loader at dynamic libraries in 'lib'.
 shlibpath = os.path.pathsep.join((config.shlibdir, config.llvm_libs_dir,


___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [polly] r324872 - Merging r323041:

2018-02-12 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Mon Feb 12 01:56:09 2018
New Revision: 324872

URL: http://llvm.org/viewvc/llvm-project?rev=324872&view=rev
Log:
Merging r323041:

r323041 | dim | 2018-01-20 15:35:05 +0100 (Sat, 20 Jan 2018) | 5 lines

Assume the shared library path variable is LD_LIBRARY_PATH on systems
except Darwin and Windows.  This prevents inserting an environment
variable with an empty name (which is illegal and leads to a Python
exception) on any of the BSDs.



Modified:
polly/branches/release_60/   (props changed)
polly/branches/release_60/test/Unit/lit.cfg

Propchange: polly/branches/release_60/
--
svn:mergeinfo = /polly/trunk:323041

Modified: polly/branches/release_60/test/Unit/lit.cfg
URL: 
http://llvm.org/viewvc/llvm-project/polly/branches/release_60/test/Unit/lit.cfg?rev=324872&r1=324871&r2=324872&view=diff
==
--- polly/branches/release_60/test/Unit/lit.cfg (original)
+++ polly/branches/release_60/test/Unit/lit.cfg Mon Feb 12 01:56:09 2018
@@ -37,13 +37,12 @@ for symbolizer in ['ASAN_SYMBOLIZER_PATH
 if symbolizer in os.environ:
 config.environment[symbolizer] = os.environ[symbolizer]
 
-shlibpath_var = ''
-if platform.system() == 'Linux':
-shlibpath_var = 'LD_LIBRARY_PATH'
-elif platform.system() == 'Darwin':
+if platform.system() == 'Darwin':
 shlibpath_var = 'DYLD_LIBRARY_PATH'
 elif platform.system() == 'Windows':
 shlibpath_var = 'PATH'
+else:
+shlibpath_var = 'LD_LIBRARY_PATH'
 
 # Point the dynamic loader at dynamic libraries in 'lib'.
 shlibpath = os.path.pathsep.join((config.llvm_libs_dir,


___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [test-suite] r324873 - Merging r324848:

2018-02-12 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Mon Feb 12 01:58:36 2018
New Revision: 324873

URL: http://llvm.org/viewvc/llvm-project?rev=324873&view=rev
Log:
Merging r324848:

r324848 | dim | 2018-02-11 21:16:20 +0100 (Sun, 11 Feb 2018) | 30 lines

Use CMAKE_DL_LIBS and CMAKE_THREAD_LIBS_INIT for Bitcode tests

Summary:
While testing for the 6.0.0 release candidates, I had many link
failures during the build of the test-suite, similar to:

```
[ 78%] Linking CXX executable simd_ops_test_op_pmulld_275
Scanning dependencies of target simd_ops_test_op_vpmulld_390
/usr/local/bin/ld: cannot find -ldl
```

This is because some of the Bitcode tests unconditionally add `-ldl` to
`LDFLAGS`.  On FreeBSD, NetBSD and OpenBSD there is no libdl, as the
required functionality is already built into libc.

Fix it by using CMake's `CMAKE_DL_LIBS` instead, which provides the
correct link library names.

While here, also use `CMAKE_THREAD_LIBS_INIT` instead of hardcoding
`-lpthread`.

Reviewers: asbirlea, echristo, emaste, krytarowski, MatzeB, tra

Reviewed By: krytarowski

Subscribers: mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D43168



Modified:
test-suite/branches/release_60/   (props changed)
test-suite/branches/release_60/Bitcode/Benchmarks/Halide/CMakeLists.txt
test-suite/branches/release_60/Bitcode/Regression/fft/CMakeLists.txt

test-suite/branches/release_60/Bitcode/Regression/vector_widen/CMakeLists.txt
test-suite/branches/release_60/Bitcode/simd_ops/CMakeLists.txt

Propchange: test-suite/branches/release_60/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Feb 12 01:58:36 2018
@@ -0,0 +1 @@
+/test-suite/trunk:324848

Modified: 
test-suite/branches/release_60/Bitcode/Benchmarks/Halide/CMakeLists.txt
URL: 
http://llvm.org/viewvc/llvm-project/test-suite/branches/release_60/Bitcode/Benchmarks/Halide/CMakeLists.txt?rev=324873&r1=324872&r2=324873&view=diff
==
--- test-suite/branches/release_60/Bitcode/Benchmarks/Halide/CMakeLists.txt 
(original)
+++ test-suite/branches/release_60/Bitcode/Benchmarks/Halide/CMakeLists.txt Mon 
Feb 12 01:58:36 2018
@@ -1,5 +1,9 @@
 if(NOT WIN32)
-  list(APPEND LDFLAGS -lpthread -ldl)
+  find_package(Threads)
+  list(APPEND LDFLAGS ${CMAKE_THREAD_LIBS_INIT})
+  foreach(lib ${CMAKE_DL_LIBS})
+list(APPEND LDFLAGS -l${lib})
+  endforeach()
 endif()
 if(NOT MSVC)
   list(APPEND CXXFLAGS "-std=c++11")

Modified: test-suite/branches/release_60/Bitcode/Regression/fft/CMakeLists.txt
URL: 
http://llvm.org/viewvc/llvm-project/test-suite/branches/release_60/Bitcode/Regression/fft/CMakeLists.txt?rev=324873&r1=324872&r2=324873&view=diff
==
--- test-suite/branches/release_60/Bitcode/Regression/fft/CMakeLists.txt 
(original)
+++ test-suite/branches/release_60/Bitcode/Regression/fft/CMakeLists.txt Mon 
Feb 12 01:58:36 2018
@@ -3,7 +3,11 @@ file(GLOB uosources ${CMAKE_CURRENT_SOUR
 SET_SOURCE_FILES_PROPERTIES(${uosources} PROPERTIES LANGUAGE CXX)
 
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/x86_17.06.19_halide_runtime.bc
 PROPERTIES LANGUAGE CXX)
 
-list(APPEND LDFLAGS -lpthread -ldl)
+find_package(Threads)
+list(APPEND LDFLAGS ${CMAKE_THREAD_LIBS_INIT})
+foreach(lib ${CMAKE_DL_LIBS})
+  list(APPEND LDFLAGS -l${lib})
+endforeach()
 
 set(Source ${CMAKE_CURRENT_SOURCE_DIR}/driver.cpp 
${CMAKE_CURRENT_SOURCE_DIR}/x86_17.06.19_halide_runtime.bc ${uosources})
 set(PROG fft)

Modified: 
test-suite/branches/release_60/Bitcode/Regression/vector_widen/CMakeLists.txt
URL: 
http://llvm.org/viewvc/llvm-project/test-suite/branches/release_60/Bitcode/Regression/vector_widen/CMakeLists.txt?rev=324873&r1=324872&r2=324873&view=diff
==
--- 
test-suite/branches/release_60/Bitcode/Regression/vector_widen/CMakeLists.txt 
(original)
+++ 
test-suite/branches/release_60/Bitcode/Regression/vector_widen/CMakeLists.txt 
Mon Feb 12 01:58:36 2018
@@ -1,7 +1,11 @@
 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/halide_runtime.bc 
PROPERTIES LANGUAGE CXX)
 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/vector_widen.bc 
PROPERTIES LANGUAGE CXX)
 
-list(APPEND LDFLAGS -lpthread -ldl)
+find_package(Threads)
+list(APPEND LDFLAGS ${CMAKE_THREAD_LIBS_INIT})
+foreach(lib ${CMAKE_DL_LIBS})
+  list(APPEND LDFLAGS -l${lib})
+endforeach()
 
 set(Source ${CMAKE_CURRENT_SOURCE_DIR}/driver.cpp 
${CMAKE_CURRENT_SOURCE_DIR}/halide_runtime.bc 
${CMAKE_CURRENT_SOURCE_DIR}/vector_widen.bc)
 set(PROG widen_bug)

Modified: test-suite/branches/release_60/Bitcode/simd_ops/CMakeLists.txt
URL: 
http://llvm.org/viewvc/llvm-project/test-suite/branches/release_60/Bi

[llvm-branch-commits] [libcxx] r324874 - Merging r324855:

2018-02-12 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Mon Feb 12 02:04:36 2018
New Revision: 324874

URL: http://llvm.org/viewvc/llvm-project?rev=324874&view=rev
Log:
Merging r324855:

r324855 | dim | 2018-02-11 23:31:05 +0100 (Sun, 11 Feb 2018) | 26 lines

Add default C++ ABI libname and include paths for FreeBSD

Summary:
As noted in a discussion about testing the LLVM 6.0.0 release candidates
(with libc++) for FreeBSD, many tests turned out to fail with
"exception_ptr not yet implemented".  This was because libc++ did not
choose the correct C++ ABI library, and therefore it fell back to the
`exception_fallback.ipp` header.

Since FreeBSD 10.x, we have been using libcxxrt as our C++ ABI library,
and its headers have always been installed in /usr/include/c++/v1,
together with the (system) libc++ headers.  (Older versions of FreeBSD
used GNU libsupc++ by default, but these are now unsupported.)

Therefore, if we are building libc++ for FreeBSD, set:
* `LIBCXX_CXX_ABI_LIBNAME` to "libcxxrt"
* `LIBCXX_CXX_ABI_INCLUDE_PATHS` to "/usr/include/c++/v1"
by default.

Reviewers: emaste, EricWF, mclow.lists

Reviewed By: EricWF

Subscribers: mgorny, cfe-commits, krytarowski

Differential Revision: https://reviews.llvm.org/D43166


Modified:
libcxx/branches/release_60/   (props changed)
libcxx/branches/release_60/CMakeLists.txt

Propchange: libcxx/branches/release_60/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Feb 12 02:04:36 2018
@@ -1,2 +1,2 @@
 /libcxx/branches/apple:136569-137939
-/libcxx/trunk:321963,324153
+/libcxx/trunk:321963,324153,324855

Modified: libcxx/branches/release_60/CMakeLists.txt
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/branches/release_60/CMakeLists.txt?rev=324874&r1=324873&r2=324874&view=diff
==
--- libcxx/branches/release_60/CMakeLists.txt (original)
+++ libcxx/branches/release_60/CMakeLists.txt Mon Feb 12 02:04:36 2018
@@ -135,6 +135,9 @@ if (LIBCXX_CXX_ABI STREQUAL "default")
   elseif (APPLE)
 set(LIBCXX_CXX_ABI_LIBNAME "libcxxabi")
 set(LIBCXX_CXX_ABI_SYSTEM 1)
+  elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
+set(LIBCXX_CXX_ABI_LIBNAME "libcxxrt")
+set(LIBCXX_CXX_ABI_INCLUDE_PATHS "/usr/include/c++/v1")
   else()
 set(LIBCXX_CXX_ABI_LIBNAME "default")
   endif()


___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm-branch] r324875 - Merging r324772:

2018-02-12 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Mon Feb 12 02:14:34 2018
New Revision: 324875

URL: http://llvm.org/viewvc/llvm-project?rev=324875&view=rev
Log:
Merging r324772:

r324772 | thegameg | 2018-02-09 22:47:07 +0100 (Fri, 09 Feb 2018) | 25 lines

[X86][MC] Fix assembling rip-relative addressing + immediate displacements

In the rare case where the input contains rip-relative addressing with
immediate displacements, *and* the instruction ends with an immediate,
we encode the instruction in the wrong way:

movl $12345678, 0x400(%rdi) // all good, no rip-relative addr
movl %eax, 0x400(%rip) // all good, no immediate at the end of the instruction
movl $12345678, 0x400(%rip) // fails, encodes address as 0x3fc(%rip)

Offset is a label:

movl $12345678, foo(%rip)

we want to account for the size of the immediate (in this case,
$12345678, 4 bytes).

Offset is an immediate:

movl $12345678, 0x400(%rip)

we should not account for the size of the immediate, assuming the
immediate offset is what the user wanted.

Differential Revision: https://reviews.llvm.org/D43050


Modified:
llvm/branches/release_60/   (props changed)
llvm/branches/release_60/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
llvm/branches/release_60/test/MC/X86/x86-64.s

Propchange: llvm/branches/release_60/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Feb 12 02:14:34 2018
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,321751,321789,321791,321806,321862,321870,321872,321878,321911,321980,321991,321993-321994,322003,322016,322053,322056,322103,322106,322108,322123,322131,33,322272,322313,322372,322473,322623,322644,322724,322767,322875,322878-322879,322900,322904-322905,322973,322993,323034,323155,323190,323307,323331,323355,323369,323371,323384,323469,323515,323536,323582,323643,323671-323672,323706,323710,323759,323781,323810-323811,323813,323857,323907-323909,323913,323915,324002,324039,324422
+/llvm/trunk:155241,321751,321789,321791,321806,321862,321870,321872,321878,321911,321980,321991,321993-321994,322003,322016,322053,322056,322103,322106,322108,322123,322131,33,322272,322313,322372,322473,322623,322644,322724,322767,322875,322878-322879,322900,322904-322905,322973,322993,323034,323155,323190,323307,323331,323355,323369,323371,323384,323469,323515,323536,323582,323643,323671-323672,323706,323710,323759,323781,323810-323811,323813,323857,323907-323909,323913,323915,324002,324039,324422,324772

Modified: 
llvm/branches/release_60/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_60/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp?rev=324875&r1=324874&r2=324875&view=diff
==
--- llvm/branches/release_60/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 
(original)
+++ llvm/branches/release_60/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 
Mon Feb 12 02:14:34 2018
@@ -396,10 +396,14 @@ void X86MCCodeEmitter::emitMemModRMByte(
 
 // rip-relative addressing is actually relative to the *next* instruction.
 // Since an immediate can follow the mod/rm byte for an instruction, this
-// means that we need to bias the immediate field of the instruction with
-// the size of the immediate field.  If we have this case, add it into the
+// means that we need to bias the displacement field of the instruction 
with
+// the size of the immediate field. If we have this case, add it into the
 // expression to emit.
-int ImmSize = X86II::hasImm(TSFlags) ? X86II::getSizeOfImm(TSFlags) : 0;
+// Note: rip-relative addressing using immediate displacement values should
+// not be adjusted, assuming it was the user's intent.
+int ImmSize = !Disp.isImm() && X86II::hasImm(TSFlags)
+  ? X86II::getSizeOfImm(TSFlags)
+  : 0;
 
 EmitImmediate(Disp, MI.getLoc(), 4, MCFixupKind(FixupKind),
   CurByte, OS, Fixups, -ImmSize);

Modified: llvm/branches/release_60/test/MC/X86/x86-64.s
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_60/test/MC/X86/x86-64.s?rev=324875&r1=324874&r2=324875&view=diff
==
--- llvm/branches/release_60/test/MC/X86/x86-64.s (original)
+++ llvm/branches/release_60/test/MC/X86/x86-64.s Mon Feb 12 02:14:34 2018
@@ -622,6 +622,11 @@ movl   $12, foo(%rip)
 // CHECK: encoding: [0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
 // CHECK:fixup A - offset: 2, value: foo-8, kind: reloc_riprel_4byte
 
+// rdar://37247000
+movl   $12, 1024(%rip)
+// CHECK: movl $12, 1024(%rip)
+// CHECK: encoding: [0xc7,0x05,0x00,0x04,0x00,0x00,0x0c,0x