User Details
- User Since
- Dec 3 2015, 1:10 AM (408 w, 4 d)
Fri, Sep 29
Thu, Sep 28
Mon, Sep 25
Thu, Sep 14
What's the way forward here? Revert if it's unclear what to do?
Wed, Sep 13
The following hits an assertion with this patch:
llc bbi-86262.ll -o /dev/null
It crashes with
llc: ../lib/Target/X86/X86ISelLowering.cpp:20433: llvm::SDValue llvm::X86TargetLowering::LowerTRUNCATE(llvm::SDValue, llvm::SelectionDAG &) const: Assertion `VT.is128BitVector() && InVT.is256BitVector() && "Unexpected types!"' failed.
Tue, Sep 12
[...]
I think the issue comes from here: https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CGBuiltin.cpp#L2365
This looks like it's happening only for -Oi (i>=1) and on Linux only?
Mon, Sep 11
I have a couple of downstream testcases that fail with this patch.
Before
> clang bbi-86364.c -lm -O3 > ./a.out
passed but with the patch the assert in the program fails:
a.out: bbi-86364.c:9: int main(): Assertion `(*__errno_location ()) == 33' failed.
Is this as expected?
Fri, Sep 8
Wed, Sep 6
Aug 31 2023
I've done quite some testing on our downstream target with this and
https://reviews.llvm.org/D158850
without problems so it's probably not totally wrong :)
Aug 30 2023
I'm not sure if this has been discussed already but I just noticed a change with this patch that at least makes it a bit annoying.
So before running
build-all//bin/llvm-lit -a test/Transforms/ArgumentPromotion/opaque-ptr.ll
yielded
: 'RUN: at line 2'; /repo/uabelho/dev-main/llvm/build-all/bin/opt -S -passes=argpromotion < /repo/uabelho/dev-main/llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll | /repo/uabelho/dev-main/llvm/build-all/bin/FileCheck /repo/uabelho/dev-main/llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll
which I could directly copy and paste into my terminal to reproduce the test.
Now I instead get
+ : 'RUN: at line 2' + /repo/uabelho/dev-main/llvm/build-all/bin/opt -S -passes=argpromotion + /repo/uabelho/dev-main/llvm/build-all/bin/FileCheck /repo/uabelho/dev-main/llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll
where the "opt" line doesn't even include the test file fed to opt via "< %s". Sure you see the file in the FileCheck command but before reproducing could be done with one single copy/paste, now it takes three.
Aug 29 2023
I've no idea what's happening but it seems like linking compiler-rt/lib/memprof/tests/MemProfUnitTests fails with this commit:
[17/17] Linking CXX executable compiler-rt/lib/memprof/tests/MemProfUnitTests FAILED: compiler-rt/lib/memprof/tests/MemProfUnitTests : && /repo/uabelho/dev-main/llvm/build-all-builtins/./bin/clang++ --target=x86_64-unknown-linux-gnu [...] compiler-rt/lib/memprof/tests/MemProfUnitTests -lstdc++ -ldl && : clang++: error: unable to execute command: Segmentation fault (core dumped) clang++: error: linker command failed due to signal (use -v to see invocation) ninja: build stopped: subcommand failed.
Aug 24 2023
Aug 23 2023
Aug 22 2023
Aug 21 2023
I wrote a ticket about a crash with this pass that we stumbled upon in fuzzy testing:
https://github.com/llvm/llvm-project/issues/64860
Fixed CHECK messup in first patch.
Jul 13 2023
The following starts hanging i X86 ISel with this patch:
llc -march=x86-64 -mcpu=corei7 -o /dev/null s_4771.ll
the input is generated by llvm-stress.
Jul 12 2023
Looks like you broke
https://lab.llvm.org/buildbot/#/builders/247/builds/6345
with the revert?
Jul 10 2023
The following crashes with the patch
llc -march=x86-64 -o /dev/null reduced.ll
Jul 7 2023
Jul 4 2023
Failed Tests (6): Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/ComplexBooleanWithSomeNames Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/Conjunction Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/Disjunction Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/Iff Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/Implication Clang-Unit :: Analysis/FlowSensitive/./ClangAnalysisFlowSensitiveTests/BoolValueDebugStringTest/NestedBoolean
Jun 28 2023
Jun 27 2023
Simplified testcase
Jun 26 2023
I've verified this fixes the problem I saw. Great!
The following starts failing with this patch (sorry for the ugly command line, utils/reduce_pipeline.py doesn't get any further):
opt -passes="cgscc(devirt<4>(function(loop(loop-unroll-full),gvn<>,jump-threading))),function(simplifycfg<no-keep-loops>),cgscc(devirt<4>(function(loop-mssa(loop-rotate),simplifycfg,instcombine,loop(indvars,loop-unroll-full))))" -verify-scev bbi-84034.ll -o /dev/null
It fails with
Cached disposition of %.pre for block %cleanup.loopexit is incorrect! PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=cgscc(devirt<4>(function(loop(loop-unroll-full),gvn<>,jump-threading))),function(simplifycfg<no-keep-loops>),cgscc(devirt<4>(function(loop-mssa(loop-rotate),simplifycfg,instcombine,loop(indvars,loop-unroll-full)))) -verify-scev bbi-84034.ll -o /dev/null #0 0x0000556cf9083487 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2dcd487) #1 0x0000556cf90811ae llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2dcb1ae) #2 0x0000556cf9083b1f SignalHandler(int) Signals.cpp:0:0 #3 0x00007f77ef000630 __restore_rt sigaction.c:0:0 #4 0x00007f77ec747387 raise (/lib64/libc.so.6+0x36387) #5 0x00007f77ec748a78 abort (/lib64/libc.so.6+0x37a78) #6 0x0000556cf827564e llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1fbf64e) #7 0x0000556cf9bb2f56 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38fcf56) #8 0x0000556cf929977d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fe377d) #9 0x0000556cf8aa6634 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x27f0634) #10 0x0000556cf6f4ef7d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc98f7d) #11 0x0000556cf807a61f llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dc461f) #12 0x0000556cf6f508bd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0xc9a8bd) #13 0x0000556cf8074ece llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dbeece) #14 0x0000556cf92824fd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fcc4fd) #15 0x0000556cf80787e5 llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dc27e5) #16 0x0000556cf929b72d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fe572d) #17 0x0000556cf8074ece llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dbeece) #18 0x0000556cf92824fd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fcc4fd) #19 0x0000556cf8076eda llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x1dc0eda) #20 0x0000556cf928279d llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x2fcc79d) #21 0x0000556cf8aa57c4 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27ef7c4) #22 0x0000556cf6b8701e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x8d101e) #23 0x0000556cf6b956de main (../../main-github/llvm/build-all/bin/opt+0x8df6de) #24 0x00007f77ec733555 __libc_start_main (/lib64/libc.so.6+0x22555) #25 0x0000556cf6b81770 _start (../../main-github/llvm/build-all/bin/opt+0x8cb770) Abort (core dumped)
Jun 20 2023
Jun 19 2023
I've verified that this fixes the problem I saw in https://reviews.llvm.org/D149435#4428219
Jun 16 2023
I noticed that after the revert, the following
opt -passes="indvars" bbi-83751.ll -o /dev/null
crashes with
Attempt to use a SCEVCouldNotCompute object! UNREACHABLE executed at ../include/llvm/Analysis/ScalarEvolutionExpressions.h:705! PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=indvars bbi-83751.ll -o /dev/null #0 0x000056064f0f9267 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2dcb267) #1 0x000056064f0f6f8e llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2dc8f8e) #2 0x000056064f0f98ff SignalHandler(int) Signals.cpp:0:0 #3 0x00007f3f0f708630 __restore_rt sigaction.c:0:0 #4 0x00007f3f0ce4f387 raise (/lib64/libc.so.6+0x36387) #5 0x00007f3f0ce50a78 abort (/lib64/libc.so.6+0x37a78) #6 0x000056064f07737f (../../main-github/llvm/build-all/bin/opt+0x2d4937f) #7 0x000056064f202a44 llvm::SCEVExpander::expand(llvm::SCEV const*) (../../main-github/llvm/build-all/bin/opt+0x2ed4a44) #8 0x000056064f202539 llvm::SCEVExpander::expandCodeForImpl(llvm::SCEV const*, llvm::Type*) (../../main-github/llvm/build-all/bin/opt+0x2ed4539) #9 0x000056064fbd317d (anonymous namespace)::IndVarSimplify::run(llvm::Loop*) IndVarSimplify.cpp:0:0 #10 0x000056064fbcd858 llvm::IndVarSimplifyPass::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x389f858) #11 0x000056064f31504d llvm::detail::PassModel<llvm::Loop, llvm::IndVarSimplifyPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x2fe704d) #12 0x000056064fc2ba03 std::optional<llvm::PreservedAnalyses> llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::runSinglePass<llvm::Loop, std::unique_ptr<llvm::detail::PassConcept<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, std::default_delete<llvm::detail::PassConcept<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>>>>(llvm::Loop&, std::unique_ptr<llvm::detail::PassConcept<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, std::default_delete<llvm::detail::PassConcept<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>>>&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&, llvm::PassInstrumentation&) (../../main-github/llvm/build-all/bin/opt+0x38fda03) #13 0x000056064fc2b657 llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::runWithoutLoopNestPasses(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x38fd657) #14 0x000056064fc2abf8 llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x38fcbf8) #15 0x000056064f2f4c1d llvm::detail::PassModel<llvm::Loop, llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (../../main-github/llvm/build-all/bin/opt+0x2fc6c1d) #16 0x000056064fc2ca61 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38fea61) #17 0x000056064f3145ad llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fe65ad) #18 0x000056064eb087f4 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x27da7f4) #19 0x000056064cfb9a0d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc8ba0d) #20 0x000056064eb0cbde llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27debde) #21 0x000056064cfb97ad llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0xc8b7ad) #22 0x000056064eb07984 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27d9984) #23 0x000056064cbf35ee llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x8c55ee) #24 0x000056064cc01cbe main (../../main-github/llvm/build-all/bin/opt+0x8d3cbe) #25 0x00007f3f0ce3b555 __libc_start_main (/lib64/libc.so.6+0x22555) #26 0x000056064cbedd40 _start (../../main-github/llvm/build-all/bin/opt+0x8bfd40) Abort (core dumped)
Jun 15 2023
The following starts hanging in CGP with this patch:
llc -march=x86-64 -mcpu=corei7 -o /dev/null stress-11366.ll
The input was generated with
bin/llvm-stress -size 300 -seed 11366
A question: it seems like this messes with alignment on functions?
So with input program al.c:
__attribute__((aligned(64))) void alignedfn(void) { __asm("nop"); } void alignedfn2(void) { __asm("nop"); } int main(void){}
if we compile with -fsanitize=function we get:
-> clang al.c -o al.o -c -fsanitize=function -> nm al.o 0000000000000008 T alignedfn 0000000000000018 T alignedfn2 0000000000000028 T main
So alignedfn and alignedfn2 doesn't seem to be aligned as we said.
Without -fsanitize=function:
-> clang al.c -o al.o -c -> nm al.o 0000000000000000 T alignedfn 0000000000000010 T alignedfn2 0000000000000020 T main
I guess the data put before the functions get aligned but not the functions themselves. Should I write a ticket about this?
Jun 14 2023
The following starts failing with this patch:
opt -verify-scev -passes="loop(loop-unroll-full),loop-mssa(licm<allowspeculation>,indvars,loop-rotate)" bbi-83618.ll -o /dev/null
We get
Incorrect cached computation in ConstantMultipleCache for (-1 * (zext i16 {0,+,6}<nuw><%for.body> to i64))<nuw><nsw> : Computed -6 but cache contains -2! PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: ../../main-github/llvm/build-all/bin/opt -verify-scev -passes=loop(loop-unroll-full),loop-mssa(licm<allowspeculation>,indvars,loop-rotate) bbi-83618.ll -o /dev/null #0 0x00005647691c5b77 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2db3b77) #1 0x00005647691c389e llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2db189e) #2 0x00005647691c620f SignalHandler(int) Signals.cpp:0:0 #3 0x00007f850faf2630 __restore_rt sigaction.c:0:0 #4 0x00007f850d239387 raise (/lib64/libc.so.6+0x36387) #5 0x00007f850d23aa78 abort (/lib64/libc.so.6+0x37a78) #6 0x00005647683ab616 llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1f99616) #7 0x0000564769cf7f36 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38e5f36) #8 0x00005647693e0b5d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fceb5d) #9 0x0000564768bd4ff4 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x27c2ff4) #10 0x0000564767089c4d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc77c4d) #11 0x0000564768bd93de llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27c73de) #12 0x00005647670899ed llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0xc779ed) #13 0x0000564768bd4184 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27c2184) #14 0x0000564766cc4a1e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x8b2a1e) #15 0x0000564766cd30ee main (../../main-github/llvm/build-all/bin/opt+0x8c10ee) #16 0x00007f850d225555 __libc_start_main (/lib64/libc.so.6+0x22555) #17 0x0000564766cbf170 _start (../../main-github/llvm/build-all/bin/opt+0x8ad170) Abort (core dumped)
Ignore isAssumeLikeIntrinsic and not just debug intrinsics.
This doesn't seem to be needed anymore after https://reviews.llvm.org/D149842 .
Jun 13 2023
With this patch the following started failing:
opt -passes=strip-dead-prototypes bbi-83491.ll -o /dev/null -verify-analysis-invalidation
It looks like strip-dead-prototypes has removed
@.str = external constant [15 x i16]
Is that what the change aimed to catch? Should I write an issue about it?
Rebase
Jun 12 2023
The following starts crashing with this patch:
opt -passes="inline,function<eager-inv;no-rerun>(gvn<>)" bbi-83499.ll -o /dev/null -debug
It requires -debug to crash since there is a verifyRemoved call hidden in a LLVM_DEBUG.
Precommit testcase in https://reviews.llvm.org/D152705 so this patch shows how the testcase is improved.
Rebase and remove as much metadata as I can without getting complaints from e.g. update_test_checks.py.
Jun 8 2023
Created a new testcase instead of fiddling with the existing one.
Minor cleanup in metadata, removed dbg.value attributes.
@jmorse : I saw you did a bunch of nice debug info cleanups in https://reviews.llvm.org/D151419 but I don't think this problem is fixed there?
May 30 2023
Ping @caojoshua
The following starts crashing with this commit:
opt -disable-loop-unrolling -verify-scev -passes="module(default<Os>)" bbi-83087.ll -o /dev/null
It crashes with
opt: ../lib/Support/APInt.cpp:1667: llvm::APInt llvm::APInt::urem(const llvm::APInt &) const: Assertion `RHS.U.VAL != 0 && "Remainder by zero?"' failed. PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: ../../main-github/llvm/build-all/bin/opt -disable-loop-unrolling -verify-scev -passes=module(default<Os>) bbi-83087.ll -o /dev/null #0 0x0000561a0f6c6ec7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2d8eec7) #1 0x0000561a0f6c4bee llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2d8cbee) #2 0x0000561a0f6c755f SignalHandler(int) (../../main-github/llvm/build-all/bin/opt+0x2d8f55f) #3 0x00007f0da7660630 __restore_rt (/lib64/libpthread.so.0+0xf630) #4 0x00007f0da4da7387 raise (/lib64/libc.so.6+0x36387) #5 0x00007f0da4da8a78 abort (/lib64/libc.so.6+0x37a78) #6 0x00007f0da4da01a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6) #7 0x00007f0da4da0252 (/lib64/libc.so.6+0x2f252) #8 0x0000561a0f61d076 llvm::APInt::urem(llvm::APInt const&) const (../../main-github/llvm/build-all/bin/opt+0x2ce5076) #9 0x0000561a0e87bcb8 llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1f43cb8) #10 0x0000561a101f6d06 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38bed06) #11 0x0000561a0f8e7d5d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fafd5d) #12 0x0000561a0f0a5e84 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x276de84) #13 0x0000561a0d55aa3d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc22a3d) #14 0x0000561a0e677c0f llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1d3fc0f) #15 0x0000561a0d55c5cd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0xc245cd) #16 0x0000561a0e6724be llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1d3a4be) #17 0x0000561a0f8d032d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2f9832d) #18 0x0000561a0e675dd5 llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1d3ddd5) #19 0x0000561a0f8e9d5d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fb1d5d) #20 0x0000561a0e6744ca llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x1d3c4ca) #21 0x0000561a0f8d05cd llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x2f985cd) #22 0x0000561a0f0a5014 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x276d014) #23 0x0000561a0f9f437d llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x30bc37d) #24 0x0000561a0f8d6e8d llvm::detail::PassModel<llvm::Module, llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x2f9ee8d) #25 0x0000561a0f0a5014 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x276d014) #26 0x0000561a0d196e8e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x85ee8e) #27 0x0000561a0d1a555e main (../../main-github/llvm/build-all/bin/opt+0x86d55e) #28 0x00007f0da4d93555 __libc_start_main (/lib64/libc.so.6+0x22555) #29 0x0000561a0d1915e0 _start (../../main-github/llvm/build-all/bin/opt+0x8595e0) Abort (core dumped)
May 29 2023
I've veriified that the different crashes we've seen with https://reviews.llvm.org/D150375 goes away with this patch.
May 26 2023
Both valgrind and ASan complains about memory problems. ASan says there is heap-use-after-free for stuff freed here
#1 0x47b6bd9 in llvm::DomTreeUpdater::forceFlushDeletedBB() #2 0x47b649c in tryFlushDeletedBB #3 0x47b649c in llvm::DomTreeUpdater::dropOutOfDateUpdates() #4 0x174687e in llvm::DomTreeUpdater::~DomTreeUpdater() #5 0x8111719 in runIPSCCP(llvm::Module&, llvm::DataLayout const&, llvm::AnalysisManager<llvm::Function>*, std::__1::function<llvm::BlockFrequencyInfo& (llvm::Function&)>, std::__1::function<llvm::TargetLibraryInfo const& (llvm::Function&)>, std::__1::function<llvm::TargetTransformInfo& (llvm::Function&)>, std::__1::function<llvm::AssumptionCache& (llvm::Function&)>, llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>, bool)
I've also seen crashes for other passes than adce, e.g. gvnhoist.
May 25 2023
May 24 2023
The following starts crashing with this patch:
opt -passes="ipsccp,function(adce)" -mtriple=hexagon bbi-82827.ll -o /dev/null
Result:
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=ipsccp,function(adce) -mtriple=hexagon bbi-82827.ll -o /dev/null #0 0x00005590a334c8b7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2d978b7) #1 0x00005590a334a5de llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2d955de) #2 0x00005590a334cf4f SignalHandler(int) Signals.cpp:0:0 #3 0x00007f396568d630 __restore_rt sigaction.c:0:0 #4 0x00005590a2c565a1 llvm::DebugLoc::get() const (../../main-github/llvm/build-all/bin/opt+0x26a15a1) #5 0x00005590a3db2f31 (anonymous namespace)::AggressiveDeadCodeElimination::markLive(llvm::Instruction*) ADCE.cpp:0:0 #6 0x00005590a3dafca1 (anonymous namespace)::AggressiveDeadCodeElimination::performDeadCodeElimination() ADCE.cpp:0:0 #7 0x00005590a3dae4a9 llvm::ADCEPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x37f94a9) #8 0x00005590a35590dd llvm::detail::PassModel<llvm::Function, llvm::ADCEPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fa40dd) #9 0x00005590a2d2c314 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2777314) #10 0x00005590a11e95ed llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc345ed) #11 0x00005590a2d306fe llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x277b6fe) #12 0x00005590a11e938d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0xc3438d) #13 0x00005590a2d2b4a4 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27764a4) #14 0x00005590a0e2314e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x86e14e) #15 0x00005590a0e3181e main (../../main-github/llvm/build-all/bin/opt+0x87c81e) #16 0x00007f3962dc0555 __libc_start_main (/lib64/libc.so.6+0x22555) #17 0x00005590a0e1d8a0 _start (../../main-github/llvm/build-all/bin/opt+0x8688a0) Segmentation fault (core dumped)
May 22 2023
May 15 2023
../../clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp:43:27: error: 'build' is deprecated: Use the version that takes a const Decl & instead [-Werror,-Wdeprecated-declarations] ControlFlowContext::build(&FuncDecl, *FuncDecl.getBody(), ASTCtx); ^ ../../clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h:41:3: note: 'build' has been explicitly marked deprecated here LLVM_DEPRECATED("Use the version that takes a const Decl & instead", "") ^ ../include/llvm/Support/Compiler.h:143:50: note: expanded from macro 'LLVM_DEPRECATED' #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX))) ^ 1 error generated.
The following four testcases fail for me with this patch:
Failed Tests (4): Clangd :: check-fail.test Clangd :: check-lines.test Clangd :: check.test Clangd :: path-mappings.test
Seems like some bots fail as well, e.g. https://lab.llvm.org/buildbot/#/builders/121/builds/30482
May 14 2023
Compiling with clang 15.0.5 I get the following warning/error with this patch:
../../clang/include/clang/Sema/ParsedAttr.h:705:18: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted] AttributePool &operator=(AttributePool &&pool) = default; ^ ../../clang/include/clang/Sema/ParsedAttr.h:674:21: note: move assignment operator of 'AttributePool' is implicitly deleted because field 'Factory' is of reference type 'clang::AttributeFactory &' AttributeFactory &Factory; ^ 1 error generated.
May 10 2023
May 4 2023
May 3 2023
With this patch a whole bunch of lit tests fail when compiled with EXPENSIVE_CHECKS on.
Failed Tests (51): LLVM :: CodeGen/AMDGPU/agpr-copy-no-free-registers.ll LLVM :: CodeGen/AMDGPU/amdpal_scratch_mergedshader.ll LLVM :: CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll LLVM :: CodeGen/AMDGPU/branch-condition-and.ll LLVM :: CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll LLVM :: CodeGen/AMDGPU/branch-relaxation.ll LLVM :: CodeGen/AMDGPU/build-vector-insert-elt-infloop.ll LLVM :: CodeGen/AMDGPU/cf-loop-on-constant.ll LLVM :: CodeGen/AMDGPU/control-flow-optnone.ll LLVM :: CodeGen/AMDGPU/dagcombine-lshr-and-cmp.ll LLVM :: CodeGen/AMDGPU/divergence-at-use.ll LLVM :: CodeGen/AMDGPU/infinite-loop.ll LLVM :: CodeGen/AMDGPU/insert-delay-alu-bug.ll LLVM :: CodeGen/AMDGPU/kill-infinite-loop.ll LLVM :: CodeGen/AMDGPU/loop-live-out-copy-undef-subrange.ll LLVM :: CodeGen/AMDGPU/mdt-preserving-crash.ll LLVM :: CodeGen/AMDGPU/mixed-wave32-wave64.ll LLVM :: CodeGen/AMDGPU/move-to-valu-worklist.ll LLVM :: CodeGen/AMDGPU/multi-divergent-exit-region.ll LLVM :: CodeGen/AMDGPU/nested-loop-conditions.ll LLVM :: CodeGen/AMDGPU/operand-folding.ll LLVM :: CodeGen/AMDGPU/optimize-negated-cond.ll LLVM :: CodeGen/AMDGPU/ret_jump.ll LLVM :: CodeGen/AMDGPU/salu-to-valu.ll LLVM :: CodeGen/AMDGPU/sdwa-peephole.ll LLVM :: CodeGen/AMDGPU/si-annotate-cf-noloop.ll LLVM :: CodeGen/AMDGPU/si-annotate-cf-unreachable.ll LLVM :: CodeGen/AMDGPU/si-annotate-cf.ll LLVM :: CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll LLVM :: CodeGen/AMDGPU/si-annotate-nested-control-flows.ll LLVM :: CodeGen/AMDGPU/si-lower-control-flow-unreachable-block.ll LLVM :: CodeGen/AMDGPU/si-scheduler.ll LLVM :: CodeGen/AMDGPU/si-unify-exit-multiple-unreachables.ll LLVM :: CodeGen/AMDGPU/si-unify-exit-return-unreachable.ll LLVM :: CodeGen/AMDGPU/skip-if-dead.ll LLVM :: CodeGen/AMDGPU/switch-default-block-unreachable.ll LLVM :: CodeGen/AMDGPU/tuple-allocation-failure.ll LLVM :: CodeGen/AMDGPU/uniform-cfg.ll LLVM :: CodeGen/AMDGPU/unigine-liveness-crash.ll LLVM :: CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll LLVM :: CodeGen/AMDGPU/update-phi.ll LLVM :: CodeGen/AMDGPU/valu-i1.ll LLVM :: CodeGen/AMDGPU/vcmp-saveexec-to-vcmpx.ll LLVM :: CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll LLVM :: CodeGen/AMDGPU/vgpr-liverange-ir.ll LLVM :: CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll LLVM :: CodeGen/AMDGPU/wave32.ll LLVM :: CodeGen/AMDGPU/wmma_modifiers.ll LLVM :: Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-crash.ll LLVM :: Transforms/LoopStrengthReduce/AMDGPU/lsr-void-inseltpoison.ll LLVM :: Transforms/LoopStrengthReduce/AMDGPU/lsr-void.ll
It can also be reproduced by adding -verify-dom-info.
Apr 25 2023
Thanks!
Change if/else to ? accordiing to review comment.