summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/SPARC/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Add new LLVM code generator to GHC. (Version 2)David Terei2010-06-151-5/+6
| | | | | | | | | | | | | | | | | | This was done as part of an honours thesis at UNSW, the paper describing the work and results can be found at: http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf A Homepage for the backend can be found at: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM Quick summary of performance is that for the 'nofib' benchmark suite, runtimes are within 5% slower than the NCG and generally better than the C code generator. For some code though, such as the DPH projects benchmark, the LLVM code generator outperforms the NCG and C code generator by about a 25% reduction in run times.
* Tag ForeignCalls with the package they correspond toBen.Lippmeier@anu.edu.au2010-01-021-1/+1
|
* Split Reg into vreg/hreg and add register pairsBen.Lippmeier@anu.edu.au2009-05-185-14/+176
| | | | | | | | | | | | | * 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.
* SPARC NCG: Fix 64 bit addition, carry bit wasn't getting set.Ben.Lippmeier@anu.edu.au2009-03-301-9/+22
|
* SPARC NCG: Split out sanity checking into its own moduleBen.Lippmeier@anu.edu.au2009-02-231-0/+70
|
* SPARC NCG: Add jumps to end of blocks when working out condition codesBen.Lippmeier@anu.edu.au2009-02-231-15/+39
|
* SPARC NCG: Unsigned comparisons are unsignedBen.Lippmeier@anu.edu.au2009-02-171-4/+4
|
* SPARC NCG: Fix word size conversionsBen.Lippmeier@anu.edu.au2009-02-171-24/+69
|
* SPARC NCG: Split up into chunks, and fix warnings.Ben.Lippmeier@anu.edu.au2009-02-167-0/+1442