emscripten-core / emscripten-core/emscripten
Cannot select: t44: i64 ...
- Dominant language
- C++
- Stars
- 27.6k
- Forks
- 3.6k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 105
Description
I want to compile openh264 to wasm.
openh264 just has a makefile.
I execute command such as:
```
emmake make
```
later, i got some error...
```
fatal error: error in backend: Cannot select: t44: i64 = WebAssemblyISD::Wrapper TargetGlobalAddress:i64 0 [TF=1]
t43: i64 = TargetGlobalAddress 0 [TF=1]
In function: _Z13WelsCopy4x4_cPhiS_i
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /Users/xuxiuquan/h5project/emsdk/upstream/bin/clang++ -DEMSCRIPTEN -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -Xclang -iwithsysroot/include/SDL -target wasm32-unknown-emscripten -D__EMSCRIPTEN_major__=2 -D__EMSCRIPTEN_minor__=0 -D__EMSCRIPTEN_tiny__=15 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -flegacy-pass-manager -Werror=implicit-function-declaration --sysroot=/Users/xuxiuquan/h5project/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -O3 -DNDEBUG -m64 -DX86_ASM -DHAVE_AVX2 -Wall -fPIC -MMD -MP -fstack-protector-all -DGENERATED_VERSION_HEADER -DHAVE_AVX2 -I./codec/api/svc -I./codec/common/inc -Icodec/common/inc -c codec/common/src/copy_mb.cpp -o codec/common/src/copy_mb.o
1. parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'codec/common/src/copy_mb.cpp'.
4. Running pass 'WebAssembly Instruction Selection' on function '@_Z13WelsCopy4x4_cPhiS_i'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVM.dylib 0x000000010e1695eb llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 43
1 libLLVM.dylib 0x000000010e168398 llvm::sys::RunSignalHandlers() + 248
2 libLLVM.dylib 0x000000010e168a20 llvm::sys::CleanupOnSignal(unsigned long) + 208
3 libLLVM.dylib 0x000000010e08d08a (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 106
4 libLLVM.dylib 0x000000010e08cfe3 llvm::CrashRecoveryContext::HandleExit(int) + 19
5 libLLVM.dylib 0x000000010e16520c llvm::sys::Process::Exit(int, bool) + 44
6 clang++ 0x000000010dfd1416 LLVMErrorHandler(void*, std::__1::basic_string, std::__1::allocator > const&, bool) + 86
7 libLLVM.dylib 0x000000010e09dabd llvm::report_fatal_error(llvm::Twine const&, bool) + 269
8 libLLVM.dylib 0x000000010e09db8b llvm::report_fatal_error(std::__1::basic_string, std::__1::allocator > const&, bool) + 27
9 libLLVM.dylib 0x000000010ea8db83 llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) + 1075
10 libLLVM.dylib 0x000000010ea8c8aa llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) + 21338
11 libLLVM.dylib 0x0000000110196f7a (anonymous namespace)::WebAssemblyDAGToDAGISel::Select(llvm::SDNode*) + 1290
12 libLLVM.dylib 0x000000010ea8294e llvm::SelectionDAGISel::DoInstructionSelection() + 1470
13 libLLVM.dylib 0x000000010ea817ab llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 5915
14 libLLVM.dylib 0x000000010ea7f787 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 7431
15 libLLVM.dylib 0x000000010ea7c683 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 2435
16 libLLVM.dylib 0x000000010e573c2d llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 333
17 libLLVM.dylib 0x000000010e2e1b87 llvm::FPPassManager::runOnFunction(llvm::Function&) + 935
18 libLLVM.dylib 0x000000010e2e8ba1 llvm::FPPassManager::runOnModule(llvm::Module&) + 65
19 libLLVM.dylib 0x000000010e2e21e7 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 999
20 libclang-cpp.dylib 0x00000001144aeb57 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::__1::unique_ptr >) + 12503
21 libclang-cpp.dylib 0x00000001147e58bf clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1151
22 libclang-cpp.dylib 0x000000011357d034 clang::ParseAST(clang::Sema&, bool, bool) + 580
23 libclang-cpp.dylib 0x0000000114dbff63 clang::FrontendAction::Execute() + 99
24 libclang-cpp.dylib 0x0000000114d3fc9a clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 842
25 libclang-cpp.dylib 0x0000000114e348aa clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1530
26 clang++ 0x000000010dfd10fc cc1_main(llvm::ArrayRef, char const*, void*) + 2124
27 clang++ 0x000000010dfce960 ExecuteCC1Tool(llvm::SmallVectorImpl&) + 352
28 libclang-cpp.dylib 0x00000001149fc8e7 void llvm::function_ref::callback_fn >, std::__1::basic_string, std::__1::allocator >*, bool*) const::$_1>(long) + 23
29 libLLVM.dylib 0x000000010e08cf9c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref) + 236
30 libclang-cpp.dylib 0x00000001149fc351 clang::driver::CC1Command::Execute(llvm::ArrayRef >, std::__1::basic_string, std::__1::allocator >*, bool*) const + 305
31 libclang-cpp.dylib 0x00000001149c4ae4 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const + 708
32 libclang-cpp.dylib 0x00000001149c4f4d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl >&) const + 125
33 libclang-cpp.dylib 0x00000001149e05ab clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl >&) + 395
34 clang++ 0x000000010dfce1aa main + 10346
35 libdyld.dylib 0x00007fff57dfb3d5 start + 1
36 libdyld.dylib 0x000000000000002c start + 18446603339041885272
clang-13: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 13.0.0 (/opt/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-llvm-llvm--project 1c5f08312874717caf5d94729d825c32845773ec)
Target: wasm64-unknown-emscripten
Thread model: posix
InstalledDir: /Users/xuxiuquan/h5project/emsdk/upstream/bin
clang-13: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-13: note: diagnostic msg: /var/folders/l1/lg9nstrn1xq2ytv1tzq576780000gn/T/copy_mb-6142dc.cpp
clang-13: note: diagnostic msg: /var/folders/l1/lg9nstrn1xq2ytv1tzq576780000gn/T/copy_mb-6142dc.sh
clang-13: note: diagnostic msg: Crash backtrace is located in
clang-13: note: diagnostic msg: /Users/xuxiuquan/Library/Logs/DiagnosticReports/clang-13__.crash
clang-13: note: diagnostic msg: (choose the .crash file that corresponds to your crash)
clang-13: note: diagnostic msg:
********************
em++: error: '/Users/xuxiuquan/h5project/emsdk/upstream/bin/clang++ -DEMSCRIPTEN -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -Xclang -iwithsysroot/include/SDL -target wasm32-unknown-emscripten -D__EMSCRIPTEN_major__=2 -D__EMSCRIPTEN_minor__=0 -D__EMSCRIPTEN_tiny__=15 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -flegacy-pass-manager -Werror=implicit-function-declaration --sysroot=/Users/xuxiuquan/h5project/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -O3 -DNDEBUG -m64 -DX86_ASM -DHAVE_AVX2 -Wall -fPIC -MMD -MP -fstack-protector-all -DGENERATED_VERSION_HEADER -DHAVE_AVX2 -I./codec/api/svc -I./codec/common/inc -Icodec/common/inc -c codec/common/src/copy_mb.cpp -o codec/common/src/copy_mb.o' failed (70)
make: *** [codec/common/src/copy_mb.o] Error 1
```
I'm not sure what the problem is, I guess it looks like the type doesn't support it....
How can I solve it?
thanks
Contributor guide
Assessment
This issue has not been assessed yet.