aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/Transforms/GVN/fake-use-constprop.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/GVN/fake-use-constprop.ll')
-rw-r--r--llvm/test/Transforms/GVN/fake-use-constprop.ll16
1 files changed, 13 insertions, 3 deletions
diff --git a/llvm/test/Transforms/GVN/fake-use-constprop.ll b/llvm/test/Transforms/GVN/fake-use-constprop.ll
index 0e7ca10..85b7dc3 100644
--- a/llvm/test/Transforms/GVN/fake-use-constprop.ll
+++ b/llvm/test/Transforms/GVN/fake-use-constprop.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt -passes=gvn -S < %s | FileCheck %s
;
; The Global Value Numbering pass (GVN) propagates boolean values
@@ -33,11 +34,20 @@
;; GVN should propagate a constant value through to a regular call, but not to
;; a fake use, which should continue to track the original value.
-; CHECK: %[[CONV_VAR:[a-zA-Z0-9]+]] = fptosi
-; CHECK: call {{.+}} @bees(i8 0)
-; CHECK: call {{.+}} @llvm.fake.use(i8 %[[CONV_VAR]])
define i32 @foo(float %f) optdebug {
+; CHECK-LABEL: define i32 @foo(
+; CHECK-SAME: float [[F:%.*]]) #[[ATTR0:[0-9]+]] {
+; CHECK-NEXT: [[CONV:%.*]] = fptosi float [[F]] to i8
+; CHECK-NEXT: [[TOBOOL3:%.*]] = icmp eq i8 [[CONV]], 0
+; CHECK-NEXT: br i1 [[TOBOOL3]], label %[[IF_END:.*]], label %[[LAB:.*]]
+; CHECK: [[IF_END]]:
+; CHECK-NEXT: tail call void (...) @bees(i8 0)
+; CHECK-NEXT: tail call void (...) @llvm.fake.use(i8 [[CONV]])
+; CHECK-NEXT: br label %[[LAB]]
+; CHECK: [[LAB]]:
+; CHECK-NEXT: ret i32 1
+;
%conv = fptosi float %f to i8
%tobool3 = icmp eq i8 %conv, 0
br i1 %tobool3, label %if.end, label %lab