- 10 11月, 2017 1 次提交
-
-
由 Alex Crichton 提交于
* Increase the maximum vector size in the ABI calculations to ensure that AVX-512 operands are immediates. * Add a few more `target_feature` matchings for AVX-512 features
-
- 19 4月, 2017 1 次提交
-
-
由 Eduard-Mihai Burtescu 提交于
-
- 11 4月, 2017 1 次提交
-
-
由 Eduard-Mihai Burtescu 提交于
-
- 09 4月, 2017 1 次提交
-
-
由 Eduard-Mihai Burtescu 提交于
-
- 18 11月, 2016 1 次提交
-
-
由 Robin Kruppe 提交于
The librustc_llvm API remains mostly unchanged, except that llvm::Attribute is no longer a bitflag but represents only a *single* attribute. The ability to store many attributes in a small number of bits and modify them without interacting with LLVM is only used in rustc_trans::abi and closely related modules, and only attributes for function arguments are considered there. Thus rustc_trans::abi now has its own bit-packed representation of argument attributes, which are translated to rustc_llvm::Attribute when applying the attributes.
-
- 25 9月, 2016 1 次提交
-
-
由 Mark-Simulacrum 提交于
s390x's C ABI ty_align and ty_size are not moved because the implementation of ty_align varies in an atypical pattern: it calls ty_size for the llvm::Vector type kind. ty_size then cannot be moved since it indirectly calls ty_align through align.
-
- 04 9月, 2016 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 05 4月, 2016 1 次提交
-
-
由 James Miller 提交于
We need to supply sext/zext attributes to LLVM to ensure that arguments are extended to the appropriate width in the correct way. Most platforms extend integers less than 32 bits, though not all.
-
- 01 4月, 2016 1 次提交
-
-
由 Benjamin Herr 提交于
-
- 27 3月, 2016 1 次提交
-
-
由 Eduard Burtescu 提交于
-
- 18 3月, 2016 6 次提交
-
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
- 17 10月, 2015 1 次提交
-
-
由 Luqman Aden 提交于
trans: Use an isize to count the number of registers so we don't underflow for fn's with > 7 args in debug builds.
-
- 15 10月, 2015 1 次提交
-
-
由 Luqman Aden 提交于
-
- 09 7月, 2015 1 次提交
-
-
由 Ulrik Sverdrup 提交于
The common pattern `iter::repeat(elt).take(n).collect::<Vec<_>>()` is exactly equivalent to `vec![elt; n]`, do this replacement in the whole tree. (Actually, vec![] is smart enough to only call clone n - 1 times, while the former solution would call clone n times, and this fact is virtually irrelevant in practice.)
-
- 06 5月, 2015 1 次提交
-
-
由 Tamir Duberstein 提交于
-
- 29 4月, 2015 1 次提交
-
-
由 Tamir Duberstein 提交于
-
- 15 4月, 2015 1 次提交
-
-
由 Tamir Duberstein 提交于
`s/(?<!\{ self)(?<=\.)len\(\) == 0/is_empty()/g`
-
- 27 3月, 2015 1 次提交
-
-
由 Alex Crichton 提交于
Now that support has been removed, all lingering use cases are renamed.
-
- 06 2月, 2015 1 次提交
-
-
由 Jorge Aparicio 提交于
-
- 03 2月, 2015 2 次提交
-
-
由 Jorge Aparicio 提交于
Also `for x in option.iter_mut()` -> `if let Some(ref mut x) = option`
-
由 Jorge Aparicio 提交于
-
- 01 2月, 2015 1 次提交
-
-
由 Alfie John 提交于
-
- 20 1月, 2015 1 次提交
-
-
由 Jorge Aparicio 提交于
-
- 16 1月, 2015 3 次提交
-
-
由 Huon Wilson 提交于
Unlike the intrinics in C, this types the SSE values base on integer size. This matches the LLVM intrinsics which have concrete vector types (`<4 x i32>` etc.), and is no loss of expressivity: if one is using a C function that really takes an untyped integral SSE value, just give it whatever Rust type makes most sense.
-
由 Huon Wilson 提交于
-
由 Huon Wilson 提交于
This seems to work on x86-64, but I am not able to test on other platforms. cc #20043
-
- 14 1月, 2015 1 次提交
-
-
由 Huon Wilson 提交于
-
- 08 1月, 2015 1 次提交
-
-
由 Jorge Aparicio 提交于
-
- 07 1月, 2015 1 次提交
-
-
由 Nick Cameron 提交于
-
- 06 1月, 2015 1 次提交
-
-
由 Jorge Aparicio 提交于
-
- 04 1月, 2015 1 次提交
-
-
由 Jorge Aparicio 提交于
-
- 31 12月, 2014 1 次提交
-
-
由 Aaron Turon 提交于
-
- 19 12月, 2014 1 次提交
-
-
由 Jorge Aparicio 提交于
-
- 14 12月, 2014 1 次提交
-
-
由 Jorge Aparicio 提交于
-
- 09 12月, 2014 1 次提交
-
-
由 Niko Matsakis 提交于
This change makes the compiler no longer infer whether types (structures and enumerations) implement the `Copy` trait (and thus are implicitly copyable). Rather, you must implement `Copy` yourself via `impl Copy for MyType {}`. A new warning has been added, `missing_copy_implementations`, to warn you if a non-generic public type has been added that could have implemented `Copy` but didn't. For convenience, you may *temporarily* opt out of this behavior by using `#![feature(opt_out_copy)]`. Note though that this feature gate will never be accepted and will be removed by the time that 1.0 is released, so you should transition your code away from using it. This breaks code like: #[deriving(Show)] struct Point2D { x: int, y: int, } fn main() { let mypoint = Point2D { x: 1, y: 1, }; let otherpoint = mypoint; println!("{}{}", mypoint, otherpoint); } Change this code to: #[deriving(Show)] struct Point2D { x: int, y: int, } impl Copy for Point2D {} fn main() { let mypoint = Point2D { x: 1, y: 1, }; let otherpoint = mypoint; println!("{}{}", mypoint, otherpoint); } This is the backwards-incompatible part of #13231. Part of RFC #3. [breaking-change]
-