summaryrefslogtreecommitdiff
path: root/compiler/codeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Move some more constants into platformConstantsIan Lynagh2012-09-142-2/+2
|
* Move more constants to platformConstantsIan Lynagh2012-09-143-14/+12
|
* Move more constants into platformConstantsIan Lynagh2012-09-143-35/+40
|
* Move some more constants fo platformConstantsIan Lynagh2012-09-144-17/+15
|
* Start moving other constants from (Haskell)Constants to platformConstantsIan Lynagh2012-09-142-5/+4
|
* Use oFFSET_* from platformConstants rather than ConstantsIan Lynagh2012-09-1312-119/+124
|
* Use sIZEOF_* from platformConstants rather than ConstantsIan Lynagh2012-09-136-6/+6
|
* Pass DynFlags down to wordWidthIan Lynagh2012-09-1220-754/+779
|
* Pass DynFlags down to gcWordIan Lynagh2012-09-127-12/+13
|
* Pass DynFlags down to bWordIan Lynagh2012-09-1230-939/+993
| | | | | | I've switched to passing DynFlags rather than Platform, as (a) it's simpler to not have to extract targetPlatform in so many places, and (b) it may be useful to have DynFlags around in future.
* Whitespace only in codeGen/CgProf.hsIan Lynagh2012-09-111-50/+43
|
* Pass Platform down to halfWordMaskIan Lynagh2012-09-102-4/+4
|
* Pass Platform down to halfWordWidthIan Lynagh2012-09-104-36/+48
| | | | We don't actually use it yet
* A further fix for -split-objs with the new codegenSimon Marlow2012-09-051-1/+4
|
* Fix -split-objs with the new code generatorSimon Marlow2012-09-043-28/+6
| | | | | | We need to make the SRT label external and unique when splitting, because it is shared amongst all the functions in the module. Also some SRT-related cleanup.
* Narrow the args of the popCnt# primitives (new codegen)Simon Marlow2012-09-041-5/+10
| | | | (this change was previously done in the old codegen only)
* Make -fhpc a dynamic flagIan Lynagh2012-09-032-9/+9
|
* Remove doingTickyProfilingIan Lynagh2012-09-034-6/+6
| | | | It's now just 'dopt Opt_Ticky'
* Narrow the arg of popCnt# to the correct widthSimon Marlow2012-08-311-6/+15
| | | | | | | Fixes cgrun071 on recent Mac OS X versions. This is the right fix at least until we have proper types for Word8#, Word16# etc.
* Cleanup: add mkIntExpr and zeroExpr utilsSimon Marlow2012-08-3112-54/+53
|
* Fix fencepost and byte/word bugs in cloneArray/copyArray (#7185)Simon Marlow2012-08-312-26/+43
|
* Move more code into codeGen/CodeGen/Platform.hsIan Lynagh2012-08-288-15/+39
| | | | | | | | HaskellMachRegs.h is no longer included in anything under compiler/ Also, includes/CodeGen.Platform.hs now includes "stg/MachRegs.h" rather than <stg/MachRegs.h> which means that we always get the file from the tree, rather than from the bootstrapping compiler.
* Fix callerSaves, activeStgRegs, haveRegBase when unregisterisedSimon Marlow2012-08-281-0/+6
|
* StgCmmUtils no longer needs to include HaskellMachRegs.hIan Lynagh2012-08-211-1/+0
|
* Use haveRegBase in StgCmmUtils tooIan Lynagh2012-08-211-13/+13
|
* Whitespace only in StgCmmUtilsIan Lynagh2012-08-211-200/+194
|
* CgUtils no longer needs to #include HaskellMachRegs.hIan Lynagh2012-08-211-1/+0
|
* Add haveRegBase to CodeGen.PlatformIan Lynagh2012-08-212-16/+31
|
* Move activeStgRegs into CodeGen.PlatformIan Lynagh2012-08-2111-118/+74
|
* Fix the generation of CallerSaves; fixes #7163Ian Lynagh2012-08-2111-53/+97
| | | | | | | | | Simon Marlow spotted that we were #include'ing MachRegs.h several times, but that doesn't work as (a) it uses ifdeffery to avoid being included multiple times, and (b) even if we work around that, then the #define's from previous inclusions are still defined when we #include it again. So we now put the platform code for each platform in a separate .hs file.
* remove tabsSimon Marlow2012-08-211-93/+86
|
* remove tabsSimon Marlow2012-08-211-124/+117
|
* remove tabsSimon Marlow2012-08-211-52/+45
|
* Remove uses of fixC from the codeGen, and make the FCode monad strictSimon Marlow2012-08-096-204/+222
|
* fix warningSimon Marlow2012-08-071-1/+1
|
* entryHeapCheck: fix calls to stg_gc_fun and stg_gc_enter_1Simon Marlow2012-08-072-23/+28
| | | | | | | | | We weren't passing the arguments correctly to the GC functions, which usually happened to work because the arguments were in the right registers already. After this fix the profiling tests go through with the new code generator.
* Small optimisationSimon Marlow2012-08-071-5/+6
| | | | | | When calling newCAF, refer to the closure using its LocalReg rather than R1. Using R1 here was preventing the register allocator from coalescing the assignment x=R1 at the beginning of the function.
* fix a warningSimon Marlow2012-08-071-1/+1
|
* fix maybeSaveCostCentre: cases were reversedSimon Marlow2012-08-071-2/+2
|
* Fix update frames for profilingSimon Marlow2012-08-072-15/+19
|
* Cleanup and fixes to profilingSimon Marlow2012-08-073-27/+33
|
* A closure with void args only should be a function, not a thunkSimon Marlow2012-08-071-4/+3
|
* Generate one fewer temps per heap allocationSimon Marlow2012-08-074-40/+28
| | | | | This saves compile time and can make a big difference in some pathological cases (T4801)
* Define callerSaves for all platformsIan Lynagh2012-08-075-179/+76
| | | | | | | | This means that we now generate the same code whatever platform we are on, which should help avoid changes on one platform breaking the build on another. It's also another step towards full cross-compilation.
* Add "Unregisterised" as a field in the settings fileIan Lynagh2012-08-0710-67/+91
| | | | | | 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-069-85/+90
| | | | | This is a bit odd by itself, but it's a stepping stone on the way to putting "target unregisterised" into the settings file.
* Start separating out the RTS and Haskell imports of MachRegs.hIan Lynagh2012-08-062-2/+2
| | | | No functional differences yet
* Use "ReturnedTo" when generating safe foreign callsSimon Marlow2012-08-064-34/+33
|
* Add a comment to explain why the FCode monad is lazySimon Marlow2012-08-062-1/+9
|
* Explicitly share some return continuationsSimon Marlow2012-08-029-163/+252
| | | | | | | Instead of relying on common-block-elimination to share return continuations in the common case (case-alternative heap checks) we do it explicitly. This isn't hard to do, is more robust, and saves some compilation time. Full commentary in Note [sharing continuations].