-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Remove unused upcalls #10708
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove unused upcalls #10708
Conversation
The main one removed is rust_upcall_reset_stack_limit (continuation of rust-lang#10156), and this also removes the upcall_trace function. The was hidden behind a `-Z trace` flag, but if you attempt to use this now you'll get a linker error because there is no implementation of the 'upcall_trace' function. Due to this no longer working, I decided to remove it entirely from the compiler (I'm also a little unsure on what it did in the first place). Closes rust-lang#10156
|
Turns out the error is an LLVM codegen problem, and I've opened an LLVM issue about it (http://llvm.org/bugs/show_bug.cgi?id=18088), I'll keep following that and hopefully get a resolution soon-ish! |
It appears we need to upgrade LLVM to make forward progress on this. |
LLVM's JIT has been updated numerous times, and we haven't been tracking it at all. The existing LLVM glue code no longer compiles, and the JIT isn't used for anything currently. This also rebases out the FixedStackSegment support which we have added to LLVM. None of this is still in use by the compiler, and there's no need to keep this functionality around inside of LLVM. This is needed to unblock rust-lang#10708 (where we're tripping an LLVM assertion).
Closing due to being rolled up in #10758 |
This upgrades LLVM in order to make progress on #10708, and it's also been awhile since we last upgraded! The contentious point of this upgrade is that all JIT support has been removed because LLVM is changing it and we're not keeping up with it.
LLVM's JIT has been updated numerous times, and we haven't been tracking it at all. The existing LLVM glue code no longer compiles, and the JIT isn't used for anything currently. This also rebases out the FixedStackSegment support which we have added to LLVM. None of this is still in use by the compiler, and there's no need to keep this functionality around inside of LLVM. This is needed to unblock rust-lang#10708 (where we're tripping an LLVM assertion).
This upgrades LLVM in order to make progress on #10708, and it's also been awhile since we last upgraded! The contentious point of this upgrade is that all JIT support has been removed because LLVM is changing it and we're not keeping up with it.
…shearth manual_let_else: support struct patterns This adds upon the improvements of rust-lang#10797 and: * Only prints `()` around `Or` patterns at the top level (fixing a regression of rust-lang#10797) * Supports multi-binding patterns: `let (u, v) = if let (Some(u_i), Ok(v_i)) = ex { (u_i, v_i) } else ...` * Traverses through tuple patterns: `let v = if let (Some(v), None) = ex { v } else ...` * Supports struct patterns: `let v = if let S { v, w, } = ex { (v, w) } else ...` ``` changelog: [`manual_let_else`]: improve pattern printing to support struct patterns ``` fixes rust-lang#10708 fixes rust-lang#10424
The main one removed is rust_upcall_reset_stack_limit (continuation of #10156),
and this also removes the upcall_trace function. The was hidden behind a
-Z trace
flag, but if you attempt to use this now you'll get a linker errorbecause there is no implementation of the 'upcall_trace' function. Due to this
no longer working, I decided to remove it entirely from the compiler (I'm also a
little unsure on what it did in the first place).
Closes #10156