Exported to C an internal function to get the size of a PBTree

Ignore-this: b82b02576e31eeeb6b220909c57e3954

darcs-hash:20120709210249-11156-c3d79f0180b5ed37df2a065babf3d0baa9c94136.gz
Improved error messages in SystemF and Mem type checker

Ignore-this: 9ddccd8c0d972ba1f2fbbe7f57217062
The old error messages were not self-explanatory by any stretch.
These are easier to understand.

darcs-hash:20120710214101-11156-239036760f83c9049f0b4f1a4360bd142a45eea2.gz
Improvements and special-case handling for better store-load forwarding

Ignore-this: d41478876ffcef39d1d7e4ebd567d697
CSE now understands addresses that were computed with 'CastFromOwned'.
Repr objects are created with const fields so that optimizations can
eliminate them.

darcs-hash:20120714033100-11156-1a1966a9b81f33c86242b806e7fd1b5d72b3aac7.gz
Build fewer closures in closure conversion

Ignore-this: 208a4221dd8d963022084b2563764bbe
If a function has only direct calls, then its closure is not used.
This patch detects when a function is the target of direct calls only.
In such cases, it does not allow the function to be closure-captured and
does not generate closures for the function.

darcs-hash:20120719000757-11156-6ee2012d603f958fbdcd53c6e769a8e11faa43bb.gz
Generalized closure conversion improvements for recursive functions

Ignore-this: d3be4fe33d518d10d73d4278b4f974f6

darcs-hash:20120719010737-11156-db4e3384b413ca35beea6a4ba0e638671ef91c8d.gz
Added List<T>::len() method to the C++ interface

Ignore-this: edc6ea8980b4e8604dc4d57044d0bb42

darcs-hash:20120719153628-11156-c5be43166e14da6b7c2f52a3ce8942b402b20f8f.gz
Reformulated sequential list construction as a fold

Ignore-this: 1bdf889bffe2f05c37bf53d9fc38a69a
This lets list construction take advantage of loop fusion transformations.

darcs-hash:20120721032834-11156-c22b74473a999bd6a5c5458a7a02ccf7340d7099.gz
Changed inlining annotations to inline some loops earlier

Ignore-this: 4147a15cfb41e408af8ad68b3aa1e306
These annotations inline some doall loops earlier so that they have a chance
to be parallelized.

darcs-hash:20120721035734-11156-0b58814e61d96a0668c60cb98942bd47d9da311d.gz
Allow assigning to C++ wrapper objects

Ignore-this: 4dd670bdcbbe73afa4532ef7080c606a

darcs-hash:20120721232530-11156-9f353fefeb18bb5dbfef1e26dc437ad16ba8210d.gz
Added default C++ constructors for all wrapper types

Ignore-this: 4eaebf87eaf104b6919cc36f929a535f

darcs-hash:20120721233246-11156-339a1f99c9b2dae2737bc4a86f1ad496304dc41c.gz
Fixed incorrect return value in triolet_PBTree_split()

Ignore-this: a9c285f313f9ef076e34cb65642f1ee

darcs-hash:20120726205535-11156-6ded6f6ca4dfa81dad48a3ecdc0204193ba530c8.gz
Defined function triolet_PBTree_splittable()

Ignore-this: 8fde289f3eeb554ae6ee59e720ad1f40

darcs-hash:20120726205619-11156-5fb7bbf5772ba7250d494d51e04085243bb19e14.gz
Added 'trace' functions for printf-style debugging in core IR

Ignore-this: 3c22014a40e67da41fa6bc002a580eae

darcs-hash:20120726223557-11156-eefc2b06bcd735ac26bd2ce5ecc4407f3458a1b8.gz
Added support for triolet left-shift and right-shift operators

Ignore-this: 9e191ef9a09bad90ab1eb4cb5f2094d6

darcs-hash:20120728134600-11156-3bf5b5e033a6b55b309054b7bf85670674a963b0.gz
Fixed memory corruption in list append code

Ignore-this: c98a31493d265a2207d438f136721714
After reallocating an array, the code was writing to the wrong pointer.

darcs-hash:20120728144612-11156-1bb5db9a6ab3098c13367e1514acc88895b065ec.gz
Removed intrinsic definition of 'fromEffTok'

Ignore-this: 6cdb29de219999ff4c4c2f671d57eb51

darcs-hash:20120802183044-11156-641c398bb9fdf52a5e4fac345d8bd7ca78b04f18.gz
Parallel list build support

Ignore-this: 9f926b0a82e3957291f44dbc7ecfea57
This patch contains the implementation of parallel list construction from
sources that produce an irregular number of outputs.

darcs-hash:20120802205423-11156-f51c2f05360ba880424b9bc28312642ea6a8a18f.gz
Renamed 'Sequence_build_list' to 'Sequence_list_build'

Ignore-this: 132eda823d7a08aa7903c0bd594a2e8b

darcs-hash:20120728040849-11156-1d3144a37ec579216204a35446095a18c54ea775.gz
Fixed bug in array size computation during lowering

Ignore-this: ec9313607e525e0123f710cca3d8c141

darcs-hash:20120804195714-11156-4be8c756b8ca1748ece9cb7afd8da0368c215ecc.gz
C code generation produces 'char' loads and stores for the 'bool' type

Ignore-this: 2c439628e82aa3754974a085b2386891

darcs-hash:20120804202319-11156-2f2f8c53472ad68dbe08dd5e5ee35184d0baeeec.gz