- 24 6月, 2013 6 次提交
- 23 6月, 2013 13 次提交
-
-
由 bors 提交于
Fixes #5792
-
由 bors 提交于
-
由 bors 提交于
I ran into a weird lifetime bug blocking updating the `collect` method to use `FromIterator`, but everything here works fine.
-
由 Daniel Micay 提交于
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
-
由 bors 提交于
Closes #7180 and #7179. Before, the `deriving(ToStr)` attribute was essentially `fmt!("%?")`. This changes it to recursively invoke `to_str()` on fields instead of relying on `fmt!`-style things. This seems more natural to me and what should actually be expected.
-
由 Daniel Micay 提交于
This is able to take advantage of the lower bound from the size hint.
-
由 Daniel Micay 提交于
also adds an implementation for the vector iterators
-
由 Daniel Micay 提交于
Fix compiling empty fmt! strings
-
由 Daniel Micay 提交于
accumulated doc pull requests from the queue
-
由 Daniel Micay 提交于
syntax::diagnostics: Color the ^~~~ in green for better visibility
-
由 Alex Crichton 提交于
-
由 Alex Crichton 提交于
-
- 22 6月, 2013 17 次提交
-
-
由 Philipp Brüschweiler 提交于
This finishes the incomplete conversion of unique traits as two-word allocations started in 211d038a. Fixes #5882, #6717, #7153, #7208.
-
由 Brian Anderson 提交于
-
由 bors 提交于
This is another big refactoring of `trans` though this is unlikely to have much of an impact on code size or speed. The major change here is the implementation of a `Type` struct which is the new home for all your LLVM `TypeRef` needs. It's a simple wrapper struct, with static methods for constructing types, then regular methods for manipulating/interrogating them. The purpose of this is mostly to make the code surrounding them somewhat more ideomatic. A line like: `T_ptr(T_ptr(T_i8()))` is now `Type::i8().ptr_to().ptr_to()`,which is much more like regular Rust code. There are a variety of smaller changes here and there: * Remove address spaces. At least it doesn't generate them, I haven't spent much time looking for related code. * Use a macro for declaring the LLVM intrinsics, makes it look much nicer. * Make the type for a string slice actually create a named `str_slice` type in LLVM, this makes reading the appropriate code much easier. * Change the way struct and enum type names are generated. This just means that a struct like `struct Foo { a: int }` now produces the IR `%struct.Foo = type { i64 }`, which is much easier to read. Similarly, other structs are a bit tighter to make it easier to read. --- --- --- This PR did get away from me a little, as I occasionally got distracted or as I fixed up problems with unrelated code that were stopping me from continuing. One major thing is that this PR contains the work from #7168, since that would have conflicted with this and it was broken anyway. Sorry for bundling it like this. Fixes #3670 and #7063 --- --- --- EDIT: This no longer removes the llvm insn stats.
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
This makes the handling of atomic operations more generic, which does impose a specific naming convention for the intrinsics, but that seems ok with me, rather than having an individual case for each name. It also adds the intrinsics to the the intrinsics file.
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 James Miller 提交于
-
由 bors 提交于
-
- 21 6月, 2013 4 次提交
-
-
由 bors 提交于
The changes in these commits improve the IR codegen by removing unnecessary copies for certain function call arguments and stopping to allocate return values for functions returning nil. They reduce compile times by about 10% in total.
-
由 Björn Steinbrink 提交于
By using "void" instead of "{}" as the LLVM type for nil, we can avoid the alloca/store/load sequence for the return value, resulting in less and simpler IR code. This reduces compile times by about 10%.
-
由 bors 提交于
while cross-compiling, ar in cross toolchains are required. linux is not sensitive so could not see errors.
-
由 bors 提交于
-