; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -S -passes=openmp-opt-cgscc < %s | FileCheck %s ; Verify we remove the trivially dead store in a function that is not dead ; (foo) but not in a dead function (dead) when running in cgscc mode. define internal void @dead() { ; CHECK-LABEL: @dead( ; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4 ; CHECK-NEXT: store i32 0, ptr [[A]], align 4 ; CHECK-NEXT: ret void ; %a = alloca i32 store i32 0, ptr %a ret void } define internal void @foo() { ; CHECK-LABEL: @foo( ; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4 ; CHECK-NEXT: ret void ; %a = alloca i32 store i32 0, ptr %a ret void } define internal void @bar() { ; CHECK-LABEL: @bar( ; CHECK-NEXT: ret void ; call void @foo() ret void } define void @baz() { ; CHECK-LABEL: @baz( ; CHECK-NEXT: call void @bar() ; CHECK-NEXT: ret void ; call void @bar() ret void } !llvm.module.flags = !{!0, !1} !0 = !{i32 7, !"openmp", i32 50} !1 = !{i32 7, !"openmp-device", i32 50}