| ghc-6.10.4: The GHC API | Contents | Index
RegSpillClean
Description
Clean out unneeded spill/reload instrs Handling of join points B1: B2: ... ... RELOAD SLOT(0), %r1 RELOAD SLOT(0), %r1 ... A ... ... B ... jump B3 jump B3 B3: ... C ... RELOAD SLOT(0), %r1 ... the plan: So long as %r1 hasn't been written to in A, B or C then we don't need the reload in B3. What we really care about here is that on the entry to B3, %r1 will always have the same value that is in SLOT(0) (ie, %r1 is _valid_) This also works if the reloads in B1/B2 were spills instead, because spilling %r1 to a slot makes that slot have the same value as %r1.
Synopsis
cleanSpills :: LiveCmmTop -> LiveCmmTop
Documentation
cleanSpills :: LiveCmmTop -> LiveCmmTop
Clean out unneeded spill/reloads from this top level thing.
Produced by Haddock version 2.4.2