Auto merge of #114350 - erikdesjardins:ident, r=tmiasko
cg_llvm: stop identifying ADTs in LLVM IR This is an extension of https://github.com/rust-lang/rust/pull/94107. It may be a minor perf win. Fixes #96242. 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 } ``` r? `@tmiasko`
This commit is contained in:
commit
73dc6f03a2
1 changed files with 0 additions and 3 deletions
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue