Hello community,

here is the log from the commit of package llvm3_9 for openSUSE:Factory checked 
in at 2017-01-24 11:31:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm3_9 (Old)
 and      /work/SRC/openSUSE:Factory/.llvm3_9.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "llvm3_9"

Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm3_9/llvm3_9.changes  2017-01-23 
11:28:38.276337361 +0100
+++ /work/SRC/openSUSE:Factory/.llvm3_9.new/llvm3_9.changes     2017-01-24 
11:31:04.504064226 +0100
@@ -1,0 +2,6 @@
+Tue Jan 24 08:38:09 UTC 2017 - idon...@suse.com
+
+- Add amdgpu_revert_r280589.patch to fix an amdgpu regression
+  bsc#1021577
+
+-------------------------------------------------------------------

New:
----
  amdgpu_revert_r280589.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lldb3_9.spec ++++++
--- /var/tmp/diff_new_pack.ImDmLJ/_old  2017-01-24 11:31:06.035847780 +0100
+++ /var/tmp/diff_new_pack.ImDmLJ/_new  2017-01-24 11:31:06.035847780 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package lldb3_9
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -34,15 +34,15 @@
 Patch1:         lldb-add-pthread-dl-libs.patch
 # PATCH-FIX-UPSTREAM lldb-use-llvm-regex.patch -- Replace uses of 
MIUtilParse::CRegexParser with llvm::Regex and Remove MIUtilParse (no longer 
used) -- See: https://llvm.org/bugs/show_bug.cgi?id=29138 
https://reviews.llvm.org/D23882 https://reviews.llvm.org/D23883
 Patch2:         lldb-use-llvm-regex.patch
+BuildRequires:  clang%{_sonum}-devel = %{version}
 BuildRequires:  cmake
 BuildRequires:  fdupes
+BuildRequires:  llvm%{_sonum}-devel = %{version}
+BuildRequires:  llvm%{_sonum}-gold = %{version}
 BuildRequires:  ncurses-devel
 BuildRequires:  ninja
 BuildRequires:  pkgconfig
 BuildRequires:  swig
-BuildRequires:  llvm%{_sonum}-devel = %{version}
-BuildRequires:  clang%{_sonum}-devel = %{version}
-BuildRequires:  llvm%{_sonum}-gold = %{version}
 BuildRequires:  pkgconfig(libedit)
 BuildRequires:  pkgconfig(libffi)
 BuildRequires:  pkgconfig(libxml-2.0)
@@ -64,8 +64,8 @@
 
 %package -n liblldb%{_sonum}
 Summary:        LLDB software debugger runtime library
-Group:          System/Libraries
 # Avoid multiple provider errors
+Group:          System/Libraries
 Requires:       libLLVM%{_sonum} = %{version}
 Requires:       libclang%{_sonum} = %{version}
 
@@ -74,14 +74,14 @@
 
 %package devel
 Summary:        Development files for LLDB
-Group:          Development/Languages/Other
 # Avoid multiple provider errors
-Requires:       liblldb%{_sonum} = %{version}
+Group:          Development/Languages/Other
+Requires:       clang%{_sonum}-devel = %{version}
 Requires:       cmake
+Requires:       liblldb%{_sonum} = %{version}
+Requires:       llvm%{_sonum}-devel = %{version}
 Requires:       ncurses-devel
 Requires:       swig
-Requires:       llvm%{_sonum}-devel = %{version}
-Requires:       clang%{_sonum}-devel = %{version}
 Requires:       pkgconfig(libedit)
 Requires:       pkgconfig(libffi)
 Requires:       pkgconfig(libxml-2.0)
@@ -93,8 +93,8 @@
 
 %package -n python%{_sonum}-lldb
 Summary:        Python bindings for liblldb
-Group:          Development/Languages/Python
 # Avoid multiple provider errors
+Group:          Development/Languages/Python
 Requires:       liblldb%{_sonum} = %{version}
 Requires:       python
 Provides:       %{python_sitearch}/lldb/

