This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug go/83992] wrong debug info: wrong NOTE_INSN_BLOCK_BEG placement causes TestCrashDumpsAllThreads gotools testcase failure


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]