summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-08-07 23:58:47 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-08-07 23:58:47 +0000
commit080e187dfba3730b6eb45779c92f8aabb94c998a (patch)
tree9a37c9875c9d8bfb80f60be68f190fba9214680b
parentd1001f2ac20d5f83037fa418769a8622b3413305 (diff)
downloadllvm-080e187dfba3730b6eb45779c92f8aabb94c998a.tar.gz
llvm-080e187dfba3730b6eb45779c92f8aabb94c998a.tar.bz2
llvm-080e187dfba3730b6eb45779c92f8aabb94c998a.tar.xz
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29558 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/X86/2006-08-07-CycleInDAG.ll30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2006-08-07-CycleInDAG.ll b/test/CodeGen/X86/2006-08-07-CycleInDAG.ll
new file mode 100644
index 0000000000..a8a37325b6
--- /dev/null
+++ b/test/CodeGen/X86/2006-08-07-CycleInDAG.ll
@@ -0,0 +1,30 @@
+; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2
+
+fastcc int %test(%struct.foo* %v, %struct.foo* %vi) {
+ br bool false, label %ilog2.exit, label %cond_true.i
+
+cond_true.i: ; preds = %entry
+ ret int 0
+
+ilog2.exit: ; preds = %entry
+ %tmp24.i = load int* null ; <int> [#uses=1]
+ %tmp13.i12.i = tail call double %ldexp( double 0.000000e+00, int 0 ) ; <double> [#uses=1]
+ %tmp13.i13.i = cast double %tmp13.i12.i to float ; <float> [#uses=1]
+ %tmp11.i = load int* null ; <int> [#uses=1]
+ %tmp11.i = cast int %tmp11.i to uint ; <uint> [#uses=1]
+ %n.i = cast int %tmp24.i to uint ; <uint> [#uses=1]
+ %tmp13.i7 = mul uint %tmp11.i, %n.i ; <uint> [#uses=1]
+ %tmp.i8 = tail call sbyte* %calloc( uint %tmp13.i7, uint 4 ) ; <sbyte*> [#uses=0]
+ br bool false, label %bb224.preheader.i, label %bb.i
+
+bb.i: ; preds = %ilog2.exit
+ ret int 0
+
+bb224.preheader.i: ; preds = %ilog2.exit
+ %tmp165.i = cast float %tmp13.i13.i to double ; <double> [#uses=0]
+ ret int 0
+}
+
+declare sbyte* %calloc(uint, uint)
+
+declare double %ldexp(double, int)