<br><br><div class="gmail_quote">On Thu Dec 11 2014 at 8:07:05 AM Frédéric Riss <<a href="mailto:friss@apple.com">friss@apple.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
> On Dec 10, 2014, at 10:22 PM, Ekaterina Romanova <<a href="mailto:katya_romanova@playstation.sony.com" target="_blank">katya_romanova@playstation.<u></u>sony.com</a>> wrote:<br>
><br>
> Author: kromanova<br>
> Date: Thu Dec 11 00:22:35 2014<br>
> New Revision: 224000<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=224000&view=rev" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project?rev=224000&view=rev</a><br>
> Log:<br>
> Reverting commit 223981, because the test that I added (incorrect-variable-debugloc1.<u></u>ll) failed for llvm-ppc64.<br>
><br>
> The test is failing for llvm-ppc64 because for this platform the location list is not being generated at all (most likely because of the bug in PPC code optimization or generation). I will file a bug agains PPC compiler, but meanwhile, until PPC bug is fixed, I will have to revert my change.<br>
<br>
If PPC is the only affected target, I believe it makes sense to leave the change in tree and add an XFAIL for the target (and of course file a bug).<br>
<br>
Thanks!<br>
<br></blockquote><div><br></div><div>I concur. Feel free to add this back, and we can figure out why ppc isn't working here.</div><div><br></div><div>-eric</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> Removed:<br>
>    llvm/trunk/test/DebugInfo/<u></u>incorrect-variable-debugloc1.<u></u>ll<br>
> Modified:<br>
>    llvm/trunk/lib/CodeGen/<u></u>AsmPrinter/DwarfDebug.cpp<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<u></u>AsmPrinter/DwarfDebug.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=224000&r1=223999&r2=224000&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/llvm/trunk/lib/<u></u>CodeGen/AsmPrinter/DwarfDebug.<u></u>cpp?rev=224000&r1=223999&r2=<u></u>224000&view=diff</a><br>
> ==============================<u></u>==============================<u></u>==================<br>
> --- llvm/trunk/lib/CodeGen/<u></u>AsmPrinter/DwarfDebug.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<u></u>AsmPrinter/DwarfDebug.cpp Thu Dec 11 00:22:35 2014<br>
> @@ -1722,8 +1722,6 @@ void DwarfDebug::emitDebugLocValue(<u></u>ByteS<br>
>       Streamer.EmitInt8(dwarf::DW_<u></u>OP_constu, "DW_OP_constu");<br>
>       Streamer.EmitULEB128(Value.<u></u>getInt());<br>
>     }<br>
> -   if (getDwarfVersion() >= 4)<br>
> -      Streamer.EmitInt8(dwarf::DW_<u></u>OP_stack_value, "DW_OP_stack_value");<br>
>   } else if (Value.isLocation()) {<br>
>     MachineLocation Loc = Value.getLoc();<br>
>     DIExpression Expr = Value.getExpression();<br>
><br>
> Removed: llvm/trunk/test/DebugInfo/<u></u>incorrect-variable-debugloc1.<u></u>ll<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/incorrect-variable-debugloc1.ll?rev=223999&view=auto" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/llvm/trunk/test/<u></u>DebugInfo/incorrect-variable-<u></u>debugloc1.ll?rev=223999&view=<u></u>auto</a><br>
> ==============================<u></u>==============================<u></u>==================<br>
> --- llvm/trunk/test/DebugInfo/<u></u>incorrect-variable-debugloc1.<u></u>ll (original)<br>
> +++ llvm/trunk/test/DebugInfo/<u></u>incorrect-variable-debugloc1.<u></u>ll (removed)<br>
> @@ -1,72 +0,0 @@<br>
> -; REQUIRES: object-emission<br>
> -; RUN: %llc_dwarf -O2  -dwarf-version 2 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s  --check-prefix=DWARF23<br>
> -; RUN: %llc_dwarf -O2  -dwarf-version 3 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s  --check-prefix=DWARF23<br>
> -; RUN: %llc_dwarf -O2  -dwarf-version 4 -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s  --check-prefix=DWARF4<br>
> -<br>
> -; This is a test for PR21176.<br>
> -; DW_OP_const <const> doesn't describe a constant value, but a value at a constant address.<br>
> -; The proper way to describe a constant value is DW_OP_constu <const>, DW_OP_stack_value.<br>
> -<br>
> -; Generated with clang -S -emit-llvm -g -O2 test.cpp<br>
> -<br>
> -; extern int func();<br>
> -;<br>
> -; int main()<br>
> -; {<br>
> -;   volatile int c = 13;<br>
> -;   c = func();<br>
> -;   return c;<br>
> -; }<br>
> -<br>
> -; DWARF23: Location description: 10 0d {{$}}<br>
> -; DWARF4: Location description: 10 0d 9f<br>
> -<br>
> -; Function Attrs: uwtable<br>
> -define i32 @main() #0 {<br>
> -entry:<br>
> -  %c = alloca i32, align 4<br>
> -  tail call void @llvm.dbg.value(metadata !15, i64 0, metadata !10, metadata !16), !dbg !17<br>
> -  store volatile i32 13, i32* %c, align 4, !dbg !18<br>
> -  %call = tail call i32 @_Z4funcv(), !dbg !19<br>
> -  tail call void @llvm.dbg.value(metadata !{i32 %call}, i64 0, metadata !10, metadata !16), !dbg !17<br>
> -  store volatile i32 %call, i32* %c, align 4, !dbg !19<br>
> -  tail call void @llvm.dbg.value(metadata !{i32* %c}, i64 0, metadata !10, metadata !16), !dbg !17<br>
> -  %c.0.c.0. = load volatile i32* %c, align 4, !dbg !20<br>
> -  ret i32 %c.0.c.0., !dbg !20<br>
> -}<br>
> -<br>
> -declare i32 @_Z4funcv() #1<br>
> -<br>
> -; Function Attrs: nounwind readnone<br>
> -declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2<br>
> -<br>
> -attributes #0 = { uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="<u></u>false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"=<u></u>"8" "unsafe-fp-math"="false" "use-soft-float"="false" }<br>
> -attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="<u></u>false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"=<u></u>"8" "unsafe-fp-math"="false" "use-soft-float"="false" }<br>
> -attributes #2 = { nounwind readnone }<br>
> -<br>
> -!<a href="http://llvm.dbg.cu" target="_blank">llvm.dbg.cu</a> = !{!0}<br>
> -!llvm.module.flags = !{!12, !13}<br>
> -!llvm.ident = !{!14}<br>
> -<br>
> -!0 = metadata !{metadata !"0x11\004\00clang version 3.6.0 (trunk 223522)\001\00\000\00\001", metadata !1, metadata !2, metadata !2, metadata !3, metadata !2, metadata !2} ; [ DW_TAG_compile_unit ] [/home/kromanova/ngh/ToT_<u></u>latest/llvm/test/DebugInfo/<u></u>test.cpp] [DW_LANG_C_plus_plus]<br>
> -!1 = metadata !{metadata !"test.cpp", metadata !"/home/kromanova/ngh/ToT_<u></u>latest/llvm/test/DebugInfo"}<br>
> -!2 = metadata !{}<br>
> -!3 = metadata !{metadata !4}<br>
> -!4 = metadata !{metadata !"0x2e\00main\00main\00\003\<u></u>000\001\000\000\00256\001\004"<u></u>, metadata !1, metadata !5, metadata !6, null, i32 ()* @main, null, null, metadata !9} ; [ DW_TAG_subprogram ] [line 3] [def] [scope 4] [main]<br>
> -!5 = metadata !{metadata !"0x29", metadata !1}    ; [ DW_TAG_file_type ] [/home/kromanova/ngh/ToT_<u></u>latest/llvm/test/DebugInfo/<u></u>test.cpp]<br>
> -!6 = metadata !{metadata !"0x15\00\000\000\000\000\000\<u></u>000", null, null, null, metadata !7, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]<br>
> -!7 = metadata !{metadata !8}<br>
> -!8 = metadata !{metadata !"0x24\00int\000\0032\0032\<u></u>000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]<br>
> -!9 = metadata !{metadata !10}<br>
> -!10 = metadata !{metadata !"0x100\00c\005\000", metadata !4, metadata !5, metadata !11} ; [ DW_TAG_auto_variable ] [c] [line 5]<br>
> -!11 = metadata !{metadata !"0x35\00\000\000\000\000\000"<u></u>, null, null, metadata !8} ; [ DW_TAG_volatile_type ] [line 0, size 0, align 0, offset 0] [from int]<br>
> -!12 = metadata !{i32 2, metadata !"Dwarf Version", i32 2}<br>
> -!13 = metadata !{i32 2, metadata !"Debug Info Version", i32 2}<br>
> -!14 = metadata !{metadata !"clang version 3.6.0 (trunk 223522)"}<br>
> -!15 = metadata !{i32 13}<br>
> -!16 = metadata !{metadata !"0x102"}               ; [ DW_TAG_expression ]<br>
> -!17 = metadata !{i32 5, i32 16, metadata !4, null}<br>
> -!18 = metadata !{i32 5, i32 3, metadata !4, null}<br>
> -!19 = metadata !{i32 6, i32 7, metadata !4, null}<br>
> -!20 = metadata !{i32 7, i32 3, metadata !4, null}<br>
> -<br>
><br>
><br>
> ______________________________<u></u>_________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
<br>
<br>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
</blockquote></div>