[LLVMbugs] [Bug 8813] New: Live ranges from inline assembly begin at use indices

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Dec 18 17:14:28 PST 2010


http://llvm.org/bugs/show_bug.cgi?id=8813

           Summary: Live ranges from inline assembly begin at use indices
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: zwarich at apple.com
                CC: llvmbugs at cs.uiuc.edu


If I run the verifier at the top of the pre-allocation coalescer I get the
following output on CodeGen/ARM/2007-05-14-RegScavengerAssert.ll:

*** Bad machine code: Inconsistent valno->def ***
- function:    decode_init
- basic block: bb59 0x10284aab8 (BB#3) [72L;144L)
- instruction: 92L    INLINEASM <es:smull $0, $1, $2, $3     
    mov   $0, $0,     lsr $4
    add   $1, $0, $1, lsl $5
    >, 0, 14, %reg16387<earlyclobber,def,dead>, 14,
%reg16388<earlyclobber,def>, 9, %reg16389, 9, %reg16390<kill>, 11, 23, 11, 9;
GPR:%reg16387,16388,16389,16390
- operand 3:   %reg16387<earlyclobber,def,dead>
Valno 0 is not defined at 92d in %reg16387,0.000000e+00 = [92u,92S:0)  0 at 92u

*** Bad machine code: Inconsistent valno->def ***
- function:    decode_init
- basic block: bb59 0x10284aab8 (BB#3) [72L;144L)
- instruction: 92L    INLINEASM <es:smull $0, $1, $2, $3     
    mov   $0, $0,     lsr $4
    add   $1, $0, $1, lsl $5
    >, 0, 14, %reg16387<earlyclobber,def,dead>, 14,
%reg16388<earlyclobber,def>, 9, %reg16389, 9, %reg16390<kill>, 11, 23, 11, 9;
GPR:%reg16387,16388,16389,16390
- operand 5:   %reg16388<earlyclobber,def>
Valno 0 is not defined at 92d in %reg16388,0.000000e+00 = [92u,100d:0)  0 at 92u

*** Bad machine code: Inconsistent valno->def ***
- function:    decode_init
- basic block: bb59 0x10284aab8 (BB#3) [72L;144L)
- instruction: 124L    INLINEASM <es:smull $0, $1, $2, $3     
    mov   $0, $0,     lsr $4
    add   $1, $0, $1, lsl $5
    >, 0, 14, %reg16391<earlyclobber,def,dead>, 14,
%reg16392<earlyclobber,def>, 9, %reg16393<kill>, 9, %reg16394<kill>, 11, 23,
11, 9; GPR:%reg16391,16392,16393,16394
- operand 3:   %reg16391<earlyclobber,def,dead>
Valno 0 is not defined at 124d in %reg16391,0.000000e+00 = [124u,124S:0) 
0 at 124u

*** Bad machine code: Inconsistent valno->def ***
- function:    decode_init
- basic block: bb59 0x10284aab8 (BB#3) [72L;144L)
- instruction: 124L    INLINEASM <es:smull $0, $1, $2, $3     
    mov   $0, $0,     lsr $4
    add   $1, $0, $1, lsl $5
    >, 0, 14, %reg16391<earlyclobber,def,dead>, 14,
%reg16392<earlyclobber,def>, 9, %reg16393<kill>, 9, %reg16394<kill>, 11, 23,
11, 9; GPR:%reg16391,16392,16393,16394
- operand 5:   %reg16392<earlyclobber,def>
Valno 0 is not defined at 124d in %reg16392,0.000000e+00 = [124u,132d:0) 
0 at 124u

*** Bad machine code: Non-PHI def must be at a DEF slot ***
- function:    decode_init
Valno #0 is defined at 92u in %reg16388,0.000000e+00 = [92u,100d:0)  0 at 92u

*** Bad machine code: Non-PHI def must be at a DEF slot ***
- function:    decode_init
Valno #0 is defined at 124u in %reg16392,0.000000e+00 = [124u,132d:0)  0 at 124u
LLVM ERROR: Found 6 machine code errors.

Should these live ranges begin at def indices? I've noticed that they end at
def indices rather than use indices as well.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list