I could _not_ reproduce the problems I previously saw when building the Rust compiler, so seems to be all good now :).
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Fri, Jun 2
Wed, May 17
In D141712#4348919, @Carrot wrote:@TimNN, I have reverted it, LLVM buildbot also reported a sanitized bootstrap failure.
If you have simple repro, it will be a great help to me.
Tue, May 16
I strongly suspect that this patch is breaking the Rust compiler when building against LLVM head:
Feb 24 2023
The nofpclass-invalid.ll test added by this patch fails for me locally, and on the buildbot as well: https://lab.llvm.org/buildbot/#/builders/109/builds/58503
Feb 22 2023
The current code is failing for a situation like this:
Feb 21 2023
The ThinLTO related breakage I mentioned above should be fixed as of https://github.com/llvm/llvm-project/commit/451799bb8261bde52bbfef226d019caf1d82aa42.
Feb 17 2023
Rebase onto HEAD.
Feb 7 2023
Feb 1 2023
Jan 14 2023
Fix definition/declaration wording in comment.
Jan 13 2023
Don't use anonymous values in tests
Adapt to changes from D137360.
Jan 11 2023
Thanks a lot @nikic! I've verified that this unbreaks Rust's codegen test.
Jan 10 2023
Just as a heads-up, this regresses one of Rust's codegen tests: fn check_foo2 in [issue-45222.rs](https://github.com/rust-lang/rust/blob/master/src/test/codegen/issue-45222.rs) is no longer being constant-folded, AFAICT because IndVarSimplifyPass no longer works on the %a = tail call i64 @llvm.usub.sat.i64(i64 %b, i64 1) generated by this patch (instead of %a = add i64 %b, -1 without this patch).
Dec 22 2022
In D139209#4013911, @gulfem wrote:I'm thinking that I can land D137360, and you can extend updateAttributes() function to include a src and dest arguments, and call your ensureFunctionCompatibility() function from there.
Dec 13 2022
Only call ensureFunctionCompatibility if linkGlobalValueBody isn't called.
Dec 7 2022
Sync to HEAD to check if that resolves the (IMO likely unrelated) test timeout.
Dec 6 2022
Thanks for the review and also your input on https://github.com/llvm/llvm-project/issues/59347!
Address review comments
Dec 5 2022
Dec 2 2022
Nov 13 2022
I'm sorry for the noise. Further investigation has shown that this happens when Rust is doing (thin) LTO, and I don't think this patch can be considered in any way "at fault" here, so this is the last you'll hear from me on the topic here.
Nov 12 2022
I didn't manage to repro with opt, so still no compilable IR. I did some more debugging, though:
I've included excerpts from the IR below. It will take me a bit to provide something compilable. Though you are right, the noundef did indeed get removed from the call.
I'm still trying to properly minimize this, but this definitely interacts badly with other optimizations (which triggers the Rust CI failure I mentioned above):
Sep 2 2022
This also broke Rust when compiled at LLVM head: https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/13166#0182fb4a-0f2d-4f2e-830f-f62b463b8d48. (I don't know whether this was some existing UB that got only exposed by this patch or not, but wanted to make you aware. Reproduces with 2+ codegen units and a 1+ optimization level).
Nov 21 2018
Sorry for taking so long to reply. The original example I shared (https://gist.github.com/TimNN/501819422631149c3ab2b8cc0b15c98d) reproduces the issue for the AVR target. I'm not sure about the terminology here, but I would consider AVR "in-tree", even though it is still experimental. I don't know if / how the issue can be reproduced on other targets.
Nov 1 2018
Friendly Ping! Is there anything I can do to help this patch along? It looks like no reviewers have been assigned yet, do you know of anyone who would be appropriate, @shiva0217?
I don't think I can help here any more. The changes to hasPredecessorHelper look good to me an definitely fix the original problem. However I don't know enough about the surrounding code to comment on the changes in AssignTopologicalOrder.
Oct 22 2018
Oct 10 2018
The approach in general looks good to me, however I don't think this interacts correctly with the TopologicalPrune optimization.
May 3 2017
Another fix has been commited.
Apr 10 2017
I cannot commit this myself, could someone please do it for me?
@hfinkel: Thanks for the feedback!
Apr 7 2017
Updated to a more targeted fix and added a test as suggested.
Apr 6 2017
Mar 18 2017
I cannot commit this myself, could someone please do it for me?
I have updated the patch as suggested.