os-rust/src/test/ui/debuginfo
Wesley Wiser 7253057887 Don't generate pointer loads to spills unless necessary
In order for LLVM to correctly generate debuginfo for msvc, we sometimes
need to spill arguments to the stack and perform some direct & indirect
offsets into the value. Previously, this code always performed those
actions, even when not required as LLVM would clean it up during
optimization.

However, when MIR inlining is enabled, this can cause problems as the
operations occur prior to the spilled value being initialized. To solve
this, we first calculate the necessary offsets using just the type which
is side-effect free and does not alter the LLVM IR. Then, if we are in a
situation which requires us to generate the LLVM IR (and this situation
only occurs for arguments, not local variables) then we perform the same
calculation again, this time generating the appropriate LLVM IR as we
go.
2022-12-08 20:38:23 -05:00
..
debuginfo-box-with-large-allocator.rs only emit pointer-like metadata for BZST-allocator Box 2022-03-07 23:06:59 -08:00
debuginfo-emit-llvm-ir-and-split-debuginfo.rs session: stabilize split debuginfo on linux 2022-08-18 15:19:40 +01:00
debuginfo-type-name-layout-ice-94961-1.rs debuginfo: Fix ICE when generating name for type that produces a layout error. 2022-03-16 15:57:33 +01:00
debuginfo-type-name-layout-ice-94961-1.stderr debuginfo: Fix ICE when generating name for type that produces a layout error. 2022-03-16 15:57:33 +01:00
debuginfo-type-name-layout-ice-94961-2.rs debuginfo: Fix ICE when generating name for type that produces a layout error. 2022-03-16 15:57:33 +01:00
debuginfo-type-name-layout-ice-94961-2.stderr debuginfo: Fix ICE when generating name for type that produces a layout error. 2022-03-16 15:57:33 +01:00
debuginfo_with_uninhabitable_field_and_unsized.rs only emit pointer-like metadata for BZST-allocator Box 2022-03-07 23:06:59 -08:00
issue-105386-debuginfo-ub.rs Don't generate pointer loads to spills unless necessary 2022-12-08 20:38:23 -05:00
late-bound-projection.rs erase late-bound regions in dyn projection types for debuginfo 2022-03-16 11:56:29 -07:00