-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Closed
Closed
Copy link
Labels
Description
"Cannot select" failure compiling common.cpp
from https://github.com/ggerganov/whisper.cpp/blob/9c61f5f58555bb136b71b391b40f956328f18dd5/examples/common.cpp -
$ hexagon-unknown-linux-musl-clang++ -DGGML_SHARED -DWHISPER_SHARED -I../examples -I../. -mv67 -O2 -mhvx -fvectorize -Wall -Wextra -Wpedantic -Wcast-qual -g -fPIC -MD -MT examples/CMakeFiles/common.dir/common.cpp.o -MF examples/CMakeFiles/common.dir/common.cpp.o.d -o examples/CMakeFiles/common.dir/common.cpp.o -c ../examples/common.cpp
fatal error: error in backend: Cannot select: t50: v4i16 = bswap t96, ../examples/dr_wav.h:1190:16 @[ ../examples/dr_wav.h:1257:25 @[ ../examples/dr_wav.h:1264:29 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ] ] ]
t96: v4i16 = bitcast t344, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t344: i64 = HexagonISD::COMBINE t210, t204, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t210: i32 = or t209, t207, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t209: i32 = shl t208, Constant:i32<16>, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t208: i32,ch = load<(load (s16) from %ir.cgep185 + 6, !tbaa !21531), zext from i16> t0, t260, undef:i32, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t260: i32 = add t8, Constant:i32<6>, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t8: i32 = add t5, t7
t5: i32,ch = CopyFromReg t0, Register:i32 %56
t4: i32 = Register %56
t7: i32 = shl t3, Constant:i32<1>
t3: i32 = truncate t2, ../examples/dr_wav.h:1263:5 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t6: i32 = Constant<1>
t259: i32 = Constant<6>
t10: i32 = undef
t33: i32 = Constant<16>
t207: i32,ch = load<(load (s16) from %ir.cgep185 + 4, !tbaa !21531), zext from i16> t0, t100, undef:i32, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t100: i32 = add nuw t8, Constant:i32<4>, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t8: i32 = add t5, t7
t5: i32,ch = CopyFromReg t0, Register:i32 %56
t4: i32 = Register %56
t7: i32 = shl t3, Constant:i32<1>
t3: i32 = truncate t2, ../examples/dr_wav.h:1263:5 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t2: i64,ch = CopyFromReg t0, Register:i64 %50, ../examples/dr_wav.h:1263:5 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t6: i32 = Constant<1>
t99: i32 = Constant<4>
t10: i32 = undef
t204: i32 = or t203, t201, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t203: i32 = shl t202, Constant:i32<16>, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t202: i32,ch = load<(load (s16) from %ir.cgep185 + 2, !tbaa !21531), zext from i16> t0, t182, undef:i32, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t182: i32 = add nuw t8, Constant:i32<2>, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t8: i32 = add t5, t7
t5: i32,ch = CopyFromReg t0, Register:i32 %56
t4: i32 = Register %56
t7: i32 = shl t3, Constant:i32<1>
t3: i32 = truncate t2, ../examples/dr_wav.h:1263:5 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t6: i32 = Constant<1>
t146: i32 = Constant<2>
t10: i32 = undef
t33: i32 = Constant<16>
t201: i32,ch = load<(load (s16) from %ir.cgep185, !tbaa !21531), zext from i16> t0, t8, undef:i32, ../examples/dr_wav.h:1264:46 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t8: i32 = add t5, t7
t5: i32,ch = CopyFromReg t0, Register:i32 %56
t4: i32 = Register %56
t7: i32 = shl t3, Constant:i32<1>
t3: i32 = truncate t2, ../examples/dr_wav.h:1263:5 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t2: i64,ch = CopyFromReg t0, Register:i64 %50, ../examples/dr_wav.h:1263:5 @[ ../examples/dr_wav.h:1411:13 @[ ../examples/dr_wav.h:3626:9 ] ]
t1: i64 = Register %50
t6: i32 = Constant<1>
t10: i32 = undef
In function: drwav_read_pcm_frames_be
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang++ -DGGML_SHARED -DWHISPER_SHARED -I../examples -I../. -mv67 -O2 -mhvx -fvectorize -Wall -Wextra -Wpedantic -Wcast-qual -g -fPIC -MD -MT examples/CMakeFiles/common.dir/common.cpp.o -MF examples/CMakeFiles/common.dir/common.cpp.o.d -o examples/CMakeFiles/common.dir/common.cpp.o -c ../examples/common.cpp
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '../examples/common.cpp'.
4. Running pass 'Hexagon DAG->DAG Pattern Instruction Selection' on function '@drwav_read_pcm_frames_be'
#0 0x00000000030c3d72 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x30c3d72)
#1 0x00000000030c1c6e llvm::sys::RunSignalHandlers() (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x30c1c6e)
#2 0x00000000030c31ad llvm::sys::CleanupOnSignal(unsigned long) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x30c31ad)
#3 0x0000000003054606 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) CrashRecoveryContext.cpp:0:0
#4 0x00000000030545b9 llvm::CrashRecoveryContext::HandleExit(int) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x30545b9)
#5 0x00000000030bdf97 llvm::sys::Process::Exit(int, bool) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x30bdf97)
#6 0x0000000001f67282 (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x1f67282)
#7 0x0000000003058c06 llvm::report_fatal_error(llvm::Twine const&, bool) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x3058c06)
#8 0x00000000041087e0 llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x41087e0)
#9 0x0000000004107a66 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x4107a66)
#10 0x00000000040fce97 llvm::SelectionDAGISel::DoInstructionSelection() (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x40fce97)
#11 0x00000000040fbf18 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x40fbf18)
#12 0x00000000040f9da0 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x40f9da0)
#13 0x00000000040f6afc llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x40f6afc)
#14 0x0000000002009f24 llvm::HexagonDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) HexagonISelDAGToDAG.cpp:0:0
#15 0x00000000024bcec8 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x24bcec8)
#16 0x00000000029d0672 llvm::FPPassManager::runOnFunction(llvm::Function&) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x29d0672)
#17 0x00000000029d68f1 llvm::FPPassManager::runOnModule(llvm::Module&) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x29d68f1)
#18 0x00000000029d0c48 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x29d0c48)
#19 0x00000000033dfe5c clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x33dfe5c)
#20 0x0000000003de7f3a clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) CodeGenAction.cpp:0:0
#21 0x0000000004ea0540 clang::ParseAST(clang::Sema&, bool, bool) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x4ea0540)
#22 0x0000000003d22910 clang::FrontendAction::Execute() (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x3d22910)
#23 0x0000000003c927cf clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x3c927cf)
#24 0x0000000003de0d51 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x3de0d51)
#25 0x0000000001f66db5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x1f66db5)
#26 0x0000000001f62b17 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#27 0x0000000003afcf92 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_1>(long) Job.cpp:0:0
#28 0x000000000305456b llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x305456b)
#29 0x0000000003afc90e clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x3afc90e)
#30 0x0000000003ab92a4 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x3ab92a4)
#31 0x0000000003ab959e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x3ab959e)
#32 0x0000000003ada6c0 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x3ada6c0)
#33 0x0000000001f618e6 clang_main(int, char**) (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x1f618e6)
#34 0x00007f2c39df4083 __libc_start_main /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:342:3
#35 0x0000000001f5ecaa _start (/pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+++0x1f5ecaa)
clang-16: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 16.0.0
Target: hexagon-unknown-linux-musl
Thread model: posix
InstalledDir: /pkg/qct/software/llvm/build_tools/clang+llvm-16.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin
clang-16: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-16: note: diagnostic msg: /tmp/common-cb81a3.cpp
clang-16: note: diagnostic msg: /tmp/common-cb81a3.sh
clang-16: note: diagnostic msg:
********************