Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
GHC
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
4,273
Issues
4,273
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
413
Merge Requests
413
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
6c381e87
Commit
6c381e87
authored
Mar 19, 1996
by
partain
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[project @ 1996-03-19 08:58:34 by partain]
simonpj/sansom/partain/dnt 1.3 compiler stuff through 96/03/18
parent
8147a9f0
Changes
514
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
514 changed files
with
40933 additions
and
43803 deletions
+40933
-43803
ghc/compiler/HsVersions.h
ghc/compiler/HsVersions.h
+2
-0
ghc/compiler/Jmakefile
ghc/compiler/Jmakefile
+433
-842
ghc/compiler/absCSyn/AbsCFuns.hi
ghc/compiler/absCSyn/AbsCFuns.hi
+0
-30
ghc/compiler/absCSyn/AbsCSyn.hi
ghc/compiler/absCSyn/AbsCSyn.hi
+0
-149
ghc/compiler/absCSyn/AbsCSyn.lhs
ghc/compiler/absCSyn/AbsCSyn.lhs
+42
-166
ghc/compiler/absCSyn/AbsCUtils.lhs
ghc/compiler/absCSyn/AbsCUtils.lhs
+87
-179
ghc/compiler/absCSyn/CLabel.lhs
ghc/compiler/absCSyn/CLabel.lhs
+39
-298
ghc/compiler/absCSyn/CStrings.lhs
ghc/compiler/absCSyn/CStrings.lhs
+153
-0
ghc/compiler/absCSyn/Costs.hi
ghc/compiler/absCSyn/Costs.hi
+0
-12
ghc/compiler/absCSyn/Costs.lhs
ghc/compiler/absCSyn/Costs.lhs
+209
-209
ghc/compiler/absCSyn/HeapOffs.hi
ghc/compiler/absCSyn/HeapOffs.hi
+0
-28
ghc/compiler/absCSyn/HeapOffs.lhs
ghc/compiler/absCSyn/HeapOffs.lhs
+21
-25
ghc/compiler/absCSyn/PprAbsC.hi
ghc/compiler/absCSyn/PprAbsC.hi
+0
-26
ghc/compiler/absCSyn/PprAbsC.lhs
ghc/compiler/absCSyn/PprAbsC.lhs
+166
-210
ghc/compiler/basicTypes/BasicLit.hi
ghc/compiler/basicTypes/BasicLit.hi
+0
-22
ghc/compiler/basicTypes/CLabelInfo.hi
ghc/compiler/basicTypes/CLabelInfo.hi
+0
-48
ghc/compiler/basicTypes/Id.hi
ghc/compiler/basicTypes/Id.hi
+0
-153
ghc/compiler/basicTypes/Id.lhs
ghc/compiler/basicTypes/Id.lhs
+618
-846
ghc/compiler/basicTypes/IdInfo.hi
ghc/compiler/basicTypes/IdInfo.hi
+0
-142
ghc/compiler/basicTypes/IdInfo.lhs
ghc/compiler/basicTypes/IdInfo.lhs
+107
-332
ghc/compiler/basicTypes/IdLoop.lhi
ghc/compiler/basicTypes/IdLoop.lhi
+76
-0
ghc/compiler/basicTypes/IdUtils.lhs
ghc/compiler/basicTypes/IdUtils.lhs
+98
-0
ghc/compiler/basicTypes/Inst.hi
ghc/compiler/basicTypes/Inst.hi
+0
-68
ghc/compiler/basicTypes/Inst.lhs
ghc/compiler/basicTypes/Inst.lhs
+0
-391
ghc/compiler/basicTypes/Literal.lhs
ghc/compiler/basicTypes/Literal.lhs
+63
-69
ghc/compiler/basicTypes/Name.lhs
ghc/compiler/basicTypes/Name.lhs
+295
-0
ghc/compiler/basicTypes/NameLoop.lhi
ghc/compiler/basicTypes/NameLoop.lhi
+20
-0
ghc/compiler/basicTypes/NameTypes.hi
ghc/compiler/basicTypes/NameTypes.hi
+0
-25
ghc/compiler/basicTypes/NameTypes.lhs
ghc/compiler/basicTypes/NameTypes.lhs
+25
-37
ghc/compiler/basicTypes/OrdList.hi
ghc/compiler/basicTypes/OrdList.hi
+0
-9
ghc/compiler/basicTypes/OrdList.lhs
ghc/compiler/basicTypes/OrdList.lhs
+0
-236
ghc/compiler/basicTypes/PragmaInfo.lhs
ghc/compiler/basicTypes/PragmaInfo.lhs
+18
-0
ghc/compiler/basicTypes/ProtoName.hi
ghc/compiler/basicTypes/ProtoName.hi
+0
-20
ghc/compiler/basicTypes/ProtoName.lhs
ghc/compiler/basicTypes/ProtoName.lhs
+24
-35
ghc/compiler/basicTypes/SplitUniq.hi
ghc/compiler/basicTypes/SplitUniq.hi
+0
-18
ghc/compiler/basicTypes/SplitUniq.lhs
ghc/compiler/basicTypes/SplitUniq.lhs
+0
-305
ghc/compiler/basicTypes/SrcLoc.hi
ghc/compiler/basicTypes/SrcLoc.hi
+0
-13
ghc/compiler/basicTypes/SrcLoc.lhs
ghc/compiler/basicTypes/SrcLoc.lhs
+3
-2
ghc/compiler/basicTypes/UniqSupply.lhs
ghc/compiler/basicTypes/UniqSupply.lhs
+190
-0
ghc/compiler/basicTypes/Unique.hi
ghc/compiler/basicTypes/Unique.hi
+0
-175
ghc/compiler/basicTypes/Unique.lhs
ghc/compiler/basicTypes/Unique.lhs
+242
-531
ghc/compiler/codeGen/CgBindery.hi
ghc/compiler/codeGen/CgBindery.hi
+0
-63
ghc/compiler/codeGen/CgBindery.lhs
ghc/compiler/codeGen/CgBindery.lhs
+21
-60
ghc/compiler/codeGen/CgCase.hi
ghc/compiler/codeGen/CgCase.hi
+0
-22
ghc/compiler/codeGen/CgCase.lhs
ghc/compiler/codeGen/CgCase.lhs
+101
-122
ghc/compiler/codeGen/CgClosure.hi
ghc/compiler/codeGen/CgClosure.hi
+0
-29
ghc/compiler/codeGen/CgClosure.lhs
ghc/compiler/codeGen/CgClosure.lhs
+94
-160
ghc/compiler/codeGen/CgCompInfo.hi
ghc/compiler/codeGen/CgCompInfo.hi
+0
-50
ghc/compiler/codeGen/CgCompInfo.lhs
ghc/compiler/codeGen/CgCompInfo.lhs
+7
-23
ghc/compiler/codeGen/CgCon.hi
ghc/compiler/codeGen/CgCon.hi
+0
-28
ghc/compiler/codeGen/CgCon.lhs
ghc/compiler/codeGen/CgCon.lhs
+48
-108
ghc/compiler/codeGen/CgConTbls.hi
ghc/compiler/codeGen/CgConTbls.hi
+0
-23
ghc/compiler/codeGen/CgConTbls.lhs
ghc/compiler/codeGen/CgConTbls.lhs
+70
-81
ghc/compiler/codeGen/CgExpr.hi
ghc/compiler/codeGen/CgExpr.hi
+0
-20
ghc/compiler/codeGen/CgExpr.lhs
ghc/compiler/codeGen/CgExpr.lhs
+39
-50
ghc/compiler/codeGen/CgHeapery.hi
ghc/compiler/codeGen/CgHeapery.hi
+0
-27
ghc/compiler/codeGen/CgHeapery.lhs
ghc/compiler/codeGen/CgHeapery.lhs
+69
-69
ghc/compiler/codeGen/CgLetNoEscape.hi
ghc/compiler/codeGen/CgLetNoEscape.hi
+0
-11
ghc/compiler/codeGen/CgLetNoEscape.lhs
ghc/compiler/codeGen/CgLetNoEscape.lhs
+17
-17
ghc/compiler/codeGen/CgMonad.hi
ghc/compiler/codeGen/CgMonad.hi
+0
-108
ghc/compiler/codeGen/CgMonad.lhs
ghc/compiler/codeGen/CgMonad.lhs
+42
-118
ghc/compiler/codeGen/CgRetConv.hi
ghc/compiler/codeGen/CgRetConv.hi
+0
-26
ghc/compiler/codeGen/CgRetConv.lhs
ghc/compiler/codeGen/CgRetConv.lhs
+44
-55
ghc/compiler/codeGen/CgStackery.hi
ghc/compiler/codeGen/CgStackery.hi
+0
-28
ghc/compiler/codeGen/CgStackery.lhs
ghc/compiler/codeGen/CgStackery.lhs
+10
-11
ghc/compiler/codeGen/CgTailCall.hi
ghc/compiler/codeGen/CgTailCall.hi
+0
-33
ghc/compiler/codeGen/CgTailCall.lhs
ghc/compiler/codeGen/CgTailCall.lhs
+49
-63
ghc/compiler/codeGen/CgUpdate.hi
ghc/compiler/codeGen/CgUpdate.hi
+0
-6
ghc/compiler/codeGen/CgUpdate.lhs
ghc/compiler/codeGen/CgUpdate.lhs
+3
-76
ghc/compiler/codeGen/CgUsages.hi
ghc/compiler/codeGen/CgUsages.hi
+0
-29
ghc/compiler/codeGen/CgUsages.lhs
ghc/compiler/codeGen/CgUsages.lhs
+4
-16
ghc/compiler/codeGen/ClosureInfo.hi
ghc/compiler/codeGen/ClosureInfo.hi
+0
-106
ghc/compiler/codeGen/ClosureInfo.lhs
ghc/compiler/codeGen/ClosureInfo.lhs
+83
-102
ghc/compiler/codeGen/CodeGen.hi
ghc/compiler/codeGen/CodeGen.hi
+0
-24
ghc/compiler/codeGen/CodeGen.lhs
ghc/compiler/codeGen/CodeGen.lhs
+18
-49
ghc/compiler/codeGen/SMRep.hi
ghc/compiler/codeGen/SMRep.hi
+0
-15
ghc/compiler/codeGen/SMRep.lhs
ghc/compiler/codeGen/SMRep.lhs
+9
-13
ghc/compiler/coreSyn/AnnCoreSyn.hi
ghc/compiler/coreSyn/AnnCoreSyn.hi
+0
-43
ghc/compiler/coreSyn/AnnCoreSyn.lhs
ghc/compiler/coreSyn/AnnCoreSyn.lhs
+31
-95
ghc/compiler/coreSyn/CoreFuns.hi
ghc/compiler/coreSyn/CoreFuns.hi
+0
-62
ghc/compiler/coreSyn/CoreFuns.lhs
ghc/compiler/coreSyn/CoreFuns.lhs
+0
-1309
ghc/compiler/coreSyn/CoreLift.hi
ghc/compiler/coreSyn/CoreLift.hi
+0
-26
ghc/compiler/coreSyn/CoreLift.lhs
ghc/compiler/coreSyn/CoreLift.lhs
+129
-134
ghc/compiler/coreSyn/CoreLint.hi
ghc/compiler/coreSyn/CoreLint.hi
+0
-16
ghc/compiler/coreSyn/CoreLint.lhs
ghc/compiler/coreSyn/CoreLint.lhs
+357
-368
ghc/compiler/coreSyn/CoreSyn.hi
ghc/compiler/coreSyn/CoreSyn.hi
+0
-46
ghc/compiler/coreSyn/CoreSyn.lhs
ghc/compiler/coreSyn/CoreSyn.lhs
+348
-277
ghc/compiler/coreSyn/CoreUnfold.hi
ghc/compiler/coreSyn/CoreUnfold.hi
+0
-12
ghc/compiler/coreSyn/CoreUnfold.lhs
ghc/compiler/coreSyn/CoreUnfold.lhs
+310
-123
ghc/compiler/coreSyn/CoreUtils.lhs
ghc/compiler/coreSyn/CoreUtils.lhs
+802
-0
ghc/compiler/coreSyn/FreeVars.hi
ghc/compiler/coreSyn/FreeVars.hi
+0
-33
ghc/compiler/coreSyn/FreeVars.lhs
ghc/compiler/coreSyn/FreeVars.lhs
+79
-159
ghc/compiler/coreSyn/Jmakefile
ghc/compiler/coreSyn/Jmakefile
+0
-11
ghc/compiler/coreSyn/PlainCore.hi
ghc/compiler/coreSyn/PlainCore.hi
+0
-167
ghc/compiler/coreSyn/PlainCore.lhs
ghc/compiler/coreSyn/PlainCore.lhs
+0
-185
ghc/compiler/coreSyn/PprCore.lhs
ghc/compiler/coreSyn/PprCore.lhs
+457
-0
ghc/compiler/coreSyn/TaggedCore.hi
ghc/compiler/coreSyn/TaggedCore.hi
+0
-81
ghc/compiler/coreSyn/TaggedCore.lhs
ghc/compiler/coreSyn/TaggedCore.lhs
+0
-93
ghc/compiler/deSugar/Desugar.hi
ghc/compiler/deSugar/Desugar.hi
+0
-32
ghc/compiler/deSugar/Desugar.lhs
ghc/compiler/deSugar/Desugar.lhs
+31
-40
ghc/compiler/deSugar/DsBinds.hi
ghc/compiler/deSugar/DsBinds.hi
+0
-19
ghc/compiler/deSugar/DsBinds.lhs
ghc/compiler/deSugar/DsBinds.lhs
+113
-148
ghc/compiler/deSugar/DsCCall.hi
ghc/compiler/deSugar/DsCCall.hi
+0
-14
ghc/compiler/deSugar/DsCCall.lhs
ghc/compiler/deSugar/DsCCall.lhs
+78
-72
ghc/compiler/deSugar/DsExpr.hi
ghc/compiler/deSugar/DsExpr.hi
+0
-15
ghc/compiler/deSugar/DsExpr.lhs
ghc/compiler/deSugar/DsExpr.lhs
+166
-185
ghc/compiler/deSugar/DsGRHSs.hi
ghc/compiler/deSugar/DsGRHSs.hi
+0
-18
ghc/compiler/deSugar/DsGRHSs.lhs
ghc/compiler/deSugar/DsGRHSs.lhs
+25
-18
ghc/compiler/deSugar/DsHsSyn.lhs
ghc/compiler/deSugar/DsHsSyn.lhs
+75
-0
ghc/compiler/deSugar/DsListComp.hi
ghc/compiler/deSugar/DsListComp.hi
+0
-15
ghc/compiler/deSugar/DsListComp.lhs
ghc/compiler/deSugar/DsListComp.lhs
+79
-69
ghc/compiler/deSugar/DsLoop.lhi
ghc/compiler/deSugar/DsLoop.lhi
+31
-0
ghc/compiler/deSugar/DsMonad.hi
ghc/compiler/deSugar/DsMonad.hi
+0
-68
ghc/compiler/deSugar/DsMonad.lhs
ghc/compiler/deSugar/DsMonad.lhs
+80
-108
ghc/compiler/deSugar/DsParZF.lhs
ghc/compiler/deSugar/DsParZF.lhs
+0
-233
ghc/compiler/deSugar/DsUtils.hi
ghc/compiler/deSugar/DsUtils.hi
+0
-35
ghc/compiler/deSugar/DsUtils.lhs
ghc/compiler/deSugar/DsUtils.lhs
+148
-148
ghc/compiler/deSugar/Match.hi
ghc/compiler/deSugar/Match.hi
+0
-19
ghc/compiler/deSugar/Match.lhs
ghc/compiler/deSugar/Match.lhs
+102
-135
ghc/compiler/deSugar/MatchCon.hi
ghc/compiler/deSugar/MatchCon.hi
+0
-14
ghc/compiler/deSugar/MatchCon.lhs
ghc/compiler/deSugar/MatchCon.lhs
+34
-46
ghc/compiler/deSugar/MatchLit.hi
ghc/compiler/deSugar/MatchLit.hi
+0
-14
ghc/compiler/deSugar/MatchLit.lhs
ghc/compiler/deSugar/MatchLit.lhs
+57
-100
ghc/compiler/deSugar/MatchProc.lhs
ghc/compiler/deSugar/MatchProc.lhs
+0
-98
ghc/compiler/deforest/Core2Def.hi
ghc/compiler/deforest/Core2Def.hi
+0
-17
ghc/compiler/deforest/Core2Def.lhs
ghc/compiler/deforest/Core2Def.lhs
+59
-65
ghc/compiler/deforest/Cyclic.hi
ghc/compiler/deforest/Cyclic.hi
+0
-9
ghc/compiler/deforest/Cyclic.lhs
ghc/compiler/deforest/Cyclic.lhs
+120
-124
ghc/compiler/deforest/Def2Core.hi
ghc/compiler/deforest/Def2Core.hi
+0
-17
ghc/compiler/deforest/Def2Core.lhs
ghc/compiler/deforest/Def2Core.lhs
+115
-116
ghc/compiler/deforest/DefExpr.hi
ghc/compiler/deforest/DefExpr.hi
+0
-11
ghc/compiler/deforest/DefExpr.lhs
ghc/compiler/deforest/DefExpr.lhs
+279
-281
ghc/compiler/deforest/DefSyn.hi
ghc/compiler/deforest/DefSyn.hi
+0
-14
ghc/compiler/deforest/DefSyn.lhs
ghc/compiler/deforest/DefSyn.lhs
+15
-15
ghc/compiler/deforest/DefUtils.hi
ghc/compiler/deforest/DefUtils.hi
+0
-27
ghc/compiler/deforest/DefUtils.lhs
ghc/compiler/deforest/DefUtils.lhs
+323
-325
ghc/compiler/deforest/Deforest.hi
ghc/compiler/deforest/Deforest.hi
+0
-8
ghc/compiler/deforest/Deforest.lhs
ghc/compiler/deforest/Deforest.lhs
+48
-50
ghc/compiler/deforest/TreelessForm.hi
ghc/compiler/deforest/TreelessForm.hi
+0
-9
ghc/compiler/deforest/TreelessForm.lhs
ghc/compiler/deforest/TreelessForm.lhs
+123
-126
ghc/compiler/envs/CE.hi
ghc/compiler/envs/CE.hi
+0
-32
ghc/compiler/envs/CE.lhs
ghc/compiler/envs/CE.lhs
+0
-90
ghc/compiler/envs/E.hi
ghc/compiler/envs/E.hi
+0
-44
ghc/compiler/envs/E.lhs
ghc/compiler/envs/E.lhs
+0
-268
ghc/compiler/envs/IdEnv.hi
ghc/compiler/envs/IdEnv.hi
+0
-27
ghc/compiler/envs/IdEnv.lhs
ghc/compiler/envs/IdEnv.lhs
+0
-113
ghc/compiler/envs/InstEnv.hi
ghc/compiler/envs/InstEnv.hi
+0
-54
ghc/compiler/envs/InstEnv.lhs
ghc/compiler/envs/InstEnv.lhs
+0
-593
ghc/compiler/envs/LIE.hi
ghc/compiler/envs/LIE.hi
+0
-11
ghc/compiler/envs/LIE.lhs
ghc/compiler/envs/LIE.lhs
+0
-44
ghc/compiler/envs/TCE.hi
ghc/compiler/envs/TCE.hi
+0
-30
ghc/compiler/envs/TCE.lhs
ghc/compiler/envs/TCE.lhs
+0
-110
ghc/compiler/envs/TVE.hi
ghc/compiler/envs/TVE.hi
+0
-25
ghc/compiler/envs/TVE.lhs
ghc/compiler/envs/TVE.lhs
+0
-74
ghc/compiler/envs/TyVarEnv.hi
ghc/compiler/envs/TyVarEnv.hi
+0
-20
ghc/compiler/envs/TyVarEnv.lhs
ghc/compiler/envs/TyVarEnv.lhs
+0
-71
ghc/compiler/hsSyn/HsBinds.lhs
ghc/compiler/hsSyn/HsBinds.lhs
+331
-0
ghc/compiler/hsSyn/HsCore.lhs
ghc/compiler/hsSyn/HsCore.lhs
+342
-0
ghc/compiler/hsSyn/HsDecls.lhs
ghc/compiler/hsSyn/HsDecls.lhs
+339
-0
ghc/compiler/hsSyn/HsExpr.lhs
ghc/compiler/hsSyn/HsExpr.lhs
+453
-0
ghc/compiler/hsSyn/HsImpExp.lhs
ghc/compiler/hsSyn/HsImpExp.lhs
+144
-0
ghc/compiler/hsSyn/HsLit.lhs
ghc/compiler/hsSyn/HsLit.lhs
+60
-0
ghc/compiler/hsSyn/HsLoop.lhi
ghc/compiler/hsSyn/HsLoop.lhi
+41
-0
ghc/compiler/hsSyn/HsMatches.lhs
ghc/compiler/hsSyn/HsMatches.lhs
+150
-0
ghc/compiler/hsSyn/HsPat.lhs
ghc/compiler/hsSyn/HsPat.lhs
+286
-0
ghc/compiler/hsSyn/HsPragmas.lhs
ghc/compiler/hsSyn/HsPragmas.lhs
+178
-0
ghc/compiler/hsSyn/HsSyn.lhs
ghc/compiler/hsSyn/HsSyn.lhs
+113
-0
ghc/compiler/hsSyn/HsTypes.lhs
ghc/compiler/hsSyn/HsTypes.lhs
+265
-0
ghc/compiler/main/CmdLineOpts.hi
ghc/compiler/main/CmdLineOpts.hi
+0
-22
ghc/compiler/main/CmdLineOpts.lhs
ghc/compiler/main/CmdLineOpts.lhs
+205
-677
ghc/compiler/main/ErrUtils.hi
ghc/compiler/main/ErrUtils.hi
+0
-11
ghc/compiler/main/ErrUtils.lhs
ghc/compiler/main/ErrUtils.lhs
+47
-25
ghc/compiler/main/Errors.hi
ghc/compiler/main/Errors.hi
+0
-124
ghc/compiler/main/Errors.lhs
ghc/compiler/main/Errors.lhs
+0
-124
ghc/compiler/main/ErrsRn.hi
ghc/compiler/main/ErrsRn.hi
+0
-26
ghc/compiler/main/ErrsRn.lhs
ghc/compiler/main/ErrsRn.lhs
+0
-194
ghc/compiler/main/ErrsTc.hi
ghc/compiler/main/ErrsTc.hi
+0
-53
ghc/compiler/main/ErrsTc.lhs
ghc/compiler/main/ErrsTc.lhs
+0
-981
ghc/compiler/main/Main.hi
ghc/compiler/main/Main.hi
+0
-4
ghc/compiler/main/Main.lhs
ghc/compiler/main/Main.lhs
+243
-417
ghc/compiler/main/MainMonad.hi
ghc/compiler/main/MainMonad.hi
+0
-25
ghc/compiler/main/MainMonad.lhs
ghc/compiler/main/MainMonad.lhs
+28
-170
ghc/compiler/main/MkIface.hi
ghc/compiler/main/MkIface.hi
+0
-40
ghc/compiler/main/MkIface.lhs
ghc/compiler/main/MkIface.lhs
+90
-130
ghc/compiler/nativeGen/AbsCStixGen.hi
ghc/compiler/nativeGen/AbsCStixGen.hi
+0
-25
ghc/compiler/nativeGen/AbsCStixGen.lhs
ghc/compiler/nativeGen/AbsCStixGen.lhs
+148
-157
ghc/compiler/nativeGen/AlphaCode.hi
ghc/compiler/nativeGen/AlphaCode.hi
+0
-57
ghc/compiler/nativeGen/AlphaCode.lhs
ghc/compiler/nativeGen/AlphaCode.lhs
+22
-33
ghc/compiler/nativeGen/AlphaDesc.hi
ghc/compiler/nativeGen/AlphaDesc.hi
+0
-24
ghc/compiler/nativeGen/AlphaDesc.lhs
ghc/compiler/nativeGen/AlphaDesc.lhs
+33
-37
ghc/compiler/nativeGen/AlphaGen.hi
ghc/compiler/nativeGen/AlphaGen.hi
+0
-17
ghc/compiler/nativeGen/AlphaGen.lhs
ghc/compiler/nativeGen/AlphaGen.lhs
+315
-327
ghc/compiler/nativeGen/AsmCodeGen.hi
ghc/compiler/nativeGen/AsmCodeGen.hi
+0
-14
ghc/compiler/nativeGen/AsmCodeGen.lhs
ghc/compiler/nativeGen/AsmCodeGen.lhs
+37
-113
ghc/compiler/nativeGen/AsmRegAlloc.hi
ghc/compiler/nativeGen/AsmRegAlloc.hi
+0
-44
ghc/compiler/nativeGen/AsmRegAlloc.lhs
ghc/compiler/nativeGen/AsmRegAlloc.lhs
+14
-25
ghc/compiler/nativeGen/I386Code.hi
ghc/compiler/nativeGen/I386Code.hi
+0
-99
ghc/compiler/nativeGen/I386Code.lhs
ghc/compiler/nativeGen/I386Code.lhs
+133
-150
ghc/compiler/nativeGen/I386Desc.hi
ghc/compiler/nativeGen/I386Desc.hi
+0
-25
ghc/compiler/nativeGen/I386Desc.lhs
ghc/compiler/nativeGen/I386Desc.lhs
+29
-35
ghc/compiler/nativeGen/I386Gen.hi
ghc/compiler/nativeGen/I386Gen.hi
+0
-18
ghc/compiler/nativeGen/I386Gen.lhs
ghc/compiler/nativeGen/I386Gen.lhs
+588
-602
ghc/compiler/nativeGen/MachDesc.hi
ghc/compiler/nativeGen/MachDesc.hi
+0
-64
ghc/compiler/nativeGen/MachDesc.lhs
ghc/compiler/nativeGen/MachDesc.lhs
+28
-61
ghc/compiler/nativeGen/SparcCode.hi
ghc/compiler/nativeGen/SparcCode.hi
+0
-56
ghc/compiler/nativeGen/SparcCode.lhs
ghc/compiler/nativeGen/SparcCode.lhs
+49
-63
ghc/compiler/nativeGen/SparcDesc.hi
ghc/compiler/nativeGen/SparcDesc.hi
+0
-24
ghc/compiler/nativeGen/SparcDesc.lhs
ghc/compiler/nativeGen/SparcDesc.lhs
+28
-34
ghc/compiler/nativeGen/SparcGen.hi
ghc/compiler/nativeGen/SparcGen.hi
+0
-17
ghc/compiler/nativeGen/SparcGen.lhs
ghc/compiler/nativeGen/SparcGen.lhs
+354
-368
ghc/compiler/nativeGen/Stix.hi
ghc/compiler/nativeGen/Stix.hi
+0
-41
ghc/compiler/nativeGen/Stix.lhs
ghc/compiler/nativeGen/Stix.lhs
+17
-25
ghc/compiler/nativeGen/StixInfo.hi
ghc/compiler/nativeGen/StixInfo.hi
+0
-8
ghc/compiler/nativeGen/StixInfo.lhs
ghc/compiler/nativeGen/StixInfo.lhs
+25
-26
ghc/compiler/nativeGen/StixInteger.hi
ghc/compiler/nativeGen/StixInteger.hi
+0
-18
ghc/compiler/nativeGen/StixInteger.lhs
ghc/compiler/nativeGen/StixInteger.lhs
+165
-166
ghc/compiler/nativeGen/StixMacro.hi
ghc/compiler/nativeGen/StixMacro.hi
+0
-27
ghc/compiler/nativeGen/StixMacro.lhs
ghc/compiler/nativeGen/StixMacro.lhs
+109
-126
ghc/compiler/nativeGen/StixPrim.hi
ghc/compiler/nativeGen/StixPrim.hi
+0
-27
ghc/compiler/nativeGen/StixPrim.lhs
ghc/compiler/nativeGen/StixPrim.lhs
+138
-140
ghc/compiler/parser/MAIL.byacc
ghc/compiler/parser/MAIL.byacc
+146
-0
ghc/compiler/parser/README.debug
ghc/compiler/parser/README.debug
+12
-0
ghc/compiler/parser/UgenAll.lhs
ghc/compiler/parser/UgenAll.lhs
+50
-0
ghc/compiler/parser/UgenUtil.lhs
ghc/compiler/parser/UgenUtil.lhs
+100
-0
ghc/compiler/parser/binding.ugn
ghc/compiler/parser/binding.ugn
+103
-0
ghc/compiler/parser/constants.h
ghc/compiler/parser/constants.h
+48
-0
ghc/compiler/parser/constr.ugn
ghc/compiler/parser/constr.ugn
+38
-0
ghc/compiler/parser/coresyn.ugn
ghc/compiler/parser/coresyn.ugn
+121
-0
ghc/compiler/parser/either.ugn
ghc/compiler/parser/either.ugn
+13
-0
ghc/compiler/parser/entidt.ugn
ghc/compiler/parser/entidt.ugn
+19
-0
ghc/compiler/parser/hpragma.ugn
ghc/compiler/parser/hpragma.ugn
+63
-0
ghc/compiler/parser/hschooks.c
ghc/compiler/parser/hschooks.c
+66
-0
ghc/compiler/parser/hsclink.c
ghc/compiler/parser/hsclink.c
+62
-0
ghc/compiler/parser/hslexer.flex
ghc/compiler/parser/hslexer.flex
+1383
-0
ghc/compiler/parser/hsparser.y
ghc/compiler/parser/hsparser.y
+2309
-0
ghc/compiler/parser/hspincl.h
ghc/compiler/parser/hspincl.h
+62
-0
ghc/compiler/parser/id.c
ghc/compiler/parser/id.c
+362
-0
ghc/compiler/parser/id.h
ghc/compiler/parser/id.h
+15
-0
ghc/compiler/parser/import_dirlist.c
ghc/compiler/parser/import_dirlist.c
+223
-0
ghc/compiler/parser/infix.c
ghc/compiler/parser/infix.c
+200
-0
ghc/compiler/parser/list.ugn
ghc/compiler/parser/list.ugn
+13
-0
ghc/compiler/parser/literal.ugn
ghc/compiler/parser/literal.ugn
+25
-0
ghc/compiler/parser/main.c
ghc/compiler/parser/main.c
+54
-0
ghc/compiler/parser/maybe.ugn
ghc/compiler/parser/maybe.ugn
+12
-0
ghc/compiler/parser/pbinding.ugn
ghc/compiler/parser/pbinding.ugn
+31
-0
ghc/compiler/parser/printtree.c
ghc/compiler/parser/printtree.c
+934
-0
ghc/compiler/parser/qid.ugn
ghc/compiler/parser/qid.ugn
+16
-0
ghc/compiler/parser/syntax.c
ghc/compiler/parser/syntax.c
+720
-0
ghc/compiler/parser/tree.ugn
ghc/compiler/parser/tree.ugn
+106
-0
ghc/compiler/parser/ttype.ugn
ghc/compiler/parser/ttype.ugn
+31
-0
ghc/compiler/parser/type2context.c
ghc/compiler/parser/type2context.c
+126
-0
ghc/compiler/parser/util.c
ghc/compiler/parser/util.c
+252
-0
ghc/compiler/parser/utils.h
ghc/compiler/parser/utils.h
+136
-0
ghc/compiler/prelude/AbsPrel.hi
ghc/compiler/prelude/AbsPrel.hi
+0
-170
ghc/compiler/prelude/PrelFuns.hi
ghc/compiler/prelude/PrelFuns.hi
+0
-153
ghc/compiler/prelude/PrelFuns.lhs
ghc/compiler/prelude/PrelFuns.lhs
+0
-260
ghc/compiler/prelude/PrelInfo.lhs
ghc/compiler/prelude/PrelInfo.lhs
+405
-0
ghc/compiler/prelude/PrelLoop.lhi
ghc/compiler/prelude/PrelLoop.lhi
+25
-0
ghc/compiler/prelude/PrelMods.lhs
ghc/compiler/prelude/PrelMods.lhs
+36
-0
ghc/compiler/prelude/PrelVals.hi
ghc/compiler/prelude/PrelVals.hi
+0
-40
ghc/compiler/prelude/PrelVals.lhs
ghc/compiler/prelude/PrelVals.lhs
+212
-335
ghc/compiler/prelude/PrimKind.hi
ghc/compiler/prelude/PrimKind.hi
+0
-23
ghc/compiler/prelude/PrimOp.lhs
ghc/compiler/prelude/PrimOp.lhs
+392
-374
ghc/compiler/prelude/PrimOps.hi
ghc/compiler/prelude/PrimOps.hi
+0
-44
ghc/compiler/prelude/PrimRep.lhs
ghc/compiler/prelude/PrimRep.lhs
+205
-0
ghc/compiler/prelude/TyPod.lhs
ghc/compiler/prelude/TyPod.lhs
+0
-159
ghc/compiler/prelude/TyProcs.lhs
ghc/compiler/prelude/TyProcs.lhs
+0
-26
ghc/compiler/prelude/TysPrim.hi
ghc/compiler/prelude/TysPrim.hi
+0
-36
ghc/compiler/prelude/TysPrim.lhs
ghc/compiler/prelude/TysPrim.lhs
+68
-23
ghc/compiler/prelude/TysWiredIn.hi
ghc/compiler/prelude/TysWiredIn.hi
+0
-77
ghc/compiler/prelude/TysWiredIn.lhs
ghc/compiler/prelude/TysWiredIn.lhs
+148
-189
ghc/compiler/profiling/CostCentre.hi
ghc/compiler/profiling/CostCentre.hi
+0
-45
ghc/compiler/profiling/CostCentre.lhs
ghc/compiler/profiling/CostCentre.lhs
+16
-17
ghc/compiler/profiling/SCCauto.hi
ghc/compiler/profiling/SCCauto.hi
+0
-8
ghc/compiler/profiling/SCCauto.lhs
ghc/compiler/profiling/SCCauto.lhs
+32
-29
ghc/compiler/profiling/SCCfinal.hi
ghc/compiler/profiling/SCCfinal.hi
+0
-10
ghc/compiler/profiling/SCCfinal.lhs
ghc/compiler/profiling/SCCfinal.lhs
+43
-51
ghc/compiler/reader/PrefixSyn.hi
ghc/compiler/reader/PrefixSyn.hi
+0
-22
ghc/compiler/reader/PrefixSyn.lhs
ghc/compiler/reader/PrefixSyn.lhs
+25
-18
ghc/compiler/reader/PrefixToHs.hi
ghc/compiler/reader/PrefixToHs.hi
+0
-22
ghc/compiler/reader/PrefixToHs.lhs
ghc/compiler/reader/PrefixToHs.lhs
+96
-105
ghc/compiler/reader/RdrHsSyn.lhs
ghc/compiler/reader/RdrHsSyn.lhs
+395
-0
ghc/compiler/reader/RdrLoop.lhi
ghc/compiler/reader/RdrLoop.lhi
+25
-0
ghc/compiler/reader/ReadPragmas.hi
ghc/compiler/reader/ReadPragmas.hi
+0
-46
ghc/compiler/reader/ReadPragmas.lhs
ghc/compiler/reader/ReadPragmas.lhs
+463
-496
ghc/compiler/reader/ReadPragmas2.hi
ghc/compiler/reader/ReadPragmas2.hi
+0
-16
ghc/compiler/reader/ReadPragmas2.lhs
ghc/compiler/reader/ReadPragmas2.lhs
+0
-569
ghc/compiler/reader/ReadPrefix.hi
ghc/compiler/reader/ReadPrefix.hi
+0
-23
ghc/compiler/reader/ReadPrefix.lhs
ghc/compiler/reader/ReadPrefix.lhs
+803
-867
ghc/compiler/reader/ReadPrefix2.hi
ghc/compiler/reader/ReadPrefix2.hi
+0
-15
ghc/compiler/reader/ReadPrefix2.lhs
ghc/compiler/reader/ReadPrefix2.lhs
+0
-856
ghc/compiler/rename/Rename.hi
ghc/compiler/rename/Rename.hi
+0
-43
ghc/compiler/rename/Rename.lhs
ghc/compiler/rename/Rename.lhs
+47
-70
ghc/compiler/rename/Rename1.hi
ghc/compiler/rename/Rename1.hi
+0
-36
ghc/compiler/rename/Rename2.hi
ghc/compiler/rename/Rename2.hi
+0
-26
ghc/compiler/rename/Rename3.hi
ghc/compiler/rename/Rename3.hi
+0
-42
ghc/compiler/rename/Rename4.hi
ghc/compiler/rename/Rename4.hi
+0
-51
ghc/compiler/rename/RenameAuxFuns.hi
ghc/compiler/rename/RenameAuxFuns.hi
+0
-17
ghc/compiler/rename/RenameBinds4.hi
ghc/compiler/rename/RenameBinds4.hi
+0
-50
ghc/compiler/rename/RenameExpr4.hi
ghc/compiler/rename/RenameExpr4.hi
+0
-43
ghc/compiler/rename/RenameMonad12.hi
ghc/compiler/rename/RenameMonad12.hi
+0
-23
ghc/compiler/rename/RenameMonad3.hi
ghc/compiler/rename/RenameMonad3.hi
+0
-31
ghc/compiler/rename/RenameMonad4.hi
ghc/compiler/rename/RenameMonad4.hi
+0
-79
ghc/compiler/rename/RnBinds4.lhs
ghc/compiler/rename/RnBinds4.lhs
+167
-109
ghc/compiler/rename/RnExpr4.lhs
ghc/compiler/rename/RnExpr4.lhs
+407
-0
ghc/compiler/rename/RnHsSyn.lhs
ghc/compiler/rename/RnHsSyn.lhs
+60
-0
ghc/compiler/rename/RnLoop.lhi
ghc/compiler/rename/RnLoop.lhi
+22
-0
ghc/compiler/rename/RnMonad12.lhs
ghc/compiler/rename/RnMonad12.lhs
+11
-12
ghc/compiler/rename/RnMonad3.lhs
ghc/compiler/rename/RnMonad3.lhs
+53
-44
ghc/compiler/rename/RnMonad4.lhs
ghc/compiler/rename/RnMonad4.lhs
+127
-116
ghc/compiler/rename/RnPass1.lhs
ghc/compiler/rename/RnPass1.lhs
+231
-271
ghc/compiler/rename/RnPass2.lhs
ghc/compiler/rename/RnPass2.lhs
+108
-95
ghc/compiler/rename/RnPass3.lhs
ghc/compiler/rename/RnPass3.lhs
+203
-142
ghc/compiler/rename/RnPass4.lhs
ghc/compiler/rename/RnPass4.lhs
+322
-281
ghc/compiler/rename/RnUtils.lhs
ghc/compiler/rename/RnUtils.lhs
+40
-34
ghc/compiler/simplCore/AnalFBWW.hi
ghc/compiler/simplCore/AnalFBWW.hi
+0
-7
ghc/compiler/simplCore/AnalFBWW.lhs
ghc/compiler/simplCore/AnalFBWW.lhs
+69
-73
ghc/compiler/simplCore/BinderInfo.hi
ghc/compiler/simplCore/BinderInfo.hi
+0
-23
ghc/compiler/simplCore/BinderInfo.lhs
ghc/compiler/simplCore/BinderInfo.lhs
+9
-12
ghc/compiler/simplCore/ConFold.hi
ghc/compiler/simplCore/ConFold.hi
+0
-11
ghc/compiler/simplCore/ConFold.lhs
ghc/compiler/simplCore/ConFold.lhs
+56
-60
ghc/compiler/simplCore/FloatIn.hi
ghc/compiler/simplCore/FloatIn.hi
+0
-17
ghc/compiler/simplCore/FloatIn.lhs
ghc/compiler/simplCore/FloatIn.lhs
+60
-66
ghc/compiler/simplCore/FloatOut.hi
ghc/compiler/simplCore/FloatOut.hi
+0
-8
ghc/compiler/simplCore/FloatOut.lhs
ghc/compiler/simplCore/FloatOut.lhs
+79
-87
ghc/compiler/simplCore/FoldrBuildWW.hi
ghc/compiler/simplCore/FoldrBuildWW.hi
+0
-8
ghc/compiler/simplCore/FoldrBuildWW.lhs
ghc/compiler/simplCore/FoldrBuildWW.lhs
+114
-115
ghc/compiler/simplCore/LiberateCase.hi
ghc/compiler/simplCore/LiberateCase.hi
+0
-6
ghc/compiler/simplCore/LiberateCase.lhs
ghc/compiler/simplCore/LiberateCase.lhs
+54
-60
ghc/compiler/simplCore/MagicUFs.hi
ghc/compiler/simplCore/MagicUFs.hi
+0
-33
ghc/compiler/simplCore/MagicUFs.lhs
ghc/compiler/simplCore/MagicUFs.lhs
+266
-280
ghc/compiler/simplCore/NewOccurAnal.hi
ghc/compiler/simplCore/NewOccurAnal.hi
+0
-26
ghc/compiler/simplCore/NewOccurAnal.lhs
ghc/compiler/simplCore/NewOccurAnal.lhs
+0
-721
ghc/compiler/simplCore/OccurAnal.hi
ghc/compiler/simplCore/OccurAnal.hi
+0
-27
ghc/compiler/simplCore/OccurAnal.lhs
ghc/compiler/simplCore/OccurAnal.lhs
+83
-149
ghc/compiler/simplCore/SAT.hi
ghc/compiler/simplCore/SAT.hi
+0
-17
ghc/compiler/simplCore/SAT.lhs
ghc/compiler/simplCore/SAT.lhs
+42
-48
ghc/compiler/simplCore/SATMonad.hi
ghc/compiler/simplCore/SATMonad.hi
+0
-35
ghc/compiler/simplCore/SATMonad.lhs
ghc/compiler/simplCore/SATMonad.lhs
+48
-54
ghc/compiler/simplCore/SetLevels.hi
ghc/compiler/simplCore/SetLevels.hi
+0
-16
ghc/compiler/simplCore/SetLevels.lhs
ghc/compiler/simplCore/SetLevels.lhs
+131
-158
ghc/compiler/simplCore/SimplCase.hi
ghc/compiler/simplCore/SimplCase.hi
+0
-12
ghc/compiler/simplCore/SimplCase.lhs
ghc/compiler/simplCore/SimplCase.lhs
+186
-190
ghc/compiler/simplCore/SimplCore.hi
ghc/compiler/simplCore/SimplCore.hi
+0
-29
ghc/compiler/simplCore/SimplCore.lhs
ghc/compiler/simplCore/SimplCore.lhs
+50
-76
ghc/compiler/simplCore/SimplEnv.hi
ghc/compiler/simplCore/SimplEnv.hi
+0
-106
ghc/compiler/simplCore/SimplEnv.lhs
ghc/compiler/simplCore/SimplEnv.lhs
+164
-376
ghc/compiler/simplCore/SimplHaskell.lhs
ghc/compiler/simplCore/SimplHaskell.lhs
+0
-249
ghc/compiler/simplCore/SimplMonad.hi
ghc/compiler/simplCore/SimplMonad.hi
+0
-47
ghc/compiler/simplCore/SimplMonad.lhs
ghc/compiler/simplCore/SimplMonad.lhs
+40
-46
ghc/compiler/simplCore/SimplPgm.hi
ghc/compiler/simplCore/SimplPgm.hi
+0
-9
ghc/compiler/simplCore/SimplPgm.lhs
ghc/compiler/simplCore/SimplPgm.lhs
+31
-74
ghc/compiler/simplCore/SimplUtils.hi
ghc/compiler/simplCore/SimplUtils.hi
+0
-18
ghc/compiler/simplCore/SimplUtils.lhs
ghc/compiler/simplCore/SimplUtils.lhs
+74
-120
ghc/compiler/simplCore/SimplVar.hi
ghc/compiler/simplCore/SimplVar.hi
+0
-11
ghc/compiler/simplCore/SimplVar.lhs
ghc/compiler/simplCore/SimplVar.lhs
+26
-30
ghc/compiler/simplCore/Simplify.hi
ghc/compiler/simplCore/Simplify.hi
+0
-13
ghc/compiler/simplCore/Simplify.lhs
ghc/compiler/simplCore/Simplify.lhs
+154
-156
ghc/compiler/simplCore/SmplLoop.lhi
ghc/compiler/simplCore/SmplLoop.lhi
+10
-0
ghc/compiler/simplStg/LambdaLift.hi
ghc/compiler/simplStg/LambdaLift.hi
+0
-7
ghc/compiler/simplStg/LambdaLift.lhs
ghc/compiler/simplStg/LambdaLift.lhs
+79
-80
ghc/compiler/simplStg/SatStgRhs.hi
ghc/compiler/simplStg/SatStgRhs.hi
+0
-7
ghc/compiler/simplStg/SatStgRhs.lhs
ghc/compiler/simplStg/SatStgRhs.lhs
+77
-79
ghc/compiler/simplStg/SimplStg.hi
ghc/compiler/simplStg/SimplStg.hi
+0
-11
ghc/compiler/simplStg/SimplStg.lhs
ghc/compiler/simplStg/SimplStg.lhs
+21
-23
ghc/compiler/simplStg/StgSAT.hi
ghc/compiler/simplStg/StgSAT.hi
+0
-16
ghc/compiler/simplStg/StgSAT.lhs
ghc/compiler/simplStg/StgSAT.lhs
+17
-25
ghc/compiler/simplStg/StgSATMonad.hi
ghc/compiler/simplStg/StgSATMonad.hi
+0
-15
ghc/compiler/simplStg/StgSATMonad.lhs
ghc/compiler/simplStg/StgSATMonad.lhs
+59
-63
ghc/compiler/simplStg/StgStats.hi
ghc/compiler/simplStg/StgStats.hi
+0
-6
ghc/compiler/simplStg/StgStats.lhs
ghc/compiler/simplStg/StgStats.lhs
+16
-16
ghc/compiler/simplStg/StgVarInfo.hi
ghc/compiler/simplStg/StgVarInfo.hi
+0
-6
ghc/compiler/simplStg/StgVarInfo.lhs
ghc/compiler/simplStg/StgVarInfo.lhs
+79
-95
ghc/compiler/simplStg/UpdAnal.hi
ghc/compiler/simplStg/UpdAnal.hi
+0
-6
ghc/compiler/simplStg/UpdAnal.lhs
ghc/compiler/simplStg/UpdAnal.lhs
+52
-55
ghc/compiler/specialise/SpecEnv.lhs
ghc/compiler/specialise/SpecEnv.lhs
+253
-0
ghc/compiler/specialise/SpecTyFuns.hi
ghc/compiler/specialise/SpecTyFuns.hi
+0
-24
ghc/compiler/specialise/SpecUtils.lhs
ghc/compiler/specialise/SpecUtils.lhs
+46
-48
ghc/compiler/specialise/Specialise.hi
ghc/compiler/specialise/Specialise.hi
+0
-17
ghc/compiler/specialise/Specialise.lhs
ghc/compiler/specialise/Specialise.lhs
+329
-353
ghc/compiler/stgSyn/CoreToStg.hi
ghc/compiler/stgSyn/CoreToStg.hi
+0
-20
ghc/compiler/stgSyn/CoreToStg.lhs
ghc/compiler/stgSyn/CoreToStg.lhs
+192
-246
ghc/compiler/stgSyn/StgFuns.hi
ghc/compiler/stgSyn/StgFuns.hi
+0
-6
ghc/compiler/stgSyn/StgLint.hi
ghc/compiler/stgSyn/StgLint.hi
+0
-12
ghc/compiler/stgSyn/StgLint.lhs
ghc/compiler/stgSyn/StgLint.lhs
+70
-78
ghc/compiler/stgSyn/StgSyn.hi
ghc/compiler/stgSyn/StgSyn.hi
+0
-165
ghc/compiler/stgSyn/StgSyn.lhs
ghc/compiler/stgSyn/StgSyn.lhs
+142
-286
ghc/compiler/stgSyn/StgUtils.lhs
ghc/compiler/stgSyn/StgUtils.lhs
+19
-22
ghc/compiler/stranal/SaAbsInt.hi
ghc/compiler/stranal/SaAbsInt.hi
+0
-14
ghc/compiler/stranal/SaAbsInt.lhs
ghc/compiler/stranal/SaAbsInt.lhs
+93
-102
ghc/compiler/stranal/SaLib.hi
ghc/compiler/stranal/SaLib.hi
+0
-38
ghc/compiler/stranal/SaLib.lhs
ghc/compiler/stranal/SaLib.lhs
+4
-10
ghc/compiler/stranal/StrictAnal.hi
ghc/compiler/stranal/StrictAnal.hi
+0
-9
ghc/compiler/stranal/StrictAnal.lhs
ghc/compiler/stranal/StrictAnal.lhs
+67
-79
ghc/compiler/stranal/WorkWrap.hi
ghc/compiler/stranal/WorkWrap.hi
+0
-8
ghc/compiler/stranal/WorkWrap.lhs
ghc/compiler/stranal/WorkWrap.lhs
+37
-38
ghc/compiler/stranal/WwLib.hi
ghc/compiler/stranal/WwLib.hi
+0
-39
ghc/compiler/stranal/WwLib.lhs
ghc/compiler/stranal/WwLib.lhs
+67
-77
ghc/compiler/typecheck/BackSubst.hi
ghc/compiler/typecheck/BackSubst.hi
+0
-24
ghc/compiler/typecheck/BackSubst.lhs
ghc/compiler/typecheck/BackSubst.lhs
+0
-451
ghc/compiler/typecheck/Disambig.hi
ghc/compiler/typecheck/Disambig.hi
+0
-27
ghc/compiler/typecheck/Disambig.lhs
ghc/compiler/typecheck/Disambig.lhs
+0
-162
ghc/compiler/typecheck/GenSpecEtc.hi
ghc/compiler/typecheck/GenSpecEtc.hi
+0
-53
ghc/compiler/typecheck/GenSpecEtc.lhs
ghc/compiler/typecheck/GenSpecEtc.lhs
+236
-281
ghc/compiler/typecheck/Inst.lhs
ghc/compiler/typecheck/Inst.lhs
+649
-0
ghc/compiler/typecheck/Spec.hi
ghc/compiler/typecheck/Spec.hi
+0
-18
ghc/compiler/typecheck/Spec.lhs
ghc/compiler/typecheck/Spec.lhs
+0
-158
ghc/compiler/typecheck/Subst.hi
ghc/compiler/typecheck/Subst.hi
+0
-25
ghc/compiler/typecheck/Subst.lhs
ghc/compiler/typecheck/Subst.lhs
+0
-827
ghc/compiler/typecheck/TcBinds.hi
ghc/compiler/typecheck/TcBinds.hi
+0
-22
ghc/compiler/typecheck/TcBinds.lhs
ghc/compiler/typecheck/TcBinds.lhs
+361
-400
ghc/compiler/typecheck/TcClassDcl.hi
ghc/compiler/typecheck/TcClassDcl.hi
+0
-25
ghc/compiler/typecheck/TcClassDcl.lhs
ghc/compiler/typecheck/TcClassDcl.lhs
+302
-298
ghc/compiler/typecheck/TcClassSig.hi
ghc/compiler/typecheck/TcClassSig.hi
+0
-19
ghc/compiler/typecheck/TcClassSig.lhs
ghc/compiler/typecheck/TcClassSig.lhs
+12
-17
ghc/compiler/typecheck/TcConDecls.hi
ghc/compiler/typecheck/TcConDecls.hi
+0
-18
ghc/compiler/typecheck/TcConDecls.lhs
ghc/compiler/typecheck/TcConDecls.lhs
+0
-55
ghc/compiler/typecheck/TcContext.hi
ghc/compiler/typecheck/TcContext.hi
+0
-15
ghc/compiler/typecheck/TcContext.lhs
ghc/compiler/typecheck/TcContext.lhs
+0
-55
ghc/compiler/typecheck/TcDefaults.hi
ghc/compiler/typecheck/TcDefaults.hi
+0
-15
ghc/compiler/typecheck/TcDefaults.lhs
ghc/compiler/typecheck/TcDefaults.lhs
+26
-38
ghc/compiler/typecheck/TcDeriv.hi
ghc/compiler/typecheck/TcDeriv.hi
+0
-29
ghc/compiler/typecheck/TcDeriv.lhs
ghc/compiler/typecheck/TcDeriv.lhs
+180
-251
ghc/compiler/typecheck/TcEnv.lhs
ghc/compiler/typecheck/TcEnv.lhs
+289
-0
ghc/compiler/typecheck/TcExpr.hi
ghc/compiler/typecheck/TcExpr.hi
+0
-18
ghc/compiler/typecheck/TcExpr.lhs
ghc/compiler/typecheck/TcExpr.lhs
+623
-483
ghc/compiler/typecheck/TcGRHSs.hi
ghc/compiler/typecheck/TcGRHSs.hi
+0
-18
ghc/compiler/typecheck/TcGRHSs.lhs
ghc/compiler/typecheck/TcGRHSs.lhs
+38
-43
ghc/compiler/typecheck/TcGenDeriv.hi
ghc/compiler/typecheck/TcGenDeriv.hi
+0
-53
ghc/compiler/typecheck/TcGenDeriv.lhs
ghc/compiler/typecheck/TcGenDeriv.lhs
+331
-308
ghc/compiler/typecheck/TcHsSyn.lhs
ghc/compiler/typecheck/TcHsSyn.lhs
+525
-0
ghc/compiler/typecheck/TcIfaceSig.hi
ghc/compiler/typecheck/TcIfaceSig.hi
+0
-14
ghc/compiler/typecheck/TcIfaceSig.lhs
ghc/compiler/typecheck/TcIfaceSig.lhs
+44
-55
ghc/compiler/typecheck/TcInstDcls.hi
ghc/compiler/typecheck/TcInstDcls.hi
+0
-35
ghc/compiler/typecheck/TcInstDcls.lhs
ghc/compiler/typecheck/TcInstDcls.lhs
+505
-751
ghc/compiler/typecheck/TcInstUtil.lhs
ghc/compiler/typecheck/TcInstUtil.lhs
+294
-0
ghc/compiler/typecheck/TcKind.lhs
ghc/compiler/typecheck/TcKind.lhs
+205
-0
ghc/compiler/typecheck/TcLoop.lhi
ghc/compiler/typecheck/TcLoop.lhi
+38
-0
ghc/compiler/typecheck/TcLoop.lhs
ghc/compiler/typecheck/TcLoop.lhs
+7
-0
ghc/compiler/typecheck/TcMLoop.lhi
ghc/compiler/typecheck/TcMLoop.lhi
+13
-0
ghc/compiler/typecheck/TcMatches.hi
ghc/compiler/typecheck/TcMatches.hi
+0
-20
ghc/compiler/typecheck/TcMatches.lhs
ghc/compiler/typecheck/TcMatches.lhs
+100
-101
ghc/compiler/typecheck/TcModule.hi
ghc/compiler/typecheck/TcModule.hi
+0
-65
ghc/compiler/typecheck/TcModule.lhs
ghc/compiler/typecheck/TcModule.lhs
+191
-213
ghc/compiler/typecheck/TcMonad.hi
ghc/compiler/typecheck/TcMonad.hi
+0
-137
ghc/compiler/typecheck/TcMonad.lhs
ghc/compiler/typecheck/TcMonad.lhs
+366
-651
ghc/compiler/typecheck/TcMonadFns.hi
ghc/compiler/typecheck/TcMonadFns.hi
+0
-73
ghc/compiler/typecheck/TcMonadFns.lhs
ghc/compiler/typecheck/TcMonadFns.lhs
+0
-244
ghc/compiler/typecheck/TcMonoBnds.hi
ghc/compiler/typecheck/TcMonoBnds.hi
+0
-18
ghc/compiler/typecheck/TcMonoBnds.lhs
ghc/compiler/typecheck/TcMonoBnds.lhs
+0
-130
ghc/compiler/typecheck/TcMonoType.hi
ghc/compiler/typecheck/TcMonoType.hi
+0
-17
ghc/compiler/typecheck/TcMonoType.lhs
ghc/compiler/typecheck/TcMonoType.lhs
+169
-160
ghc/compiler/typecheck/TcParQuals.lhs
ghc/compiler/typecheck/TcParQuals.lhs
+0
-97
ghc/compiler/typecheck/TcPat.hi
ghc/compiler/typecheck/TcPat.hi
+0
-16
ghc/compiler/typecheck/TcPat.lhs
ghc/compiler/typecheck/TcPat.lhs
+146
-239
ghc/compiler/typecheck/TcPolyType.hi
ghc/compiler/typecheck/TcPolyType.hi
+0
-16
ghc/compiler/typecheck/TcPolyType.lhs
ghc/compiler/typecheck/TcPolyType.lhs
+0
-110
ghc/compiler/typecheck/TcPragmas.hi
ghc/compiler/typecheck/TcPragmas.hi
+0
-25
ghc/compiler/typecheck/TcPragmas.lhs
ghc/compiler/typecheck/TcPragmas.lhs
+68
-113
ghc/compiler/typecheck/TcQuals.hi
ghc/compiler/typecheck/TcQuals.hi
+0
-18
ghc/compiler/typecheck/TcQuals.lhs
ghc/compiler/typecheck/TcQuals.lhs
+0
-55
ghc/compiler/typecheck/TcSimplify.hi
ghc/compiler/typecheck/TcSimplify.hi
+0
-27
ghc/compiler/typecheck/TcSimplify.lhs
ghc/compiler/typecheck/TcSimplify.lhs
+472
-321
ghc/compiler/typecheck/TcTyClsDecls.lhs
ghc/compiler/typecheck/TcTyClsDecls.lhs
+308
-0
ghc/compiler/typecheck/TcTyDecls.hi
ghc/compiler/typecheck/TcTyDecls.hi
+0
-19
ghc/compiler/typecheck/TcTyDecls.lhs
ghc/compiler/typecheck/TcTyDecls.lhs
+179
-248
ghc/compiler/typecheck/TcType.lhs
ghc/compiler/typecheck/TcType.lhs
+322
-0
ghc/compiler/typecheck/Typecheck.hi
ghc/compiler/typecheck/Typecheck.hi
+0
-60
ghc/compiler/typecheck/Typecheck.lhs
ghc/compiler/typecheck/Typecheck.lhs
+46
-57
ghc/compiler/typecheck/Unify.hi
ghc/compiler/typecheck/Unify.hi
+0
-15
ghc/compiler/typecheck/Unify.lhs
ghc/compiler/typecheck/Unify.lhs
+154
-241
ghc/compiler/types/Class.lhs
ghc/compiler/types/Class.lhs
+338
-0
ghc/compiler/types/Kind.lhs
ghc/compiler/types/Kind.lhs
+50
-0
ghc/compiler/types/PprType.lhs
ghc/compiler/types/PprType.lhs
+595
-0
ghc/compiler/types/TyCon.lhs
ghc/compiler/types/TyCon.lhs
+324
-0
ghc/compiler/types/TyLoop.lhi
ghc/compiler/types/TyLoop.lhi
+45
-0
ghc/compiler/types/TyLoop.lhs
ghc/compiler/types/TyLoop.lhs
+23
-0
ghc/compiler/types/TyVar.lhs
ghc/compiler/types/TyVar.lhs
+153
-0
ghc/compiler/types/Type.lhs
ghc/compiler/types/Type.lhs
+637
-0
ghc/compiler/types/Usage.lhs
ghc/compiler/types/Usage.lhs
+109
-0
ghc/compiler/utils/Argv.lhs
ghc/compiler/utils/Argv.lhs
+29
-0
ghc/compiler/utils/Bag.hi
ghc/compiler/utils/Bag.hi
+0
-16
ghc/compiler/utils/Bag.lhs
ghc/compiler/utils/Bag.lhs
+74
-27
ghc/compiler/utils/BitSet.hi
ghc/compiler/utils/BitSet.hi
+0
-10
ghc/compiler/utils/BitSet.lhs
ghc/compiler/utils/BitSet.lhs
+15
-19
ghc/compiler/utils/CharSeq.hi
ghc/compiler/utils/CharSeq.hi
+0
-16
ghc/compiler/utils/CharSeq.lhs
ghc/compiler/utils/CharSeq.lhs
+26
-61
ghc/compiler/utils/Digraph.hi
ghc/compiler/utils/Digraph.hi
+0
-8
ghc/compiler/utils/Digraph.lhs
ghc/compiler/utils/Digraph.lhs
+63
-40
ghc/compiler/utils/FiniteMap.hi
ghc/compiler/utils/FiniteMap.hi
+0
-33
ghc/compiler/utils/FiniteMap.lhs
ghc/compiler/utils/FiniteMap.lhs
+40
-63
ghc/compiler/utils/LiftMonad.hi
ghc/compiler/utils/LiftMonad.hi
+0
-4
ghc/compiler/utils/LiftMonad.lhs
ghc/compiler/utils/LiftMonad.lhs
+0
-39
ghc/compiler/utils/ListSetOps.hi
ghc/compiler/utils/ListSetOps.hi
+0
-6
ghc/compiler/utils/ListSetOps.lhs
ghc/compiler/utils/ListSetOps.lhs
+1
-1
ghc/compiler/utils/MatchEnv.lhs
ghc/compiler/utils/MatchEnv.lhs
+112
-0
ghc/compiler/utils/Maybes.hi
ghc/compiler/utils/Maybes.hi
+0
-18
ghc/compiler/utils/Maybes.lhs
ghc/compiler/utils/Maybes.lhs
+67
-34
ghc/compiler/utils/OrdList.lhs
ghc/compiler/utils/OrdList.lhs
+59
-0
ghc/compiler/utils/Outputable.hi
ghc/compiler/utils/Outputable.hi
+0
-52
ghc/compiler/utils/Outputable.lhs
ghc/compiler/utils/Outputable.lhs
+34
-58
ghc/compiler/utils/PprStyle.lhs
ghc/compiler/utils/PprStyle.lhs
+49
-0
ghc/compiler/utils/Pretty.hi
ghc/compiler/utils/Pretty.hi
+0
-48
ghc/compiler/utils/Pretty.lhs
ghc/compiler/utils/Pretty.lhs
+51
-74
ghc/compiler/utils/SST.lhs
ghc/compiler/utils/SST.lhs
+135
-0
ghc/compiler/utils/Ubiq.lhi
ghc/compiler/utils/Ubiq.lhi
+138
-0
ghc/compiler/utils/UniqFM.hi
ghc/compiler/utils/UniqFM.hi
+0
-33
ghc/compiler/utils/UniqFM.lhs
ghc/compiler/utils/UniqFM.lhs
+70
-68
ghc/compiler/utils/UniqSet.hi
ghc/compiler/utils/UniqSet.hi
+0
-32
ghc/compiler/utils/UniqSet.lhs
ghc/compiler/utils/UniqSet.lhs
+30
-49
ghc/compiler/utils/Unpretty.hi
ghc/compiler/utils/Unpretty.hi
+0
-37
ghc/compiler/utils/Unpretty.lhs
ghc/compiler/utils/Unpretty.lhs
+8
-36
ghc/compiler/utils/Util.hi
ghc/compiler/utils/Util.hi
+0
-33
ghc/compiler/utils/Util.lhs
ghc/compiler/utils/Util.lhs
+136
-371
No files found.
ghc/compiler/HsVersions.h
View file @
6c381e87
...
...
@@ -53,8 +53,10 @@ you will screw up the layout where they are used in case expressions!
#ifdef DEBUG
#define ASSERT(e) if (not (e)) then (assertPanic __FILE__ __LINE__) else
#define CHK_Ubiq() import Ubiq
#else
#define ASSERT(e)
#define CHK_Ubiq()
#endif
--
ToDo
:
ghci
needs
to
load
far
too
many
bits
of
the
backend
because
...
...
ghc/compiler/Jmakefile
View file @
6c381e87
This diff is collapsed.
Click to expand it.
ghc/compiler/absCSyn/AbsCFuns.hi
deleted
100644 → 0
View file @
8147a9f0
{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
interface AbsCFuns where
import AbsCSyn(AbstractC, CAddrMode, CExprMacro, CStmtMacro, MagicId, RegRelative, ReturnInfo)
import BasicLit(BasicLit)
import CLabelInfo(CLabel)
import ClosureInfo(ClosureInfo)
import CostCentre(CostCentre)
import HeapOffs(HeapOffset)
import Maybes(Labda)
import PreludePS(_PackedString)
import PrimKind(PrimKind)
import PrimOps(PrimOp)
import SplitUniq(SplitUniqSupply)
import Unique(Unique)
data AbstractC
data CAddrMode
data PrimKind
data SplitUniqSupply
amodeCanSurviveGC :: CAddrMode -> Bool
flattenAbsC :: SplitUniqSupply -> AbstractC -> AbstractC
getAmodeKind :: CAddrMode -> PrimKind
kindFromMagicId :: MagicId -> PrimKind
mixedPtrLocn :: CAddrMode -> Bool
mixedTypeLocn :: CAddrMode -> Bool
mkAbsCStmtList :: AbstractC -> [AbstractC]
mkAbsCStmts :: AbstractC -> AbstractC -> AbstractC
mkAbstractCs :: [AbstractC] -> AbstractC
mkAlgAltsCSwitch :: CAddrMode -> [(Int, AbstractC)] -> AbstractC -> AbstractC
nonemptyAbsC :: AbstractC -> Labda AbstractC
ghc/compiler/absCSyn/AbsCSyn.hi
deleted
100644 → 0
View file @
8147a9f0
{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
interface AbsCSyn where
import AbsCFuns(amodeCanSurviveGC, flattenAbsC, getAmodeKind, kindFromMagicId, mixedPtrLocn, mixedTypeLocn, mkAbsCStmtList, mkAbsCStmts, mkAbstractCs, mkAlgAltsCSwitch, nonemptyAbsC)
import BasicLit(BasicLit(..), mkMachInt, mkMachWord)
import CLabelInfo(CLabel)
import CharSeq(CSeq)
import ClosureInfo(ClosureInfo, LambdaFormInfo)
import CmdLineOpts(GlobalSwitch, SimplifierSwitch)
import CostCentre(CostCentre)
import HeapOffs(HeapOffset, HpRelOffset(..), SpARelOffset(..), SpBRelOffset(..), VirtualHeapOffset(..), VirtualSpAOffset(..), VirtualSpBOffset(..), addOff, fixedHdrSize, intOff, intOffsetIntoGoods, isZeroOff, maxOff, possiblyEqualHeapOffset, pprHeapOffset, subOff, totHdrSize, varHdrSize, zeroOff)
import Id(ConTag(..), Id)
import Maybes(Labda)
import Outputable(ExportFlag, NamedThing(..), Outputable(..))
import PprAbsC(dumpRealC, writeRealC)
import PreludePS(_PackedString)
import PreludeRatio(Ratio(..))
import Pretty(PprStyle, Pretty(..), PrettyRep)
import PrimKind(PrimKind(..))
import PrimOps(PrimOp)
import SMRep(SMRep)
import SplitUniq(SplitUniqSupply)
import SrcLoc(SrcLoc)
import Stdio(_FILE)
import StgSyn(StgAtom, StgExpr, UpdateFlag)
import TyCon(TyCon)
import UniType(UniType)
import UniqFM(UniqFM)
import UniqSet(UniqSet(..))
import Unique(Unique)
import Unpretty(Unpretty(..))
class NamedThing a where
getExportFlag :: a -> ExportFlag
isLocallyDefined :: a -> Bool
getOrigName :: a -> (_PackedString, _PackedString)
getOccurrenceName :: a -> _PackedString
getInformingModules :: a -> [_PackedString]
getSrcLoc :: a -> SrcLoc
getTheUnique :: a -> Unique
hasType :: a -> Bool
getType :: a -> UniType
fromPreludeCore :: a -> Bool
class Outputable a where
ppr :: PprStyle -> a -> Int -> Bool -> PrettyRep
data AbstractC = AbsCNop | AbsCStmts AbstractC AbstractC | CAssign CAddrMode CAddrMode | CJump CAddrMode | CFallThrough CAddrMode | CReturn CAddrMode ReturnInfo | CSwitch CAddrMode [(BasicLit, AbstractC)] AbstractC | CCodeBlock CLabel AbstractC | CInitHdr ClosureInfo RegRelative CAddrMode Bool | COpStmt [CAddrMode] PrimOp [CAddrMode] Int [MagicId] | CSimultaneous AbstractC | CMacroStmt CStmtMacro [CAddrMode] | CCallProfCtrMacro _PackedString [CAddrMode] | CCallProfCCMacro _PackedString [CAddrMode] | CStaticClosure CLabel ClosureInfo CAddrMode [CAddrMode] | CClosureInfoAndCode ClosureInfo AbstractC (Labda AbstractC) CAddrMode [Char] Int | CRetVector CLabel [Labda CAddrMode] AbstractC | CRetUnVector CLabel CAddrMode | CFlatRetVector CLabel [CAddrMode] | CCostCentreDecl Bool CostCentre | CClosureUpdInfo AbstractC | CSplitMarker
data BasicLit = MachChar Char | MachStr _PackedString | MachAddr Integer | MachInt Integer Bool | MachFloat (Ratio Integer) | MachDouble (Ratio Integer) | MachLitLit _PackedString PrimKind | NoRepStr _PackedString | NoRepInteger Integer | NoRepRational (Ratio Integer)
data CAddrMode = CVal RegRelative PrimKind | CAddr RegRelative | CReg MagicId | CTableEntry CAddrMode CAddrMode PrimKind | CTemp Unique PrimKind | CLbl CLabel PrimKind | CUnVecLbl CLabel CLabel | CCharLike CAddrMode | CIntLike CAddrMode | CString _PackedString | CLit BasicLit | CLitLit _PackedString PrimKind | COffset HeapOffset | CCode AbstractC | CLabelledCode CLabel AbstractC | CJoinPoint Int Int | CMacroExpr PrimKind CExprMacro [CAddrMode] | CCostCentre CostCentre Bool
data CExprMacro = INFO_PTR | ENTRY_CODE | INFO_TAG | EVAL_TAG
data CLabel
data CSeq
data CStmtMacro = ARGS_CHK_A_LOAD_NODE | ARGS_CHK_A | ARGS_CHK_B_LOAD_NODE | ARGS_CHK_B | HEAP_CHK | STK_CHK | UPD_CAF | UPD_IND | UPD_INPLACE_NOPTRS | UPD_INPLACE_PTRS | UPD_BH_UPDATABLE | UPD_BH_SINGLE_ENTRY | PUSH_STD_UPD_FRAME | POP_STD_UPD_FRAME | SET_ARITY | CHK_ARITY | SET_TAG
data ClosureInfo
data LambdaFormInfo
data GlobalSwitch
data SimplifierSwitch
data CostCentre
data HeapOffset
type HpRelOffset = HeapOffset
data MagicId = BaseReg | StkOReg | VanillaReg PrimKind Int# | FloatReg Int# | DoubleReg Int# | TagReg | RetReg | SpA | SuA | SpB | SuB | Hp | HpLim | LivenessReg | ActivityReg | StdUpdRetVecReg | StkStubReg | CurCostCentre | VoidReg
data RegRelative = HpRel HeapOffset HeapOffset | SpARel Int Int | SpBRel Int Int | NodeRel HeapOffset
data ReturnInfo = DirectReturn | StaticVectoredReturn Int | DynamicVectoredReturn CAddrMode
type SpARelOffset = Int
type SpBRelOffset = Int
type VirtualHeapOffset = HeapOffset
type VirtualSpAOffset = Int
type VirtualSpBOffset = Int
type ConTag = Int
data Id
data Labda a
data ExportFlag
data PprStyle
type Pretty = Int -> Bool -> PrettyRep
data PrettyRep
data PrimKind = PtrKind | CodePtrKind | DataPtrKind | RetKind | InfoPtrKind | CostCentreKind | CharKind | IntKind | WordKind | AddrKind | FloatKind | DoubleKind | MallocPtrKind | StablePtrKind | ArrayKind | ByteArrayKind | VoidKind
data PrimOp
data SMRep
data SplitUniqSupply
data SrcLoc
data StgAtom a
data StgExpr a b
data UpdateFlag
data TyCon
data UniType
data UniqFM a
type UniqSet a = UniqFM a
data Unique
type Unpretty = CSeq
amodeCanSurviveGC :: CAddrMode -> Bool
flattenAbsC :: SplitUniqSupply -> AbstractC -> AbstractC
getAmodeKind :: CAddrMode -> PrimKind
kindFromMagicId :: MagicId -> PrimKind
mixedPtrLocn :: CAddrMode -> Bool
mixedTypeLocn :: CAddrMode -> Bool
mkAbsCStmtList :: AbstractC -> [AbstractC]
mkAbsCStmts :: AbstractC -> AbstractC -> AbstractC
mkAbstractCs :: [AbstractC] -> AbstractC
mkAlgAltsCSwitch :: CAddrMode -> [(Int, AbstractC)] -> AbstractC -> AbstractC
nonemptyAbsC :: AbstractC -> Labda AbstractC
mkMachInt :: Integer -> BasicLit
mkMachWord :: Integer -> BasicLit
addOff :: HeapOffset -> HeapOffset -> HeapOffset
fixedHdrSize :: HeapOffset
dumpRealC :: (GlobalSwitch -> Bool) -> AbstractC -> [Char]
infoptr :: MagicId
intOff :: Int -> HeapOffset
intOffsetIntoGoods :: HeapOffset -> Labda Int
isVolatileReg :: MagicId -> Bool
isZeroOff :: HeapOffset -> Bool
maxOff :: HeapOffset -> HeapOffset -> HeapOffset
mkCCostCentre :: CostCentre -> CAddrMode
mkIntCLit :: Int -> CAddrMode
node :: MagicId
possiblyEqualHeapOffset :: HeapOffset -> HeapOffset -> Bool
pprHeapOffset :: PprStyle -> HeapOffset -> CSeq
subOff :: HeapOffset -> HeapOffset -> HeapOffset
totHdrSize :: SMRep -> HeapOffset
varHdrSize :: SMRep -> HeapOffset
zeroOff :: HeapOffset
writeRealC :: (GlobalSwitch -> Bool) -> _FILE -> AbstractC -> _State _RealWorld -> ((), _State _RealWorld)
instance Eq MagicId
instance Eq BasicLit
instance Eq CLabel
instance Eq GlobalSwitch
instance Eq SimplifierSwitch
instance Eq Id
instance Eq PrimKind
instance Eq PrimOp
instance Eq Unique
instance Ord BasicLit
instance Ord CLabel
instance Ord GlobalSwitch
instance Ord SimplifierSwitch
instance Ord Id
instance Ord PrimKind
instance Ord Unique
instance NamedThing Id
instance (Outputable a, Outputable b) => Outputable (a, b)
instance (Outputable a, Outputable b, Outputable c) => Outputable (a, b, c)
instance Outputable BasicLit
instance Outputable Bool
instance Outputable Id
instance Outputable PrimKind
instance Outputable PrimOp
instance Outputable a => Outputable (StgAtom a)
instance (Outputable a, Outputable b, Ord b) => Outputable (StgExpr a b)
instance Outputable a => Outputable [a]
instance Text CExprMacro
instance Text CStmtMacro
instance Text Unique
ghc/compiler/absCSyn/AbsCSyn.lhs
View file @
6c381e87
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-199
5
% (c) The GRASP/AQUA Project, Glasgow University, 1992-199
6
%
\section[AbstractC]{Abstract C: the last stop before machine code}
...
...
@@ -22,7 +22,7 @@ module AbsCSyn (
CAddrMode(..),
ReturnInfo(..),
mkAbstractCs, mkAbsCStmts, mkAlgAltsCSwitch,
mkIntCLit,
mkIntCLit,
mkAbsCStmtList,
mkCCostCentre,
...
...
@@ -46,64 +46,43 @@ module AbsCSyn (
-- closure info
ClosureInfo, LambdaFormInfo, UpdateFlag, SMRep,
-- stuff from AbsC
Fun
s and PprAbsC...
nonemptyAbsC, flattenAbsC, getAmode
Kind
,
-- stuff from AbsC
Util
s and PprAbsC...
nonemptyAbsC, flattenAbsC, getAmode
Rep
,
mixedTypeLocn, mixedPtrLocn,
#ifdef __GLASGOW_HASKELL__
writeRealC,
#endif
dumpRealC,
kindFromMagicId,
-- UNUSED: getDestinationRegs,
amodeCanSurviveGC
,
kindFromMagicId,
amodeCanSurviveGC
#ifdef GRAN
CostRes(Cost),
, CostRes(Cost)
#endif
-- and stuff to make the interface self-sufficient
Outputable(..), NamedThing(..),
PrettyRep, ExportFlag, SrcLoc, Unique,
CSeq, PprStyle, Pretty(..), Unpretty(..),
-- blargh...
UniType,
PrimKind(..), -- re-exported NON-ABSTRACTLY
BasicLit(..), mkMachInt, mkMachWord, -- re-exported NON-ABSTRACTLY
Id, ConTag(..), Maybe, PrimOp, SplitUniqSupply, TyCon,
CLabel, GlobalSwitch, CostCentre,
SimplifierSwitch, UniqSet(..), UniqFM, StgExpr, StgAtom
) where
import AbsC
Funs
-- used, and re-exported
import AbsC
Utils
-- used, and re-exported
import ClosureInfo -- ditto
import Costs
import PprAbsC -- ditto
import HeapOffs hiding ( hpRelToInt )
import
AbsPrel
( PrimOp
import
PrelInfo
( PrimOp
IF_ATTACK_PRAGMAS(COMMA tagOf_PrimOp)
IF_ATTACK_PRAGMAS(COMMA pprPrimOp)
)
import CLabelInfo
import CmdLineOpts ( GlobalSwitch(..), SimplifierSwitch )
import BasicLit ( mkMachInt, mkMachWord, BasicLit(..) )
import Literal ( mkMachInt, mkMachWord, Literal(..) )
import CLabel
import CgCompInfo ( mAX_Vanilla_REG, mAX_Float_REG, mAX_Double_REG )
import CostCentre -- for CostCentre type
import Id ( Id, ConTag(..), DataCon(..) )
import Maybes ( Maybe )
import Outputable
import Unpretty -- ********** NOTE **********
import PrimKind ( PrimKind(..) )
import CostCentre -- for CostCentre type
import StgSyn ( StgExpr, StgAtom, StgBinderInfo )
import PrimRep ( PrimRep(..) )
import StgSyn ( GenStgExpr, GenStgArg, StgBinderInfo )
import UniqSet ( UniqSet(..), UniqFM )
import Un
ique ( Unique )
import Un
pretty -- ********** NOTE **********
import Util
#ifndef DPH
import CgCompInfo ( mAX_Vanilla_REG, mAX_Float_REG, mAX_Double_REG )
#else
import CgCompInfo ( spARelToInt, spBRelToInt )
import DapInfo ( virtualHeapOffsetToInt )
#endif {- Data Parallel Haskell -}
\end{code}
@AbstractC@ is a list of Abstract~C statements, but the data structure
...
...
@@ -120,7 +99,7 @@ A note on @CAssign@: In general, the type associated with an assignment
is the type of the lhs. However, when the lhs is a pointer to mixed
types (e.g. SpB relative), the type of the assignment is the type of
the rhs for float types, or the generic StgWord for all other types.
(In particular, a Char
Kind on the rhs is promoted to IntKind
when
(In particular, a Char
Rep on the rhs is promoted to IntRep
when
stored in a mixed type location.)
\begin{code}
...
...
@@ -130,7 +109,7 @@ stored in a mixed type location.)
| CJump
CAddrMode -- Put this in the program counter
-- eg `CJump (CReg (VanillaReg Ptr
Kind
1))' puts Ret1 in PC
-- eg `CJump (CReg (VanillaReg Ptr
Rep
1))' puts Ret1 in PC
-- Enter can be done by:
-- CJump (CVal NodeRel zeroOff)
...
...
@@ -144,7 +123,7 @@ stored in a mixed type location.)
ReturnInfo -- How to get the return address from the base address
| CSwitch CAddrMode
[(
BasicLit
, AbstractC)] -- alternatives
[(
Literal
, AbstractC)] -- alternatives
AbstractC -- default; if there is no real Abstract C in here
-- (e.g., all comments; see function "nonemptyAbsC"),
-- then that means the default _cannot_ occur.
...
...
@@ -178,12 +157,12 @@ stored in a mixed type location.)
-- INVARIANT: When a PrimOp which can cause GC is used, the
-- only live data is tidily on the STG stacks or in the STG
-- registers (the code generator ensures this).
--
--
-- Why this? Because if the arguments were arbitrary
-- addressing modes, they might be things like (Hp+6) which
-- will get utterly spongled by GC.
| CSimultaneous -- Perform simultaneously all the statements
| CSimultaneous -- Perform simultaneously all the statements
AbstractC -- in the nested AbstractC. They are only
-- allowed to be CAssigns, COpStmts and AbsCNops, so the
-- "simultaneous" part just concerns making
...
...
@@ -200,8 +179,8 @@ stored in a mixed type location.)
| CStaticClosure
CLabel -- The (full, not base) label to use for labelling the closure.
ClosureInfo
CAddrMode -- cost centre identifier to place in closure
ClosureInfo
CAddrMode -- cost centre identifier to place in closure
[CAddrMode] -- free vars; ptrs, then non-ptrs
...
...
@@ -239,30 +218,12 @@ stored in a mixed type location.)
-- False <=> extern; just say so
CostCentre
{-UNUSED:
| CComment -- to insert a comment into the output
FAST_STRING
-}
| CClosureUpdInfo
AbstractC -- InRegs Info Table (CClosureInfoTable)
-- ^^^^^^^^^^^^^^^^^
-- out of date -- HWL
| CSplitMarker -- Split into separate object modules here
#ifdef DPH
| CNativeInfoTableAndCode
ClosureInfo -- Explains placement and layout of closure
String -- closure description
AbstractC -- We want to apply the trick outlined in the STG
-- paper of putting the info table before the normal
-- entry point to a function (well a very similar
-- trick, see nativeDap/NOTES.static). By putting the
-- abstractC here we stop the info table
-- wandering off :-) (No post mangler hacking going
-- on here Will :-)
#endif {- Data Parallel Haskell -}
\end{code}
About @CMacroStmt@, etc.: notionally, they all just call some
...
...
@@ -291,17 +252,16 @@ data CStmtMacro
| UPD_BH_SINGLE_ENTRY
| PUSH_STD_UPD_FRAME
| POP_STD_UPD_FRAME
--UNUSED: | PUSH_CON_UPD_FRAME
| SET_ARITY
| CHK_ARITY
| SET_TAG
#ifdef GRAN
| GRAN_FETCH -- for GrAnSim only -- HWL
| GRAN_RESCHEDULE -- for GrAnSim only -- HWL
| GRAN_FETCH_AND_RESCHEDULE -- for GrAnSim only -- HWL
| THREAD_CONTEXT_SWITCH -- for GrAnSim only -- HWL
| GRAN_FETCH -- for GrAnSim only -- HWL
| GRAN_RESCHEDULE -- for GrAnSim only -- HWL
| GRAN_FETCH_AND_RESCHEDULE -- for GrAnSim only -- HWL
| THREAD_CONTEXT_SWITCH -- for GrAnSim only -- HWL
#endif
deriving Text
deriving Text
\end{code}
...
...
@@ -357,7 +317,7 @@ to the code to be resumed. (ToDo: update)
Addressing modes: these have @PrimitiveKinds@ pinned on them.
\begin{code}
data CAddrMode
= CVal RegRelative Prim
Kind
= CVal RegRelative Prim
Rep
-- On RHS of assign: Contents of Magic[n]
-- On LHS of assign: location Magic[n]
-- (ie at addr Magic+n)
...
...
@@ -375,23 +335,21 @@ data CAddrMode
| CTableEntry -- CVal should be generalized to allow this
CAddrMode -- Base
CAddrMode -- Offset
Prim
Kind
-- For casting
Prim
Rep
-- For casting
| CTemp Unique Prim
Kind
-- Temporary locations
| CTemp Unique Prim
Rep
-- Temporary locations
-- ``Temporaries'' correspond to local variables in C, and registers in
-- native code.
-- OLD: The kind (that used to be there) is redundant, but it's REALLY helpful for
-- generating C declarations
| CLbl CLabel -- Labels in the runtime system, etc.
-- See comment under CLabelledData about (String,Name)
Prim
Kind
-- the kind is so we can generate accurate C decls
Prim
Rep
-- the kind is so we can generate accurate C decls
| CUnVecLbl -- A choice of labels left up to the back end
CLabel -- direct
CLabel -- vectored
| CCharLike CAddrMode -- The address of a static char-like closure for
| CCharLike CAddrMode -- The address of a static char-like closure for
-- the specified character. It is guaranteed to be in
-- the range 0..255.
...
...
@@ -400,10 +358,10 @@ data CAddrMode
-- range mIN_INTLIKE..mAX_INTLIKE
| CString FAST_STRING -- The address of the null-terminated string
| CLit
BasicLit
| CLit
Literal
| CLitLit FAST_STRING -- completely literal literal: just spit this String
-- into the C output
Prim
Kind
Prim
Rep
| COffset HeapOffset -- A literal constant, not an offset *from* anything!
-- ToDo: this should really be CLitOffset
...
...
@@ -423,9 +381,9 @@ data CAddrMode
-- then the code for this thing will be entered
| CMacroExpr
Prim
Kind
-- the kind of the result