++++++ llvm3_9.spec ++++++
--- /var/tmp/diff_new_pack.ImDmLJ/_old  2017-01-24 11:31:06.079841564 +0100
+++ /var/tmp/diff_new_pack.ImDmLJ/_new  2017-01-24 11:31:06.079841564 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package llvm3_9
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -75,6 +75,7 @@
 Patch10:        clang-incomplete-field-types.patch
 # PATCH-FIX-UPSTREAM llvm-install-CheckAtomic.patch -- Install 
CheckAtomic.cmake (needed by lldb) -- See: https://reviews.llvm.org/D23887
 Patch11:        llvm-install-CheckAtomic.patch
+Patch12:        amdgpu_revert_r280589.patch
 Patch20:        glibc-2.24-libcxx.patch
 BuildRequires:  binutils-devel >= 2.21.90
 BuildRequires:  bison
@@ -135,8 +136,8 @@
 Requires:       groff
 Requires:       libstdc++-devel
 Requires:       libtool
-Requires:       llvm%{_sonum}-gold
 Requires:       llvm%{_sonum}-LTO-devel
+Requires:       llvm%{_sonum}-gold
 Requires:       ncurses-devel
 Requires:       pkgconfig
 Requires:       pkgconfig(libedit)
@@ -157,8 +158,8 @@
 
 %package -n clang%{_sonum}
 Summary:        CLANG frontend for LLVM
-Group:          Development/Languages/Other
 # Avoid multiple provider errors
+Group:          Development/Languages/Other
 Requires:       libLTO%{_sonum}
 Requires:       libclang%{_sonum}
 Recommends:     llvm-gold-devel
@@ -176,8 +177,8 @@
 
 %package -n clang%{_sonum}-checker
 Summary:        Static code analyzer for CLANG
-Group:          Development/Languages/Other
 # Avoid multiple provider errors
+Group:          Development/Languages/Other
 Requires:       libclang%{_sonum}
 Conflicts:      otherproviders(scan-build)
 Conflicts:      otherproviders(scan-view)
@@ -192,8 +193,8 @@
 
 %package -n clang%{_sonum}-include-fixer
 Summary:        Automatically add missing includes
-Group:          Development/Languages/Other
 # Avoid multiple provider errors
+Group:          Development/Languages/Other
 Requires:       libclang%{_sonum} = %{version}
 Conflicts:      otherproviders(clang-include-fixer)
 Conflicts:      otherproviders(find-all-symbols)
@@ -214,8 +215,8 @@
 
 %package -n libclang%{_sonum}
 Summary:        Library files needed for clang
-Group:          Development/Libraries/C and C++
 # Avoid multiple provider errors
+Group:          Development/Libraries/C and C++
 Requires:       libLLVM%{_sonum}
 Requires:       libstdc++-devel
 
@@ -225,8 +226,8 @@
 %package -n clang%{_sonum}-devel
 Summary:        CLANG frontend for LLVM (devel package)
 Group:          Development/Languages/Other
-Requires:       clang%{_sonum} = %{version}
 Requires:       %{name}-devel = %{version}
+Requires:       clang%{_sonum} = %{version}
 Conflicts:      otherproviders(cmake(Clang))
 
 %description -n clang%{_sonum}-devel
@@ -235,8 +236,8 @@
 
 %package -n libLTO%{_sonum}
 Summary:        Link-time optimizer for LLVM
-Group:          Development/Languages/Other
 # Avoid multiple provider errors
+Group:          Development/Languages/Other
 Requires:       libLLVM%{_sonum}
 
 %description -n libLTO%{_sonum}
@@ -244,10 +245,10 @@
 
 %package LTO-devel
 Summary:        Link-time optimizer for LLVM (devel package)
-Group:          Development/Languages/Other
 # Avoid multiple provider errors
-Requires:       libLTO%{_sonum}
+Group:          Development/Languages/Other
 Requires:       %{name}-devel = %{version}
