[llvm-bugs] [Bug 48888] New: [X86] MCInst assertion failure "This is not a register operand!"

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Jan 26 09:23:45 PST 2021


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

            Bug ID: 48888
           Summary: [X86] MCInst assertion failure "This is not a register
                    operand!"
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: nikita.ppv at gmail.com
                CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
                    llvm-dev at redking.me.uk, pengfei.wang at intel.com,
                    spatel+llvm at rotateright.com

target datalayout =
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define void @test(i64* %p) nounwind {
bb: 
  %i = load i64, i64* %p, align 8, !range !0
  %i1 = and i64 %i, 6
  %i2 = icmp eq i64 %i1, 2
  br i1 %i2, label %bb3, label %bb5

bb3:                                              ; preds = %bb
  %i4 = icmp ne {}* undef, null
  br label %bb5

bb5:                                              ; preds = %bb3, %bb
  br label %bb6

bb6:                                              ; preds = %bb5
  br i1 %i2, label %bb7, label %bb9

bb7:                                              ; preds = %bb6
  %i8 = getelementptr inbounds i64, i64* undef, i64 5
  br label %bb9

bb9:                                              ; preds = %bb7, %bb6
  ret void
} 

!0 = !{i64 0, i64 5}

llc %s:

llc: /home/nikic/llvm-project/llvm/include/llvm/MC/MCInst.h:65: unsigned int
llvm::MCOperand::getReg() const: Assertion `isReg() && "This is not a register
operand!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.
Stack dump:
0.      Program arguments: build/bin/llc -debug test135.ll
1.      Running pass 'Function Pass Manager' on module 'test135.ll'.
2.      Running pass 'X86 Assembly Printer' on function '@test'
 #0 0x000055cc218af481 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
(build/bin/llc+0x2e80481)
 #1 0x000055cc218ad054 llvm::sys::RunSignalHandlers() (build/bin/llc+0x2e7e054)
 #2 0x000055cc218ad1cb SignalHandler(int) (build/bin/llc+0x2e7e1cb)
 #3 0x00007f4b42be53c0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
 #4 0x00007f4b4268518b raise
/build/glibc-ZN95T4/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007f4b42664859 abort /build/glibc-ZN95T4/glibc-2.31/stdlib/abort.c:81:7
 #6 0x00007f4b42664729 get_sysdep_segment_value
/build/glibc-ZN95T4/glibc-2.31/intl/loadmsgcat.c:509:8
 #7 0x00007f4b42664729 _nl_load_domain
/build/glibc-ZN95T4/glibc-2.31/intl/loadmsgcat.c:970:34
 #8 0x00007f4b42675f36 (/lib/x86_64-linux-gnu/libc.so.6+0x36f36)
 #9 0x000055cc20715a88 (anonymous
namespace)::X86MCCodeEmitter::emitPrefixImpl(unsigned int&, llvm::MCInst
const&, llvm::MCSubtargetInfo const&, llvm::raw_ostream&) const
(build/bin/llc+0x1ce6a88)
#10 0x000055cc2071708f (anonymous
namespace)::X86MCCodeEmitter::encodeInstruction(llvm::MCInst const&,
llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&,
llvm::MCSubtargetInfo const&) const (build/bin/llc+0x1ce808f)
#11 0x000055cc202229ad
llvm::X86AsmPrinter::StackMapShadowTracker::count(llvm::MCInst&,
llvm::MCSubtargetInfo const&, llvm::MCCodeEmitter*) (.part.0)
(build/bin/llc+0x17f39ad)
#12 0x000055cc2022b4f1 llvm::X86AsmPrinter::emitInstruction(llvm::MachineInstr
const*) (build/bin/llc+0x17fc4f1)
#13 0x000055cc209bd174 llvm::AsmPrinter::emitFunctionBody()
(build/bin/llc+0x1f8e174)
#14 0x000055cc2021c7e3
llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&)
(build/bin/llc+0x17ed7e3)
#15 0x000055cc20bee20c
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(build/bin/llc+0x21bf20c)
#16 0x000055cc21082d78 llvm::FPPassManager::runOnFunction(llvm::Function&)
(build/bin/llc+0x2653d78)

-- 
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/20210126/c1a08b31/attachment.html>


More information about the llvm-bugs mailing list