• Ömer Sinan Ağacan's avatar
    Fix dataToTag# argument evaluation · b11126fc
    Ömer Sinan Ağacan authored
    See #15696 for more details. We now always enter dataToTag# argument (done in
    generated Cmm, in StgCmmExpr). Any high-level optimisations on dataToTag#
    applications are done by the simplifier. Looking at tag bits (instead of
    reading the info table) for small types is left to another diff.
    
    Incorrect test T14626 is removed. We no longer do this optimisation (see
    comment:44, comment:45, comment:60).
    
    Comments and notes about special cases around dataToTag# are removed. We no
    longer have any special cases around it in Core.
    
    Other changes related to evaluating primops (seq# and dataToTag#) will be
    pursued in follow-up diffs.
    
    Test Plan: Validates with three regression tests
    
    Reviewers: simonpj, simonmar, hvr, bgamari, dfeuer
    
    Reviewed By: simonmar
    
    Subscribers: rwbarton, carter
    
    GHC Trac Issues: #15696
    
    Differential Revision: https://phabricator.haskell.org/D5201
    
    (cherry picked from commit ac977688)
    b11126fc
primops.txt.pp 133 KB