aboutsummaryrefslogtreecommitdiffstats
path: root/src/llvm.cpp
AgeCommit message (Expand)AuthorFilesLines
2011-05-14Create 'main' in IR and compile it like any other function.David Robillard1-3/+15
2011-05-14Tidy.David Robillard1-6/+6
2011-05-14Make currentFn private to the backend.David Robillard1-2/+10
2011-05-14Use recursive types in IR rather than fugly __REC kludge.David Robillard1-2/+8
2011-05-14Add flatten stage to generate flat s-expression IR for the (now simpler) comp...David Robillard1-7/+10
2011-05-14More granular if compilation API (towards assembly-like IR stage and simpler ...David Robillard1-29/+81
2011-05-13Update for LLVM 2.8.David Robillard1-9/+9
2010-12-31Use standard LLVM optimization passes, and optimize entire module (much more ...David Robillard1-11/+15
2010-12-31Compile match 'else' case to unreachable instruction.David Robillard1-5/+7
2010-12-31Define named (and possibly recursive) types for closures and functions.David Robillard1-24/+66
2010-12-31Remove unused Engine::objectType().David Robillard1-8/+0
2010-12-31Remove duplicated type compilation code.David Robillard1-26/+4
2010-12-30More human readable names for allocated memory in output IR.David Robillard1-2/+3
2010-12-30Rename allocation function to __resp_alloc.David Robillard1-1/+1
2010-12-29Destructuring (i.e. working `match').David Robillard1-0/+7
2010-12-29Literal lists (i.e. list quoting).David Robillard1-18/+86
2010-12-28Use fst ("first") instead of head and rst ("rest") instead of tail.David Robillard1-3/+3
2010-12-28Add quote form, to allow expressions literal symbols and lists (lists not yet...David Robillard1-1/+4
2010-12-28Tidy.David Robillard1-15/+15
2010-12-27Remove weird __tag_is form by adding a T_LITSYM type and using = operator.David Robillard1-10/+0
2010-12-27Kill AType.David Robillard1-49/+48
2010-12-26Remove AType::PRIM.David Robillard1-6/+5
2010-12-26Update headers.David Robillard1-1/+1
2010-12-25Use type of primitive rather than type of first argument to determine type of...David Robillard1-2/+2
2010-12-10Simplify if into nested 2-branch (scheme style) ifs at simplify stage.David Robillard1-46/+24
2010-12-09Strip trailing whitespace.David Robillard1-5/+5
2010-12-09Fix cpplint warnings.David Robillard1-0/+5
2010-12-09Make environment always referenced by symbols.David Robillard1-1/+1
2010-12-09Consistent engine global[Set|Get] interface.David Robillard1-3/+3
2010-12-09Clean up engine code.David Robillard1-124/+135
2010-12-09Tidy.David Robillard1-107/+107
2010-12-08Remove Engine::compileMatch.David Robillard1-23/+10
2010-12-08Eliminate some backend specific code in LLVMEngine::compileMatch (towards mov...David Robillard1-4/+3
2010-12-08Remove Engine::compileIfDavid Robillard1-33/+17
2010-12-08Use factored out if compilation methods to compile match.David Robillard1-49/+23
2010-12-08Consistent naming for Engine compile methods.David Robillard1-2/+2
2010-12-08Clean up function compilation stuff.David Robillard1-13/+15
2010-12-08compileTup => compileConsDavid Robillard1-2/+2
2010-12-07Saner recursive descent lexer/parser.David Robillard1-5/+0
2010-12-07Factor if compilation into smaller bits (towards a more assembly like IR stag...David Robillard1-45/+83
2010-12-04More const-correctness (remove all use of const_cast).David Robillard1-1/+1
2010-12-03Remove use of RTTI for AST.David Robillard1-28/+25
2010-12-03Merge ACall and ATuple.David Robillard1-8/+8
2010-12-03Remove AFn.David Robillard1-3/+3
2010-12-02Remove ACall subclasses.David Robillard1-6/+6
2010-12-02Remove use of ACall class hierarchy from compile phase.David Robillard1-4/+4
2010-12-02Work towards removing different classes for each type of expression.David Robillard1-9/+9
2010-12-02Represent code as list structure (i.e. traditional LISP lists built from pair...David Robillard1-10/+10
2010-09-30Preliminary work on algebraic data types and run-time typing.David Robillard1-7/+67
2010-08-22Simplify Engine function compilation interface.David Robillard1-36/+15