[llvm] [SandboxVec] Legality boilerplate (PR #108650)
Mikael Holmén via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 18 01:12:57 PDT 2024
mikaelholmen wrote:
Hi,
I noticed that the following starts crashing with this patch:
```opt -passes=sandbox-vectorizer sb.ll -o /dev/null```
The input is just
```
define void @foo(ptr %p) {
entry:
store i16 0, ptr %p, align 1
store i16 0, ptr %p, align 1
ret void
}
```
It fails like
```
opt: ../include/llvm/Support/Casting.h:578: decltype(auto) llvm::cast(From *) [To = llvm::sandboxir::Instruction, From = llvm::sandboxir::Value]: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: build-all/bin/opt -passes=sandbox-vectorizer sb.ll -o /dev/null
1. Running pass "function(sandbox-vectorizer)" on module "sb.ll"
2. Running pass "sandbox-vectorizer" on function "foo"
#0 0x0000558b920d5dd7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all/bin/opt+0x41e9dd7)
#1 0x0000558b920d38be llvm::sys::RunSignalHandlers() (build-all/bin/opt+0x41e78be)
#2 0x0000558b920d65ff SignalHandler(int) Signals.cpp:0:0
#3 0x00007fabfed17cf0 __restore_rt (/lib64/libpthread.so.0+0x12cf0)
#4 0x00007fabfc8d0acf raise (/lib64/libc.so.6+0x4eacf)
#5 0x00007fabfc8a3ea5 abort (/lib64/libc.so.6+0x21ea5)
#6 0x00007fabfc8a3d79 _nl_load_domain.cold.0 (/lib64/libc.so.6+0x21d79)
#7 0x00007fabfc8c9426 (/lib64/libc.so.6+0x47426)
#8 0x0000558b93d80c29 llvm::sandboxir::BottomUpVec::vectorizeRec(llvm::ArrayRef<llvm::sandboxir::Value*>) (build-all/bin/opt+0x5e94c29)
#9 0x0000558b93d80bbf llvm::sandboxir::BottomUpVec::vectorizeRec(llvm::ArrayRef<llvm::sandboxir::Value*>) (build-all/bin/opt+0x5e94bbf)
#10 0x0000558b93d80e09 llvm::sandboxir::BottomUpVec::runOnFunction(llvm::sandboxir::Function&) (build-all/bin/opt+0x5e94e09)
#11 0x0000558b957db54d llvm::sandboxir::FunctionPassManager::runOnFunction(llvm::sandboxir::Function&) (build-all/bin/opt+0x78ef54d)
#12 0x0000558b93d7fb4c llvm::SandboxVectorizerPass::runImpl(llvm::Function&) (build-all/bin/opt+0x5e93b4c)
#13 0x0000558b93d7f51c llvm::SandboxVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x5e9351c)
#14 0x0000558b93c3556d llvm::detail::PassModel<llvm::Function, llvm::SandboxVectorizerPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilder.cpp:0:0
#15 0x0000558b922defda llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x43f2fda)
#16 0x0000558b9347051d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilderPipelines.cpp:0:0
#17 0x0000558b922e3aa1 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x43f7aa1)
#18 0x0000558b93469a3d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) PassBuilderPipelines.cpp:0:0
#19 0x0000558b922ddd1a llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x43f1d1a)
#20 0x0000558b93412f2b llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (build-all/bin/opt+0x5526f2b)
#21 0x0000558b9209d43d optMain (build-all/bin/opt+0x41b143d)
#22 0x00007fabfc8bcd85 __libc_start_main (/lib64/libc.so.6+0x3ad85)
#23 0x0000558b92096fae _start (build-all/bin/opt+0x41aafae)
Abort (core dumped)
```
```
https://github.com/llvm/llvm-project/pull/108650
More information about the llvm-commits
mailing list