about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/llvm_util.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-09-03 19:13:26 +0200
committerGitHub <noreply@github.com>2024-09-03 19:13:26 +0200
commit485fd3815c9f51ca1034f18d6c5aaca93ae40fe5 (patch)
treea2c49fae34eee2e626fa7e7239ae634d1333055c /compiler/rustc_codegen_llvm/src/llvm_util.rs
parent2f6e85567af202e5fd9f4e20c194396806fe949f (diff)
parent6188aae369961d6328f7275c78bdf256133b7d5d (diff)
downloadrust-485fd3815c9f51ca1034f18d6c5aaca93ae40fe5.tar.gz
rust-485fd3815c9f51ca1034f18d6c5aaca93ae40fe5.zip
Rollup merge of #129896 - lcnr:bail-on-unknowable, r=jackh726
do not attempt to prove unknowable goals

In case a goal is unknowable, we previously still checked all other possible ways to prove this goal, even though its final result is already guaranteed to be ambiguous. By ignoring all other candidates in that case we can avoid a lot of unnecessary work, fixing the performance regression in typenum found in #121848.

This is already the behavior in the old solver. This could in theory cause future-compatability issues as considering fewer goals unknowable may end up causing performance regressions/hangs. I am quite confident that this will not be an issue.

r? ``@compiler-errors``
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm_util.rs')
0 files changed, 0 insertions, 0 deletions