+Requires:       libLTO%{_sonum}
 Conflicts:      otherproviders(libLTO.so)
 Provides:       libLTO.so
 
@@ -257,10 +258,10 @@
 
 %package gold
 Summary:        Gold linker plugin for LLVM
-Group:          Development/Languages/Other
 # Avoid multiple provider errors
-Requires:       libLLVM%{_sonum}
+Group:          Development/Languages/Other
 Requires:       %{name}-devel = %{version}
+Requires:       libLLVM%{_sonum}
 Conflicts:      otherproviders(LLVMgold.so()(64bit))
 Provides:       LLVMgold.so()(64bit)
 
@@ -269,8 +270,8 @@
 
 %package -n libomp%{_sonum}-devel
 Summary:        MPI plugin for LLVM
-Group:          Development/Languages/Other
 # Avoid multiple provider errors
+Group:          Development/Languages/Other
 Requires:       libLLVM%{_sonum}
 Provides:       libomp-devel
 Conflicts:      otherproviders(libomp-devel)
@@ -308,8 +309,8 @@
 
 %package -n libc++abi-devel
 Summary:        C++ standard library ABI (devel package)
-Group:          Development/Languages/C and C++
 # Avoid multiple provider errors
+Group:          Development/Languages/C and C++
 Requires:       libc++-devel
 Conflicts:      otherproviders(libc++abi.so)
 Provides:       libc++abi.so
@@ -365,6 +366,7 @@
 %patch9
 %patch10
 %patch11 -p1
+%patch12 -p1
 %if 0%{?suse_version} > 1320
 %patch20
 %endif
@@ -733,7 +735,6 @@
     %_sbindir/update-alternatives --remove llvm-ar 
%{_bindir}/llvm-ar-%{version}
 fi
 
-
 %post -n clang%{_sonum}
 %_sbindir/update-alternatives \
    --install %{_bindir}/clang clang %{_bindir}/clang-%{version} %{_uaver} \
@@ -760,7 +761,6 @@
     %_sbindir/update-alternatives --remove clang %{_bindir}/clang-%{version}
 fi
 
-
 %files
 %defattr(-,root,root)
 %{_bindir}/bugpoint

++++++ amdgpu_revert_r280589.patch ++++++
Index: llvm-3.9.1.src/lib/Target/AMDGPU/SIWholeQuadMode.cpp
===================================================================
--- llvm-3.9.1.src.orig/lib/Target/AMDGPU/SIWholeQuadMode.cpp
+++ llvm-3.9.1.src/lib/Target/AMDGPU/SIWholeQuadMode.cpp
@@ -219,6 +219,13 @@ char SIWholeQuadMode::scanInstructions(M
       markInstruction(MI, Flags, Worklist);
       GlobalFlags |= Flags;
     }
+
+    if (WQMOutputs && MBB.succ_empty()) {
+      // This is a prolog shader. Make sure we go back to exact mode at the 
end.
+      Blocks[&MBB].OutNeeds = StateExact;
+      Worklist.push_back(&MBB);
+      GlobalFlags |= StateExact;
+    }
   }
 
   return GlobalFlags;
Index: llvm-3.9.1.src/lib/Target/AMDGPU/SIInstructions.td
===================================================================
--- llvm-3.9.1.src.orig/lib/Target/AMDGPU/SIInstructions.td
+++ llvm-3.9.1.src/lib/Target/AMDGPU/SIInstructions.td
@@ -2029,7 +2029,6 @@ def SI_RETURN : PseudoInstSI <
   let hasSideEffects = 1;
   let SALU = 1;
   let hasNoSchedulingInfo = 1;
-  let DisableWQM = 1;
 }
 
 let Uses = [EXEC], Defs = [EXEC, VCC, M0],
