summaryrefslogtreecommitdiff
path: root/compiler/main/StaticFlagParser.hs
Commit message (Collapse)AuthorAgeFilesLines
* StaticFlags code cleanup (fixes #7595)Jan Stolarek2013-01-281-151/+0
| | | | | | | | | Function responsible for parsing the static flags, that were spread across two modules (StaticFlags and StaticFlagParser), are now in one file. This is analogous to dynamic flags parsing, which is also contained within a single module. Signed-off-by: David Terei <davidterei@gmail.com>
* Replace all uses of ghcError with throwGhcException and purge ghcError.Erik de Castro Lopo2012-11-301-3/+3
|
* Make -fexcess-precision a fully-dynamic flagIan Lynagh2012-10-091-11/+2
| | | | It used to be part-dynamic, part-static.
* Make -f(no-)pre-inlining a dynamic flagIan Lynagh2012-10-091-1/+0
|
* Make -fsimple-list-literals a dynamic flagIan Lynagh2012-10-091-1/+0
|
* Make -fmax-worker-args a dynamic flagIan Lynagh2012-10-091-1/+0
|
* Make the -dsuppress-* flags dynamicIan Lynagh2012-10-091-8/+0
|
* -fliberate-case-threshold is already a dynamic flagIan Lynagh2012-10-091-1/+0
|
* Make the opt_UF_* static flags dynamicIan Lynagh2012-10-091-6/+1
| | | | | | | | I also removed the default values from the "Discounts and thresholds" note: most of them were no longer up-to-date. Along the way I added FloatSuffix to the argument parser, analogous to IntSuffix.
* Make the -ferror-spans flag dynamicIan Lynagh2012-10-091-2/+1
|
* Merge branch 'tc-untouchables'Simon Peyton Jones2012-10-021-0/+1
|\
| * A few more constraint solver improvementsSimon Peyton Jones2012-10-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Get rid of the lookupInInerts stage * Re-introduce the flat-cache for flattening type-family equations See Note [Type family equations] in TcSMonad. My previous clever attempt with organising the work list proved too fragile. There's a (static) flag -fno-flat-cache to switch if off, so you can try with and without * Improve the -ddump-cs-trace output * The usual round of refactoring
* | -fhpc is no longer a static flag (fixes hpc tests)Simon Marlow2012-10-021-2/+1
|/
* Remove unused -dopt-fuelIan Lynagh2012-09-031-1/+0
|
* Remove -dstub-dead-values from flag listIan Lynagh2012-09-031-1/+0
|
* Make -fhistory-size dynamicIan Lynagh2012-09-031-1/+0
|
* Make the ways dynamicIan Lynagh2012-09-031-40/+4
|
* Refactor the ways code a bitIan Lynagh2012-09-031-2/+2
| | | | | | | | We used to use a list lookup that couldn't fail. Now we just use functions. There were 3 overlapping entries for WayPar; I've commented out the ones that were shadowed for now.
* Add "Unregisterised" as a field in the settings fileIan Lynagh2012-08-071-14/+1
| | | | | | To explicitly choose whether you want an unregisterised build you now need to use the "--enable-unregisterised"/"--disable-unregisterised" configure flags.
* Make tablesNextToCode "dynamic"Ian Lynagh2012-08-061-10/+2
| | | | | This is a bit odd by itself, but it's a stepping stone on the way to putting "target unregisterised" into the settings file.
* Make -fscc-profiling a dynamic flagIan Lynagh2012-07-241-1/+0
| | | | All the flags that 'ways' imply are now dynamic
* Make -fPIC a dynamic flagIan Lynagh2012-07-161-11/+0
| | | | | | Hopefully I've kept the logic the same, and we now generate warnings if the user does -fno-PIC but we ignore them (e.g. because they're on OS X amd64).
* Make the GHC API a little more powerful.David Terei2012-06-251-6/+19
|
* Make -fgransim a dynamic flagIan Lynagh2012-06-201-1/+0
|
* Make -fparallel a dynamic flagIan Lynagh2012-06-201-1/+0
|
* Remove some cruft from StaticFlagParserIan Lynagh2012-06-201-10/+1
| | | | | Also, -read-dot-ghci is now gone. We now have -no-ignore-dot-ghci instead.
* Revert "Add -faggressive-primops plus refactoring in CoreUtils" (#5780)Simon Marlow2012-01-161-1/+0
| | | | This reverts commit 601c983dd0bada6b49bdadd8f172fd4eacac4b0c.
* Add -faggressive-primops plus refactoring in CoreUtilsSimon Peyton Jones2012-01-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm experimenting with making GHC a bit more aggressive about a) dropping case expressions if the result is unused Simplify.rebuildCase, CaseElim equation b) floating case expressions inwards FloatIn.fiExpr, AnnCase In both cases the new behaviour is gotten with a static (debug) flag -faggressive-primops. The extra "aggression" is to allow discarding and floating in for side-effecting operations. See the new, extensive Note [PrimOp can_fail and has_side_effects] in PrimoOp. When discarding a case with unused binders, in the lifted-type case it's definitely ok if the scrutinee terminates; previously we were checking exprOkForSpeculation, which is significantly worse. So I wanted a new function CoreUtils.exprCertainlyTerminates. In doing this I ended up with a significant refactoring in CoreUtils. The new structure has quite a lot of nice sharing: exprIsCheap = exprIsCheap' isHNFApp exprIsExpandable = exprIsCheap' isConLikeApp exprIsHNF = exprIsHNFlike isHNFApp exprIsConLike = exprIsHNFlike isConLikeApp exprCertainlyTerminates = exprIsHNFlike isTerminatingApp
* Implemented -dsuppress-var-kinds flag to remove silly kinds when dppr-debug ↵Dimitrios Vytiniotis2011-11-281-0/+1
| | | | | | | | is on. Adding commentary, and fixing a knot-tie related bug. Commentary only.
* Formatting wibbles.David Terei2011-10-171-5/+5
|
* Remove cruft code from old Safe Haskell implementation methodDavid Terei2011-10-171-39/+39
|
* SafeHaskell: Disable certain ghc extensions in Safe.David Terei2011-06-171-37/+38
| | | | | | | | | | This patch disables the use of some GHC extensions in Safe mode and also the use of certain flags. Some are disabled completely while others are only allowed on the command line and not in source PRAGMAS. We also check that Safe imports are indeed importing a Safe or Trustworthy module.
* Remove use of -fno-asm-mangling flag; fixes #5134Ian Lynagh2011-04-201-1/+0
| | | | The flag no longer exists, but we always behave as if it had been used.
* Add a new static flag -fno-opt-coercionsimonpj@microsoft.com2011-03-311-0/+1
| | | | This just disables the coercion optimiser, mainly for measurements in the paper
* Add -dppr-colsN to set width of dumpsBen Lippmeier2010-12-081-0/+1
|
* Add -dppr-case-as-let to print "strict lets" as actual letsBen Lippmeier2010-12-081-1/+2
|
* Implement -dsuppress-type-signaturesBen Lippmeier2010-12-081-0/+1
|
* Add more suppression flagsBen Lippmeier2010-12-081-9/+12
| | | | | | -dsuppress-all -dsuppress-type-applications -dsuppress-idinfo
* Remove -ds-multi-tyvar static flagsimonpj@microsoft.com2010-10-281-1/+0
| | | | It was always secret, and has now vanished as silently as it came
* Make -funfolding-dict-threshold work properlysimonpj@microsoft.com2010-09-231-0/+1
| | | | | and increase its default value. This makes overloaded functions a bit keener to inline. Which fixes Trac #4321
* Super-monster patch implementing the new typechecker -- at lastsimonpj@microsoft.com2010-09-131-0/+1
| | | | | | | | | This major patch implements the new OutsideIn constraint solving algorithm in the typecheker, following our JFP paper "Modular type inference with local assumptions". Done with major help from Dimitrios Vytiniotis and Brent Yorgey.
* Implement -dsuppress-module-prefixesbenl@ouroborus.net2010-08-301-7/+8
|
* Refactor the command-line argument parsing (again)simonpj@microsoft.com2010-08-161-31/+44
| | | | | | | | | | | This change allows the client of CmdLineParser a bit more flexibility, by giving him an arbitrary computation (not just a deprecation message) for each flag. There are several clients, so there are lots of boilerplate changes. Immediate motivation: if RTS is not profiled, we want to make Template Haskell illegal. That wasn't with the old setup.
* Don't automatically insert a -fvia-C flag in an unregisterised compilerIan Lynagh2010-06-171-2/+1
| | | | | The default object mode is already HscC, so it's unnecessary, and -fvia-C generates a deprecated flag warning now.
* Finish #3439: -ticky implies -debug at link time; the ticky "way" has goneSimon Marlow2009-11-041-2/+4
| | | | | | To get ticky profiling you still have to compile with -ticky (for those modules that you want to profile), but you can link with either -debug or -ticky.
* New flag -dsuppress-coercions to avoid printing coercions in Core dumpsRoman Leshchinskiy2009-10-141-0/+1
|
* -fPIC -fvia-C issues a warning and ignores -fvia-CSimon Marlow2009-08-211-0/+11
| | | | | Also, -fPIC causes an error if the target is registerised and has no native code generator.
* Make -dynamic a proper way, so we read the .dyn_hi filesSimon Marlow2009-08-201-2/+2
| | | | | | | | Also, I cleaned up some of the way-related infrastructure, removing two global variables. There's more that could be done here, but it's a start. The way flags probably don't need to be static any more.
* Make -fext-core a dynamic flag (it was a static flag)Ian Lynagh2009-07-051-1/+0
|
* Add fast event loggingSimon Marlow2009-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Generate binary log files from the RTS containing a log of runtime events with timestamps. The log file can be visualised in various ways, for investigating runtime behaviour and debugging performance problems. See for example the forthcoming ThreadScope viewer. New GHC option: -eventlog (link-time option) Enables event logging. +RTS -l (runtime option) Generates <prog>.eventlog with the binary event information. This replaces some of the tracing machinery we already had in the RTS: e.g. +RTS -vg for GC tracing (we should do this using the new event logging instead). Event logging has almost no runtime cost when it isn't enabled, though in the future we might add more fine-grained events and this might change; hence having a link-time option and compiling a separate version of the RTS for event logging. There's a small runtime cost for enabling event-logging, for most programs it shouldn't make much difference. (Todo: docs)