[llvm-bugs] [Bug 24631] New: MI Serialization crashes on empty inlineasm
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Aug 31 00:07:06 PDT 2015
https://llvm.org/bugs/show_bug.cgi?id=24631
Bug ID: 24631
Summary: MI Serialization crashes on empty inlineasm
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Common Code Generator Code
Assignee: unassignedbugs at nondot.org
Reporter: hfinkel at anl.gov
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Created attachment 14795
--> https://llvm.org/bugs/attachment.cgi?id=14795&action=edit
reduced test case
$ cat mirp.ll
target datalayout = "E-m:e-i64:64-n32:64"
target triple = "powerpc64-unknown-linux-gnu"
define void @foo() #0 {
entry:
tail call void asm sideeffect "", "~{memory}"() #0
ret void
}
attributes #0 = { nounwind }
$ llc -stop-after=if-converter < mirp.ll
llc: /src/llvm/lib/IR/AsmWriter.cpp:346: void
llvm::printLLVMNameWithoutPrefix(llvm::raw_ostream&, llvm::StringRef):
Assertion `!Name.empty() && "Cannot get empty name!"' failed.
The problem seems related to how llvm::MIPrinter::print handles external
symbols, specifically:
789 case MachineOperand::MO_ExternalSymbol:
790 OS << '$';
791 printLLVMNameWithoutPrefix(OS, Op.getSymbolName());
792 printOffset(Op.getOffset());
793 break;
printLLVMNameWithoutPrefix cannot be called with an empty name string, but it
is in this case because the inline asm string is empty:
INLINEASM <es:> [sideeffect] [mayload] [maystore] [attdialect]
--
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/20150831/0712b6e4/attachment.html>
More information about the llvm-bugs
mailing list