[llvm-bugs] [Bug 33468] New: Bad machine code: Using an undefined physical register

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jun 15 06:24:20 PDT 2017


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

            Bug ID: 33468
           Summary: Bad machine code: Using an undefined physical register
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedbugs at nondot.org
          Reporter: llvm-dev at redking.me.uk
                CC: llvm-bugs at lists.llvm.org

Found during testing llvm-stress for D34157. I've done a basic bugpoint
reduction but nothing more.

define void @autogen_SD81673(i8* %arg) {
BB:
  br label %CF658

CF658:                                            ; preds = %CF658, %BB
  br i1 undef, label %CF658, label %CF657

CF657:                                            ; preds = %CF729, %CF658
  %B45 = sdiv i8 undef, undef
  %Sl47 = select i1 undef, i8* %arg, i8* %arg
  br label %CF713

CF713:                                            ; preds = %CF713, %CF657
  %Cmp91 = icmp ule i64 340531, undef
  br i1 %Cmp91, label %CF713, label %CF729

CF729:                                            ; preds = %CF713
  store i8 %B45, i8* %Sl47
  %L106 = load i8, i8* %arg
  store i8 91, i8* %Sl47
  br i1 undef, label %CF657, label %CF668

CF668:                                            ; preds = %CF729
  store i8 %L106, i8* %arg
  br label %CF665

CF665:                                            ; preds = %CF730, %CF668
  br label %CF730

CF730:                                            ; preds = %CF730, %CF665
  br i1 undef, label %CF730, label %CF665
}

llc -mtriple=aarch64-unknown

# After AArch64 load / store optimization pass
# Machine code for function autogen_SD81673: NoPHIs, TracksLiveness, NoVRegs
Function Live Ins: %X0

BB#0: derived from LLVM BB %CF657
    Live Ins: %X0
        %W8<def> = MOVZWi 12850, 0
        %W8<def,tied1> = MOVKWi %W8<tied0>, 5, 16, %X8<imp-def>
    Successors according to CFG: BB#1(?%)

BB#1: derived from LLVM BB %CF713
    Live Ins: %X0 %X8
    Predecessors according to CFG: BB#0 BB#1
        %XZR<def> = SUBSXrs %X8<undef>, %X8, 0, %NZCV<imp-def>, %NZCV<imp-def>
        Bcc 8, <BB#1>, %NZCV<imp-use>
    Successors according to CFG: BB#1(0x7c000000 / 0x80000000 = 96.88%)
BB#2(0x0
4000000 / 0x80000000 = 3.12%)

BB#2: derived from LLVM BB %CF668
    Live Ins: %X0
    Predecessors according to CFG: BB#1
        STRBBui %W8<undef>, %X0, 0; mem:ST1[%Sl47]
        %W8<def> = ANDWri %W8, 7
        %W9<def> = MOVZWi 91, 0
        STRBBui %W9<kill>, %X0, 0; mem:ST1[%Sl47]
        STRBBui %W8<kill>, %X0<kill>, 0; mem:ST1[%arg]
    Successors according to CFG: BB#3(?%)

BB#3: derived from LLVM BB %CF730
    Predecessors according to CFG: BB#2 BB#3
        B <BB#3>
    Successors according to CFG: BB#3(?%)

# End machine code for function autogen_SD81673.

*** Bad machine code: Using an undefined physical register ***
- function:    autogen_SD81673
- basic block: BB#2 CF668 (0xc56300)
- instruction: %W8<def> = ANDWri
- operand 1:   %W8
LLVM ERROR: Found 1 machine code errors.

-- 
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/20170615/894cffd6/attachment.html>


More information about the llvm-bugs mailing list