| SplitMangle -- after mangler if splitting
| SplitAs
| As
- | LlvmAs -- LLVM assembly to bitcode file
- | LlvmOpt -- Run LLVM opt tool over llvm assembly
- | LlvmLlc -- LLVM bitcode to native assembly
+ | LlvmOpt -- Run LLVM opt tool over llvm assembly
+ | LlvmLlc -- LLVM bitcode to native assembly
| CmmCpp -- pre-process Cmm source
| Cmm -- parse & compile Cmm code
eqPhase SplitMangle SplitMangle = True
eqPhase SplitAs SplitAs = True
eqPhase As As = True
-eqPhase LlvmAs LlvmAs = True
eqPhase LlvmOpt LlvmOpt = True
eqPhase LlvmLlc LlvmLlc = True
eqPhase CmmCpp CmmCpp = True
nextPhase Mangle = SplitMangle
nextPhase SplitMangle = As
nextPhase As = SplitAs
-nextPhase LlvmAs = LlvmOpt
-nextPhase LlvmOpt = LlvmLlc
-nextPhase LlvmLlc = As
+nextPhase LlvmOpt = LlvmLlc
+nextPhase LlvmLlc = As
nextPhase SplitAs = StopLn
nextPhase Ccpp = As
nextPhase Cc = As
startPhase "split_s" = SplitMangle
startPhase "s" = As
startPhase "S" = As
-startPhase "ll" = LlvmAs
-startPhase "bc" = LlvmOpt
-startPhase "opt_bc" = LlvmLlc
+startPhase "ll" = LlvmOpt
+startPhase "bc" = LlvmLlc
startPhase "o" = StopLn
startPhase "cmm" = CmmCpp
startPhase "cmmcpp" = Cmm
phaseInputExt Mangle = "raw_s"
phaseInputExt SplitMangle = "split_s" -- not really generated
phaseInputExt As = "s"
-phaseInputExt LlvmAs = "ll"
-phaseInputExt LlvmOpt = "bc"
-phaseInputExt LlvmLlc = "opt_bc"
+phaseInputExt LlvmOpt = "ll"
+phaseInputExt LlvmLlc = "bc"
phaseInputExt SplitAs = "split_s" -- not really generated
phaseInputExt CmmCpp = "cmm"
phaseInputExt Cmm = "cmmcpp"
haskellish_src_suffixes = haskellish_user_src_suffixes ++
[ "hspp", "hscpp", "hcr", "cmm" ]
haskellish_suffixes = haskellish_src_suffixes ++ ["hc", "raw_s"]
-cish_suffixes = [ "c", "cpp", "C", "cc", "cxx", "s", "S", "ll", "bc", "opt_bc" ]
+cish_suffixes = [ "c", "cpp", "C", "cc", "cxx", "s", "S", "ll", "bc" ]
extcoreish_suffixes = [ "hcr" ]
-- Will not be deleted as temp files:
haskellish_user_src_suffixes = [ "hs", "lhs", "hs-boot", "lhs-boot" ]