Mercurial > hg > CbC > CbC_llvm
view polly/test/CodeGen/region_exiting-domtree.ll @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | c4bab56944e8 |
children |
line wrap: on
line source
; RUN: opt %loadPolly -polly-codegen -verify-dom-info -disable-output < %s ; Verify that the DominatorTree is preserved correctly for the inserted ; %polly.stmt.exit.exit block, which serves as new exit block for the generated ; subregion. In particulat, it must be dominated by %polly.stmt.subregion.enter, ; the generated subregion's entry block. define void @func(i32 %n, ptr noalias nonnull %A) { entry: br label %loop loop: %i = phi i32 [0, %entry], [%i.inc, %loop.inc] %i.cmp = icmp slt i32 %i, %n br i1 %i.cmp, label %body, label %return body: %skipcond = icmp slt i32 %i, 5 br i1 %skipcond, label %subregion.enter, label %subregion.skip subregion.skip: br label %exit subregion.enter: %sqr = mul i32 %i, %i %cond = icmp eq i32 %sqr, 0 store i32 %i, ptr %A br i1 %cond, label %subregion.true, label %subregion.false subregion.true: br label %exit subregion.false: br label %exit exit: br label %loop.inc loop.inc: %i.inc = add nuw nsw i32 %i, 1 br label %loop return: ret void }