brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 1e3da6e Raw
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