Fix erroneous float in CoreOpt
The simple optimiser was making an invalid transformation to join points -- yikes. The fix is easy. I also added some documentation about the fact that GHC uses a slightly more restrictive version of join points than does the paper. Fix #16918
Showing
- compiler/coreSyn/CoreLint.hs 6 additions, 3 deletionscompiler/coreSyn/CoreLint.hs
- compiler/coreSyn/CoreOpt.hs 38 additions, 4 deletionscompiler/coreSyn/CoreOpt.hs
- compiler/coreSyn/CoreSyn.hs 22 additions, 0 deletionscompiler/coreSyn/CoreSyn.hs
- testsuite/tests/simplCore/should_compile/T16918.hs 7 additions, 0 deletionstestsuite/tests/simplCore/should_compile/T16918.hs
- testsuite/tests/simplCore/should_compile/T16918a.hs 25 additions, 0 deletionstestsuite/tests/simplCore/should_compile/T16918a.hs
- testsuite/tests/simplCore/should_compile/all.T 2 additions, 0 deletionstestsuite/tests/simplCore/should_compile/all.T
Loading
Please register or sign in to comment