20150328-SCEVExpanderIntroducesNewIV.ll
831 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
; RUN: opt %loadPolly -polly-codegen -S < %s | FileCheck %s
@A = common global [1536 x float] zeroinitializer
; CHECK: polly
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
define void @foo() {
entry:
br label %while.header
while.cond.loopexit3:
br label %while.header
while.header:
br label %switchbb
switchbb:
switch i32 undef, label %while.header [
i32 1, label %for.body121
i32 2, label %unreachableA
i32 3, label %unreachableB
]
unreachableA:
unreachable
for.body121:
%indvar = phi i32 [ 0, %switchbb ], [ %indvar.next, %for.body121 ]
%ptr = getelementptr [1536 x float], [1536 x float]* @A, i64 0, i32 %indvar
store float undef, float* %ptr
%indvar.next = add nsw i32 %indvar, 1
br i1 false, label %for.body121, label %while.cond.loopexit3
unreachableB:
unreachable
}