From: simonpj@microsoft.com Date: Wed, 5 Mar 2008 15:57:08 +0000 (+0000) Subject: Refactor OccAnal; and improve dead-code elimination X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=6dc702e8e8b744196b5841729d16d03f83218834;hp=6dc702e8e8b744196b5841729d16d03f83218834;p=ghc-hetmet.git Refactor OccAnal; and improve dead-code elimination The occurrence analyer is now really rather subtle when dealing with recursive groups; see Note [Loop breaking and RULES] especially. This patch refactors this code a bit, notably * Introduces a new data type Details instead of a tuple * More clearly breaks up a recursive group into its SCCs before processing it in a separate function occAnalRec * As a result, does better dead-code elimination, becuause it's done per SCC rather than for the whole Rec ---