[LLVMbugs] [Bug 10550] New: [debug output] final instructions are out of order -> debug point jumps around

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Aug 1 08:32:41 PDT 2011


           Summary: [debug output] final instructions are out of order ->
                    debug point jumps around
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu

Created an attachment (id=6984)
 --> (http://llvm.org/bugs/attachment.cgi?id=6984)
test case

I'm seeing some undesirable behavior where, when generating debugging
information, sometimes the point in the debugger will jump forwards and
backwards during single stepping, even though the output from our frontend
(this is the ispc compiler), is emitting LLVM instructions with a strictly
forward-moving/increasing set of source locations.  I'm wondering if we're
doing something wrong here, or if this points to a bug somewhere in LLVM.

I've attached a case that demonstrates this.  Specifically, the instructions in
the LLVM assembly language for the foo() function have the following metadata
items associated with them, in the following order: 5519, 5520, 5522, 5523,
5524, 5525, 5526, 5527, 5528, 5529, 5530, 5531, 5532, 5533, 5534, 5521.  These
correspond to the source file locations: [4,22], [5,5], [5,11], [5,22], [5,23],
[6,14], [6,22], [6,24], [6,26], [8,11], [8,15], [9,9], [9,10], [9,11], [10,12],
[10,12].  ([line, column]).

However, if I run "llc -O0 debug.ll -o debug.s" with top of tree, the set of
source locations indicated in comments jumps from [5,23] to [9,10], and then
back to [6,22].  (And if I single-step through this code in gdb, I see the
corresponding jump around.)

If I dump out the IR after the various passes, it looks like things are still
properly ordered after machine function analysis, but then in the output from
the next pass, X86 DAG->DAG instruction selection, things have gotten out of

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list