Andreas Jonson
cfadfabfcd
Add range attribute to scalar function results and arguments
2024-08-11 19:40:44 +02:00
clubby789
8497800abd
Add test for updating enum discriminant through pointer
2024-08-03 16:41:49 +00:00
klensy
b90ee2a51a
reenable some windows tests
2024-07-14 13:48:29 +03:00
bors
c6727fc9b5
Auto merge of #123351 - beetrees:x86-ret-snan-rust, r=nikic,workingjubilee
...
Ensure floats are returned losslessly by the Rust ABI on 32-bit x86
Solves #115567 for the (default) `"Rust"` ABI. When compiling for 32-bit x86, this PR changes the `"Rust"` ABI to return floats indirectly instead of in x87 registers (with the exception of single `f32`s, which this PR returns in general purpose registers as they are small enough to fit in one). No change is made to the `"C"` ABI as that ABI requires x87 register usage and therefore will need a different solution.
2024-07-12 20:36:43 +00:00
beetrees
cae9d480bf
Adjust tests for x86 "Rust" ABI changes
2024-07-12 10:47:56 +01:00
Scott McMurray
4236da52af
Give inlining bonuses to things that optimize out
2024-06-19 21:35:37 -07:00
bors
7ac6c2fc68
Auto merge of #125347 - tesuji:needtests, r=nikic
...
Add codegen tests for E-needs-test
close #36010
close #68667
close #74938
close #83585
close #93036
close #109328
close #110797
close #111508
close #112509
close #113757
close #120440
close #118392
close #71096
r? nikic
2024-06-14 13:40:52 +00:00
Nikita Popov
26fa5c2c30
Make issue-122805.rs big endian compatible
...
Instead of not generating the function at all on big endian (which
makes the CHECK lines fail), instead use to_le() on big endian,
so that we essentially perform a bswap for both endiannesses.
2024-06-11 16:07:14 +02:00
Lzu Tao
ab0f87ec66
Fix tests for 32 bits targets
2024-06-11 07:45:16 +00:00
Lzu Tao
f9edd864df
Apply suggestions from code review
...
Co-authored-by: Nikita Popov <github@npopov.com>
2024-06-09 13:25:12 +00:00
Lzu Tao
95740fbfed
add codegen test for #36010
2024-06-09 07:35:24 +00:00
Lzu Tao
5f527eb562
add codegen test for #68667
2024-06-09 07:35:24 +00:00
Lzu Tao
bf178187c7
add codegen test for #74938
2024-06-09 07:35:24 +00:00
Lzu Tao
8bd6c04cfc
add codegen test for #93036
2024-06-09 07:35:24 +00:00
Lzu Tao
7d967ffa8d
add codegen test for #109328
2024-06-09 07:35:24 +00:00
Lzu Tao
ddb94dbd16
add codegen test for #110797
2024-06-09 07:35:24 +00:00
Lzu Tao
15d07fb2cb
Add codegen test for #111508
2024-06-09 07:35:24 +00:00
Lzu Tao
beabc5647b
add codegen test for #112509
2024-06-09 07:35:24 +00:00
Lzu Tao
f37c576dbd
add codegen test for #113757
2024-06-09 07:35:24 +00:00
Lzu Tao
f3c89f1751
add codegen test for issue-118392, 71096
2024-06-09 07:35:24 +00:00
Nicholas Nethercote
72800d3b89
Run rustfmt on tests/codegen/.
...
Except for `simd-intrinsic/`, which has a lot of files containing
multiple types like `u8x64` which really are better when hand-formatted.
There is a surprising amount of two-space indenting in this directory.
Non-trivial changes:
- `rustfmt::skip` needed in `debug-column.rs` to preserve meaning of the
test.
- `rustfmt::skip` used in a few places where hand-formatting read more
nicely: `enum/enum-match.rs`
- Line number adjustments needed for the expected output of
`debug-column.rs` and `coroutine-debug.rs`.
2024-05-31 15:56:43 +10:00
Mads Marquart
e6b9bb7b72
Make more of the test suite run on Mac Catalyst
...
This adds the `only-apple`/`ignore-apple` compiletest directive, and
uses that basically everywhere instead of `only-macos`/`ignore-macos`.
Some of the updates in `run-make` are a bit redundant, as they use
`ignore-cross-compile` and won't run on iOS - but using Apple in these
is still more correct, so I've made that change anyhow.
2024-05-28 12:31:33 +02:00
Gary Guo
cfee72aa24
Fix tests and bless
2024-04-24 13:12:33 +01:00
bors
29a56a3b1c
Auto merge of #122053 - erikdesjardins:alloca, r=nikic
...
Stop using LLVM struct types for alloca
The alloca type has no semantic meaning, only the size (and alignment, but we specify it explicitly) matter. Using `[N x i8]` is a more direct way to specify that we want `N` bytes, and avoids relying on LLVM's struct layout. It is likely that a future LLVM version will change to an untyped alloca representation.
Split out from #121577 .
r? `@ghost`
2024-04-24 03:00:44 +00:00
Markus Reiter
33e68aadc9
Stabilize generic NonZero.
2024-04-22 18:48:47 +02:00
Erik Desjardins
daaaacdcb3
remove alloca type from issue-105386-ub-in-debuginfo
...
It's irrelevant for the purposes of this test (there is only one alloca)
and its size changes depending on the target, so it can't be matched
easily.
2024-04-12 08:36:22 -04:00
Erik Desjardins
f4426c189f
use [N x i8] for alloca types
2024-04-11 21:42:35 -04:00
Scott McMurray
593e900ad2
Update 122805 test for PR 123185
2024-04-10 08:28:43 -07:00
Kai Luo
d8d1e6ce21
Limited to little endian target
2024-04-08 11:11:11 +08:00
DianQK
5acfe772fa
Add the test case for #122805
2024-04-07 13:01:54 +08:00
Josh Stone
29430554f6
Update the minimum external LLVM to 17
2024-03-17 10:11:04 -07:00
Erik Desjardins
401651015d
test merging of multiple match branches that access fields of the same offset
2024-02-27 23:14:36 -05:00
Erik Desjardins
123015e722
always use gep inbounds i8 (ptradd) for field offsets
2024-02-26 22:28:09 -05:00
bors
5c786a7fe3
Auto merge of #121516 - RalfJung:platform-intrinsics-begone, r=oli-obk
...
remove platform-intrinsics ABI; make SIMD intrinsics be regular intrinsics
`@Amanieu` `@workingjubilee` I don't think there is any reason these need to be "special"? The [original RFC](https://rust-lang.github.io/rfcs/1199-simd-infrastructure.html ) indicated eventually making them stable, but I think that is no longer the plan, so seems to me like we can clean this up a bit.
Blocked on https://github.com/rust-lang/stdarch/pull/1538 , https://github.com/rust-lang/rust/pull/121542 .
2024-02-26 22:24:16 +00:00
Markus Reiter
b2fbb8a053
Use generic NonZero in tests.
2024-02-25 12:03:48 +01:00
Ralf Jung
c1d0e489e5
fix use of platform_intrinsics in tests
2024-02-25 08:15:44 +01:00
Ben Kimock
2f3c0b9859
Ignore less tests in debug builds
2024-02-23 18:04:01 -05:00
许杰友 Jieyou Xu (Joe)
6e48b96692
[AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives
2024-02-22 16:04:04 +00:00
Nikita Popov
31f5f033e9
Remove uses of no-system-llvm
...
It looks like none of these are actually needed.
2024-01-23 10:31:07 +01:00
AngelicosPhosphoros
8f432d4ae6
Add assume into NonZeroIntX::get
...
LLVM currently don't support range metadata for function arguments so it fails to optimize non zero integers using their invariant if they are provided using by-value function arguments.
Related to https://github.com/rust-lang/rust/issues/119422
Related to https://github.com/llvm/llvm-project/issues/76628
Related to https://github.com/rust-lang/rust/issues/49572
2024-01-06 14:26:37 +01:00
The 8472
502df1b7d4
add more niches to rawvec
2023-12-11 23:38:48 +01:00
bendn
73afc00cf9
use assume(idx < self.len()) in [T]::get_unchecked
2023-12-04 06:00:12 +07:00
Dario Nieuwenhuis
7de6d04bc8
Update the minimum external LLVM to 16.
2023-11-21 22:40:16 +01:00
Ralf Jung
c4ec12f4b7
adjust how closure/generator types and rvalues are printed
2023-09-21 22:20:58 +02:00
David Koloski
ddd8878d69
Address feedback
2023-09-06 22:16:22 +00:00
David Koloski
c18da3ccd4
Add regression test for LLVM 17-rc3 miscompile
...
See #115385 for more details.
2023-09-06 02:23:48 +00:00
DianQK
c12c0841ad
Cherry-pick test for issue #114312
2023-08-15 11:33:45 +02:00
Josh Stone
da47736f42
CHECK only for opaque ptr
2023-07-27 14:44:13 -07:00
Josh Stone
190ded8443
Update the minimum external LLVM to 15
2023-07-27 14:07:08 -07:00
Erik Desjardins
bd0aae92dc
cg_llvm: use index-based loop in write_operand_repeatedly
...
This is easier for LLVM to analyze.
2023-06-11 00:04:53 -04:00