Skip to content
  • jeffrey young's avatar
    ecaec722
    CmmToLlvm: Remove DynFlags, add LlvmCgConfig · ecaec722
    jeffrey young authored and Marge Bot's avatar Marge Bot committed
    CodeOutput: LCGConfig, add handshake initLCGConfig
    
    Add two modules:
    GHC.CmmToLlvm.Config                -- to hold the Llvm code gen config
    GHC.Driver.Config.CmmToLlvm         -- for initialization, other utils
    
    CmmToLlvm: remove HasDynFlags, add LlvmConfig
    
    CmmToLlvm: add lcgContext to LCGConfig
    
    CmmToLlvm.Base: DynFlags --> LCGConfig
    
    Llvm: absorb LlvmOpts into LCGConfig
    
    CmmToLlvm.Ppr: swap DynFlags --> LCGConfig
    
    CmmToLlvm.CodeGen: swap DynFlags --> LCGConfig
    
    CmmToLlvm.CodeGen: swap DynFlags --> LCGConfig
    
    CmmToLlvm.Data: swap LlvmOpts --> LCGConfig
    
    CmmToLlvm: swap DynFlags --> LCGConfig
    
    CmmToLlvm: move LlvmVersion to CmmToLlvm.Config
    
    Additionally:
    - refactor Config and initConfig to hold LlvmVersion
    - push IO needed to get LlvmVersion to boundary between Cmm and LLvm
    code generation
    - remove redundant imports, this is much cleaner!
    
    CmmToLlvm.Config: store platformMisc_llvmTarget
    
    instead of all of platformMisc
    ecaec722
    CmmToLlvm: Remove DynFlags, add LlvmCgConfig
    jeffrey young authored and Marge Bot's avatar Marge Bot committed
    CodeOutput: LCGConfig, add handshake initLCGConfig
    
    Add two modules:
    GHC.CmmToLlvm.Config                -- to hold the Llvm code gen config
    GHC.Driver.Config.CmmToLlvm         -- for initialization, other utils
    
    CmmToLlvm: remove HasDynFlags, add LlvmConfig
    
    CmmToLlvm: add lcgContext to LCGConfig
    
    CmmToLlvm.Base: DynFlags --> LCGConfig
    
    Llvm: absorb LlvmOpts into LCGConfig
    
    CmmToLlvm.Ppr: swap DynFlags --> LCGConfig
    
    CmmToLlvm.CodeGen: swap DynFlags --> LCGConfig
    
    CmmToLlvm.CodeGen: swap DynFlags --> LCGConfig
    
    CmmToLlvm.Data: swap LlvmOpts --> LCGConfig
    
    CmmToLlvm: swap DynFlags --> LCGConfig
    
    CmmToLlvm: move LlvmVersion to CmmToLlvm.Config
    
    Additionally:
    - refactor Config and initConfig to hold LlvmVersion
    - push IO needed to get LlvmVersion to boundary between Cmm and LLvm
    code generation
    - remove redundant imports, this is much cleaner!
    
    CmmToLlvm.Config: store platformMisc_llvmTarget
    
    instead of all of platformMisc
Loading