Permalink
Commits on Apr 6, 2010
  1. Not very succesful attempt to speed up HPT by ordering equations by

    jleeuwes
    jleeuwes committed Apr 6, 2010
    dependencies. Documented for future reference in PointsToAnalysis.
Commits on Mar 31, 2010
  1. Ugly Equation dependency stuff.

    jleeuwes
    jleeuwes committed Mar 31, 2010
Commits on Mar 30, 2010
Commits on Mar 29, 2010
Commits on Mar 26, 2010
  1. Fix of incorrect lexical interpretation of operator symbol <.> as a q…

    atzedijkstra committed Mar 26, 2010
    …ualified > from module <. Scanning was ok, but scanned qualification structure was not propagated and later incorrectly re-interpreted. It is now directly propagated.
Commits on Mar 25, 2010
  1. - fixed incorrect parsing of quantifiers in front of data constructor

    atzedijkstra committed Mar 25, 2010
    - added (makefile) support for .hsc files inside libraries. Ghc's hsc2hs is used to translate these files.
    
    
    WARNING: rerun ./configure
Commits on Mar 24, 2010
  1. fix for library .a archive build failure when only some modules need …

    atzedijkstra committed Mar 24, 2010
    …recompile and update in the library. This was caused by module names in the archive not being unique, so an update would replace a wrong module. Fixed by making the module names in the archive unique by using their full hierarchical names in flattened form (i.e. A.B.C -> A_B_C.o).
Commits on Mar 23, 2010
  1. - fixed 2 bugs introduced when experimenting with order of Core trans…

    atzedijkstra committed Mar 23, 2010
    …formations.
    
    - made gcc invocation with -O2 dependent on uhc -O2 flag
    - library is now build by default with -O2
Commits on Mar 22, 2010
  1. - cleaning up unnecessary makefile+build defs after change of interna…

    atzedijkstra committed Mar 22, 2010
    …l package structure
    
    - jazy backend works, fixed jar building and bug introduced by changing name (HsName) structure
    
    WARNING: rerun ./configure
Commits on Mar 21, 2010
  1. - Use of tar in build system now dependent on ./configure check.

    atzedijkstra committed Mar 21, 2010
    - Fix of use of install for MacOSX (and other BSD install variants).
    
    WARNING: rerun ./configure
  2. Restructured the package directory hierarchy.

    kosmikus committed Mar 21, 2010
    Warning: guaranteed not to work with the Java backend.
    Warning: rerun ./configure.
Commits on Mar 19, 2010
  1. Removed install location from "setup install" commands, to restore

    kosmikus committed Mar 19, 2010
    compatibility with the latest darcs-version of Cabal.
Commits on Mar 10, 2010
  1. New option --gen-locreg=1 generates local variables in global registe…

    JeroenFokker committed Mar 10, 2010
    …rs, which are only saved on the stack when needed over al Call.
    
    Fixed an issue in LLVM generation: llvm insists on having "return void" at the end of a void function.
    Changed -O2 into -O1 when calling gcc from within uhc, because gcc -O2 cannot handle very large functions (which occurs when we put all code in the main function).
Commits on Mar 8, 2010
  1. - Removal of ForceEval functionality (used long time ago to do deep e…

    atzedijkstra committed Mar 8, 2010
    …valuation, for finding memory leak). Currently it is enough to declare datastructures strict and use an occasional `seq`.
    
    - Restructure of HsName to better accomodate derived names and to better be able to determine how/why an identifier was introduced in Core/Grin code. An internal HsName API is introduced to 'uniqify' names. For the major part of the compiler this API is now used, except for HPT related renamings.
    
    - As a consequence of this uniqification scheme the pretty printing and parsing of such names are no longer eachothers inverse. Reading/writing of GRIN intermediate files therefore is done binary, except for the ones produced for debugging. The same holds for Core files, but there is not yet an implementation of Binary for Core.
    
    - A first rudimentary type structure for Grin, to be able to deal with the Node/Pointer invariant. Only AST, no functionality.
    
    WARNING:
      still untested:
      - jazy backend
    
    WARNING: make clean
