This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug go/83992] wrong debug info: wrong NOTE_INSN_BLOCK_BEG placement causes TestCrashDumpsAllThreads gotools testcase failure
- From: "ian at airs dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 23 Jan 2018 15:47:39 +0000
- Subject: [Bug go/83992] wrong debug info: wrong NOTE_INSN_BLOCK_BEG placement causes TestCrashDumpsAllThreads gotools testcase failure
- Auto-submitted: auto-generated
- References: <bug-83992-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83992
--- Comment #1 from Ian Lance Taylor <ian at airs dot com> ---
In the 147t.cddce2 dump (as dumped with -fdump-tree-all-lineno) I see this:
<bb 4> [local count: 1063004407]:
# j_8 = PHI <[foo.go:6:7] 0(3), [foo.go:6:31] j_5(6)>
# DEBUG j => j_8
[foo.go:6:31] j_5 = j_8 + 1;
[foo.go:6:31] # DEBUG j => j_5
# DEBUG j => j_5
[foo.go:6:17] if (j_5 != 2147483647)
goto <bb 6>; [98.99%]
else
goto <bb 5>; [1.01%]
In the subsequent 148t.ivcanon dump I see this:
<bb 4> [local count: 1063004407]:
# j_8 = PHI <[foo.go:6:7] 0(3), [foo.go:6:31] j_5(6)>
# ivtmp_7 = PHI <2147483647(3), ivtmp_1(6)>
# DEBUG j => j_8
[foo.go:6:31] j_5 = j_8 + 1;
[foo.go:6:31] # DEBUG j => j_5
# DEBUG j => j_5
ivtmp_1 = ivtmp_7 - 1;
[foo.go:6:17] if (ivtmp_1 != 0)
goto <bb 6>; [98.99%]
else
goto <bb 5>; [1.01%]
Note that the new insn `ivtmp_1 = ivtmp_7 - 1;` has no location info. I think
that is the point that leads to the incorrect placement of the
NOTE_INSN_BLOCK_BEG note.