about summary refs log tree commit diff
path: root/tests/codegen/issues
AgeCommit message (Collapse)AuthorLines
2024-04-24Fix tests and blessGary Guo-1/+0
2024-04-24Auto merge of #122053 - erikdesjardins:alloca, r=nikicbors-2/+2
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-22Stabilize generic `NonZero`.Markus Reiter-1/+0
2024-04-12remove alloca type from issue-105386-ub-in-debuginfoErik Desjardins-1/+1
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-11use [N x i8] for alloca typesErik Desjardins-2/+2
2024-04-10Update 122805 test for PR 123185Scott McMurray-10/+29
2024-04-08Limited to little endian targetKai Luo-0/+1
2024-04-07Add the test case for #122805DianQK-0/+35
2024-03-17Update the minimum external LLVM to 17Josh Stone-1/+0
2024-02-27test merging of multiple match branches that access fields of the same offsetErik Desjardins-0/+44
2024-02-26always use gep inbounds i8 (ptradd) for field offsetsErik Desjardins-2/+2
2024-02-26Auto merge of #121516 - RalfJung:platform-intrinsics-begone, r=oli-obkbors-2/+2
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-25Use generic `NonZero` in tests.Markus Reiter-11/+11
2024-02-25fix use of platform_intrinsics in testsRalf Jung-2/+2
2024-02-23Ignore less tests in debug buildsBen Kimock-12/+0
2024-02-22[AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives许杰友 Jieyou Xu (Joe)-74/+74
2024-01-23Remove uses of no-system-llvmNikita Popov-3/+0
It looks like none of these are actually needed.
2024-01-06Add assume into `NonZeroIntX::get`AngelicosPhosphoros-0/+83
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
2023-12-11add more niches to rawvecThe 8472-8/+20
2023-12-04use `assume(idx < self.len())` in `[T]::get_unchecked`bendn-0/+13
2023-11-21Update the minimum external LLVM to 16.Dario Nieuwenhuis-8/+0
2023-09-21adjust how closure/generator types and rvalues are printedRalf Jung-2/+2
2023-09-06Address feedbackDavid Koloski-8/+4
2023-09-06Add regression test for LLVM 17-rc3 miscompileDavid Koloski-0/+50
See #115385 for more details.
2023-08-15Cherry-pick test for issue #114312DianQK-0/+27
2023-07-27CHECK only for opaque ptrJosh Stone-14/+14
2023-07-27Update the minimum external LLVM to 15Josh Stone-8/+2
2023-06-11cg_llvm: use index-based loop in write_operand_repeatedlyErik Desjardins-0/+12
This is easier for LLVM to analyze.
2023-06-03Rollup merge of #111878 - ferrocene:pa-codegen-tests, r=Mark-SimulacrumMatthias Krüger-2/+2
Fix codegen test suite for bare-metal-like targets For Ferrocene I needed to run the test suite for custom target with no unwinding and static relocation. Running the tests uncovered ~20 failures due to the test suite not accounting for these options. This PR fixes them by: * Fixing `CHECK`s to account for functions having extra LLVM IR attributes (in this case `nounwind`). * Fixing `CHECK`s to account for the `dso_local` LLVM IR modifier, which is [added to every item when relocation is static](https://github.com/rust-lang/rust/blob/f3d597b31c0f101a02c230798afa31a36bdacbc6/compiler/rustc_codegen_llvm/src/mono_item.rs#L139-L142). * Fixing `CHECK`s to account for missing `uwtables` attributes. * Added the `needs-unwind` attributes for tests that are designed to check unwinding. There is no part of Rust CI that checks this unfortunately, and testing whether the PR works locally is kinda hard because you need a target with std enabled but no unwinding and static relocations. Still, this works in my local testing, and if future PRs accidentally break this Ferrocene will take care of sending followup PRs.
2023-05-31Enable ScalarReplacementOfAggregatesBen Kimock-3/+4
2023-05-23codegen: allow the dso_local attributePietro Albini-2/+2
The attribute is injected into most items when static relocation is enabled in a target.
2023-05-22Auto merge of #111634 - marc0246:arc-new-uninit-bloat, r=thomccbors-0/+28
Fix duplicate `arcinner_layout_for_value_layout` calls when using the uninit `Arc` constructors What this fixes is the duplicate calls to `arcinner_layout_for_value_layout` seen here: https://godbolt.org/z/jr5Gxozhj The issue was discovered alongside #111603 but is otherwise unrelated to the duplicate `alloca`s, which remain unsolved. Everything I tried to solve said main issue has failed. As for the duplicate layout calculations, I also tried slapping `#[inline]` and `#[inline(always)]` on everything in sight but the only thing that worked in the end is to dedup the calls by hand.
2023-05-16Fix duplicate `arcinner_layout_for_value_layout` callsmarc0246-0/+28
2023-05-12Stop checking for the absense of something that doesn't existScott McMurray-6/+24
A couple of codegen tests are doing ``` // CHECK-NOT: slice_index_len_fail ``` However, that function no longer exists: [the only places](https://github.com/search?q=repo%3Arust-lang%2Frust+slice_index_len_fail&type=code) it occurs in the repo are in those tests. So this PR updates the tests to check for the absense of the functions that are actually used today to panic for out-of-bounds indexing.
2023-04-28fix codegen testThe 8472-3/+6
2023-04-27bless testsThe 8472-21/+9
2023-04-12Auto merge of #109895 - nikic:llvm-16-tests, r=cuviperbors-0/+118
Add codegen tests for issues fixed by LLVM 16 Fixes #75978. Fixes #99960. Fixes #101048. Fixes #101082. Fixes #101814. Fixes #103132. Fixes #103327.
2023-04-11Make test compatible with 32-bitNikita Popov-1/+1
2023-04-11Add ignore-debug to two testsNikita Popov-0/+2
These don't optimize with debug assertions. For one of them, this is due to the new alignment checks, for the other I'm not sure what specifically blocks it.
2023-04-03Add codegen tests for issues fixed by LLVM 16Nikita Popov-0/+116
Fixes #75978. Fixes #99960. Fixes #101048. Fixes #101082. Fixes #101814. Fixes #103132. Fixes #103327.
2023-04-03make 32bit ignore more accuratePietro Albini-5/+1
2023-03-23A MIR transform that checks pointers are alignedBen Kimock-0/+1
2023-03-20Also move the auxiliary fileScott McMurray-0/+13
2023-03-20mv tests/codegen/issue-* tests/codegen/issues/Scott McMurray-0/+1061
2023-03-12Add a codegen test to confirm this fixes 73258Scott McMurray-0/+38
2023-03-12Add a codegen test to confirm this fixes 106369Scott McMurray-0/+15