[LLVMdev] Sparc regression in V119382 "pseudo instruction expansion"

llvmjp jpbonn-keyword-llvm.7c175e at corniceresearch.com
Mon Nov 29 12:29:14 PST 2010


The following code compiles for Sparc prior to version 119382 but causes 
a llc to hang in version 119382 and later.  I glanced at it but haven't 
figure it out yet.  I figure I'd ping the list to see if it's an obvious 
fix to someone else.

define void @test(i16 %di, i32 %L_num, i32 %tmp1, i16* %P) {
         %X = shl i16 %di, 1          ; <i16> [#uses=1]
         %tmp28 = shl i32 %L_num, 1            ; <i32> [#uses=1]
         %tmp31 = icmp slt i32 %tmp28, %tmp1   ; <i1> [#uses=1]
         %tmp31.upgrd = zext i1 %tmp31 to i16          ; <i16> [#uses=1]
         %tmp371 = or i16 %tmp31.upgrd, %X            ; <i16> [#uses=1]
         %div.0.be.i.i.i.i = xor i16 %tmp371, 1         ; <i16> [#uses=1]
         store i16 %div.0.be.i.i.i.i, i16* %P
         ret void
}



More information about the llvm-dev mailing list