about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2021-12-18 08:16:30 +0100
committerGitHub <noreply@github.com>2021-12-18 08:16:30 +0100
commit816cda7e1b0cc9a08baa5e44e1e3875b2a70c96e (patch)
tree70cc474134e87ce02a5851b5236fd85b03252c10 /compiler/rustc_codegen_llvm/src
parentfcc59794a73f3181e196f65e6f7bba536edd09b0 (diff)
parentd48dbdc080f45f36ffc756de35c1443f2e05f527 (diff)
downloadrust-816cda7e1b0cc9a08baa5e44e1e3875b2a70c96e.tar.gz
rust-816cda7e1b0cc9a08baa5e44e1e3875b2a70c96e.zip
Rollup merge of #91975 - cjgillot:noinline-generator, r=jackh726
Move generator check earlier in inlining.

Inlining into generator may create references to other generators. For instance, inlining `Pin::<&mut from_generator::GenFuture<[generator1]>>::new_unchecked` into `generator2`. This cross reference can then create cycles when computing inlining for `generator1`.

In order to avoid this kind of surprises, we forbid all inlining into generators, and rely on LLVM to do the right thing. The existing `remove-zst-query-cycle` already ICEs in inline-mir mode, so we use it as test.

Split from #91743.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions