User Details
- User Since
- Aug 23 2018, 5:53 PM (276 w, 3 d)
Tue, Nov 28
This change has broken compilation on arm32-linux versions of gcc-7.5; we fail with
Sep 12 2023
This has injected a build break in an older-but-still-supported version of gcc (at least, I think it's supported): arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0, in which we get failures on lines 62 and 132 of the form
Jul 26 2023
Jul 25 2023
Jun 26 2023
Is there any way to get this functionality without the LegacyPassManager?
Jun 14 2023
Hi, I'm trying to update Halide's usage of this API to work properly, there are a few things that aren't clear to me:
Jun 9 2023
The enclosed .ll file will crash llc in the manner I described above. (Prior to this change, it produced a ~500k object file)
This change appears to have inserted an infinite loop in codegen for some Halide targets (well, maybe not infinite, but several minutes, enough for our builder to time out). I'm working on putting together a repro case I can share with you, but in the meantime, a revert would be appreciated to unbreak some downstream code.
Jun 8 2023
Enclosed is a repro case: if I just run llc breakage.ll I fail in the above manner.
FYI, building with an asserts-enabled LLVM, I fail with:
This change has injected a SIGSEGV failure (apparent null pointer deference) in Halide's WebAssembly codegen. I'm working on providing a repro case for you I can post here and hope to have it soon, but in the meantime, can I ask for a revert, to unbreak downstream code?
Jun 6 2023
This appears to have broken arm64 codegen for macOS in Halide:
Apr 21 2023
Apr 20 2023
That's a new one -- would you be able to give some context and a reproducer? Thanks for reporting!
Yep -- as of LLVM commit 3c9083f6757cbaf6f8d6c601586d99a11faf642e, Halide is still broken. Working on a repro case now.
For the record, this also breaks (broke?) Halide:
Mar 17 2023
Mar 16 2023
There is also a similar breakage in InstrInfoEmitter.cpp:
According to git bisect, this change appears to have broken llvm-tblgen when building under MSVC
(I certainly agree everyone should be using atomic and not sync.)
Feb 13 2023
Feb 10 2023
Feb 9 2023
I can reproduce the error above on a debian:bookworm docker using gcc-12 12.2.0-14. But why are you hitting this when building LLVM? Where does -Werror=restrict come from? I don't think we enable that in normal LLVM builds.
Feb 8 2023
This change introduces compilation errors when building in at least some version(s) of gcc/g++; while what we're seeing is clearly a gcc/g++ bug, it would be good to avoid it if possible.
Feb 6 2023
Jan 31 2023
Looks good for Halide! Thanks!
Jan 30 2023
I wonder if this could be a bug in a specific version(s) of CMake? What version(s) have you tried replicating with? Our buildbots are using v3.22.6 (Halide requires a minimum of 3.22).
I am using cmake 3.25.1
https://github.com/llvm/llvm-project/commit/759dec253695f38a101c74905c819ea47392e515. Does it work if you revert this? I wouldn't think it wouldn't affect anything. That's the only change that happened after the 16 release as far as I'm aware.
Jan 19 2023
Jan 17 2023
Appears to have fixed it, thanks!
This change has injected a failure in Halide's CUDA testing code -- our correctness_predicated_store_load test now fails with
I will attempt to verify this fix later today.
This change appears to have broken the build when crosscompiling to x86-32 on a Linux x86-64 system; on the Halide buildbots, we now fail at link time with
You can use curl -L 'https://reviews.llvm.org/D139752?download=1' | patch -p1 to apply the changes.
Applying this patch fixes my llvm-project build on my Gentoo machine using =sys-libs/musl-9999 (git master). We probably want to fix these issues so that the next release llvm-project 16.0.0 will be buildable with the next release of musl (1.2.4).
Jan 12 2023
Yep, that did the trick, thanks for the quick fix!
FYI, before I could start looking into this, it looks like a more-recent change (https://reviews.llvm.org/D141051) has injected another 32-bit-specific breakage (at least when building under gcc-7) -- I'm investigating that first :-/
For reasons that aren't yet clear to me, this change is failing to compile when using gcc-7 and targeting 32-bit targets; the error is of the form
Jan 11 2023
Dec 20 2022
This change continues to break all 32-bit builds of Halide (and probably anything else that consumes LLVM via CMake); please revert ASAP until a fix can be found.
Dec 19 2022
This change seems to have injected a failure into Halide builds on 32-bit Linux: we now fail with <command-line>:0:70: error: token "=" is not valid in preprocessor expressions; examination of our CMake-based build command line shows that it is something like:
Dec 5 2022
This fixes our issue -- thanks!
Dec 2 2022
Sorry, but I think I have another codegen error, but this one is more likely to be legit, since the unit test for it is producing incorrect results after this change (but not before).
Dec 1 2022
Nov 30 2022
Before this change, we got vdelta(*,*) instructions generated; afterwards, we don't.
Hi, this seems to have injected a regression in Halide's codegen: LLVM no longer produces vdelta in all of the situations it did before. Let me try to get you a repro case.
Oct 4 2022
Update: confirmed that https://reviews.llvm.org/rG17dcbd8165479d5b2d7f827bfcb271b50ee03872 appears to fix the injection in Halide
Looks like the Halide failure is a SIGFPE on an idiv instruction... we are doing idiv %r15b with edx=0xff, eax=0x8382ff80, r15=0xffffffff... i.e., we are dividing by -1. The result won't fit into 32 bits, so we fail.
Sep 26 2022
Thanks for verifying the build. You can test for correctness by "building" the check-clang target.
Thanks for verifying the build. You can test for correctness by "building" the check-clang target.
How did the original change pass presubmit testing -- is LLVM no longer testing on 32-bit targets?
Sep 23 2022
This change has broken x86-32 builds, at least on Linux.
Sep 21 2022
Fixes the Halide crash, thanks!
Sep 20 2022
The line numbers in the ASAN trace are slightly different from this patch, but the culprit seems to be:
OK, I finally got a failure with ASAN enabled, hopefully this will be enough to track it down:
Running in a different environment with a bit more runtime checking gives me this:
Slightly more detailed traceback from a RelWithDebInfo build of LLVM. Looks like one of the SmallVectors created during processing of case Instruction::InsertElement is bad when we try to free it? I wonder if Mask.swap(PrevMask); on SLPVectorizer.cpp:8160 could be suspicious here.
As of yet, I haven't been unable to get a .ll file that will repro this -- we crash while generating it, and AFAIK there isn't a way to defer running the SLP pass until llc -- so currently the simplest repro case requires building Halide locally. In the meantime, here's a stacktrace of the failure:
This change seems to have injected a bad-call-to-free() crash in some Halide code. Looking to get a good repro case for you now.
Sep 12 2022
OK, here is a simple case that repros it reliably with the original patch in place:
Sep 9 2022
OK, so the issue here appears to be that the failing section of code is relying on using C99 Variable Length Arrays:
Aug 17 2022
This change has injected a build breakage for MSVC builds: