about summary refs log tree commit diff
path: root/src/comp/back
AgeCommit message (Collapse)AuthorLines
2011-06-14Implement upcall_vec_append and use it for vector append.Michael Sullivan-0/+5
2011-06-14rustc: Do a dynamic alloca for generic interior vectors; fix data pointer ↵Patrick Walton-1/+0
calculation when spilling vectors
2011-06-13rustc: Implement simple interior vector append translationPatrick Walton-2/+9
2011-06-13This is the mega-ucontext commit. It replaces the task switching mechanism ↵Eric Holk-5/+1
with a new one inspired by ucontext. It works under Linux, OS X and Windows, and is Valgrind clean on Linux and OS X (provided the runtime is built with gcc). This commit also moves yield and join to the standard library, as requested in #42. Join is currently a no-op though.
2011-06-12rustc: Preserve more type information for interior vectors at the LLVM ↵Patrick Walton-0/+1
level, allowing SROA to take place. `log ~[ 2 ].(0)` now optimizes to just `log 2`.
2011-06-11rustc: Bump the default interior vector size up to 64 bytesPatrick Walton-1/+1
2011-06-10rustc: Sketch out translation of interior vector literals and take/drop gluePatrick Walton-0/+11
2011-06-10Encode meta tags in the crate and start sketching enhanced logic for ↵Graydon Hoare-13/+31
resolving crate "use" directives. Now with extra "works on OSX" kludging.
2011-06-09Revert "Encode meta tags in the crate and start sketching enhanced logic for ↵Patrick Walton-31/+13
resolving crate "use" directives." due to tree bustage This reverts commit ab3635eebef2b8cf0e19cdbc5b4e8dd7a49a4658.
2011-06-09Encode meta tags in the crate and start sketching enhanced logic for ↵Graydon Hoare-13/+31
resolving crate "use" directives.
2011-06-09Further support for predicate constraintsTim Chevalier-1/+1
Changed function types to include a list of constraints. Added code for parsing and pretty-printing constraints. This necessitated splitting pprust into two files (pprust and ppaux) to break a circulate dependency, as ty_to_str now needs to print out constraints, which may include literals, but pprust depended on ty.
2011-06-09Some more workarounds to please the alias checkerMarijn Haverbeke-1/+2
Some of the vec utilities now only work on immutable vecs, since they would have to be rewritten to do a lot more copying to be alias-safe. Some forced copying was added to map.rs, showing a weakness in the alias checker (or maybe the alias system): when fn args are passed into a function, calling them must assume all aliases that are not immutably rooted (directly connected to a local or temporary without any mutable edges) become invalid. This will be a drag on functional programming in Rust. Work around alias issues in the stdlib
2011-06-08Update rust to build with newer llvm versions.Rafael Ávila de Espíndola-1/+0
2011-06-07More work on proper linkage name-mangling. Almost right, aside from version ↵Graydon Hoare-2/+244
numbers.
2011-05-31Now imports are not re-exported unless 'export' is explicitly used.Paul Stansifer-4/+5
2011-05-27Switching over to wrappers for spawning functions of multiple arguments. ↵Eric Holk-1/+1
Doesn't quite work yet.
2011-05-26More delicious dead code removal from runtime, upcalls.Graydon Hoare-14/+3
2011-05-26Fix typo in error messageTim Chevalier-2/+2
2011-05-26Remove native glues. All calls to C are direct now.Graydon Hoare-204/+1
2011-05-24There is only one yield glue.Rafael Ávila de Espíndola-42/+2
2011-05-24There is only one activate function now.Rafael Ávila de Espíndola-96/+2
2011-05-23rustc: Run the llvm verifier pass before optimization. Closes #376Brian Anderson-0/+4
The optimization passes were hiding some codegen errors so now we run the verifier both before and after optimization.
2011-05-20More work on anonymous objects.Lindsey Kuper-0/+2
2011-05-20Using the right mode...Eric Holk-1/+1
2011-05-20Translated start_task, but it fails on spp == align_down(spp)Eric Holk-2/+12
2011-05-20Called the new_task upcall. There are refcount issues though.Eric Holk-1/+1
2011-05-19OptLevel changes. Accepts levels 0 to 3 only. '-O' is synonym for --OptLevel=2.Graydon Hoare-11/+15
2011-05-18rustc: Fix output name of optimized glue when --save-temps is onPatrick Walton-1/+1
2011-05-18Remove dead code.Rafael Ávila de Espíndola-4/+0
2011-05-18And yet more dead code.Rafael Ávila de Espíndola-3/+0
2011-05-17Finally rename std::_xxx to std::xxxMarijn Haverbeke-32/+32
Except for _task, which is still a keyword.
2011-05-16Rewrite everything to use [] instead of vec() in value position.Graydon Hoare-81/+81
2011-05-16Replace --bitcode with the canonical --emit-llvmKelly Wilson-3/+3
2011-05-16Add automatic exe generation capabilities. Add --bitcode flag to generate ↵Kelly Wilson-22/+40
only an LLVM bitcode file.
2011-05-14rustc: Dispose intrinsics memory bufferBrian Anderson-0/+2
2011-05-14rustc: Dispose the intrinsics LLVMModuleRefBrian Anderson-1/+4
2011-05-13rustc: lowercase the link and link::write modulesBrian Anderson-1/+1
2011-05-12Downcase std modules again, move to :: for module dereferencingMarijn Haverbeke-114/+114
This should be a snapshot transition.
2011-05-10Add --time-llvm-passes.Graydon Hoare-2/+14
2011-05-10rustc: Get rid of native Rust glue for all upcalls except the exit task gluePatrick Walton-9/+9
2011-05-09rustc: Give our upcall definitions the right valuesPatrick Walton-40/+50
2011-05-09rustc: Declare upcalls with real signatures; preparation for killing ↵Patrick Walton-0/+125
rust_native_rust_* stubs
2011-05-09rustc: Replace our homebrew list of passes with the standard function and ↵Patrick Walton-50/+16
module passes, along with the TargetData passes.
2011-05-06rustc: Make llvm_err() conform to Postel's law a little betterPatrick Walton-1/+6
2011-05-06Rename std modules to be camelcasedMarijn Haverbeke-31/+31
(Have fun mergining your stuff with this.)
2011-05-06rustc: Bump the number of native glues to 8Patrick Walton-1/+1
2011-05-05Fix x86.rs triple for linux.Graydon Hoare-1/+1
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-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/+6