<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="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."
href="https://bugs.llvm.org/show_bug.cgi?id=45438">45438</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>SelectionDAGBuilder.cpp:8400: void llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite): Assertion `ConstraintID != InlineAsm::Constraint_Unknown && "Failed to convert memory constraint code to constraint id."' failed.
</td>
</tr>
<tr>
<th>Product</th>
<td>new-bugs
</td>
</tr>
<tr>
<th>Version</th>
<td>10.0
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>new bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>bero@lindev.ch
</td>
</tr>
<tr>
<th>CC</th>
<td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>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>
<span class="quote">>, std::__cxx11::basic_string<char, std::char_traits<char>,</span >
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)</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>