about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-09-11Add landing pads to invokesBrian Anderson-4/+28
Issue #236
2011-09-11Add Rust definitions for new LLVM EH instructionsBrian Anderson-0/+25
Issue #236
2011-09-11Use invoke to call (most) rust functionsBrian Anderson-1/+32
No landing pads yet. Issue #236
2011-09-11Add upcall_rust_personalityBrian Anderson-2/+5
This just wraps __gxx_personality_v0 with our upcall naming convention Issue #236
2011-09-10Fuzzer: move tys around in addition to exprsJesse Ruderman-0/+1
2011-09-09Add missing arm, so pretty-printing the statement 'copy 1;' does not die.Jesse Ruderman-0/+1
2011-09-09Make the pretty printer disambiguatae blocks followed by vec expressions.Jesse Ruderman-2/+4
Semicolons are needed here now that postfix [] is used for vec indexing (the syntax change made in rev 518dc52f85c2efb67aaa1208c02e9a7e0bdaca49).
2011-09-09Revert "Make for loops alias the vec elements, rather than copy them"Marijn Haverbeke-6/+12
This reverts commit 985ef59efd971f1d6b9bf4b5e484b75733e00444.
2011-09-09Get rid of vp2i in object field accessMarijn Haverbeke-18/+3
Closes #557
2011-09-09Make for loops alias the vec elements, rather than copy themMarijn Haverbeke-12/+6
The alias analysis was already assuming that it worked like this.
2011-09-09Get rid of trans::iter_sequence, use tvec::iter_vec insteadMarijn Haverbeke-97/+15
2011-09-09Use a Phi node in trans_vec::iter_vec_rawMarijn Haverbeke-21/+11
Rather than incrementing a spilled pointer
2011-09-09Get rid of some unused upcallsMarijn Haverbeke-13/+2
I guess these became obsolete when the communication stuff moved into the stdlib.
2011-09-09Don't put 0-length array in the lltype of an arg-less variantMarijn Haverbeke-1/+5
This seems to confuse LLVM in some very specific situations. Closes #883
2011-09-09Fix scope issue in resolution of alt-arm patternsMarijn Haverbeke-5/+5
Closes #885
2011-09-08rustc: When revoking a cleanup of a unique pointer, zero it out so that the ↵Patrick Walton-15/+25
GC won't try to visit it
2011-09-08rustc: Make unique pointers no longer immediates.Patrick Walton-70/+88
2011-09-07Export tag discriminants even for single-variant tagsBrian Anderson-4/+2
I don't know exactly what's going on but this optimization is giving me problems with the check-fast runner. I also don't see how it is correct for external tags.
2011-09-07Work around destructuring bugMarijn Haverbeke-13/+21
2011-09-07Make it possible to take the value of (and bind) native fnsMarijn Haverbeke-33/+28
Closes #820
2011-09-06Forbid blocks from deinitializing upvarsTim Chevalier-2/+22
Move expressions where the RHS is an upvar are now forbidden within block expressions.
2011-09-02Rename istr-stuff to str in rustc. Issue #855Brian Anderson-11/+11
2011-09-02Rename ty_istr to ty_str. Issue #855Brian Anderson-35/+35
2011-09-02Print the type of istrs as 'str' in error messages. Issue #855Brian Anderson-1/+1
2011-09-02Stop parsing transitional istr forms. Issue #855Brian Anderson-24/+1
2011-09-02Reformat. Issue #855Brian Anderson-3861/+3478
2011-09-02Add a constraint to trans::type_ofTim Chevalier-116/+231
trans::type_of now has a constraint saying that its type argument is statically sized. This eliminates the "impossible happened" case in type_of. Yay! I note that this change decreased translation time for stage2/rustc from 16.1 s to 14.0 s. I also think many of the remaining checks could be eliminated with some mildly clever use of constrained types and further preconditions. Future work!
2011-09-02Handle if-check with no else correctly in typestateTim Chevalier-4/+17
Propagate the if-check constraint into the consequent even when there's no else branch. (Oops!)
2011-09-02rustc: Zero out unique pointers after we drop themPatrick Walton-1/+7
2011-09-02Remove rustc::syntax::untyped_ast. Dead codeBrian Anderson-816/+0
2011-09-02Eliminate const_refcount. Issue #855Brian Anderson-22/+6
2011-09-02rustc: Root values spilled via do_spill()Patrick Walton-42/+76
2011-09-02rustc: Make the shape-emitting code aware of linearized type parametersPatrick Walton-16/+44
2011-09-02Rename ivecs to vecs in the compilerMarijn Haverbeke-124/+85
2011-09-02Remove remaining evec support from transMarijn Haverbeke-141/+8
2011-09-01Remove lots of estr code from rustc. Issue #855Brian Anderson-130/+32
2011-09-01Remove #ifmt. Issue #855Brian Anderson-2/+0
2011-09-01Convert all uses of #ifmt to #fmt. Issue #855Brian Anderson-104/+104
2011-09-01Make #fmt and #ifmt synonymous. Issue #855Brian Anderson-14/+16
2011-09-01Use #env to get the rustc version again. Issue #855Brian Anderson-3/+1
2011-09-01Add a constraint in transTim Chevalier-9/+31
Experimenting with adding typestate constraints in the compiler. Added a constraint to GEP_tag that says the variant index is in bounds. Added necessary checks.
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-381/+381
2011-09-01Parse "",str as istrs. Pretty print istrs as "",str. Issue #855Brian Anderson-12/+5
2011-09-01Make GEP_tag take a uint instead of an intTim Chevalier-9/+9
Seems to make more sense and avoids the need for some casts.
2011-09-01Remove std::str. Issue #855Brian Anderson-34/+1
2011-09-01No, not all fn constraints have the same args as the fn does, in the same ↵Tim Chevalier-4/+18
order... derp! Closes #862
2011-09-01Remove misleading outdated comment in alias.rsMarijn Haverbeke-5/+1
2011-09-01Back out copy-glueMarijn Haverbeke-86/+3
This wasn't a good idea after all.
2011-09-01Remove the last use of istr::to_estr from rustc. Issue #855Brian Anderson-5/+5
2011-09-01Allow istrs as patterns. Issue #855Brian Anderson-5/+25