| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| ; This input caused the mem2reg pass to die because it was trying to promote |
| ; the %r alloca, even though it is invalid to do so in this case! |
| ; |
| ; RUN: opt < %s -passes=mem2reg -S | FileCheck %s |
| |
| define void @test() { |
| ; CHECK-LABEL: @test( |
| ; CHECK-NEXT: [[R:%.*]] = alloca i32, align 4 |
| ; CHECK-NEXT: store i32 4, ptr [[R]], align 4 |
| ; CHECK-NEXT: store ptr [[R]], ptr null, align 8 |
| ; CHECK-NEXT: ret void |
| ; |
| %r = alloca i32 ; <ptr> [#uses=2] |
| store i32 4, ptr %r |
| store ptr %r, ptr null |
| ret void |
| } |
| |