- 21 Aug, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 27 Apr, 2012 1 commit
-
- 22 Nov, 2011 1 commit
-
-
dterei authored
hppa1, m68k
-
- 04 Nov, 2011 1 commit
-
-
Ian Lynagh authored
We only use it for "compiler" sources, i.e. not for libraries. Many modules have a -fno-warn-tabs kludge for now.
-
- 19 Oct, 2011 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
This reverts commit 2dea11a4. On second thoughts, this does make sense, for unregisterised via-C arches at least.
-
- 18 Oct, 2011 1 commit
-
-
Ian Lynagh authored
It doesn't make sense. If platformArch is ArchUnknown then we don't know the answer to any questions about the arch. So now if we don't recognise the arch we just fail, and the new arch will need to be added to the datatype.
-
- 21 Aug, 2011 1 commit
-
-
kgardas authored
This patch enhances ArchARM with ARM ISA and ISA extensions details as is suggested in the comment in Platform.hs file. The patch is needed by future patch which will use ARM ISA information in order to pass appropriate command-line option to the LLVM llc tool.
-
- 15 Jul, 2011 3 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 27 Jun, 2011 1 commit
-
-
Simon Marlow authored
-
- 31 May, 2011 2 commits
-
-
Ian Lynagh authored
Fixes build problems on platforms for which we did not have and Arch constructor.
-
Ian Lynagh authored
It's still not quite right: It assumes it is compiling for defaultTargetPlatform instead of targetPlatform. But it's a step in the right direction, and fixes the build on arches without a NCG.
-
- 24 Jan, 2011 1 commit
-
-
Simon Marlow authored
This changes the new code generator to make use of the Hoopl package for dataflow analysis. Hoopl is a new boot package, and is maintained in a separate upstream git repository (as usual, GHC has its own lagging darcs mirror in http://darcs.haskell.org/packages/hoopl). During this merge I squashed recent history into one patch. I tried to rebase, but the history had some internal conflicts of its own which made rebase extremely confusing, so I gave up. The history I squashed was: - Update new codegen to work with latest Hoopl - Add some notes on new code gen to cmm-notes - Enable Hoopl lag package. - Add SPJ note to cmm-notes - Improve GC calls on new code generator. Work in this branch was done by: - Milan Straka <fox@ucw.cz> - John Dias <dias@cs.tufts.edu> - David Terei <davidterei@gmail.com> Edward Z. Yang <ezyang@mit.edu> merged in further changes from GHC HEAD and fixed a few bugs.
-
- 26 May, 2009 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
-
- 19 May, 2009 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
-
- 18 May, 2009 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
* The old Reg type is now split into VirtualReg and RealReg. * For the graph coloring allocator, the type of the register graph is now (Graph VirtualReg RegClass RealReg), which shows that it colors in nodes representing virtual regs with colors representing real regs. (as was intended) * RealReg contains two contructors, RealRegSingle and RealRegPair, where RealRegPair is used to represent a SPARC double reg constructed from two single precision FP regs. * On SPARC we can now allocate double regs into an arbitrary register pair, instead of reserving some reg ranges to only hold float/double values.
-
- 16 Feb, 2009 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
-
- 15 Feb, 2009 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
- nativeGen/Instruction defines a type class for a generic instruction set. Each of the instruction sets we have, X86, PPC and SPARC are instances of it. - The register alloctors use this type class when they need info about a certain register or instruction, such as regUsage, mkSpillInstr, mkJumpInstr, patchRegs.. - nativeGen/Platform defines some data types enumerating the architectures and operating systems supported by the native code generator. - DynFlags now keeps track of the current build platform, and the PositionIndependentCode module uses this to decide what to do instead of relying of #ifdefs. - It's not totally retargetable yet. Some info info about the build target is still hardwired, but I've tried to contain most of it to a single module, TargetRegs. - Moved the SPILL and RELOAD instructions into LiveInstr. - Reg and RegClass now have their own modules, and are shared across all architectures.
-