Commits on Mar 5, 2010
  1. - added pragmas, for now only for LANGUAGE pragmas, and for that only…

    atzedijkstra committed Mar 5, 2010
    … NoImplicitPrelude, others are ignored and treated as comment.
    
    WARNING: requires uulib 0.9.12
  2. Finished refactoring of Silly processing:

    JeroenFokker committed Mar 5, 2010
    * Documentation on stack layout
    * Simplified syntax
      - merged Jump statement into Call statement
      - merged Yield statement into Return statement
      - no more need for tailJumps filed in Function
      - no more need for BasePointer register
    * New options
      - --gen-own is now a Bool: True=use own stack, False=use C stack
      - --gen-rvs: True=return values via stack, False=return values in dedicated array
      - --gen-link: True=generate a dynamic link on stack, False=omit static link
  3. No commit message

    JeroenFokker committed Mar 5, 2010
Commits on Mar 3, 2010
  1. - Changed location of C level libraries for packages, they now reside…

    atzedijkstra committed Mar 3, 2010
    … in their package directory. This is relevant for the 'bc' and 'jazy' backend. The option --pkg-build-libdir used when building libraries has been removed, the value specified by --odir is now used instead.
    
    - Removed dumping of top of stack for variant 99, did make regression testing for variant 99 unhandy because TOS value differs for different runs.
    
    - Work (unfinished) on propagating implementation info between modules. This was already partly done, but now more transformations and translations contribute to it. In particular, for the bytecode backend, each call now refers correctly to the C level function info datastructure of the (possibly in a different module) called function. This used to be just a string instead, but now more info is required, in particular whether the function accepts an explicit stacktrace. The RTS must be able to find this info when throwing an exception.
Commits on Mar 1, 2010
  1. More refactoring of the Silly transformations.

    JeroenFokker committed Mar 1, 2010
    The Silly language is changed: the rather obscure "Smart" statement is removed in favor of a more intuitive "Yield" statement. This makes that all stack allocation decisions are isolated in a single file now (EmbedVars), where we can now experiment with other allocation mechanisms.
  2. Fix in predicate proving: unproven predicates at a certain point of s…

    atzedijkstra committed Mar 1, 2010
    …cope are moved to an outer scope to be proven there. However, their scope was not updated accordingly which led their to be later inserted dictionarly related code to become lost. This only did occur in a combination of 2 different nested scopes, each with their own set of unproven predicates.
Commits on Feb 26, 2010
  1. Repaired "optOwn=0" option: this uses the C mechanisms for locals, pa…

    JeroenFokker committed Feb 26, 2010
    …rameters and functions calls, whereas the default optOwn=3 option operates on a simulated stack.
    
    Changed prelude definitions of iterate' and foldl', as the definition introduced in rev.1628 breaks the Grin invariant.
Commits on Feb 25, 2010
  1. Rebuild of libraries normally is triggered when the compiler changes.…

    atzedijkstra committed Feb 25, 2010
    … When such a rebuild is not necessary the triggering can be prevented with option --no-hi-check.
Commits on Feb 24, 2010
  1. left debug building on

    atzedijkstra committed Feb 24, 2010
  2. - Rewrite of set of Core transformations to a functional style, not i…

    atzedijkstra committed Feb 24, 2010
    …nvolving global compilerdriver state. This is both a cleanup and a step towards making more parts of the compilerdriver not run in the IO monad.
    
    - Work on improving stacktraces because of lack of proper runtime debugging tools to find a stack/heap overflow bug triggered by imag/paraffins from the nofib testsuite. Most code is in its place, but unfinished. Similar to explicit stack traces as available in GHC. Optionally turned on by --target-variant=debug.
    
    - Option -O0 now generates working code; some required transformations were omitted.
Commits on Feb 22, 2010
Commits on Feb 19, 2010
  1. fixed issue where import failed of .hs file when also a suffixless fi…

    atzedijkstra committed Feb 19, 2010
    …le with the same prefix existed
Commits on Feb 18, 2010
  1. moved Monoid.hs out of frozen ghc library set to remove a unicode cha…

    atzedijkstra committed Feb 18, 2010
    …r about which ghc's hGetContents did complain for ghv 6.12 & MacOSX 10.6