diff options
author | Chris Lattner <sabre@nondot.org> | 2007-01-14 18:33:11 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-01-14 18:33:11 +0000 |
commit | 5a42a935b22aa2e5a370102e4c2146321bb85c71 (patch) | |
tree | b57414f03e6cc13ca2aa484e6674805f51894008 /test/Analysis | |
parent | 1a85645d461cb2dde63f36aeb1f61d946ff7c2f0 (diff) | |
download | external_llvm-5a42a935b22aa2e5a370102e4c2146321bb85c71.zip external_llvm-5a42a935b22aa2e5a370102e4c2146321bb85c71.tar.gz external_llvm-5a42a935b22aa2e5a370102e4c2146321bb85c71.tar.bz2 |
testcase for pr1110
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33203 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis')
-rw-r--r-- | test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll b/test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll new file mode 100644 index 0000000..866505d --- /dev/null +++ b/test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll @@ -0,0 +1,188 @@ +; RUN: llvm-as < %s | opt -domset -break-crit-edges -domtree -disable-output +; PR1110 + + %struct.OggVorbis_File = type { i8*, i32, i64, i64, %struct.ogg_sync_state, i32, i64*, i64*, i32*, i64*, %struct.vorbis_info*, %struct.vorbis_comment*, i64, i32, i32, i32, double, double, %struct.ogg_stream_state, %struct.vorbis_dsp_state, %struct.vorbis_block, %struct.ov_callbacks } + %struct.alloc_chain = type { i8*, %struct.alloc_chain* } + %struct.ogg_stream_state = type { i8*, i32, i32, i32, i32*, i64*, i32, i32, i32, i32, [282 x i8], i32, i32, i32, i32, i32, i64, i64 } + %struct.ogg_sync_state = type { i8*, i32, i32, i32, i32, i32, i32 } + %struct.oggpack_buffer = type { i32, i32, i8*, i8*, i32 } + %struct.ov_callbacks = type { i32 (i8*, i32, i32, i8*)*, i32 (i8*, i64, i32)*, i32 (i8*)*, i32 (i8*)* } + %struct.vorbis_block = type { float**, %struct.oggpack_buffer, i32, i32, i32, i32, i32, i32, i64, i64, %struct.vorbis_dsp_state*, i8*, i32, i32, i32, %struct.alloc_chain*, i32, i32, i32, i32, i8* } + %struct.vorbis_comment = type { i8**, i32*, i32, i8* } + %struct.vorbis_dsp_state = type { i32, %struct.vorbis_info*, float**, float**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8* } + %struct.vorbis_info = type { i32, i32, i32, i32, i32, i32, i32, i8* } + +implementation ; Functions: + +define void %ov_read() { +entry: + br i1 false, label %bb, label %return + +bb: ; preds = %cond_next22, %entry + br i1 false, label %cond_true8, label %cond_next15 + +cond_true8: ; preds = %bb + br i1 false, label %cond_next15, label %bb29 + +cond_next15: ; preds = %cond_true8, %bb + br i1 false, label %return, label %cond_next22 + +cond_next22: ; preds = %cond_next15 + br i1 false, label %bb, label %return + +bb29: ; preds = %cond_true8 + br i1 false, label %cond_true32, label %return + +cond_true32: ; preds = %bb29 + br i1 false, label %cond_false37.i, label %cond_true.i11 + +cond_true.i11: ; preds = %cond_true32 + br i1 false, label %cond_true8.i, label %ov_info.exit + +cond_true8.i: ; preds = %cond_true.i11 + br i1 false, label %cond_true44, label %cond_next48 + +cond_false37.i: ; preds = %cond_true32 + br label %ov_info.exit + +ov_info.exit: ; preds = %cond_false37.i, %cond_true.i11 + br i1 false, label %cond_true44, label %cond_next48 + +cond_true44: ; preds = %ov_info.exit, %cond_true8.i + br label %cond_next48 + +cond_next48: ; preds = %cond_true44, %ov_info.exit, %cond_true8.i + br i1 false, label %cond_next53, label %return + +cond_next53: ; preds = %cond_next48 + br i1 false, label %cond_true56, label %cond_false97 + +cond_true56: ; preds = %cond_next53 + br i1 false, label %bb85, label %cond_next304 + +bb63: ; preds = %bb85 + br i1 false, label %cond_next78, label %cond_false73 + +cond_false73: ; preds = %bb63 + br i1 false, label %cond_true76, label %cond_next78 + +cond_true76: ; preds = %cond_false73 + br label %cond_next78 + +cond_next78: ; preds = %cond_true76, %cond_false73, %bb63 + br label %bb85 + +bb85: ; preds = %bb89, %cond_next78, %cond_true56 + br i1 false, label %bb63, label %bb89 + +bb89: ; preds = %bb85 + br i1 false, label %bb85, label %cond_next304 + +cond_false97: ; preds = %cond_next53 + br i1 false, label %cond_true108, label %bb248 + +cond_true108: ; preds = %cond_false97 + br i1 false, label %bb196, label %bb149 + +bb112: ; preds = %bb149, %bb146 + br i1 false, label %bb119, label %bb146 + +bb119: ; preds = %cond_next134, %bb112 + br i1 false, label %cond_next134, label %cond_false129 + +cond_false129: ; preds = %bb119 + br i1 false, label %cond_true132, label %cond_next134 + +cond_true132: ; preds = %cond_false129 + br label %cond_next134 + +cond_next134: ; preds = %cond_true132, %cond_false129, %bb119 + br i1 false, label %bb119, label %bb146 + +bb146: ; preds = %cond_next134, %bb112 + br i1 false, label %bb112, label %cond_next304 + +bb149: ; preds = %cond_true108 + br i1 false, label %bb112, label %cond_next304 + +bb155: ; preds = %bb196, %bb193 + br i1 false, label %bb165, label %bb193 + +bb165: ; preds = %cond_next180, %bb155 + br i1 false, label %cond_next180, label %cond_false175 + +cond_false175: ; preds = %bb165 + br i1 false, label %cond_true178, label %cond_next180 + +cond_true178: ; preds = %cond_false175 + br label %cond_next180 + +cond_next180: ; preds = %cond_true178, %cond_false175, %bb165 + br i1 false, label %bb165, label %bb193 + +bb193: ; preds = %cond_next180, %bb155 + br i1 false, label %bb155, label %cond_next304 + +bb196: ; preds = %cond_true108 + br i1 false, label %bb155, label %cond_next304 + +bb207: ; preds = %bb241 + br i1 false, label %cond_next225, label %cond_false220 + +cond_false220: ; preds = %bb207 + br i1 false, label %cond_true223, label %cond_next225 + +cond_true223: ; preds = %cond_false220 + br label %cond_next225 + +cond_next225: ; preds = %cond_true223, %cond_false220, %bb207 + br label %bb241 + +bb241: ; preds = %bb248, %bb245, %cond_next225 + br i1 false, label %bb207, label %bb245 + +bb245: ; preds = %bb241 + br i1 false, label %bb241, label %cond_next304 + +bb248: ; preds = %cond_false97 + br i1 false, label %bb241, label %cond_next304 + +bb256: ; preds = %bb290 + br i1 false, label %cond_next274, label %cond_false269 + +cond_false269: ; preds = %bb256 + br i1 false, label %cond_true272, label %cond_next274 + +cond_true272: ; preds = %cond_false269 + br label %cond_next274 + +cond_next274: ; preds = %cond_true272, %cond_false269, %bb256 + br label %bb290 + +bb290: ; preds = %bb294, %cond_next274 + br i1 false, label %bb256, label %bb294 + +bb294: ; preds = %bb290 + br i1 false, label %bb290, label %cond_next304 + +cond_next304: ; preds = %bb294, %bb248, %bb245, %bb196, %bb193, %bb149, %bb146, %bb89, %cond_true56 + br i1 false, label %cond_next11.i, label %cond_true.i + +cond_true.i: ; preds = %cond_next304 + br i1 false, label %vorbis_synthesis_read.exit, label %cond_next11.i + +cond_next11.i: ; preds = %cond_true.i, %cond_next304 + br label %vorbis_synthesis_read.exit + +vorbis_synthesis_read.exit: ; preds = %cond_next11.i, %cond_true.i + br i1 false, label %cond_next321, label %cond_true316 + +cond_true316: ; preds = %vorbis_synthesis_read.exit + ret void + +cond_next321: ; preds = %vorbis_synthesis_read.exit + ret void + +return: ; preds = %cond_next48, %bb29, %cond_next22, %cond_next15, %entry + ret void +} |