Skip to content

Rubbish literals for all representations (#18983)

Sebastian Graf requested to merge wip/T18983 into master

This patch cleans up the complexity around WW's mk_absent_let by broadening the scope of LitRubbish. Rubbish literals now store the PrimRep they represent and are ultimately lowered in Cmm. This in turn allows absent literals of VecRep or VoidRep. The latter allows absent literals for unlifted coercions, as requested in #18983.

I took the liberty to rewrite and clean up Note [Absent fillers] and Note [Rubbish values] to account for the new implementation and to make them more orthogonal in their description.

I didn't add a new regression test, as T18982 already contains the test in the ticket and its test output changes as expected.

Fixes #18983.

Edited by Sebastian Graf

Merge request reports