Relax dwarf line fragments. This fixes a crash in the included testcase.
[oota-llvm.git] / test / CodeGen / Generic / 2003-05-27-phifcmpd.ll
index 1561bebaad16ac06508e74ac2acf69b07a8f14d9..6fb17991e7393d71cf712eb266cfdd7e4f7a4465 100644 (file)
@@ -1,71 +1,19 @@
-;; Date: May 28, 2003.
-;; From: test/Programs/MultiSource/McCat-05-eks/QRfact.c
-;; Function: Matrix QRiterate(Matrix A, Matrix U)
-;; 
-;; Error: llc produces an invalid register <NULL VALUE> for the
-;;        phi argument %tmp.213 produced by fcmpd:
-;; 
-;; LLC Output:
-;; 
-;; !****** Outputing Function: QRiterate_1 ******
-;; 
-;;         .section ".text"
-;;         .align  4
-;;         .global QRiterate_1
-;;         .type   QRiterate_1, 2
-;; QRiterate_1:
-;; .L_QRiterate_1_LL_0:
-;;         save    %o6, -192, %o6
-;;         brgz    %i0, .L_QRiterate_1_LL_1
-;;         add     %g0, %g0, %o0
-;;         ba      .L_QRiterate_1_LL_2
-;;         nop     
-;; 
-;; .L_QRiterate_1_LL_1:
-;;         sethi   %lm(LLVMGlobal__2), %o1
-;;         sethi   %hh(LLVMGlobal__2), %o0
-;;         or      %o0, %hm(LLVMGlobal__2), %o0
-;;         sllx    %o0, 32, %o0
-;;         or      %o1, %o0, %o1
-;;         or      %o1, %lo(LLVMGlobal__2), %o1
-;;         ldd     [%o1+0], %f32
-;;         fcmpd   %fcc0, %f2, %f32
-;;         ba      .L_QRiterate_1_LL_2
-;;         add     <NULL VALUE>, %g0, %o0
-;; 
-;; .L_QRiterate_1_LL_2:
-;;         brnz    %o0, .L_QRiterate_1_LL_1
-;;         nop     
-;;         ba      .L_QRiterate_1_LL_3
-;;         nop     
-;;
-;; .L_QRiterate_1_LL_3:
-;;         jmpl    %i7+8, %g0
-;;         restore %g0, 0, %g0
-;; 
-;; .EndOf_QRiterate_1:
-;;         .size QRiterate_1, .EndOf_QRiterate_1-QRiterate_1
-;; 
+; RUN: llc < %s
 
+define void @QRiterate(i32 %p.1, double %tmp.212) {
+entry:
+        %tmp.184 = icmp sgt i32 %p.1, 0         ; <i1> [#uses=1]
+        br i1 %tmp.184, label %shortcirc_next.1, label %shortcirc_done.1
 
-target endian = big
-target pointersize = 64
-
-implementation   ; Functions:
-
-internal void %QRiterate(int %p.1, double %tmp.212) { 
-entry:          ; No predecessors!
-        %tmp.184 = setgt int %p.1, 0            ; <bool> [#uses=1]
-        br bool %tmp.184, label %shortcirc_next.1, label %shortcirc_done.1
-
-shortcirc_next.1:               ; preds = %entry
-        %tmp.213 = setne double %tmp.212, 0.000000e+00
+shortcirc_next.1:               ; preds = %shortcirc_done.1, %entry
+        %tmp.213 = fcmp une double %tmp.212, 0.000000e+00               ; <i1> [#uses=1]
         br label %shortcirc_done.1
 
-shortcirc_done.1:               ; preds = %entry, %shortcirc_next.1
-        %val.1 = phi bool [ false, %entry ], [ %tmp.213, %shortcirc_next.1 ]
-        br bool %val.1, label %shortcirc_next.1, label %exit.1
+shortcirc_done.1:               ; preds = %shortcirc_next.1, %entry
+        %val.1 = phi i1 [ false, %entry ], [ %tmp.213, %shortcirc_next.1 ]              ; <i1> [#uses=1]
+        br i1 %val.1, label %shortcirc_next.1, label %exit.1
 
-exit.1:
-       ret void
+exit.1:         ; preds = %shortcirc_done.1
+        ret void
 }
+