summaryrefslogtreecommitdiff
path: root/test/Transforms/LCSSA/2006-06-03-IncorrectIDFPhis.ll
blob: ffbe6fb4254e8b68eed175fa0e232538e60f84aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \
; RUN:   grep "%SJE.0.0.lcssa = phi .struct.SetJmpMapEntry" &&
; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \
; RUN:   grep "%SJE.0.0.lcssa1 = phi .struct.SetJmpMapEntry"

%struct.SetJmpMapEntry = type { sbyte*, uint, %struct.SetJmpMapEntry* }

implementation   ; Functions:

void %__llvm_sjljeh_try_catching_longjmp_exception() {
entry:
	br bool false, label %UnifiedReturnBlock, label %no_exit

no_exit:		; preds = %endif, %entry
	%SJE.0.0 = phi %struct.SetJmpMapEntry* [ %tmp.24, %endif ], [ null, %entry ]		; <%struct.SetJmpMapEntry*> [#uses=1]
	br bool false, label %then, label %endif

then:		; preds = %no_exit
	%tmp.20 = getelementptr %struct.SetJmpMapEntry* %SJE.0.0, int 0, uint 1		; <uint*> [#uses=0]
	ret void

endif:		; preds = %no_exit
	%tmp.24 = load %struct.SetJmpMapEntry** null		; <%struct.SetJmpMapEntry*> [#uses=1]
	br bool false, label %UnifiedReturnBlock, label %no_exit

UnifiedReturnBlock:		; preds = %endif, %entry
	ret void
}