[RISCV] Add Qualcomm uC Xqcics(Conditional Select) extension (#119504)
[llvm-project.git] / polly / test / Simplify / notredundant_region_loop.ll
blob88f6c415217390c04cbec6ce8bee4066d03596b4
1 ; RUN: opt %loadNPMPolly '-passes=polly-import-jscop,print<polly-simplify>' -polly-import-jscop-postfix=transformed -polly-allow-nonaffine-loops -disable-output < %s | FileCheck %s -match-full-lines
3 ; Do not remove the store in region_entry. It can be executed multiple times
4 ; due to being part of a non-affine loop.
6 define void @notredundant_region_loop(i32 %n, ptr noalias nonnull %A) {
7 entry:
8   br label %for
10 for:
11   %j = phi i32 [0, %entry], [%j.inc, %inc]
12   %j.cmp = icmp slt i32 %j, %n
13   br i1 %j.cmp, label %body, label %exit
16     body:
17       %val = fadd double 21.0, 21.0
18       br label %region_entry
20     region_entry:
21       store double %val, ptr %A
22       %sqr = mul i32 %j, %j
23       %cmp = icmp eq i32 %sqr, 42
24       br i1 %cmp, label %region_true, label %region_exit
26     region_true:
27       store double 0.0, ptr %A
28       br label %region_entry
30     region_exit:
31       br label %inc
34 inc:
35   %j.inc = add nuw nsw i32 %j, 1
36   br label %for
38 exit:
39   br label %return
41 return:
42   ret void
46 ; CHECK: SCoP could not be simplified