summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-06-10 09:25:57 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-06-14 10:48:51 -0400
commit5279dda861f6a5cc804be88dc5f0ff2442660149 (patch)
tree1ef81e731c456a2d30ee36430077d96399ebc369 /mk
parenteffdd948056923f3bc03688c24d7e0339d6272f5 (diff)
downloadhaskell-5279dda861f6a5cc804be88dc5f0ff2442660149.tar.gz
PrelRules: Don't break let/app invariant in shiftRule
Previously shiftRule would rewrite as invalid shift like ``` let x = I# (uncheckedIShiftL# n 80) in ... ``` to ``` let x = I# (error "invalid shift") in ... ``` However, this breaks the let/app invariant as `error` is not okay-for-speculation. There isn't an easy way to avoid this so let's not try. Instead we just take advantage of the undefined nature of invalid shifts and return zero. Fixes #16742.
Diffstat (limited to 'mk')
0 files changed, 0 insertions, 0 deletions