brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 7665f63 Raw
66 lines · plain
1; RUN: opt < %s -passes=dse -S | FileCheck %s2 3; CHECK-LABEL: void @skipBarrier(ptr %ptr)4define void @skipBarrier(ptr %ptr) {5; CHECK-NOT: store i8 426  store i8 42, ptr %ptr7; CHECK: %ptr2 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr)8  %ptr2 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr)9; CHECK: store i8 4310  store i8 43, ptr %ptr211  ret void12}13 14; CHECK-LABEL: void @skip2Barriers(ptr %ptr)15define void @skip2Barriers(ptr %ptr) {16; CHECK-NOT: store i8 4217  store i8 42, ptr %ptr18; CHECK: %ptr2 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr)19  %ptr2 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr)20; CHECK-NOT: store i8 4321  store i8 43, ptr %ptr222  %ptr3 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr2)23  %ptr4 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr3)24 25; CHECK: store i8 4426  store i8 44, ptr %ptr427  ret void28}29 30; CHECK-LABEL: void @skip3Barriers(ptr %ptr)31define void @skip3Barriers(ptr %ptr) {32; CHECK-NOT: store i8 4233  store i8 42, ptr %ptr34; CHECK: %ptr2 = call ptr @llvm.strip.invariant.group.p0(ptr %ptr)35  %ptr2 = call ptr @llvm.strip.invariant.group.p0(ptr %ptr)36; CHECK-NOT: store i8 4337  store i8 43, ptr %ptr238  %ptr3 = call ptr @llvm.strip.invariant.group.p0(ptr %ptr2)39  %ptr4 = call ptr @llvm.strip.invariant.group.p0(ptr %ptr3)40 41; CHECK: store i8 4442  store i8 44, ptr %ptr443  ret void44}45 46; CHECK-LABEL: void @skip4Barriers(ptr %ptr)47define void @skip4Barriers(ptr %ptr) {48; CHECK-NOT: store i8 4249  store i8 42, ptr %ptr50; CHECK: %ptr2 = call ptr @llvm.strip.invariant.group.p0(ptr %ptr)51  %ptr2 = call ptr @llvm.strip.invariant.group.p0(ptr %ptr)52; CHECK-NOT: store i8 4353  store i8 43, ptr %ptr254  %ptr3 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr2)55  %ptr4 = call ptr @llvm.strip.invariant.group.p0(ptr %ptr3)56  %ptr5 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr3)57 58; CHECK: store i8 4459  store i8 44, ptr %ptr560  ret void61}62 63 64declare ptr @llvm.launder.invariant.group.p0(ptr)65declare ptr @llvm.strip.invariant.group.p0(ptr)66