56 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt -passes=newgvn -S < %s | FileCheck %s3 4target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4"5target triple = "x86_64-unknown-linux-gnu"6 7define void @f0(i1 %alwaysFalse, i64 %val, ptr %loc) {8; CHECK-LABEL: define void @f0(9; CHECK-SAME: i1 [[ALWAYSFALSE:%.*]], i64 [[VAL:%.*]], ptr [[LOC:%.*]]) {10; CHECK-NEXT: entry:11; CHECK-NEXT: store i64 [[VAL]], ptr [[LOC]], align 812; CHECK-NEXT: br i1 [[ALWAYSFALSE]], label [[NEVERTAKEN:%.*]], label [[ALWAYSTAKEN:%.*]]13; CHECK: neverTaken:14; CHECK-NEXT: [[PTR:%.*]] = load ptr addrspace(4), ptr [[LOC]], align 815; CHECK-NEXT: store i8 5, ptr addrspace(4) [[PTR]], align 116; CHECK-NEXT: ret void17; CHECK: alwaysTaken:18; CHECK-NEXT: ret void19;20 entry:21 store i64 %val, ptr %loc22 br i1 %alwaysFalse, label %neverTaken, label %alwaysTaken23 24 neverTaken:25 %ptr = load ptr addrspace(4), ptr %loc26 store i8 5, ptr addrspace(4) %ptr27 ret void28 29 alwaysTaken:30 ret void31}32 33define i64 @f1(i1 %alwaysFalse, ptr addrspace(4) %val, ptr %loc) {34; CHECK-LABEL: define i64 @f1(35; CHECK-SAME: i1 [[ALWAYSFALSE:%.*]], ptr addrspace(4) [[VAL:%.*]], ptr [[LOC:%.*]]) {36; CHECK-NEXT: entry:37; CHECK-NEXT: store ptr addrspace(4) [[VAL]], ptr [[LOC]], align 838; CHECK-NEXT: br i1 [[ALWAYSFALSE]], label [[NEVERTAKEN:%.*]], label [[ALWAYSTAKEN:%.*]]39; CHECK: neverTaken:40; CHECK-NEXT: [[INT:%.*]] = load i64, ptr [[LOC]], align 841; CHECK-NEXT: ret i64 [[INT]]42; CHECK: alwaysTaken:43; CHECK-NEXT: ret i64 4244;45 entry:46 store ptr addrspace(4) %val, ptr %loc47 br i1 %alwaysFalse, label %neverTaken, label %alwaysTaken48 49 neverTaken:50 %int = load i64, ptr %loc51 ret i64 %int52 53 alwaysTaken:54 ret i64 4255}56