diff --git a/0001-DebugInfo-Discard-invalid-DBG_VALUE-instructions-in-.patch b/0001-DebugInfo-Discard-invalid-DBG_VALUE-instructions-in-.patch index 0642b97..86fe328 100644 --- a/0001-DebugInfo-Discard-invalid-DBG_VALUE-instructions-in-.patch +++ b/0001-DebugInfo-Discard-invalid-DBG_VALUE-instructions-in-.patch @@ -185,7 +185,7 @@ index 0000000..abc21bc + + bb.1: + ; This DBG_VALUE will be discarded (use before def of %0). -+ DBG_VALUE debug-use %0, debug-use $noreg, !18, !DIExpression(), debug-location !25 ++ DBG_VALUE debug-use %0, debug-use %noreg, !18, !DIExpression(), debug-location !25 + %0:gr64 = IMPLICIT_DEF + %0:gr64 = IMPLICIT_DEF + %0:gr64 = IMPLICIT_DEF @@ -193,32 +193,32 @@ index 0000000..abc21bc + + bb.2: + ; This DBG_VALUE will be discarded (%1 is defined earlier, but it is not live in, so we do not know where %1 is stored). -+ DBG_VALUE debug-use %1, debug-use $noreg, !18, !DIExpression(), debug-location !25 ++ DBG_VALUE debug-use %1, debug-use %noreg, !18, !DIExpression(), debug-location !25 + %1:gr64 = IMPLICIT_DEF + %1:gr64 = IMPLICIT_DEF + %1:gr64 = IMPLICIT_DEF + %1:gr64 = IMPLICIT_DEF + ; This DBG_VALUE is kept, even if %1 is dead, it was defined in the prev instruction, + ; so the value should be available for as long as the register allocated to %1 is live. -+ DBG_VALUE debug-use %1, debug-use $noreg, !18, !DIExpression(), debug-location !25 ++ DBG_VALUE debug-use %1, debug-use %noreg, !18, !DIExpression(), debug-location !25 + + bb.3: + %1:gr64 = IMPLICIT_DEF -+ DBG_VALUE 0, debug-use $noreg, !23, !DIExpression(), debug-location !25 ++ DBG_VALUE 0, debug-use %noreg, !23, !DIExpression(), debug-location !25 + ; This DBG_VALUE is kept, even if %1 is dead, it was defined in the prev non-dbg instruction, + ; so the value should be available for as long as the register allocated to %1 is live. -+ DBG_VALUE debug-use %1, debug-use $noreg, !18, !DIExpression(), debug-location !25 ++ DBG_VALUE debug-use %1, debug-use %noreg, !18, !DIExpression(), debug-location !25 + + bb.4: + ; All DBG_VALUEs here should survive. %2 is livein as it was defined in bb.0, and it has use/def in the BTS64rr instruction. -+ DBG_VALUE debug-use %2, debug-use $noreg, !18, !DIExpression(), debug-location !25 -+ %2:gr64 = BTS64rr %2, 0, implicit-def $eflags -+ DBG_VALUE 0, debug-use $noreg, !23, !DIExpression(), debug-location !25 -+ DBG_VALUE debug-use %2, debug-use $noreg, !18, !DIExpression(), debug-location !25 -+ %2:gr64 = BTS64rr %2, 0, implicit-def $eflags -+ DBG_VALUE debug-use %2, debug-use $noreg, !18, !DIExpression(), debug-location !25 -+ %2:gr64 = BTS64rr %2, 0, implicit-def $eflags -+ DBG_VALUE debug-use %2, debug-use $noreg, !18, !DIExpression(), debug-location !25 ++ DBG_VALUE debug-use %2, debug-use %noreg, !18, !DIExpression(), debug-location !25 ++ %2:gr64 = BTS64rr %2, 0, implicit-def %eflags ++ DBG_VALUE 0, debug-use %noreg, !23, !DIExpression(), debug-location !25 ++ DBG_VALUE debug-use %2, debug-use %noreg, !18, !DIExpression(), debug-location !25 ++ %2:gr64 = BTS64rr %2, 0, implicit-def %eflags ++ DBG_VALUE debug-use %2, debug-use %noreg, !18, !DIExpression(), debug-location !25 ++ %2:gr64 = BTS64rr %2, 0, implicit-def %eflags ++ DBG_VALUE debug-use %2, debug-use %noreg, !18, !DIExpression(), debug-location !25 + + bb.5: + RET 0, debug-location !32 @@ -228,35 +228,35 @@ index 0000000..abc21bc + +# CHECK-LABEL: bb.1: +## After solving https://bugs.llvm.org/show_bug.cgi?id=36579 we expect to get a -+## DBG_VALUE debug-use $noreg ++## DBG_VALUE debug-use %noreg +## here. +# CHECK-NOT: DBG_VALUE + +# CHECK-LABEL: bb.2: +## After solving https://bugs.llvm.org/show_bug.cgi?id=36579 we expect to get a -+## DBG_VALUE debug-use $noreg ++## DBG_VALUE debug-use %noreg +## here. +# CHECK-NOT: DBG_VALUE -+# CHECK: dead renamable $rcx = IMPLICIT_DEF -+# CHECK-NEXT: dead renamable $rcx = IMPLICIT_DEF -+# CHECK-NEXT: dead renamable $rcx = IMPLICIT_DEF -+# CHECK-NEXT: dead renamable $rcx = IMPLICIT_DEF -+# CHECK-NEXT: DBG_VALUE debug-use $rcx, debug-use $noreg, !18, !DIExpression() ++# CHECK: dead renamable %rcx = IMPLICIT_DEF ++# CHECK-NEXT: dead renamable %rcx = IMPLICIT_DEF ++# CHECK-NEXT: dead renamable %rcx = IMPLICIT_DEF ++# CHECK-NEXT: dead renamable %rcx = IMPLICIT_DEF ++# CHECK-NEXT: DBG_VALUE debug-use %rcx, debug-use %noreg, !18, !DIExpression() + +# CHECK-LABEL: bb.3: -+# CHECK: dead renamable $rcx = IMPLICIT_DEF -+# CHECK-NEXT: DBG_VALUE 0, debug-use $noreg, !23, !DIExpression() -+# CHECK-NEXT: DBG_VALUE debug-use $rcx, debug-use $noreg, !18, !DIExpression() ++# CHECK: dead renamable %rcx = IMPLICIT_DEF ++# CHECK-NEXT: DBG_VALUE 0, debug-use %noreg, !23, !DIExpression() ++# CHECK-NEXT: DBG_VALUE debug-use %rcx, debug-use %noreg, !18, !DIExpression() + +# CHECK-LABEL: bb.4: -+# CHECK: liveins: $rax -+# CHECK: DBG_VALUE debug-use $rax, debug-use $noreg, !18, !DIExpression() -+# CHECK-NEXT: renamable $rax = BTS64rr killed renamable $rax, 0, implicit-def $eflags -+# CHECK-NEXT: DBG_VALUE 0, debug-use $noreg, !23, !DIExpression() -+# CHECK-NEXT: DBG_VALUE debug-use $rax, debug-use $noreg, !18, !DIExpression() -+# CHECK-NEXT: renamable $rax = BTS64rr killed renamable $rax, 0, implicit-def $eflags -+# CHECK-NEXT: DBG_VALUE debug-use $rax, debug-use $noreg, !18, !DIExpression() -+# CHECK-NEXT: dead renamable $rax = BTS64rr killed renamable $rax, 0, implicit-def $eflags ++# CHECK: liveins: %rax ++# CHECK: DBG_VALUE debug-use %rax, debug-use %noreg, !18, !DIExpression() ++# CHECK-NEXT: renamable %rax = BTS64rr killed renamable %rax, 0, implicit-def %eflags ++# CHECK-NEXT: DBG_VALUE 0, debug-use %noreg, !23, !DIExpression() ++# CHECK-NEXT: DBG_VALUE debug-use %rax, debug-use %noreg, !18, !DIExpression() ++# CHECK-NEXT: renamable %rax = BTS64rr killed renamable %rax, 0, implicit-def %eflags ++# CHECK-NEXT: DBG_VALUE debug-use %rax, debug-use %noreg, !18, !DIExpression() ++# CHECK-NEXT: dead renamable %rax = BTS64rr killed renamable %rax, 0, implicit-def %eflags + +# CHECK-LABEL: bb.5: +# CHECK-NEXT: RET 0 diff --git a/llvm.spec b/llvm.spec index 9aff784..761a790 100644 --- a/llvm.spec +++ b/llvm.spec @@ -12,7 +12,7 @@ Name: llvm Version: %{maj_ver}.%{min_ver}.%{patch_ver} -Release: 9%{?dist} +Release: 10%{?dist} Summary: The Low Level Virtual Machine License: NCSA @@ -218,6 +218,9 @@ fi %{_libdir}/cmake/llvm/LLVMStaticExports.cmake %changelog +* Thu Mar 22 2018 Tom Stellard - 6.0.0-10 +- Fix testcase in backported patch + * Tue Mar 20 2018 Tom Stellard - 6.0.0-9 - Prevent external projects from linking against both static and shared libraries. rhbz#1558657