This is an archive of the discontinued LLVM Phabricator instance.

MachineInstr: Don't skip dead reg operands when printing.
ClosedPublic

Authored by MatzeB on May 30 2017, 3:39 PM.

Details

Summary

Once upon a time there was r86583:

Print "..." instead of all the uninteresting register clobbers on call
instructions. This makes CodeGen dumps significantly less noisy.

Example before:
  BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %R2<imp-def,dead>, %R3<imp-def,dead>, %R12<imp-def,dead>, %LR<imp-def,dead>, %D0<imp-def,dead>, %D1<imp-def,dead>, %D2<imp-def,dead>, %D3<imp-def,dead>, %D4<imp-def,dead>, %D5<imp-def,dead>, %D6<imp-def,dead>, %D7<imp-def,dead>, %D16<imp-def,dead>, %D17<imp-def,dead>, %D18<imp-def,dead>, %D19<imp-def,dead>, %D20<imp-def,dead>, %D21<imp-def,dead>, %D22<imp-def,dead>, %D23<imp-def,dead>, %D24<imp-def,dead>, %D25<imp-def,dead>, %D26<imp-def,dead>, %D27<imp-def,dead>, %D28<imp-def,dead>, %D29<imp-def,dead>, %D30<imp-def,dead>, %D31<imp-def,dead>, %CPSR<imp-def,dead>, %FPSCR<imp-def,dead>

Same example after:
  BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %LR<imp-def,dead>, %CPSR<imp-def,dead>, ...

Nowadays we have regmask operands on calls and hence don't have dozens of dead defs anymore. Hiding implicit def operands hurts debugging a lot more than it helps today so this reverts that behavior.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB created this revision.May 30 2017, 3:39 PM
MatzeB retitled this revision from MachineInstr: Do not omit implicit dead def operands to MachineInstr: Don't skip dead reg operands when printing..May 30 2017, 3:40 PM
This revision is now accepted and ready to land.May 30 2017, 3:45 PM
MatzeB closed this revision.May 30 2017, 4:10 PM

Committed as r304254