Index: llvm-3.9.1.src/test/CodeGen/AMDGPU/wqm.ll
===================================================================
--- llvm-3.9.1.src.orig/test/CodeGen/AMDGPU/wqm.ll
+++ llvm-3.9.1.src/test/CodeGen/AMDGPU/wqm.ll
@@ -17,18 +17,17 @@ main_body:
 ;CHECK-LABEL: {{^}}test2:
 ;CHECK-NEXT: ; %main_body
 ;CHECK-NEXT: s_wqm_b64 exec, exec
+;CHECK: image_sample
 ;CHECK-NOT: exec
-define amdgpu_ps void @test2(<8 x i32> inreg %rsrc, <4 x i32> inreg %sampler, 
float addrspace(1)* inreg %ptr, <4 x i32> %c) {
+;CHECK: _load_dword v0,
+define amdgpu_ps float @test2(<8 x i32> inreg %rsrc, <4 x i32> inreg %sampler, 
float addrspace(1)* inreg %ptr, <4 x i32> %c) {
 main_body:
   %c.1 = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> %c, <8 x i32> 
%rsrc, <4 x i32> %sampler, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, 
i32 0)
   %c.2 = bitcast <4 x float> %c.1 to <4 x i32>
   %c.3 = extractelement <4 x i32> %c.2, i32 0
   %gep = getelementptr float, float addrspace(1)* %ptr, i32 %c.3
   %data = load float, float addrspace(1)* %gep
-
-  call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %data, 
float undef, float undef, float undef)
-
-  ret void
+  ret float %data
 }
 
 ; ... but disabled for stores (and, in this simple case, not re-enabled).
@@ -415,46 +414,6 @@ entry:
   ret void
 }
 
-; Must return to exact at the end of a non-void returning shader,
-; otherwise the EXEC mask exported by the epilog will be wrong. This is true
-; even if the shader has no kills, because a kill could have happened in a
-; previous shader fragment.
-;
-; CHECK-LABEL: {{^}}test_nonvoid_return:
-; CHECK: s_mov_b64 [[LIVE:s\[[0-9]+:[0-9]+\]]], exec
-; CHECK: s_wqm_b64 exec, exec
-;
-; CHECK: s_and_b64 exec, exec, [[LIVE]]
-; CHECK-NOT: exec
-define amdgpu_ps <4 x float> @test_nonvoid_return() nounwind {
-  %tex = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> undef, <8 x 
i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, 
i32 0)
-  %tex.i = bitcast <4 x float> %tex to <4 x i32>
-  %dtex = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> %tex.i, <8 x 
i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, 
i32 0)
-  ret <4 x float> %dtex
-}
-
-; CHECK-LABEL: {{^}}test_nonvoid_return_unreachable:
-; CHECK: s_mov_b64 [[LIVE:s\[[0-9]+:[0-9]+\]]], exec
-; CHECK: s_wqm_b64 exec, exec
-;
-; CHECK: s_and_b64 exec, exec, [[LIVE]]
-; CHECK-NOT: exec
-define amdgpu_ps <4 x float> @test_nonvoid_return_unreachable(i32 inreg %c) 
nounwind {
-entry:
-  %tex = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> undef, <8 x 
i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, 
i32 0)
-  %tex.i = bitcast <4 x float> %tex to <4 x i32>
-  %dtex = call <4 x float> @llvm.SI.image.sample.v4i32(<4 x i32> %tex.i, <8 x 
i32> undef, <4 x i32> undef, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, 
i32 0)
-
-  %cc = icmp sgt i32 %c, 0
-  br i1 %cc, label %if, label %else
-
-if:
-  store volatile <4 x float> %dtex, <4 x float>* undef
-  unreachable
-
-else:
-  ret <4 x float> %dtex
-}
 
 declare void @llvm.amdgcn.image.store.v4i32(<4 x float>, <4 x i32>, <8 x i32>, 
i32, i1, i1, i1, i1) #1
 declare void @llvm.amdgcn.buffer.store.f32(float, <4 x i32>, i32, i32, i1, i1) 
#1

Reply via email to