; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2 ; RUN: opt -S -passes=globalopt < %s | FileCheck %s ; Test handling of dead constant expressions in CleanupPointerRootUsers(). @g = internal global [2 x [1 x [6 x ptr]]] zeroinitializer define void @test() { ; CHECK-LABEL: define void @test() local_unnamed_addr { ; CHECK-NEXT: ret void ; store ptr null, ptr getelementptr inbounds ([2 x [1 x [6 x ptr]]], ptr @g, i32 0, i32 1), align 1 ret void dead: zext i1 icmp ne (ptr getelementptr inbounds ([2 x [1 x [6 x ptr]]], ptr @g, i32 0, i32 1), ptr getelementptr inbounds ([6 x ptr], ptr getelementptr inbounds ([2 x [1 x [6 x ptr]]], ptr @g, i32 0, i32 1), i32 0, i32 5)) to i16 ret void } ; uselistorder directives uselistorder ptr getelementptr inbounds ([2 x [1 x [6 x ptr]]], ptr @g, i32 0, i32 1), { 1, 2, 0 }