- User Since
- Jul 30 2018, 2:40 PM (210 w, 4 d)
Mar 6 2022
As long as the option is there for rustc to turn on, we can agree to disagree...
Feb 7 2022
Ok, I see that you've gone ahead with that rewrite in D118685, so I'll abandon this change.
Dec 8 2021
Make the recursion check the same for typed or opaque pointers
Oct 20 2021
Oct 7 2021
Oct 6 2021
Note: I added RUNs for enough tests that I felt confident I had good coverage, but I didn't do all of them. I'm not really sure that the way I handled typed/opaque CHECK results is a good strategy.
Sep 8 2021
Rust's LLVM fork has the revert, but this is still going to be a problem for Rust with system LLVM 13. Do we have a way forward for this release? A revert seems to be a safer path than trying to develop something new in short time.
Jan 27 2021
Jan 21 2021
Jan 20 2021
If the SONAME is different in any way, it is totally distinct to the dynamic linker. There's no semver parsing or anything like that. That's all we can do from a technical perspective, and the rest is just communication in the release.
Nov 9 2020
Rebase, and test that required VerifierPass is not bisected
Nov 2 2020
Great, thanks for the update! I will rebase after that lands.
Oct 28 2020
Works for me!
Oct 27 2020
I tried the C reproducer from that Rust bug, and it turns out that alloca(0) was already fixed by D88548. But if I change that to a larger size, then it was skipping right over the probe loop. I confirmed that your change here does make it go through the loop.
Oct 8 2020
I applied this all the way back to my original issue and confirmed that the coreos-installer test now passes -- thanks!
(I'll wait for the final version of this patch before I actually submit this to LLVM builds for Rust/Fedora/etc.)
Sep 23 2020
Hmm, thanks for those pointers. To combine opt-bisect from the two pass managers, maybe there can be an explicit call to copy stateful instrumentation? I think it helps that they are not interleaved, so we could do MPM.run(), then somehow SI.copy_to(CodeGenPasses), then CodeGenPasses.run(). I still need to read that thread too...
Dropped Region from NPM opt-bisect
Sep 18 2020
Aug 22 2020
FWIW, I also tagged bug 47123 for release-11.0.0.
Aug 21 2020
Aug 17 2020
And you were observing this in an lld standalone build? Because otherwise we have llvm/CMakeLists.txt -> llvm/cmake/config-ix.cmake -> llvm/cmake/modules/CheckAtomic.cmake. So yeah, you should probably make sure this is included somehow.
include(CheckAtomic) for standalone builds
Aug 11 2020
Oh, when LLDB uses this flag, they have LLDBStandalone.cmake with include(CheckAtomic).
Well, I now have evidence that this may indeed try to link a nonexistent library -- a new Rust CI run failed on MSVC:
Aug 10 2020
@jfb You did see that this is only for NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB, right? So I'm only adding that link (and hidden locking) for targets that can't do 64-bit atomics natively, otherwise you get link errors like this Rust CI failure on arm. This kind of conditional atomic link exists in several places in the monorepo already.
More whitespace cleanup
Jul 30 2020
Can you add tests that show what this is intended to look like for alignments greater than the probe step size?
Jul 2 2020
LGTM, and I confirmed that it works in a full rustc bootstrap, thanks!
Jun 30 2020
May 28 2020
I applied this to the Rust fork to measure it in rust#72703, and here are the perf results. It looks like a reasonable gain -- no real effect on check/debug builds, but around 1% fewer instructions executed for optimized builds.
Apr 15 2020
Sep 5 2019
Apr 23 2019
Ping for review, please.
Apr 3 2019
Jan 22 2019
I'll have to review that discussion of this pointers wrt Rust, since self can be different things, but it hasn't caused us problems yet AFAIK.
FWIW, here's more context for how I arrived at this:
Jan 15 2019
Sep 13 2018
Sep 11 2018
I don't think you need approval from all reviewers, as long as nobody actively disagrees. But FWIW, it looks good to me too.
Sep 7 2018
- Removed the duplicate (and incorrect) declaration in debug-insts.ll debug_declare
- Added debug-cpp.ll which more directly targets this change.
Sep 6 2018
Aug 1 2018
Superseded by D50096.
Jul 31 2018
D50018 was spurred by failures in the Rust testsuite, and I've confirmed this patch also resolves those failures. Thanks!
Jul 30 2018
To be clear, this function actually combines SHL, SRA, SRL, and ROTL, so they should all be addressed accordingly. I only called out SHL because this was the particular one that bit me.