| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt -passes=deadargelim -S < %s | FileCheck %s |
| ; PR36441 |
| ; Dead arguments should not be removed in presence of `musttail` calls. |
| |
| define internal void @test(i32 %a, i32 %b) { |
| ; CHECK-LABEL: define internal void @test( |
| ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: musttail call void @foo(i32 poison, i32 poison) |
| ; CHECK-NEXT: ret void |
| ; |
| musttail call void @foo(i32 %a, i32 0) |
| ret void |
| } |
| |
| define internal void @foo(i32 %a, i32 %b) { |
| ; CHECK-LABEL: define internal void @foo( |
| ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]]) { |
| ; CHECK-NEXT: ret void |
| ; |
| ret void |
| } |