about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-05-10rustc: Cache intermediate results of metadata.Encode.ty_str. Shaves 30% off ↵Patrick Walton-3/+22
translation time.
2011-05-10Switch memcpy to memmove since we're willing to compile x = x and such.Graydon Hoare-18/+17
2011-05-10rustc: Get rid of native Rust glue for all upcalls except the exit task gluePatrick Walton-133/+114
2011-05-10Re-enable use of llvm intrinsics for memcpy, memset. Should have aligned ↵Graydon Hoare-106/+77
stack now.
2011-05-09Fix long lines in fold.rs, typeck.rsBrian Anderson-2/+4
2011-05-09Alias-ify fold and its users, remove another 85kb.Graydon Hoare-357/+378
2011-05-09rustc: Give our upcall definitions the right valuesPatrick Walton-40/+50
2011-05-09Alias-ify walk, typeck, metadata. Cuts another 80kb off rustc.Graydon Hoare-150/+153
2011-05-09rustc: Declare upcalls with real signatures; preparation for killing ↵Patrick Walton-0/+151
rust_native_rust_* stubs
2011-05-09Remove boxes from token.t.Graydon Hoare-42/+79
2011-05-09rustc: Alias fix part 2 -- Check that the aliasness of function parameters ↵Patrick Walton-10/+11
matches. Add a test case.
2011-05-09Alias-ify a variety of fn signatures in ty. Cuts 180kb off rustc.Graydon Hoare-112/+114
2011-05-09rustc: Alias fix part 1 -- Separate out AST modes from typechecker modes, ↵Patrick Walton-71/+63
and introduce an "either value or alias" mode
2011-05-09rustc: Replace our homebrew list of passes with the standard function and ↵Patrick Walton-51/+21
module passes, along with the TargetData passes.
2011-05-08rustc: Stop emitting zero-length arraysPatrick Walton-14/+42
2011-05-07Stop stringifying integers to get integral constants.Graydon Hoare-32/+37
2011-05-06rustc: Make llvm_err() conform to Postel's law a little betterPatrick Walton-1/+6
2011-05-06Fix GenericOS.getenv returning a raw str, return an Option.t[str] instead.Graydon Hoare-2/+11
2011-05-06rustc: Uncomment LLVMAddStandardPasses, now that we have a native glue that ↵Patrick Walton-2/+2
supports 8 arguments.
2011-05-06Rename std modules to be camelcasedMarijn Haverbeke-1321/+1321
(Have fun mergining your stuff with this.)
2011-05-06rustc: Bump the number of native glues to 8Patrick Walton-1/+1
2011-05-06rustllvm: Add a binding to the LLVM standard module passesPatrick Walton-0/+10
2011-05-06rustc: For stack local derived tydescs, allocate the root tydesc separately ↵Patrick Walton-24/+36
from the parameter tydescs. This allows SROA, and consequently inlining, to work.
2011-05-06rustc: Factor derived tydesc construction out of get_tydesc()Patrick Walton-43/+44
2011-05-06rustc: Include a representation of the type in question in the symbols ↵Patrick Walton-1/+1
generated for tydescs
2011-05-06Ge the host triple using LLVM. Fix a few 'mutable' warnings also.Kelly Wilson-8/+29
2011-05-06Use #env to bake a git revision string into rustc's --version output.Graydon Hoare-4/+5
2011-05-05rustc: Remove some debugging code from decl_native_fn_and_pair()Patrick Walton-6/+0
2011-05-05rustc: Fix a bunch of argument-passing bugs in decl_native_fn_and_pair()Patrick Walton-54/+82
2011-05-05Fix x86.rs triple for linux.Graydon Hoare-1/+1
2011-05-05Consolidating expr_to_str functions.Lindsey Kuper-22/+8
2011-05-05Use symbolic register names so that we get the correct encoding on OS X.Rafael Ávila de Espíndola-2/+2
2011-05-05Change the setup so that rust_activate_glue returns to rust_exit_task_glueRafael Ávila de Espíndola-16/+17
and rust_exit_task_glue calls the rust main. This is simpler since we only need to setup one frame. It also matches what ld.so does, so gdb is happy and stops a backtrace at rust_exit_task_glue instead of continuing past whatever function happened to be before rust_exit_task_glue is the object file. This is only the rustc changes and should be merged first.
2011-05-05rustc: Add Rust intrinsic support to the crate metadata reader and writerPatrick Walton-3/+7
2011-05-05rustc: Fix bug in equal_abi that was preventing Rust intrinsics from workingPatrick Walton-0/+6
2011-05-05Add --help, --version and -v flags (not yet supporting GIT_REV env var, ↵Graydon Hoare-4/+23
waiting on snapshot).
2011-05-05rustc: Link with intrinsics.bc; change intrinsics linkage to linkonce_odrPatrick Walton-2/+28
2011-05-05rustc: Add a binding to LLVM's bitcode parserPatrick Walton-0/+9
2011-05-05Enforce in typechecker that preds return a boolTim Chevalier-0/+11
as well as a test case
2011-05-05Bring back "pred" syntax for writing predicates for checkTim Chevalier-22/+155
This commit reinstates the requirement that the predicate in a "check" must be a manifest call to a special kind of function declared with the new "pred" keyword instead of "fn". Preds must have a boolean return type and can only call other preds; they can't have any effects (as enforced by the typechecker). The arguments to a predicate in a check expression must be slot variables or literals.
2011-05-05Check well-formedness of constraintsTim Chevalier-6/+37
Check that the operand in a constraint is an explicit name, and that the operands are all local variables or literals. Still need to check that the name refers to a pure function.
2011-05-05Check that the operand in a check is a callTim Chevalier-8/+19
In addition, fix bug in fold that was turning asserts into checks. More typechecking still needs to be done.
2011-05-05Remove 'deprecated mutable...' from our codeMarijn Haverbeke-14/+14
This should make compilation a bit less noisy.
2011-05-05Return a fresh, unreachable context after ret, break, and contMarijn Haverbeke-2/+2
This ensures we don't get compile errors on unreachable code (see test/run-pass/artificial-block.rs for an example of sane code that wasn't compiling). In the future, we might want to warn about non-trivial code appearing in an unreachable context, and/or avoid generating unreachable code altogether (though I'm sure LLVM will weed it out as well).
2011-05-05Eradicate fold from capture.rsMarijn Haverbeke-59/+54
The pass now uses walk.
2011-05-05rustc: Add a Link module; move crate writing to it to slim down trans slightlyPatrick Walton-173/+197
2011-05-04rustllvm: Add bindings to the LLVM linkerPatrick Walton-1/+3
2011-05-04rustc: Detect the system root and allow the user to override if necessaryPatrick Walton-4/+22
2011-05-04Add #env syntax extension for plucking strings out of the compilation ↵Graydon Hoare-0/+76
environment.
2011-05-05Fix and re-enable destructorsMarijn Haverbeke-6/+7
There was some confusion on whether the destructors took their argument by pointer or direct value. They now take it directly, just like other methods. You no longer get a segfault when a constructor actually does something with its self value.