| ; 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() |