This is an archive of the discontinued LLVM Phabricator instance.

SelectionDAG: Introduce PersistentID to SDNode for assert builds.
ClosedPublic

Authored by MatzeB on Sep 2 2015, 10:53 AM.

Details

Summary

This gives us more human readable numbers to identify nodes in debug
dumps.

Before:

0x7fcbd9700160: ch = EntryToken

0x7fcbd985c7c8: i64 = Register %RAX

 ...

    0x7fcbd9700160: <multiple use>
  0x7fcbd985c578: i64,ch = MOV64rm 0x7fcbd985c6a0, 0x7fcbd985cc68, 0x7fcbd985c200, 0x7fcbd985cd90, 0x7fcbd985ceb8, 0x7fcbd9700160<Mem:LD8[@foo]> [ORD=2]

0x7fcbd985c8f0: ch,glue = CopyToReg 0x7fcbd9700160, 0x7fcbd985c7c8, 0x7fcbd985c578 [ORD=3]

  0x7fcbd985c7c8: <multiple use>
  0x7fcbd985c8f0: <multiple use>
  0x7fcbd985c8f0: <multiple use>
0x7fcbd985ca18: ch = RETQ 0x7fcbd985c7c8, 0x7fcbd985c8f0, 0x7fcbd985c8f0:1 [ORD=3]

Now:

t0: ch = EntryToken

t5: i64 = Register %RAX

  ...

    t0: <multiple use>
  t3: i64,ch = MOV64rm t10, t12, t11, t13, t14, t0<Mem:LD8[@foo]> [ORD=2]

t6: ch,glue = CopyToReg t0, t5, t3 [ORD=3]

  t5: <multiple use>
  t6: <multiple use>
  t6: <multiple use>
t7: ch = RETQ t5, t6, t6:1 [ORD=3]

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 33828.Sep 2 2015, 10:53 AM
MatzeB retitled this revision from to SelectionDAG: Introduce PersistentID to SDNode for assert builds..
MatzeB updated this object.
MatzeB added a reviewer: resistor.
MatzeB set the repository for this revision to rL LLVM.
MatzeB added a subscriber: llvm-commits.
escha added a subscriber: escha.Sep 2 2015, 11:18 AM

as someone who uses selectionDAG dumper a lot, I'd just like to say I *really* appreciate this patch.

resistor accepted this revision.Sep 15 2015, 2:15 PM
resistor edited edge metadata.

LGTM

This revision is now accepted and ready to land.Sep 15 2015, 2:15 PM
This revision was automatically updated to reflect the committed changes.