llvm-project/llvm/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll

197 lines
5.0 KiB
LLVM

; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output
implementation ; Functions:
declare int %_IO_getc()
declare void %__errno_location()
void %yylex() {
entry:
switch uint 0, label %label.126 [
uint 0, label %return
uint 61, label %combine
uint 33, label %combine
uint 94, label %combine
uint 37, label %combine
uint 47, label %combine
uint 42, label %combine
uint 62, label %combine
uint 60, label %combine
uint 58, label %combine
uint 124, label %combine
uint 38, label %combine
uint 45, label %combine
uint 43, label %combine
uint 34, label %string_constant
uint 39, label %char_constant
uint 46, label %loopexit.2
uint 57, label %loopexit.2
uint 56, label %loopexit.2
uint 55, label %loopexit.2
uint 54, label %loopexit.2
uint 53, label %loopexit.2
uint 52, label %loopexit.2
uint 51, label %loopexit.2
uint 50, label %loopexit.2
uint 49, label %loopexit.2
uint 48, label %loopexit.2
uint 95, label %letter
uint 122, label %letter
uint 121, label %letter
uint 120, label %letter
uint 119, label %letter
uint 118, label %letter
uint 117, label %letter
uint 116, label %letter
uint 115, label %letter
uint 114, label %letter
uint 113, label %letter
uint 112, label %letter
uint 111, label %letter
uint 110, label %letter
uint 109, label %letter
uint 108, label %letter
uint 107, label %letter
uint 106, label %letter
uint 105, label %letter
uint 104, label %letter
uint 103, label %letter
uint 102, label %letter
uint 101, label %letter
uint 100, label %letter
uint 99, label %letter
uint 98, label %letter
uint 97, label %letter
uint 90, label %letter
uint 89, label %letter
uint 88, label %letter
uint 87, label %letter
uint 86, label %letter
uint 85, label %letter
uint 84, label %letter
uint 83, label %letter
uint 82, label %letter
uint 81, label %letter
uint 80, label %letter
uint 79, label %letter
uint 78, label %letter
uint 77, label %letter
uint 75, label %letter
uint 74, label %letter
uint 73, label %letter
uint 72, label %letter
uint 71, label %letter
uint 70, label %letter
uint 69, label %letter
uint 68, label %letter
uint 67, label %letter
uint 66, label %letter
uint 65, label %letter
uint 64, label %label.13
uint 76, label %label.12
uint 36, label %label.11
uint 4294967295, 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 int 0, label %shortcirc_next.14 [
int 48, label %then.20
int 46, label %endif.38
]
then.20: ; preds = %loopexit.2
switch int 0, label %else.4 [
int 120, label %then.21
int 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 bool 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 uint 0, label %switchexit.2 [
uint 73, label %label.82
uint 105, label %label.82
uint 76, label %label.80
uint 108, label %label.80
uint 70, label %label.78
uint 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 int [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ] ; <int> [#uses=0]
ret void
switchexit.2: ; preds = %then.40, %loopentry.6
br bool false, label %endif.51, label %loopexit.6
endif.51: ; preds = %switchexit.2
br bool false, label %endif.52, label %then.52
then.52: ; preds = %endif.51
ret void
endif.52: ; preds = %endif.51
%tmp.79417 = invoke int %_IO_getc( )
to label %loopentry.6 unwind label %LongJmpBlkPre ; <int> [#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 = %then.40, %endif.52
ret void
}