1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -S < %s | FileCheck %s --check-prefixes=ALL,ALL_BUT_TWO,ALL_BUT_THREE,ALL_BUT_FOUR,ONE_AND_TWO,ONE_AND_THREE,ONE_AND_FOUR,ONE
3; RUN: opt -S -passes=globalopt < %s | FileCheck %s --check-prefixes=ALL,ALL_BUT_ONE,ALL_BUT_THREE,ALL_BUT_FOUR,ONE_AND_TWO,TWO_AND_THREE,TWO_AND_FOUR,TWO
4; RUN: opt -S -passes=instsimplify < %s | FileCheck %s --check-prefixes=ALL,ALL_BUT_ONE,ALL_BUT_TWO,ALL_BUT_FOUR,ONE_AND_THREE,TWO_AND_THREE,THREE_AND_FOUR,THREE
5; RUN: opt -S < %s | FileCheck %s --check-prefixes=ALL,ALL_BUT_ONE,ALL_BUT_TWO,ALL_BUT_THREE,ONE_AND_FOUR,TWO_AND_FOUR,THREE_AND_FOUR,FOUR
6;
7; Make sure we don't use anything to check for @sometimes_here that contains "ALL" or "TWO".
8; Also verify we use "ONE_AND_FOUR" for the unmodified @sometimes_here version and "THREE" for the version without the add.
9
10define internal void @sometimes_here() {
11; ONE_AND_FOUR-LABEL: @sometimes_here(
12; ONE_AND_FOUR-NEXT:    [[C:%.*]] = add i32 undef, undef
13; ONE_AND_FOUR-NEXT:    ret void
14;
15; THREE-LABEL: @sometimes_here(
16; THREE-NEXT:    ret void
17;
18  %c = add i32 undef, undef
19  ret void
20}
21
22define void @always_here() {
23; ALL-LABEL: @always_here(
24; ALL-NEXT:    ret void
25;
26  ret void
27}
28;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
29; ALL_BUT_FOUR: {{.*}}
30; ALL_BUT_ONE: {{.*}}
31; ALL_BUT_THREE: {{.*}}
32; ALL_BUT_TWO: {{.*}}
33; FOUR: {{.*}}
34; ONE: {{.*}}
35; ONE_AND_THREE: {{.*}}
36; ONE_AND_TWO: {{.*}}
37; THREE_AND_FOUR: {{.*}}
38; TWO: {{.*}}
39; TWO_AND_FOUR: {{.*}}
40; TWO_AND_THREE: {{.*}}
41