aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-12-14More flexible and unified code pass design.David Robillard3-52/+66
git-svn-id: http://svn.drobilla.net/resp/trunk@435 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-12-14Real implementation of algebraic data types, and parametric types.David Robillard7-54/+248
git-svn-id: http://svn.drobilla.net/resp/trunk@434 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2012-10-15Update for LLVM 3.1David Robillard6-68/+76
git-svn-id: http://svn.drobilla.net/resp/trunk@433 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-16Oops.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@431 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-16Fix pretty-printing of defines with list values.David Robillard1-2/+5
git-svn-id: http://svn.drobilla.net/resp/trunk@430 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-15Simplify compile_cons.David Robillard1-11/+6
git-svn-id: http://svn.drobilla.net/resp/trunk@429 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-15Remove cast form (unnecessary since compile stage casts paramters as needed ↵David Robillard4-17/+8
anyway). git-svn-id: http://svn.drobilla.net/resp/trunk@428 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-15Generate code entirely via emitting flat IR (don't special case main/repl).David Robillard5-59/+73
git-svn-id: http://svn.drobilla.net/resp/trunk@427 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-15Leave symbols alone in GC (currently causes memory errors)David Robillard1-1/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@426 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Fix global set/get (top level variable definitions in the REPL).David Robillard2-53/+74
git-svn-id: http://svn.drobilla.net/resp/trunk@425 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Tidy.David Robillard1-5/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@424 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Create 'main' in IR and compile it like any other function.David Robillard3-23/+52
git-svn-id: http://svn.drobilla.net/resp/trunk@423 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Tidy.David Robillard2-8/+8
git-svn-id: http://svn.drobilla.net/resp/trunk@422 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Make currentFn private to the backend.David Robillard4-33/+25
git-svn-id: http://svn.drobilla.net/resp/trunk@421 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Use recursive types in IR rather than fugly __REC kludge.David Robillard2-14/+9
git-svn-id: http://svn.drobilla.net/resp/trunk@420 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Don't garbage collect types that are stored in data structures in the ↵David Robillard1-7/+15
compiler (partially fix REPL). git-svn-id: http://svn.drobilla.net/resp/trunk@419 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Improve pretty-printing spacing (don't double space flat IR).David Robillard1-1/+5
git-svn-id: http://svn.drobilla.net/resp/trunk@418 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Add flatten stage to generate flat s-expression IR for the (now simpler) ↵David Robillard6-91/+274
compilation stage. git-svn-id: http://svn.drobilla.net/resp/trunk@417 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Don't print type annotations for def formsDavid Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@416 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Disable compilation of rotting C backend.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/resp/trunk@414 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14Update header for new Engine APIDavid Robillard1-3/+6
git-svn-id: http://svn.drobilla.net/resp/trunk@413 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-14More granular if compilation API (towards assembly-like IR stage and simpler ↵David Robillard2-30/+92
backends) git-svn-id: http://svn.drobilla.net/resp/trunk@412 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-13Update for LLVM 2.8.David Robillard1-9/+9
git-svn-id: http://svn.drobilla.net/resp/trunk@411 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-05-13Don't pass 'false' for pointer parameter.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@410 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-13Tidier FreeVars::index.David Robillard1-9/+4
git-svn-id: http://svn.drobilla.net/resp/trunk@409 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-13Fix erroneous rejection of (def (f x) ...) forms with multiple body expressions.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@408 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-13Fix crash on `(def)'.David Robillard1-4/+4
Fish error location reporting for list expressions. git-svn-id: http://svn.drobilla.net/resp/trunk@407 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-13Fix error location reporting.David Robillard3-14/+16
git-svn-id: http://svn.drobilla.net/resp/trunk@406 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-09Partially resurrect CPS translation pass.David Robillard4-123/+157
git-svn-id: http://svn.drobilla.net/resp/trunk@405 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-09Set type of lifted closure component accesses.David Robillard1-1/+3
git-svn-id: http://svn.drobilla.net/resp/trunk@404 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2011-01-09Don't access type stuff when type annotations are not requested.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/trunk@403 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Fix -P (don't look at types in printer unless annotations are requested).David Robillard1-3/+7
git-svn-id: http://svn.drobilla.net/resp/resp@400 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Use standard LLVM optimization passes, and optimize entire module (much more ↵David Robillard1-11/+15
aggressive optimization than previous code). git-svn-id: http://svn.drobilla.net/resp/resp@398 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Only compile symbols once (cache compiled symbol values specially for this).David Robillard2-5/+7
Working pattern matching / deconstruction when object is a function parameter. git-svn-id: http://svn.drobilla.net/resp/resp@396 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Compile match 'else' case to unreachable instruction.David Robillard1-5/+7
git-svn-id: http://svn.drobilla.net/resp/resp@395 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Report parsing errors.David Robillard2-0/+2
git-svn-id: http://svn.drobilla.net/resp/resp@394 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Fix parsing of #f.David Robillard2-2/+3
git-svn-id: http://svn.drobilla.net/resp/resp@393 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Fix crash due to recursive initialization.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@392 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Saner type unification.David Robillard1-13/+3
git-svn-id: http://svn.drobilla.net/resp/resp@391 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Print fn parameter type annotations correctly.David Robillard1-9/+16
git-svn-id: http://svn.drobilla.net/resp/resp@390 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Only print def type annotations when requested.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@389 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Define named (and possibly recursive) types for closures and functions.David Robillard5-36/+131
Compile type definitions all the way to LLVM IR (including recursive types). git-svn-id: http://svn.drobilla.net/resp/resp@388 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Don't execute code if -S is given.David Robillard1-1/+2
git-svn-id: http://svn.drobilla.net/resp/resp@387 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Remove unused Engine::objectType().David Robillard3-18/+0
git-svn-id: http://svn.drobilla.net/resp/resp@386 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-31Remove duplicated type compilation code.David Robillard1-26/+4
git-svn-id: http://svn.drobilla.net/resp/resp@385 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-30Add rrst().David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/resp/resp@384 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-30More human readable names for allocated memory in output IR.David Robillard1-2/+3
git-svn-id: http://svn.drobilla.net/resp/resp@383 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-30Less code.David Robillard1-5/+2
git-svn-id: http://svn.drobilla.net/resp/resp@382 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-30Abbreviate (def (fn ...))David Robillard1-7/+17
git-svn-id: http://svn.drobilla.net/resp/resp@381 ad02d1e2-f140-0410-9f75-f8b11f17cedd
2010-12-30Fix calling inline fn expressions (don't allocate closure twice).David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/resp/resp@380 ad02d1e2-f140-0410-9f75-f8b11f17cedd