Permalink
Commits on Jan 10, 2008
  1. * Changed the checks in configure to check of intptr_t instead of uin…

    JohnVanSchie committed Jan 10, 2008
    …tptr_t
    
    * Renamed functions in ToLLVM, because they conflicted in version 100
Commits on Jan 9, 2008
  1. * If a function has a parameter which is a closure and that is evalua…

    JohnVanSchie committed Jan 9, 2008
    …ted in the function and evaluates to an Integer, then as optimisation, the pointer is overwritten
    
    with the integer value. In LLVM, this does not overwrite the closure, but the tag of the closure. So this micro optimisation is disabled  
    * Squashed a bug in the backends that use the C-RTS. Because GrWord is defined as uintptr_t, the are always unsigned. When a negative integer is compared in C, C will
    perform the casting, but this is not the case for LLVM. So a change to intptr_t was needed to make the integers signed by default. This is OK in C and LLVM because C 
    will use signed shifts by default and these are explicitly done in LLVM.
    * The LLVM backend links against and uses a non-threaded version of Boehm GC. This is controlled by the same configure flag as used by C backend
    * Added a directory with tests used by me for the codegeneration verification. More will be added, hopefully no-fib Int benchmarks
    * Removed obsolete test/llvm directory
    * Added some code in the bugexamples directory
Commits on Dec 19, 2007
Commits on Dec 18, 2007
  1. Embedding of the Boehm GC in the LLVM backend. Sigfaults after the us…

    JohnVanSchie committed Dec 18, 2007
    …age of some memory. Commit to test on x86-32
Commits on Dec 11, 2007
  1. * Abstracted over the prettyprinting of Silly & LLVM in CompilerDriver

    JohnVanSchie committed Dec 11, 2007
    * Give an error when LLVMC is not found and still used in the compiler
Commits on Dec 10, 2007
  1. First full functional pipeline of LLVM. Has to be tuned a bit (to uti…

    JohnVanSchie committed Dec 10, 2007
    …lise llvm-gcc if available), but for demo purposes, this suffices.
  2. * Removed the superfluous PrettyLLVM.cag

    JohnVanSchie committed Dec 10, 2007
    * Adjusted the makefiles to copy the .o files to the install directory
    * Adjusted the prim.cc to remove references to gb_exit() (not final, just to be able to compile)
  3. * Integrated the LLVM option in a cleaner way in the CompilerDriver

    JohnVanSchie committed Dec 10, 2007
    * Changed prim.cc so that it can be called from LLVM
    * Fixed a bug in the LLVM code generation with the unboxed check
    * Main function and external imports are now generated by LLVM
    * Changed configure.ac to search for llvmc as first step to generate a binary
Commits on Dec 5, 2007
  1. * Now Silly is a separate little language which is converted from Silly

    JohnVanSchie committed Dec 5, 2007
    * This version is not finished yet. It aims at storing local variables in registers
      instead of the stack. This is buggy at the moment, so first I will create a version
      that allocates locals on the stack. When we have a working version, we can try to 
      optimise these locals utilizing registers.
Commits on Nov 28, 2007
  1. Changes in Silly:

    JohnVanSchie committed Nov 28, 2007
      * Each Call of type Statement now has an attribute if it is a tail call or not. 
        The annotation on the Function level is still present and is useful for tail call init code,
        but the annotations are set independently of the -g option (generate own stacks)
      * All Silly functions now have an explicit Return Statement as final statement. Even if they 
        tail jump. It is up to the transformations to C/LLVM to handle this correctly (which is
        done at the moment)
      * Changed comments of calls
    Verified these changes to the C backend by testing with sum.hs. -g0, -g3, -g4 compile and give the correct
    results, the other variations segfault, as they do prior to this change.
    
    LLVM:
      * Functions return properly (required by LLVM)
      * Calls are correctly annotated as tailcalls
Commits on Nov 27, 2007
  1. * LLVM typing is controlled by configure

    JohnVanSchie committed Nov 27, 2007
    * Skeleton of LLVM file is generated
  2. * Re-enabled the LLVM option and add it to the make pipeline

    JohnVanSchie committed Nov 27, 2007
    * Set the -g (Generate stacks) to 0 when the -cllvm option is passed to the compiler
Commits on Nov 26, 2007
  1. Branch created for the LLVM Backend project

    JohnVanSchie committed Nov 26, 2007
Commits on Nov 13, 2007
  1. Configuration for ghc 6.8.1

    JeroenFokker committed Nov 13, 2007
Commits on Nov 1, 2007
Commits on Oct 12, 2007
  1. exception handling: handler receives backtrace + exception, top level…

    atzedijkstra committed Oct 12, 2007
    … wrapper around main catches exceptions, extended GBM doc w.r.t exceptions + stack manipulation
Commits on Oct 11, 2007
Commits on Oct 10, 2007
  1. SIREN poster "Tree oriented programming"

    JeroenFokker committed Oct 10, 2007
    Final version
  2. SIREN poster "Tree oriented programming".

    JeroenFokker committed Oct 10, 2007
    To do: text in "Parse" box, fine tune positioning.
  3. poster, final version

    atzedijkstra committed Oct 10, 2007
Commits on Oct 9, 2007
  1. Siren poster "Tree Oriented Programming"

    JeroenFokker committed Oct 9, 2007
    Infrastructure and picture inclusion only.
    To be done: text and picture placement.
    make doc/posterTrOrPr.pdf
  2. poster

    atzedijkstra committed Oct 9, 2007
Commits on Oct 5, 2007
  1. fixed GBM fix for apply instruction, where stacklayout was not constr…

    atzedijkstra committed Oct 5, 2007
    …ucted properly for exception backtrace
Commits on Oct 4, 2007
  1. cornercase fix of 'merge inferred predicates into type' algorithm; au…

    atzedijkstra committed Oct 4, 2007
    …tomatic 'main :: IO ...' signature
Commits on Oct 2, 2007
Commits on Sep 24, 2007
  1. IFL slides (final version)

    JeroenFokker committed Sep 24, 2007
Commits on Sep 17, 2007
  1. IFL slides (completed).

    JeroenFokker committed Sep 17, 2007
    Will rehearse the talk during the colloquium on 20 Sept.
Commits on Sep 14, 2007
Commits on Sep 13, 2007
  1. IFL-slides (continued)

    JeroenFokker committed Sep 13, 2007
  2. Enum(toEnum) bound check

    atzedijkstra committed Sep 13, 2007
Commits on Sep 12, 2007
  1. Finished check on duplicate names for remaining name introducing cons…

    atzedijkstra committed Sep 12, 2007
    …tructs, now checked as part of Haskell name analysis instead of EH (type) analysis or absent.
    
    Enum(toEnum) deriving implemented, via case expression on Int's directly, this is new for Grin backend...
      - still todo: check on 'out of bounds'
Commits on Sep 11, 2007
  1. IFL slides (most, but not yet all).

    JeroenFokker committed Sep 11, 2007
    make doc/slides-ehcstruct.pdf