Nuno Lopes 5fc9449c96 [DeadArgElim] Use poison instead of undef as placeholder for dead arguments
It doesn't matter which value we use for dead args, so let's switch
to poison, so we can eventually kill undef.

Reviewed By: aeubanks, fhahn

Differential Revision: https://reviews.llvm.org/D125983
2022-05-19 18:00:24 +01:00

23 lines
620 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -passes=deadargelim -S | FileCheck %s
declare void @sideeffect()
define void @unused_byref_arg(i32* byref(i32) %dead_arg) {
; CHECK-LABEL: @unused_byref_arg(
; CHECK-NEXT: tail call void @sideeffect()
; CHECK-NEXT: ret void
;
tail call void @sideeffect()
ret void
}
define void @dont_replace_by_poison(i32* %ptr) {
; CHECK-LABEL: @dont_replace_by_poison(
; CHECK-NEXT: call void @unused_byref_arg(i32* byref(i32) poison)
; CHECK-NEXT: ret void
;
call void @unused_byref_arg(i32* byref(i32) %ptr)
ret void
}