blob: ef8dd2d669484e557dbea97263e3846ee93d5deb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
\begin{code}
interface CgLoop1 where
import PreludeStdIO ( Maybe )
import CgBindery ( CgBindings(..), CgIdInfo(..),
VolatileLoc, StableLoc,
nukeVolatileBinds,
maybeAStkLoc, maybeBStkLoc
)
import CgUsages ( getSpBRelOffset )
import AbsCSyn ( RegRelative )
import CgMonad ( FCode(..) )
import ClosureInfo ( LambdaFormInfo )
import HeapOffs ( VirtualSpAOffset(..), VirtualSpBOffset(..) )
import Id ( IdEnv(..), Id(..) )
type CgBindings = IdEnv CgIdInfo
data CgIdInfo
= MkCgIdInfo Id -- Id that this is the info for
VolatileLoc
StableLoc
LambdaFormInfo
data VolatileLoc
data StableLoc
data LambdaFormInfo
nukeVolatileBinds :: CgBindings -> CgBindings
maybeAStkLoc :: StableLoc -> Maybe VirtualSpAOffset
maybeBStkLoc :: StableLoc -> Maybe VirtualSpBOffset
getSpBRelOffset :: VirtualSpBOffset -> FCode RegRelative
\end{code}
|