rust/compiler/rustc_codegen_llvm/src
bors c872a1418a Auto merge of #125507 - compiler-errors:type-length-limit, r=lcnr
Re-implement a type-size based limit

r? lcnr

This PR reintroduces the type length limit added in #37789, which was accidentally made practically useless by the caching changes to `Ty::walk` in #72412, which caused the `walk` function to no longer walk over identical elements.

Hitting this length limit is not fatal unless we are in codegen -- so it shouldn't affect passes like the mir inliner which creates potentially very large types (which we observed, for example, when the new trait solver compiles `itertools` in `--release` mode).

This also increases the type length limit from `1048576 == 2 ** 20` to `2 ** 24`, which covers all of the code that can be reached with craterbot-check. Individual crates can increase the length limit further if desired.

Perf regression is mild and I think we should accept it -- reinstating this limit is important for the new trait solver and to make sure we don't accidentally hit more type-size related regressions in the future.

Fixes #125460
2024-07-03 11:56:36 +00:00
..
back Rollup merge of #124712 - Enselic:deprecate-inline-threshold, r=pnkfelix 2024-06-24 15:51:00 -04:00
coverageinfo coverage: Rename MC/DC conditions_num to num_conditions 2024-05-30 13:16:07 +10:00
debuginfo Move vcall_visibility_metadata optimization hint out of a debuginfo generation method 2024-06-21 19:26:06 +00:00
llvm cleanup: run rustfmt 2024-05-23 15:10:04 -04:00
abi.rs Use the aligned size for alloca at args when the pass mode is cast. 2024-07-02 06:33:35 +08:00
allocator.rs Add -Zuse-sync-unwind 2023-12-31 15:27:43 +08:00
asm.rs Rollup merge of #126555 - beetrees:f16-inline-asm-arm, r=Amanieu 2024-06-22 12:57:18 +02:00
attributes.rs Support #[patchable_function_entries] 2024-06-25 18:23:41 +02:00
base.rs compiler: replace cstr macro with c str literals in compiler and few other c str replacements 2023-12-03 14:54:09 +03:00
builder.rs Remove #[macro_use] extern crate tracing from rustc_codegen_llvm. 2024-05-23 18:02:40 +10:00
callee.rs Remove #[macro_use] extern crate tracing from rustc_codegen_llvm. 2024-05-23 18:02:40 +10:00
common.rs Remove const_bitcast from ConstMethods 2024-06-21 19:26:07 +00:00
consts.rs Remove #[macro_use] extern crate tracing from rustc_codegen_llvm. 2024-05-23 18:02:40 +10:00
context.rs Fix spans 2024-07-02 15:48:48 -04:00
declare.rs Remove #[macro_use] extern crate tracing from rustc_codegen_llvm. 2024-05-23 18:02:40 +10:00
errors.rs Remove redundant argument from subdiagnostic method 2024-06-18 15:42:11 +00:00
intrinsic.rs Rollup merge of #126159 - RalfJung:scalarint-size-mismatch, r=oli-obk 2024-06-10 21:12:25 +02:00
lib.rs Remove PrintBackendInfo trait 2024-06-21 19:26:06 +00:00
llvm_util.rs Remove PrintBackendInfo trait 2024-06-21 19:26:06 +00:00
mono_item.rs Remove #[macro_use] extern crate tracing from rustc_codegen_llvm. 2024-05-23 18:02:40 +10:00
type_.rs Remove type_i1 and type_struct from cg_ssa 2024-06-21 19:30:26 +00:00
type_of.rs Uplift TypeRelation and Relate 2024-06-01 12:50:58 -04:00
va_arg.rs Add arm64ec-pc-windows-msvc target 2024-03-06 17:49:37 -08:00
value.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00