Improve Call Arity performance
This improves how the Call Arity deals with "boring" variables. Boring variables are those where it does not bother to include in the analysis result, so whenever something is looked up in the analysis result, we have to make a conservative assumption about them. Previously, we extended the result with such conservative information about them, to keep the code uniform, but that could blow up the amount of data passed around, even if only temporarily, and slowed things down. We now pass around an explicit list (well, set) of variable that are boring and take that into account whenever we use the result. Not as pretty, but noticably faster.
Showing
- compiler/simplCore/CallArity.hs 68 additions, 59 deletionscompiler/simplCore/CallArity.hs
- testsuite/tests/callarity/unittest/CallArity1.hs 5 additions, 0 deletionstestsuite/tests/callarity/unittest/CallArity1.hs
- testsuite/tests/callarity/unittest/CallArity1.stderr 5 additions, 1 deletiontestsuite/tests/callarity/unittest/CallArity1.stderr
Loading
Please register or sign in to comment