| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py | |
| ; RUN: opt < %s -passes=sccp -S | FileCheck %s | |
| ; Branch on poison is UB, so the T block is never executed, and we can return | |
| ; undef (IPSCCP would replace the block with unreachable). | |
| define i32 @foo() { | |
| ; CHECK-LABEL: @foo( | |
| ; CHECK-NEXT: unreachable | |
| ; | |
| br i1 poison, label %T, label %T | |
| T: | |
| %X = add i32 0, 1 | |
| ret i32 %X | |
| } | |