767 Commits

Author SHA1 Message Date
antoyo
6f1adbd9e3
Merge pull request #226 from rust-lang/feature/llvm-prefetch
Implement llvm.prefetch
2022-10-01 18:22:06 -04:00
Antoni Boucher
a0654b398b Implement llvm.prefetch 2022-10-01 15:18:51 -04:00
bjorn3
3f43ee2407 Merge apply_attrs_callsite into call and invoke
Some codegen backends are not able to apply callsite attrs after the fact.
2022-10-01 17:01:31 +00:00
antoyo
98f0dc148d
Merge pull request #224 from rust-lang/fix/gep-release-mode
Add CI tests with a sysroot compiled in release mode
2022-10-01 12:59:27 -04:00
bjorn3
69a065ef81 Remove unused target_cpu and tune_cpu methods from ExtraBackendMethods 2022-10-01 16:45:33 +00:00
bjorn3
29edc888bd Remove several unused methods from MiscMethods 2022-10-01 16:45:07 +00:00
bjorn3
2db7a873de Remove unused Context assoc type from WriteBackendMethods 2022-10-01 16:34:45 +00:00
Antoni Boucher
908304e257 Rewrite inbounds_gep with a loop 2022-10-01 12:31:39 -04:00
Antoni Boucher
090cde9811 Disable libcore tests because some fail 2022-10-01 12:31:39 -04:00
Antoni Boucher
6b7e16f87e Add more debugging options 2022-10-01 12:31:39 -04:00
Antoni Boucher
ed570f6678 Fix gep 2022-10-01 12:31:39 -04:00
Antoni Boucher
12105bc0d7 Fix pointer comparison 2022-09-30 18:23:37 -04:00
Antoni Boucher
af28dec7d1 Add CI tests with a sysroot compiled in release mode 2022-09-30 17:53:06 -04:00
Matthias Krüger
869203cdb2 Rollup merge of #101075 - ellishg:rustc_codegen_gcc_diagnostics, r=davidtwco
Migrate rustc_codegen_gcc to SessionDiagnostics

As part of #100717 this pr migrates diagnostics to `SessionDiagnostics` for the `rustc_codegen_gcc` crate.

``@rustbot`` label +A-translation
2022-09-30 10:22:36 +02:00
Ellis Hoag
5ae3bf2ed3 print <signal> when ranlib failed without an exit code 2022-09-28 19:02:38 -07:00
antoyo
8ead881fbf
Merge pull request #219 from sadlerap/float-intrinsics
simd: implement float math intrinsics
2022-09-28 10:45:46 -04:00
Andy Sadler
688f742658
simd: implement float math intrinsics
Implements the intrinsics required to pass float-math-pass and
libm_std_can_float ui tests.

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2022-09-27 21:58:55 -05:00
Urgau
4d398832a5 Stabilize bench_black_box 2022-09-27 17:38:51 +02:00
Ellis Hoag
277b997adc lint and remove unused diagnostic 2022-09-26 19:57:40 -07:00
Pietro Albini
d9edc8e869
harden ci configuration 2022-09-26 12:29:10 +02:00
Ellis Hoag
d1741f6d62 remove comment 2022-09-24 15:03:14 -07:00
Ellis Hoag
0ae1e27b17 fix lifetime error 2022-09-24 11:36:16 -07:00
Ellis Hoag
43b3206571 rebase and update trait names 2022-09-24 11:06:05 -07:00
Ellis Hoag
5c839d995b impl SessionDiagnostic for LayoutError and Spanned<T> 2022-09-24 10:25:19 -07:00
Ellis Hoag
059326c4bd Add monomorphization errors 2022-09-24 10:24:48 -07:00
Ellis Hoag
70ab0548a0 lint type 2022-09-24 10:24:48 -07:00
Ellis Hoag
d3bb849fe9 Add wrapper type for ExitCode for use in RanlibFailure 2022-09-24 10:24:48 -07:00
Ellis Hoag
ff9bf7b6b3 remove IntoDiagnosticArg impl for Option 2022-09-24 10:24:48 -07:00
Ellis Hoag
1f3ae14c83 Lint against untranslatable diagnostics in rustc_codegen_gcc 2022-09-24 10:24:48 -07:00
Ellis Hoag
534ce39aac Add LayoutSizeOverflow 2022-09-24 10:24:48 -07:00
Ellis Hoag
33b58ebf22 Add LTONotSupported 2022-09-24 10:24:48 -07:00
Ellis Hoag
7fc07caf67 Add UnwindingInlineAsm 2022-09-24 10:24:48 -07:00
Ellis Hoag
7277046d84 Add LinkageConstOrMutType 2022-09-24 10:24:48 -07:00
Ellis Hoag
23eae52d45 Add RanlibFailure 2022-09-24 10:24:48 -07:00
antoyo
1724042e22
Merge pull request #218 from rust-lang/fix/build-release-sysroot
Fix build of release sysroot in test.sh
2022-09-14 09:22:50 -04:00
Antoni Boucher
3e6710962e Fix build of release sysroot in test.sh 2022-09-14 08:26:59 -04:00
antoyo
b0ccfd1f90
Merge pull request #215 from sadlerap/extract-element
simd: impl extract_element for vector types
2022-09-10 07:31:45 -04:00
Andy Sadler
d7d820fc47
simd: impl extract_element for vector types
This fixes some tests that needed vector element extraction.

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2022-09-09 10:07:36 -05:00
Oli Scherer
c3dce60ac7 Remove dead broken code from const zst handling in backends 2022-09-06 14:09:49 +00:00
Antoni Boucher
2ecd620acb Fix IRC badge 2022-09-04 19:34:24 -04:00
Antoni Boucher
9560cb13fe Add IRC channel in the readme 2022-09-04 19:29:45 -04:00
antoyo
f623e5325a
Merge pull request #214 from sadlerap/minmax
simd: implement simd_fmin/fmax
2022-08-30 21:08:04 -04:00
Andy Sadler
1d3ca135d0
simd: implement simd_fmin/fmax
This implements simd_fmin/fmax in a largely-optimal method.

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2022-08-30 19:34:27 -05:00
Dylan DPC
ecb861316e Rollup merge of #100653 - cuviper:fptoint_sat, r=michaelwoerister,antoyo
Move the cast_float_to_int fallback code to GCC

