brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · f6bf57a Raw
42 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -passes='instcombine,early-cse<memssa>' -S %s | FileCheck %s3 4define i32 @load_store_sameval(ptr %p, i1 %cond1, i1 %cond2) {5; CHECK-LABEL: define i32 @load_store_sameval(6; CHECK-SAME: ptr [[P:%.*]], i1 [[COND1:%.*]], i1 [[COND2:%.*]]) {7; CHECK-NEXT:  [[ENTRY:.*:]]8; CHECK-NEXT:    [[PRE:%.*]] = load i32, ptr [[P]], align 49; CHECK-NEXT:    br label %[[BLOCK:.*]]10; CHECK:       [[BLOCK]]:11; CHECK-NEXT:    br label %[[BLOCK2:.*]]12; CHECK:       [[BLOCK2]]:13; CHECK-NEXT:    br i1 [[COND2]], label %[[BLOCK3:.*]], label %[[EXIT:.*]]14; CHECK:       [[BLOCK3]]:15; CHECK-NEXT:    [[LOAD:%.*]] = load double, ptr [[P]], align 816; CHECK-NEXT:    [[CMP:%.*]] = fcmp une double [[LOAD]], 0.000000e+0017; CHECK-NEXT:    br i1 [[CMP]], label %[[BLOCK]], label %[[BLOCK2]]18; CHECK:       [[EXIT]]:19; CHECK-NEXT:    ret i32 020;21entry:22  %spec.select = select i1 %cond1, ptr null, ptr %p23  %pre = load i32, ptr %spec.select, align 424  br label %block25 26block:27  br label %block228 29block2:30  br i1 %cond2, label %block3, label %exit31 32block3:33  %load = load double, ptr %spec.select, align 834  %cmp = fcmp une double %load, 0.000000e+0035  br i1 %cmp, label %block, label %block236 37exit:38  store i32 %pre, ptr %spec.select, align 439  ret i32 040}41 42