diff options
Diffstat (limited to 'test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll')
-rw-r--r-- | test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll b/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll new file mode 100644 index 0000000..91e9799 --- /dev/null +++ b/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll @@ -0,0 +1,194 @@ +; RUN: opt < %s -loop-extract -disable-output + +declare i32 @_IO_getc() + +declare void @__errno_location() + +define void @yylex() { +entry: + switch i32 0, label %label.126 [ + i32 0, label %return + i32 61, label %combine + i32 33, label %combine + i32 94, label %combine + i32 37, label %combine + i32 47, label %combine + i32 42, label %combine + i32 62, label %combine + i32 60, label %combine + i32 58, label %combine + i32 124, label %combine + i32 38, label %combine + i32 45, label %combine + i32 43, label %combine + i32 34, label %string_constant + i32 39, label %char_constant + i32 46, label %loopexit.2 + i32 57, label %loopexit.2 + i32 56, label %loopexit.2 + i32 55, label %loopexit.2 + i32 54, label %loopexit.2 + i32 53, label %loopexit.2 + i32 52, label %loopexit.2 + i32 51, label %loopexit.2 + i32 50, label %loopexit.2 + i32 49, label %loopexit.2 + i32 48, label %loopexit.2 + i32 95, label %letter + i32 122, label %letter + i32 121, label %letter + i32 120, label %letter + i32 119, label %letter + i32 118, label %letter + i32 117, label %letter + i32 116, label %letter + i32 115, label %letter + i32 114, label %letter + i32 113, label %letter + i32 112, label %letter + i32 111, label %letter + i32 110, label %letter + i32 109, label %letter + i32 108, label %letter + i32 107, label %letter + i32 106, label %letter + i32 105, label %letter + i32 104, label %letter + i32 103, label %letter + i32 102, label %letter + i32 101, label %letter + i32 100, label %letter + i32 99, label %letter + i32 98, label %letter + i32 97, label %letter + i32 90, label %letter + i32 89, label %letter + i32 88, label %letter + i32 87, label %letter + i32 86, label %letter + i32 85, label %letter + i32 84, label %letter + i32 83, label %letter + i32 82, label %letter + i32 81, label %letter + i32 80, label %letter + i32 79, label %letter + i32 78, label %letter + i32 77, label %letter + i32 75, label %letter + i32 74, label %letter + i32 73, label %letter + i32 72, label %letter + i32 71, label %letter + i32 70, label %letter + i32 69, label %letter + i32 68, label %letter + i32 67, label %letter + i32 66, label %letter + i32 65, label %letter + i32 64, label %label.13 + i32 76, label %label.12 + i32 36, label %label.11 + i32 -1, label %label.10 + ] + +label.10: ; preds = %entry + ret void + +label.11: ; preds = %entry + ret void + +label.12: ; preds = %entry + ret void + +label.13: ; preds = %entry + ret void + +letter: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry + ret void + +loopexit.2: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry + switch i32 0, label %shortcirc_next.14 [ + i32 48, label %then.20 + i32 46, label %endif.38 + ] + +then.20: ; preds = %loopexit.2 + switch i32 0, label %else.4 [ + i32 120, label %then.21 + i32 88, label %then.21 + ] + +then.21: ; preds = %then.20, %then.20 + ret void + +else.4: ; preds = %then.20 + ret void + +shortcirc_next.14: ; preds = %loopexit.2 + ret void + +endif.38: ; preds = %loopexit.2 + br i1 false, label %then.40, label %then.39 + +then.39: ; preds = %endif.38 + ret void + +then.40: ; preds = %endif.38 + invoke void @__errno_location( ) + to label %switchexit.2 unwind label %LongJmpBlkPre + +loopentry.6: ; preds = %endif.52 + switch i32 0, label %switchexit.2 [ + i32 73, label %label.82 + i32 105, label %label.82 + i32 76, label %label.80 + i32 108, label %label.80 + i32 70, label %label.78 + i32 102, label %label.78 + ] + +label.78: ; preds = %loopentry.6, %loopentry.6 + ret void + +label.80: ; preds = %loopentry.6, %loopentry.6 + ret void + +label.82: ; preds = %loopentry.6, %loopentry.6 + %c.0.15.5 = phi i32 [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ] ; <i32> [#uses=0] + ret void + +switchexit.2: ; preds = %loopentry.6, %then.40 + br i1 false, label %endif.51, label %loopexit.6 + +endif.51: ; preds = %switchexit.2 + br i1 false, label %endif.52, label %then.52 + +then.52: ; preds = %endif.51 + ret void + +endif.52: ; preds = %endif.51 + %tmp.79417 = invoke i32 @_IO_getc( ) + to label %loopentry.6 unwind label %LongJmpBlkPre ; <i32> [#uses=2] + +loopexit.6: ; preds = %switchexit.2 + ret void + +char_constant: ; preds = %entry + ret void + +string_constant: ; preds = %entry + ret void + +combine: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry + ret void + +label.126: ; preds = %entry + ret void + +return: ; preds = %entry + ret void + +LongJmpBlkPre: ; preds = %endif.52, %then.40 + ret void +} |