Uh oh!
There was an error while loading. Please reload this page.
rustc_codegen_llvm: begin generalizing over backend values. - #52987
rustc_codegen_llvm: begin generalizing over backend values.#52987irinagpopa wants to merge 1 commit into
Conversation
rust-highfive
commented
Aug 2, 2018
r? @cramertj (rust_highfive has picked a reviewer for you, use r? to override) |
rust-highfive
commented
Aug 2, 2018
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
rust-highfive
commented
Aug 3, 2018
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
eddyb
commented
Aug 3, 2018
That's... stage0 (beta) segfaulting, quite unexpected. cc @alexcrichton @rust-lang/compiler |
nagisa
commented
Aug 3, 2018
What other |
denismerigoux
commented
Aug 3, 2018
We're expecting to implement a Cranelift backend soon so we'll have Cranelift IR values to deal with :) |
Mark-Simulacrum
commented
Aug 3, 2018
Travis log seems to indicate the segfault is in LLVM: |
eddyb
commented
Aug 6, 2018
Oh this might be an old bug from LLVM, I tried building locally and had no issues. |
denismerigoux
commented
Aug 6, 2018
I got the segfault too, with |
eddyb
commented
Aug 6, 2018
@denismerigoux Hmm, do you have LLVM assertions disabled in |
denismerigoux
commented
Aug 6, 2018
@eddyb I do have LLVM assertions enabled in |
denismerigoux
commented
Aug 6, 2018
@eddyb@irinagpopa I rebased the current |
alexcrichton
commented
Aug 6, 2018
The master branch has since upgraded to LLVM 7, so perhaps this was a bug in LLVM that was fixed? |
denismerigoux
commented
Aug 6, 2018
Sorry for the false hope, I didn't recompile properly the time it went through without the segfault. I rebuilt from scratch and I confirm that the segfault still exists even after rebasing on top of the current |
denismerigoux
commented
Aug 10, 2018
I managed to get a failed assertion during a failed build : |
denismerigoux
commented
Aug 13, 2018
The implication of |
denismerigoux
commented
Aug 14, 2018
I managed to get a backtrace of the failed assertion using |
bors
commented
Aug 19, 2018
☔ The latest upstream changes (presumably #51131) made this pull request unmergeable. Please resolve the merge conflicts. |
Starting from @denismerigoux and @irinagpopa's attempts, I was able to reduce the bug: #53912. |
rustc_codegen_llvm: traitification of LLVM-specific CodegenCx and Builder methods This PR is the continuation of #52461 in the grand plan of #45274 to allow for multiple codegen backends. A first attempt at this was #52987 but since @irinagpopa is no longer working on it I'm taking ownership of the PR. The changes are refactoring only and do not affect the logic of the code. Performance should not be impacted since all parametrization is done with generics (no trait objects). The `librustc_codegen_llvm` crate now contains a new folder `interfaces` that describes with traits part of how the compiler interfaces with LLVM during codegen. `CodegenCx` and `Builder` implement those traits. Many things are still missing. All the calls to LLVM are not yet under a trait, and later LLVM-agnostic code should be parametrized.
BatmanAoD
commented
Sep 11, 2018
Ping from triage, @irinagpopa! It looks like there's been some progress on tracking down the cause of the Travis failure. |
eddyb
commented
Sep 12, 2018
@denismerigoux has taken over this patch series and already has a PR that includes this commit and a workaround for the LLVM bug. |
Part of #45274.