If we have a bundle like
BUNDLE %vreg0<imp-def,dead> * %vreg0<def> = <some_instr>
and the entire %vreg0 live range needs to be spilled to the stack, we still
shouldn't insert a spill of %vreg0 after the above bundle since that
particular def is dead and the verifier will then complain about a use
after the dead def.
To solve this problem when there seems to be a mismatch between the dead
flags in the BUNDLE instruction and the bundled instructions, we only
examine the defs of the BUNDLE instruction if it exists.
On some targets there are bundles without BUNDLE instructions, and in those
cases we continue to examine the def of each individual bundled
instruction.
I think we need to converge on what a dead flag of something already defined and used mean before moving forward with a fix.