Refactor, document, and optimize LLVM configuration loading
As described in the new Note [LLVM Configuration] in SysTools, we now load llvm-targets and llvm-passes lazily to avoid the overhead of doing so when -fllvm isn't used (also known as "the common case"). Noticed in #17003. Metric Decrease: T12234 T12150
Showing
- compiler/llvmGen/LlvmCodeGen.hs 10 additions, 4 deletionscompiler/llvmGen/LlvmCodeGen.hs
- compiler/main/DriverPipeline.hs 2 additions, 2 deletionscompiler/main/DriverPipeline.hs
- compiler/main/DynFlags.hs 13 additions, 12 deletionscompiler/main/DynFlags.hs
- compiler/main/GHC.hs 1 addition, 1 deletioncompiler/main/GHC.hs
- compiler/main/SysTools.hs 27 additions, 5 deletionscompiler/main/SysTools.hs
- ghc/GHCi/UI.hs 2 additions, 6 deletionsghc/GHCi/UI.hs
- testsuite/tests/hiefile/should_run/PatTypes.hs 1 addition, 1 deletiontestsuite/tests/hiefile/should_run/PatTypes.hs
- utils/llvm-targets/gen-data-layout.sh 3 additions, 0 deletionsutils/llvm-targets/gen-data-layout.sh
Loading
Please register or sign in to comment