Fix loopification in the presence of void arguments
This also removes Note [Void arguments in self-recursive tail calls], which was just misleading. It's important to count void args both in the function's arity and at the call site. Fixes #24295.
Showing
- compiler/GHC/StgToCmm/Bind.hs 7 additions, 1 deletioncompiler/GHC/StgToCmm/Bind.hs
- compiler/GHC/StgToCmm/Closure.hs 20 additions, 18 deletionscompiler/GHC/StgToCmm/Closure.hs
- compiler/GHC/StgToCmm/Expr.hs 13 additions, 35 deletionscompiler/GHC/StgToCmm/Expr.hs
- compiler/GHC/StgToCmm/Heap.hs 1 addition, 1 deletioncompiler/GHC/StgToCmm/Heap.hs
- compiler/GHC/StgToCmm/Monad.hs 3 additions, 1 deletioncompiler/GHC/StgToCmm/Monad.hs
- compiler/GHC/StgToCmm/Sequel.hs 12 additions, 2 deletionscompiler/GHC/StgToCmm/Sequel.hs
- testsuite/tests/codeGen/should_run/T24295a.hs 20 additions, 0 deletionstestsuite/tests/codeGen/should_run/T24295a.hs
- testsuite/tests/codeGen/should_run/T24295a.stdout 1 addition, 0 deletionstestsuite/tests/codeGen/should_run/T24295a.stdout
- testsuite/tests/codeGen/should_run/T24295b.hs 28 additions, 0 deletionstestsuite/tests/codeGen/should_run/T24295b.hs
- testsuite/tests/codeGen/should_run/all.T 2 additions, 0 deletionstestsuite/tests/codeGen/should_run/all.T
Loading
Please register or sign in to comment