summaryrefslogtreecommitdiff
path: root/test/Other
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-04-25 00:35:37 +0000
committerDevang Patel <dpatel@apple.com>2007-04-25 00:35:37 +0000
commit193b585f1b153507a9a5d248ebfead6caf03577e (patch)
tree49c9011008e37d76fee5d41328ce0b0b0bb5e410 /test/Other
parent5fa4c43f14009166588b09db1de0e0ed9ee94287 (diff)
downloadllvm-193b585f1b153507a9a5d248ebfead6caf03577e.tar.gz
llvm-193b585f1b153507a9a5d248ebfead6caf03577e.tar.bz2
llvm-193b585f1b153507a9a5d248ebfead6caf03577e.tar.xz
New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36416 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Other')
-rw-r--r--test/Other/2007-04-24-eliminate-mostly-empty-blocks.ll309
1 files changed, 309 insertions, 0 deletions
diff --git a/test/Other/2007-04-24-eliminate-mostly-empty-blocks.ll b/test/Other/2007-04-24-eliminate-mostly-empty-blocks.ll
new file mode 100644
index 0000000000..1bb8683838
--- /dev/null
+++ b/test/Other/2007-04-24-eliminate-mostly-empty-blocks.ll
@@ -0,0 +1,309 @@
+;RUN: llvm-upgrade < %s | llvm-as | opt -codegenprepare -disable-output
+
+void @foo() {
+entry:
+ br i1 false, label %cond_next31, label %cond_true
+
+cond_true: ; preds = %entry
+ br i1 false, label %cond_true19, label %cond_next31
+
+cond_true19: ; preds = %cond_true
+ br i1 false, label %bb510, label %cond_next31
+
+cond_next31: ; preds = %cond_true19, %cond_true, %entry
+ br i1 false, label %cond_true61, label %cond_next78
+
+cond_true61: ; preds = %cond_next31
+ br label %cond_next78
+
+cond_next78: ; preds = %cond_true61, %cond_next31
+ br i1 false, label %cond_true93, label %bb.preheader
+
+cond_true93: ; preds = %cond_next78
+ br label %bb.preheader
+
+bb.preheader: ; preds = %cond_true93, %cond_next78
+ %iftmp.11.0.ph.ph = phi i16 [ 0, %cond_true93 ], [ 0, %cond_next78 ] ; <i16> [#uses=1]
+ br label %bb
+
+bb: ; preds = %cond_next499, %bb.preheader
+ %n.1 = phi i16 [ %iftmp.11.0.ph.ph, %cond_next499 ], [ 0, %bb.preheader ] ; <i16> [#uses=0]
+ br i1 false, label %bb148.preheader, label %bb493
+
+bb148.preheader: ; preds = %bb
+ br label %bb148
+
+bb148: ; preds = %cond_next475, %bb148.preheader
+ br i1 false, label %cond_next175, label %bb184
+
+cond_next175: ; preds = %bb148
+ br i1 false, label %bb184, label %bb185
+
+bb184: ; preds = %cond_next175, %bb148
+ br label %bb185
+
+bb185: ; preds = %bb184, %cond_next175
+ br i1 false, label %bb420.preheader, label %cond_true198
+
+bb420.preheader: ; preds = %bb185
+ br label %bb420
+
+cond_true198: ; preds = %bb185
+ br i1 false, label %bb294, label %cond_next208
+
+cond_next208: ; preds = %cond_true198
+ br i1 false, label %cond_next249, label %cond_true214
+
+cond_true214: ; preds = %cond_next208
+ br i1 false, label %bb294, label %cond_next262
+
+cond_next249: ; preds = %cond_next208
+ br i1 false, label %bb294, label %cond_next262
+
+cond_next262: ; preds = %cond_next249, %cond_true214
+ br label %bb269
+
+bb269: ; preds = %cond_next285, %cond_next262
+ br i1 false, label %cond_next285, label %cond_true279
+
+cond_true279: ; preds = %bb269
+ br label %cond_next285
+
+cond_next285: ; preds = %cond_true279, %bb269
+ br i1 false, label %bb269, label %cond_next446.loopexit
+
+bb294: ; preds = %cond_next249, %cond_true214, %cond_true198
+ br i1 false, label %cond_next336, label %cond_true301
+
+cond_true301: ; preds = %bb294
+ br i1 false, label %cond_false398, label %cond_true344
+
+cond_next336: ; preds = %bb294
+ br i1 false, label %cond_false398, label %cond_true344
+
+cond_true344: ; preds = %cond_next336, %cond_true301
+ br i1 false, label %cond_false381, label %cond_true351
+
+cond_true351: ; preds = %cond_true344
+ br label %cond_next387
+
+cond_false381: ; preds = %cond_true344
+ br label %cond_next387
+
+cond_next387: ; preds = %cond_false381, %cond_true351
+ br label %cond_next401
+
+cond_false398: ; preds = %cond_next336, %cond_true301
+ br label %cond_next401
+
+cond_next401: ; preds = %cond_false398, %cond_next387
+ br i1 false, label %cond_next475, label %cond_true453
+
+bb420: ; preds = %cond_next434, %bb420.preheader
+ br i1 false, label %cond_next434, label %cond_true428
+
+cond_true428: ; preds = %bb420
+ br label %cond_next434
+
+cond_next434: ; preds = %cond_true428, %bb420
+ br i1 false, label %bb420, label %cond_next446.loopexit1
+
+cond_next446.loopexit: ; preds = %cond_next285
+ br label %cond_next446
+
+cond_next446.loopexit1: ; preds = %cond_next434
+ br label %cond_next446
+
+cond_next446: ; preds = %cond_next446.loopexit1, %cond_next446.loopexit
+ br i1 false, label %cond_next475, label %cond_true453
+
+cond_true453: ; preds = %cond_next446, %cond_next401
+ br i1 false, label %cond_true458, label %cond_next475
+
+cond_true458: ; preds = %cond_true453
+ br label %cond_next475
+
+cond_next475: ; preds = %cond_true458, %cond_true453, %cond_next446, %cond_next401
+ br i1 false, label %bb493.loopexit, label %bb148
+
+bb493.loopexit: ; preds = %cond_next475
+ br label %bb493
+
+bb493: ; preds = %bb493.loopexit, %bb
+ br i1 false, label %cond_next499, label %bb510.loopexit
+
+cond_next499: ; preds = %bb493
+ br label %bb
+
+bb510.loopexit: ; preds = %bb493
+ br label %bb510
+
+bb510: ; preds = %bb510.loopexit, %cond_true19
+ br i1 false, label %cond_next524, label %cond_true517
+
+cond_true517: ; preds = %bb510
+ br label %cond_next524
+
+cond_next524: ; preds = %cond_true517, %bb510
+ br i1 false, label %cond_next540, label %cond_true533
+
+cond_true533: ; preds = %cond_next524
+ br label %cond_next540
+
+cond_next540: ; preds = %cond_true533, %cond_next524
+ br i1 false, label %cond_true554, label %cond_next560
+
+cond_true554: ; preds = %cond_next540
+ br label %cond_next560
+
+cond_next560: ; preds = %cond_true554, %cond_next540
+ br i1 false, label %cond_true566, label %cond_next572
+
+cond_true566: ; preds = %cond_next560
+ br label %cond_next572
+
+cond_next572: ; preds = %cond_true566, %cond_next560
+ br i1 false, label %bb608.preheader, label %bb791.preheader
+
+bb608.preheader: ; preds = %cond_next797.us, %cond_next572
+ br label %bb608
+
+bb608: ; preds = %cond_next771, %bb608.preheader
+ br i1 false, label %cond_false627, label %cond_true613
+
+cond_true613: ; preds = %bb608
+ br label %cond_next640
+
+cond_false627: ; preds = %bb608
+ br label %cond_next640
+
+cond_next640: ; preds = %cond_false627, %cond_true613
+ br i1 false, label %cond_true653, label %cond_next671
+
+cond_true653: ; preds = %cond_next640
+ br label %cond_next671
+
+cond_next671: ; preds = %cond_true653, %cond_next640
+ br i1 false, label %cond_true683, label %cond_next724
+
+cond_true683: ; preds = %cond_next671
+ br i1 false, label %cond_next724, label %L1
+
+cond_next724: ; preds = %cond_true683, %cond_next671
+ br i1 false, label %cond_true735, label %L1
+
+cond_true735: ; preds = %cond_next724
+ br label %L1
+
+L1: ; preds = %cond_true735, %cond_next724, %cond_true683
+ br i1 false, label %cond_true745, label %cond_next771
+
+cond_true745: ; preds = %L1
+ br label %cond_next771
+
+cond_next771: ; preds = %cond_true745, %L1
+ br i1 false, label %bb608, label %bb791.preheader.loopexit
+
+bb791.preheader.loopexit: ; preds = %cond_next771
+ br label %bb791.preheader
+
+bb791.preheader: ; preds = %bb791.preheader.loopexit, %cond_next572
+ br i1 false, label %cond_next797.us, label %bb809.split
+
+cond_next797.us: ; preds = %bb791.preheader
+ br label %bb608.preheader
+
+bb809.split: ; preds = %bb791.preheader
+ br i1 false, label %cond_next827, label %cond_true820
+
+cond_true820: ; preds = %bb809.split
+ br label %cond_next827
+
+cond_next827: ; preds = %cond_true820, %bb809.split
+ br i1 false, label %cond_true833, label %cond_next840
+
+cond_true833: ; preds = %cond_next827
+ br label %cond_next840
+
+cond_next840: ; preds = %cond_true833, %cond_next827
+ br i1 false, label %bb866, label %bb1245
+
+bb866: ; preds = %bb1239, %cond_next840
+ br i1 false, label %cond_true875, label %bb911
+
+cond_true875: ; preds = %bb866
+ br label %cond_next1180
+
+bb911: ; preds = %bb866
+ switch i32 0, label %bb1165 [
+ i32 0, label %bb915
+ i32 1, label %bb932
+ i32 2, label %bb941
+ i32 3, label %bb1029
+ i32 4, label %bb1036
+ i32 5, label %bb1069
+ i32 6, label %L3
+ ]
+
+bb915: ; preds = %cond_next1171, %bb911
+ br i1 false, label %cond_next1171, label %cond_next1180
+
+bb932: ; preds = %cond_next1171, %bb911
+ br label %L1970
+
+bb941: ; preds = %cond_next1171, %bb911
+ br label %L1970
+
+L1970: ; preds = %bb941, %bb932
+ br label %bb1165
+
+bb1029: ; preds = %cond_next1171, %bb911
+ br label %L4
+
+bb1036: ; preds = %cond_next1171, %bb911
+ br label %L4
+
+bb1069: ; preds = %cond_next1171, %bb911
+ br i1 false, label %cond_next1121, label %cond_true1108
+
+L3: ; preds = %cond_next1171, %bb911
+ br i1 false, label %cond_next1121, label %cond_true1108
+
+cond_true1108: ; preds = %L3, %bb1069
+ br label %L4
+
+cond_next1121: ; preds = %L3, %bb1069
+ br label %L4
+
+L4: ; preds = %cond_next1121, %cond_true1108, %bb1036, %bb1029
+ br label %bb1165
+
+bb1165: ; preds = %cond_next1171, %L4, %L1970, %bb911
+ br i1 false, label %cond_next1171, label %cond_next1180
+
+cond_next1171: ; preds = %bb1165, %bb915
+ switch i32 0, label %bb1165 [
+ i32 0, label %bb915
+ i32 1, label %bb932
+ i32 2, label %bb941
+ i32 3, label %bb1029
+ i32 4, label %bb1036
+ i32 5, label %bb1069
+ i32 6, label %L3
+ ]
+
+cond_next1180: ; preds = %bb1165, %bb915, %cond_true875
+ br label %bb1239
+
+bb1239: ; preds = %cond_next1251, %cond_next1180
+ br i1 false, label %bb866, label %bb1245
+
+bb1245: ; preds = %bb1239, %cond_next840
+ br i1 false, label %cond_next1251, label %bb1257
+
+cond_next1251: ; preds = %bb1245
+ br label %bb1239
+
+bb1257: ; preds = %bb1245
+ ret void
+}