| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-01-27 | Move various trans_ modules under a trans:: umbrella module | Marijn Haverbeke | -312/+0 | |
| Closes #1304 | ||||
| 2012-01-23 | s/block()/fn()/g | Niko Matsakis | -1/+1 | |
| 2012-01-21 | migrate size_of() and related funcs from trans into shape | Niko Matsakis | -3/+3 | |
| 2012-01-18 | Remove '.' after nullary tags in patterns | Tim Chevalier | -2/+2 | |
| Does what it says on the tin. The next commit will remove support for this syntax. | ||||
| 2012-01-13 | deprecate fn exprs and the fn() type, preferring fn@ and native fn | Niko Matsakis | -17/+14 | |
| 2012-01-13 | Obj system? What obj system? | Marijn Haverbeke | -2/+2 | |
| Removes the obj system from the compiler. Closes #1484 | ||||
| 2012-01-06 | Disallow variable names that shadow tags in scope | Tim Chevalier | -1/+1 | |
| Now, if you have a tag named "foo", a variable declaration like "let foo..." is illegal. This change makes it possible to eliminate the '.' after a nullary tag pattern in an alt (but I'll be doing that in a future commit) -- as now it's always obvious whether a name refers to a tag or a new declared variable. resolve implements this change -- all the other changes are just to get rid of existing code that declares variables that shadow tag names. | ||||
| 2011-12-18 | Remove source line generation craziness. Ensure incorrect subprogram caches ↵ | Josh Matthews | -2/+0 | |
| are not conflated. Generate ast_map entries for object members and resource constructors and destructors. | ||||
| 2011-12-18 | Fix LLVM assertions when lowering log statements. | Josh Matthews | -0/+2 | |
| 2011-12-13 | Copy first batch of material from libstd to libcore. | Graydon Hoare | -3/+3 | |
| 2011-11-17 | remove compile-command from local variable blocks | Niko Matsakis | -1/+0 | |
| 2011-11-10 | Cleanup unused imports | Haitao Li | -4/+3 | |
| 2011-11-03 | Disallow writing to function arguments again | Marijn Haverbeke | -7/+6 | |
| Remove implicit copying hack. Closes #1118 | ||||
| 2011-11-02 | convert GEP to i32 | Niko Matsakis | -12/+6 | |
| 2011-11-02 | thread the context through so that int can be 64 bits on x86_64 | Niko Matsakis | -26/+46 | |
| 2011-10-20 | Remove taskptr argument from upcalls | Marijn Haverbeke | -3/+2 | |
| Issue #466 | ||||
| 2011-10-10 | Make vectors and strings immediates again | Marijn Haverbeke | -54/+42 | |
| There's no good reason to force them to be spilled anymore. Some pieces of trans become more elegant this way, and less stack allocs and load/stores are needed. Issue #1021 | ||||
| 2011-10-05 | Make trans_lval lval-only | Marijn Haverbeke | -1/+1 | |
| Call trans_temp_lval if you want the old fallback-to-temporary behaviour. Issue #667 | ||||
| 2011-10-05 | Add trans_temp_expr for what used to be trans_expr, rename t_e_dps to trans_expr | Marijn Haverbeke | -2/+2 | |
| Issue #667 | ||||
| 2011-10-05 | Revert "Revert "Get rid of 'overwrite' destination kind"" | Marijn Haverbeke | -18/+4 | |
| This reverts commit ce9e0fc94f4a74594e7b342d128b3713b53ef0d7. | ||||
| 2011-10-04 | Revert "Get rid of 'overwrite' destination kind" | Patrick Walton | -4/+18 | |
| This reverts commit 6e652588bfb3edea298026f56648057677b0fa3f. | ||||
| 2011-10-04 | Get rid of 'overwrite' destination kind | Marijn Haverbeke | -18/+4 | |
| It wasn't safe (computing the rval might invalidate the lval addr), and needlessly complicating things (code was already building up intermediary results to work around other unsafeties). Issue #667 | ||||
| 2011-09-29 | Move closure construction over to DPS style | Marijn Haverbeke | -4/+2 | |
| Issue #667 | ||||
| 2011-09-28 | Use DPS for assignment and local initialization | Marijn Haverbeke | -19/+35 | |
| Issue #667 | ||||
| 2011-09-27 | Revert "Use DPS for assignment and local initialization" | Brian Anderson | -35/+19 | |
| This reverts commit b1b202d302d1e84886360f9c8f146b9562db5f23. | ||||
| 2011-09-27 | Use DPS for assignment and local initialization | Marijn Haverbeke | -19/+35 | |
| Issue #667 | ||||
| 2011-09-27 | Move expr_unary to DPS style | Marijn Haverbeke | -2/+3 | |
| Issue #667 | ||||
| 2011-09-27 | Move expr_binary into trans_expr_dps | Marijn Haverbeke | -16/+21 | |
| Issue #667 | ||||
| 2011-09-27 | Move expr_lit and expr_vec into trans_expr_dps | Marijn Haverbeke | -19/+17 | |
| Issue #667 | ||||
| 2011-09-27 | Move more non-value-returning things to trans_expr_dps. | Marijn Haverbeke | -2/+2 | |
| Issue #667 | ||||
| 2011-09-23 | Make AddIncomingToPhi take single values rather than arrays | Marijn Haverbeke | -2/+2 | |
| 2011-09-23 | Better handling of unreachable code in trans | Marijn Haverbeke | -2/+2 | |
| The builder functions in trans_build now look at an 'unreachable' flag in the block context and don't generate code (returning undefined placeholder values) when this flag is set. Threading the unreachable flag through context still requires some care, but this seems a more sane approach than re-checking for terminated blocks throughout the compiler. When creating a block, if you use its closest dominator as parent, the flag will be automatically passed through. If you can't do that, because the dominator is a scope block that you're trying to get out of, you'll have to do something like this to explicitly pass on the flag: if bcx.unreachable { Unreachable(next_cx); } Closes #949. Closes #946. Closes #942. Closes #895. Closes #894. Closes #892. Closes #957. Closes #958. | ||||
| 2011-09-16 | Saner approach to lvalues and callable values in trans | Marijn Haverbeke | -1/+1 | |
| LValues no longer carry information about generics and objs, instead there's an extended form of lvalue, lval_maybe_callee, only used by call and bind, which holds this info. This makes it possible to take the value of a method and get a working closure, and will (with some more work) allow us to call statically known functions without loading from their pair. Closes #435 Closes #758 | ||||
| 2011-09-16 | Revert "Saner approach to lvalues and callable values in trans" | Marijn Haverbeke | -1/+1 | |
| This reverts commit 66153436c9070386786c8a38cde199b5d3e71289. | ||||
| 2011-09-16 | Saner approach to lvalues and callable values in trans | Marijn Haverbeke | -1/+1 | |
| LValues no longer carry information about generics and objs, instead there's an extended form of lvalue, lval_maybe_callee, only used by call and bind, which holds this info. This makes it possible to take the value of a method and get a working closure, and will (with some more work) allow us to call statically known functions without loading from their pair. Closes #435 Closes #758 | ||||
| 2011-09-12 | Reformat for new mode syntax, step 1 | Marijn Haverbeke | -30/+30 | |
| Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit. | ||||
| 2011-09-09 | Use a Phi node in trans_vec::iter_vec_raw | Marijn Haverbeke | -15/+11 | |
| Rather than incrementing a spilled pointer | ||||
| 2011-09-08 | rustc: Make unique pointers no longer immediates. | Patrick Walton | -34/+42 | |
| 2011-09-02 | Rename istr-stuff to str in rustc. Issue #855 | Brian Anderson | -2/+2 | |
| 2011-09-02 | Rename ty_istr to ty_str. Issue #855 | Brian Anderson | -2/+2 | |
| 2011-09-02 | Reformat. Issue #855 | Brian Anderson | -97/+114 | |
| 2011-09-02 | rustc: Zero out unique pointers after we drop them | Patrick Walton | -0/+1 | |
| 2011-09-02 | rustc: Root values spilled via do_spill() | Patrick Walton | -5/+7 | |
| 2011-09-02 | Rename ivecs to vecs in the compiler | Marijn Haverbeke | -0/+289 | |
| 2011-08-16 | Remove partial DPS back-end | Marijn Haverbeke | -219/+0 | |
| It won't be finished on the short term, and it's already bit-rotting fast. We can fetch this from git's autumn annals if we need it. | ||||
| 2011-07-27 | Reformat for new syntax | Marijn Haverbeke | -80/+79 | |
| 2011-07-26 | Remove all uses of tuples from the compiler and stdlib | Marijn Haverbeke | -5/+5 | |
| 2011-07-21 | Move a bunch of trans into trans_common, including the context structures. | Michael Sullivan | -4/+4 | |
| Probably more should be moved or split off into other files. My algorithm was something along the lines of: move the contexts and their transitive dependencies along with some functions to work with them. I stopped when I was going to have to start pulling glue generation, which really should go into a trans_glue file. | ||||
| 2011-07-18 | rustc: Remove obsolete TODO | Patrick Walton | -1/+0 | |
| 2011-07-18 | rustc: Skip null when translating string concatenation | Patrick Walton | -1/+5 | |
