| ; RUN: opt < %s -passes=simple-loop-unswitch -disable-output | |
| ; PR38283 | |
| ; PR38737 | |
| define void @Test(i32) { | |
| entry: | |
| %trunc = trunc i32 %0 to i3 | |
| br label %outer | |
| outer: | |
| br label %inner | |
| inner: | |
| switch i3 %trunc, label %crit_edge [ | |
| i3 2, label %break | |
| i3 1, label %loopexit | |
| ] | |
| crit_edge: | |
| br i1 true, label %loopexit, label %inner | |
| loopexit: | |
| ret void | |
| break: | |
| br label %outer | |
| } |