Now that we require at least LLVM 13, that codegen backend is always
using its intrinsic `fptosi.sat` and `fptoui.sat` conversions, so it
doesn't need the manual implementation. However, the GCC backend still
needs it, so we can move all of that code down there.
2022-08-30 16:56:09 +05:30
Dylan DPC
f2d73af6d7 Rollup merge of #101101 - RalfJung:read-pointer-as-bytes, r=oli-obk
interpret: make read-pointer-as-bytes a CTFE-only error with extra information

Next step in the reaction to https://github.com/rust-lang/rust/issues/99923. Also teaches Miri to implicitly strip provenance in more situations when transmuting pointers to integers, which fixes https://github.com/rust-lang/miri/issues/2456.

Pointer-to-int transmutation during CTFE now produces a message like this:
```
   = help: this code performed an operation that depends on the underlying bytes representing a pointer
   = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
```

r? ``@oli-obk``
2022-08-30 11:26:51 +05:30
antoyo
2342414f49
Merge pull request #213 from rust-lang/fix/bitcast-wrong-size
Fix bitcast to a type of a different size
2022-08-29 17:35:50 -04:00
Antoni Boucher
45ec5f2676 Fix bitcast to a type of a different size 2022-08-28 20:58:11 -04:00
bors
7006047b2d Auto merge of #96946 - WaffleLapkin:ptr_mask, r=scottmcm
Add pointer masking convenience functions

This PR adds the following public API:
```rust
impl<T: ?Sized> *const T {
    fn mask(self, mask: usize) -> *const T;
}

impl<T: ?Sized> *mut T {
    fn mask(self, mask: usize) -> *const T;
}

// mod intrinsics
fn mask<T>(ptr: *const T, mask: usize) -> *const T
```
This is equivalent to `ptr.map_addr(|a| a & mask)` but also uses a cool llvm intrinsic.

Proposed in https://github.com/rust-lang/rust/pull/95643#issuecomment-1121562352

cc `@Gankra` `@scottmcm` `@RalfJung`

r? rust-lang/libs-api
2022-08-28 01:34:47 +00:00
antoyo
866f9c527a
Merge pull request #210 from rust-lang/fix/asm-newline
Remove extra newline in asm
2022-08-27 20:50:38 -04:00
Antoni Boucher
fc56c54416 Remove extra newline in asm 2022-08-27 19:41:37 -04:00