brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · a81e2d8 Raw
36 lines · plain
1; RUN: opt -S -passes='require<domtree>,loop(loop-simplifycfg)' < %s | FileCheck %s2; RUN: opt -S -passes=loop-simplifycfg -verify-memoryssa < %s | FileCheck %s3 4; CHECK-LABEL: foo5; CHECK:      entry:6; CHECK-NEXT:   br label %[[LOOP:[a-z]+]]7; CHECK:      [[LOOP]]:8; CHECK-NEXT:   phi9; CHECK-NOT:    br label10; CHECK:        br i111define i32 @foo(ptr %P, ptr %Q) {12entry:13  br label %outer14 15outer:                                            ; preds = %outer.latch2, %entry16  %y.2 = phi i32 [ 0, %entry ], [ %y.inc2, %outer.latch2 ]17  br label %inner18 19inner:                                            ; preds = %outer20  store i32 0, ptr %P21  store i32 1, ptr %P22  store i32 2, ptr %P23  %y.inc2 = add nsw i32 %y.2, 124  %exitcond.outer = icmp eq i32 %y.inc2, 325  store i32 %y.2, ptr %P26  br i1 %exitcond.outer, label %exit, label %outer.latch227 28outer.latch2:                                     ; preds = %inner29  %t = sext i32 %y.inc2 to i6430  store i64 %t, ptr %Q31  br label %outer32 33exit:                                             ; preds = %inner34  ret i32 035}36