diff options
| author | Erik Desjardins <erikdesjardins@users.noreply.github.com> | 2023-07-29 16:12:27 -0400 |
|---|---|---|
| committer | Erik Desjardins <erikdesjardins@users.noreply.github.com> | 2023-07-29 16:12:27 -0400 |
| commit | 1d7f728901090e3343e9c284886f9983a052edef (patch) | |
| tree | 026ecf403fa32a4bb19a2a6e412508a162ae808c /compiler/rustc_codegen_llvm/src | |
| parent | 04303cfb3af3a8019ef913b1a07a94cfb683a5ab (diff) | |
| download | rust-1d7f728901090e3343e9c284886f9983a052edef.tar.gz rust-1d7f728901090e3343e9c284886f9983a052edef.zip | |
cg_llvm: stop identifying ADTs in LLVM IR
Now that we use opaque pointers, ADTs can no longer be recursive, so we
do not need to name them. Previously, this would be necessary if you had
a struct like
```rs
struct Foo(Box<Foo>, u64, u64);
```
which would be represented with something like
```ll
%Foo = type { %Foo*, i64, i64 }
```
which is now just
```ll
{ ptr, i64, i64 }
```
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/type_of.rs | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/compiler/rustc_codegen_llvm/src/type_of.rs b/compiler/rustc_codegen_llvm/src/type_of.rs index ac18fdfe07f..b6cf22b4cca 100644 --- a/compiler/rustc_codegen_llvm/src/type_of.rs +++ b/compiler/rustc_codegen_llvm/src/type_of.rs @@ -61,9 +61,6 @@ fn uncached_llvm_type<'a, 'tcx>( } Some(name) } - // Use identified structure types for ADT. Due to pointee types in LLVM IR their definition - // might be recursive. Other cases are non-recursive and we can use literal structure types. - ty::Adt(..) => Some(String::new()), _ => None, }; |
