Skip to content
  • Sebastian Graf's avatar
    63fe2ee2
    Rubbish literals for all representations (#18983) · 63fe2ee2
    Sebastian Graf authored and Zubin's avatar Zubin committed
    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.
    63fe2ee2
    Rubbish literals for all representations (#18983)
    Sebastian Graf authored and Zubin's avatar Zubin committed
    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.
Loading