Setting this as draft because emitting reasonable line numbers from DXIL needs work. The need to set the record number while parsing clashes with the need to emit instructions with consistent line numbers. Different parsing stages can emit instructions, so this becomes complex. Instructions should probably be emitted using a separate location declared in the sm6 parser.