summaryrefslogtreecommitdiff
path: root/ghc
diff options
context:
space:
mode:
authorMax Bolingbroke <batterseapower@hotmail.com>2012-03-30 17:21:45 +0100
committerMax Bolingbroke <batterseapower@hotmail.com>2012-03-30 18:08:07 +0100
commit83d9b3805d271dc361d48187957498b3138ae62a (patch)
treedbdfaffab0a266cf177618b61421738b2aa84cdd /ghc
parentac2fbb4f6ce7bf9f0742207e1b974bbd556af85a (diff)
downloadhaskell-83d9b3805d271dc361d48187957498b3138ae62a.tar.gz
Attempt to detect loops through imported function RULEs
This is motivated by the fact that before this change marking e.g. GHC.List.filter as INLINABLE caused the compiler to diverge when you tried to make use of the function. The response is to say that a RULE on an imported function introduces a dependency edge between the FVs of its LHS and RHS for the purposes of computing loop breakers. This will not perfectly prevent all those potential inlinings that could cause the compiler to non-terminate, but it works well enough for the particular case we are interested in.
Diffstat (limited to 'ghc')
0 files changed, 0 insertions, 0 deletions