rav1e
compilation time regression (4s -> >1hr) on LLVM 17
#116022
Labels
A-LLVM
Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
C-bug
Category: This is a bug.
I-hang
Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc.
regression-from-stable-to-beta
Performance or correctness regression from stable to beta.
Code
Applications including https://github.com/xiph/rav1e , including the repo's
example
, never complete compilation in--release
. I waited over an hour on my 2019 desktop (i7-8700k).I tested f8b95d97517a6e223f1c6a90a467188586dd090f.
Version it worked on
It most recently worked on: rustc 1.73.0-nightly (03a119b 2023-08-07)
Stable is fine: rustc 1.72.1 (d5c2e9c 2023-09-13)
Version with regression
rustc --version --verbose
:I can only assume this is the new LLVM: #114048
@rustbot modify labels: regression-from-stable-to-beta -regression-untriaged
Thoughts
If you add random panics in places, the compilation speeds up. The end of the main loop is a good candidate, this can bring the compile time down to only a few minutes (still a massive regression).
For this,
--timings
doesn't seem to know what's up: https://b.goeswhere.com/cargo-timing-20230921T083504Z.htmlRUSTFLAGS='-Z time-llvm-passes'
produces a bunch of output, including this one? I don't know how to read this output and I expect anyone who can is able to reproduce the problem, so I'm not including it in full.The text was updated successfully, but these errors were encountered: