; RUN: opt -passes=lower-global-dtors -S < %s | FileCheck %s --implicit-check-not=llvm.global_dtors | |
; Test that @llvm.global_dtors is completely removed if __cxa_atexit | |
; is a no-op (i.e. doesn't use its first argument). | |
declare void @orig_dtor() | |
define i32 @__cxa_atexit(ptr, ptr, ptr) { | |
ret i32 0 | |
} | |
@llvm.global_dtors = appending global [1 x { i32, ptr, ptr }] [ | |
{ i32, ptr, ptr } { i32 0, ptr @orig_dtor, ptr null } | |
] | |
; CHECK-NOT: @llvm.global_dtors | |
; CHECK-NOT: call void @orig_dtor() |