Changes between Version 12 and Version 13 of Commentary/Compiler/Backends/LLVM/Installing


Ignore:
Timestamp:
Jun 9, 2010 4:38:35 PM (4 years ago)
Author:
dterei
Comment:

Update patch

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/Backends/LLVM/Installing

    v12 v13  
    1010Apply the darcs patch linked above to GHC head. This will make some changes across GHC, with the bulk of the new code ending up in 'compiler/llvmGen'. 
    1111 
    12 To build GHC you need to add two flags to build.mk, they are: 
     12To build GHC you need to add one flags to build.mk, it is: 
    1313 
    1414{{{ 
    15 GhcWithLlvmCodeGen = YES 
    1615GhcEnableTablesNextToCode = NO 
    1716}}} 
    1817 
    19 The LLVM code generator doesn't support at this time the [wiki:Commentary/Rts/Storage/HeapObjects?redirectedfrom=Commentary/Rts/HeapObjects#TABLES_NEXT_TO_CODE TABLES_NEXT_TO_CODE] optimisation due to limitations with LLVM. 
     18The LLVM code generator doesn't support at this time the [wiki:Commentary/Rts/Storage/HeapObjects?redirectedfrom=Commentary/Rts/HeapObjects#TABLES_NEXT_TO_CODE TABLES_NEXT_TO_CODE] optimisation due to limitations with LLVM. As long as its disabled the build system will detect this an automatically add in the LLVM backend. 
    2019 
    2120=== LLVM === 
     
    2423 
    2524 * '''Version 2.7''': (or later) natively support GHC, no patch is needed. 
    26  * '''Version 2.6''': Apply this [http://www.cse.unsw.edu.au/~davidt/downloads/llvm-ghc-callconv-2.6.patch patch] to the source code. 
    27  * '''Version 2.5''': Apply this [http://www.cse.unsw.edu.au/~davidt/downloads/llvm-ghc-callconv-2.5.patch patch] to the source code. 
     25 * ~~'''Version 2.6''': Apply this [http://www.cse.unsw.edu.au/~davidt/downloads/llvm-ghc-callconv-2.6.patch patch] to the source code.~~ 
     26 * ~~'''Version 2.5''': Apply this [http://www.cse.unsw.edu.au/~davidt/downloads/llvm-ghc-callconv-2.5.patch patch] to the source code.~~ 
     27 
     28'''Just use LLVM 2.7. While the above patches do work the LLVM backend now uses the features of 2.7 and higher.''' 
    2829 
    2930The patches can be applied with: 
     
    5758 * Linux x86-32/x86-64 are currently well supported. The back-end can pass the test suite and build a working version of GHC (bootstrap test). 
    5859 * Mac OS X 10.5 currently has a rather nasty bug with any dynamic lib calls (all libffi stuff) [due to the stack not being 16byte aligned when the calls are made as required by OSX ABI for the curious]. Test suite passes except for most the ffi tests. 
     60 * Windows 32bit: The backend works for most things but no extensive testing or support yet. 
    5961 * Other platforms haven't been tested at all. As using the back-end with a registered build of GHC requires a modified version of LLVM, people wanting to try it out on those platforms will need to either make the needed changes to LLVM themselves, or use an unregistered build of GHC which will work with a vanilla install of LLVM. (A patch for LLVM for x86 is linked to below.) 
    6062