Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/98091a84b20320eb639af91ac853f886dd27c60c >--------------------------------------------------------------- commit 98091a84b20320eb639af91ac853f886dd27c60c Author: David Terei <[email protected]> Date: Tue Nov 22 12:30:52 2011 -0800 Add '-dno-llvm-mangler' flag for debugging purposes >--------------------------------------------------------------- compiler/main/DriverPipeline.hs | 10 ++++++++-- compiler/main/DynFlags.hs | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index b378cfe..9851ce1 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -1338,7 +1338,13 @@ runPhase LlvmLlc input_fn dflags | not opt_Static = "dynamic-no-pic" | otherwise = "static" - output_fn <- phaseOutputFilename LlvmMangle + -- hidden debugging flag '-dno-llvm-mangler' to skip mangling + let next_phase = case dopt Opt_NoLlvmMangler dflags of + False -> LlvmMangle + True | dopt Opt_SplitObjs dflags -> Splitter + True -> As + + output_fn <- phaseOutputFilename next_phase io $ SysTools.runLlvmLlc dflags ([ SysTools.Option (llvmOpts !! opt_lvl), @@ -1348,7 +1354,7 @@ runPhase LlvmLlc input_fn dflags ++ map SysTools.Option lc_opts ++ map SysTools.Option fpOpts) - return (LlvmMangle, output_fn) + return (next_phase, output_fn) where -- Bug in LLVM at O3 on OSX. llvmOpts = if platformOS (targetPlatform dflags) == OSDarwin diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index c6f886e..4eb6dc9 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -220,6 +220,7 @@ data DynFlag | Opt_DoStgLinting | Opt_DoCmmLinting | Opt_DoAsmLinting + | Opt_NoLlvmMangler | Opt_WarnIsError -- -Werror; makes warnings fatal @@ -1573,6 +1574,7 @@ dynamic_flags = [ , Flag "dshow-passes" (NoArg (do forceRecompile setVerbosity $ Just 2)) , Flag "dfaststring-stats" (NoArg (setDynFlag Opt_D_faststring_stats)) + , Flag "dno-llvm-mangler" (NoArg (setDynFlag Opt_NoLlvmMangler)) ------ Machine dependant (-m<blah>) stuff --------------------------- _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
