blob: 4ba1f8db30ba9f3f9c5246b5915c95102d673292 [file] [log] [blame]
Florian Hahnf8045b22020-02-14 00:05:50 +01001; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt < %s -ipsccp -S | FileCheck %s
Eric Christophercee313d2019-04-17 04:52:47 +00003
4@G = internal global i66 undef
5
6
Eric Christophercee313d2019-04-17 04:52:47 +00007define void @foo() {
Florian Hahnf8045b22020-02-14 00:05:50 +01008; CHECK-LABEL: @foo(
9; CHECK-NEXT: [[X:%.*]] = load i66, i66* @G
10; CHECK-NEXT: store i66 [[X]], i66* @G
11; CHECK-NEXT: ret void
12;
13 %X = load i66, i66* @G
14 store i66 %X, i66* @G
15 ret void
Eric Christophercee313d2019-04-17 04:52:47 +000016}
17
18define i66 @bar() {
Florian Hahnf8045b22020-02-14 00:05:50 +010019; CHECK-LABEL: @bar(
20; CHECK-NEXT: [[V:%.*]] = load i66, i66* @G
21; CHECK-NEXT: [[C:%.*]] = icmp eq i66 [[V]], 17
22; CHECK-NEXT: br i1 [[C]], label [[T:%.*]], label [[F:%.*]]
23; CHECK: T:
24; CHECK-NEXT: store i66 17, i66* @G
25; CHECK-NEXT: ret i66 17
26; CHECK: F:
27; CHECK-NEXT: store i66 123, i66* @G
28; CHECK-NEXT: ret i66 0
29;
30 %V = load i66, i66* @G
31 %C = icmp eq i66 %V, 17
32 br i1 %C, label %T, label %F
Eric Christophercee313d2019-04-17 04:52:47 +000033T:
Florian Hahnf8045b22020-02-14 00:05:50 +010034 store i66 17, i66* @G
35 ret i66 %V
Eric Christophercee313d2019-04-17 04:52:47 +000036F:
Florian Hahnf8045b22020-02-14 00:05:50 +010037 store i66 123, i66* @G
38 ret i66 0
Eric Christophercee313d2019-04-17 04:52:47 +000039}