X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fcmm%2FOptimizationFuel.hs;h=175dcd09b18a4c602cb9531796d0f4b7abf89673;hp=5e400c4009f14916d7318a485a2840685cf11fcc;hb=8a9eb3cd35117c62ac9758d118c6f4109b7330cb;hpb=31a9d04804d9cacda35695c5397590516b964964 diff --git a/compiler/cmm/OptimizationFuel.hs b/compiler/cmm/OptimizationFuel.hs index 5e400c4..175dcd0 100644 --- a/compiler/cmm/OptimizationFuel.hs +++ b/compiler/cmm/OptimizationFuel.hs @@ -1,3 +1,9 @@ +-- | Optimisation fuel is used to control the amount of work the optimiser does. +-- +-- Every optimisation step consumes a certain amount of fuel and stops when +-- it runs out of fuel. This can be used e.g. to debug optimiser bugs: Run +-- the optimiser with varying amount of fuel to find out the exact number of +-- steps where a bug is introduced in the output. module OptimizationFuel ( OptimizationFuel, canRewriteWithFuel, maybeRewriteWithFuel, oneLessFuel , OptFuelState, initOptFuelState --, setTotalFuel @@ -17,7 +23,7 @@ import ZipCfg --import GHC.Exts (State#) import Panic import Data.IORef -import Monad +import Control.Monad import StaticFlags (opt_Fuel) import UniqSupply