| ; 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 } |