[llvm-bugs] [Bug 45438] New: SelectionDAGBuilder.cpp:8400: void llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite): Assertion `ConstraintID != InlineAsm::Constraint_Unknown && "Failed to convert memory constraint code to constraint id."' failed.

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Apr 5 17:14:47 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=45438

            Bug ID: 45438
           Summary: SelectionDAGBuilder.cpp:8400: void
                    llvm::SelectionDAGBuilder::visitInlineAsm(llvm::Immuta
                    bleCallSite): Assertion `ConstraintID !=
                    InlineAsm::Constraint_Unknown && "Failed to convert
                    memory constraint code to constraint id."' failed.
           Product: new-bugs
           Version: 10.0
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: bero at lindev.ch
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

On aarch64 Linux:

$ cat test.c
a() { __asm__("" ::"nor"(a)); }
$ clang -c test.c
clang:
/builddir/build/BUILD/llvm-project-llvmorg-10.0.0/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:8400:
void llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite):
Assertion `ConstraintID != InlineAsm::Constraint_Unknown && "Failed to convert
memory constraint code to constraint id."' failed.
Stack dump:
0.      Program arguments: clang -c util.i 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'util.i'.
4.      Running pass 'AArch64 Instruction Selection' on function '@a'
 #0 0x0000ffffac66fc14 (/usr/lib64/libLLVMSupport.so.10.0+0x19ac14)
 #1 0x0000ffffac66d5e0 llvm::sys::RunSignalHandlers()
(/usr/lib64/libLLVMSupport.so.10.0+0x1985e0)
 #2 0x0000ffffac66eb7c llvm::sys::CleanupOnSignal(unsigned long)
(/usr/lib64/libLLVMSupport.so.10.0+0x199b7c)
 #3 0x0000ffffac59c638 (/usr/lib64/libLLVMSupport.so.10.0+0xc7638)
 #4 0x0000ffffac59c7b4 (/usr/lib64/libLLVMSupport.so.10.0+0xc77b4)
 #5 0x0000ffffb3de767c (linux-vdso.so.1+0x67c)
 #6 0x0000ffffac0c2018 raise (/lib64/libc.so.6+0x3d018)
 #7 0x0000ffffac0a8d5c abort (/lib64/libc.so.6+0x23d5c)
 #8 0x0000ffffac0b69f4 __assert_fail_base (/lib64/libc.so.6+0x319f4)
 #9 0x0000ffffac0b6a58 __assert_perror_fail (/lib64/libc.so.6+0x31a58)
#10 0x0000ffffabc75574
llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite)
(/usr/lib64/libLLVMSelectionDAG.so.10.0+0x1ae574)
#11 0x0000ffffabc53fbc llvm::SelectionDAGBuilder::visit(llvm::Instruction
const&) (/usr/lib64/libLLVMSelectionDAG.so.10.0+0x18cfbc)
#12 0x0000ffffabcf41b8
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction,
false, false, void>, false, true>,
llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false,
false, void>, false, true>, bool&)
(/usr/lib64/libLLVMSelectionDAG.so.10.0+0x22d1b8)
#13 0x0000ffffabcf3884
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)
(/usr/lib64/libLLVMSelectionDAG.so.10.0+0x22c884)
#14 0x0000ffffabcf0c2c
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(/usr/lib64/libLLVMSelectionDAG.so.10.0+0x229c2c)
#15 0x0000ffffaf082690
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(/usr/lib64/libLLVMCodeGen.so.10.0+0x23b690)
#16 0x0000ffffac9e4e34 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/usr/lib64/libLLVMCore.so.10.0+0x1f7e34)
#17 0x0000ffffac9e51f8 llvm::FPPassManager::runOnModule(llvm::Module&)
(/usr/lib64/libLLVMCore.so.10.0+0x1f81f8)
#18 0x0000ffffac9e57cc llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/usr/lib64/libLLVMCore.so.10.0+0x1f87cc)
#19 0x0000ffffafd923b4 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/usr/lib64/libclangCodeGen.so.10.0+0xa13b4)
#20 0x0000ffffb006cef0 (/usr/lib64/libclangCodeGen.so.10.0+0x37bef0)
#21 0x0000ffffaa81f590 clang::ParseAST(clang::Sema&, bool, bool)
(/usr/lib64/libclangParse.so.10.0+0x33590)
#22 0x0000ffffae1c4b08 clang::FrontendAction::Execute()
(/usr/lib64/libclangFrontend.so.10.0+0xebb08)
#23 0x0000ffffae1740c4
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/usr/lib64/libclangFrontend.so.10.0+0x9b0c4)
#24 0x0000ffffb0e1f154
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/usr/lib64/libclangFrontendTool.so.10.0+0x4154)
#25 0x0000000000414260 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/usr/bin/clang-10+0x414260)
#26 0x0000000000412670 (/usr/bin/clang-10+0x412670)
#27 0x0000ffffadf47430 (/usr/lib64/libclangDriver.so.10.0+0x91430)
#28 0x0000ffffac59c538
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
(/usr/lib64/libLLVMSupport.so.10.0+0xc7538)
#29 0x0000ffffadf46ec0
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const
(/usr/lib64/libclangDriver.so.10.0+0x90ec0)
#30 0x0000ffffadf1ab88
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&,
clang::driver::Command const*&) const
(/usr/lib64/libclangDriver.so.10.0+0x64b88)
#31 0x0000ffffadf1aff8
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const
(/usr/lib64/libclangDriver.so.10.0+0x64ff8)
#32 0x0000ffffadf2ebfc
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&)
(/usr/lib64/libclangDriver.so.10.0+0x78bfc)
#33 0x0000000000411978 main (/usr/bin/clang-10+0x411978)
#34 0x0000ffffac0a9090 __libc_start_main (/lib64/libc.so.6+0x24090)
#35 0x000000000040ea2c _start (/usr/bin/clang-10+0x40ea2c)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200406/a891b988/attachment.html>


More information about the llvm-bugs mailing list