1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

Convert -indvars tests that rely on SCEV expansion to -loop-reduce tests.

llvm-svn: 153259
This commit is contained in:
Andrew Trick 2012-03-22 17:10:07 +00:00
parent c9948561ef
commit bc649f32f0
2 changed files with 9 additions and 5 deletions

View File

@ -1,13 +1,17 @@
; RUN: opt < %s -indvars -S -enable-iv-rewrite | FileCheck %s ; RUN: opt < %s -loop-reduce -S | FileCheck %s
; CHECK: getelementptr ; CHECK: bb1:
; CHECK: mul {{.*}}, 37 ; CHECK: load double* [[IV:%[^,]+]]
; CHECK: add {{.*}}, 5203 ; CHECK: store double {{.*}}, double* [[IV]]
; CHECK: getelementptr double*
; CHECK-NOT: cast ; CHECK-NOT: cast
; CHECK: br {{.*}} label %bb1
; This test tests several things. The load and store should use the ; This test tests several things. The load and store should use the
; same address instead of having it computed twice, and SCEVExpander should ; same address instead of having it computed twice, and SCEVExpander should
; be able to reconstruct the full getelementptr, despite it having a few ; be able to reconstruct the full getelementptr, despite it having a few
; obstacles set in its way. ; obstacles set in its way.
; We only check that the inner loop (bb1-bb2) is "reduced" because LSR
; currently only operates on inner loops.
target datalayout = "e-p:64:64:64-n32:64" target datalayout = "e-p:64:64:64-n32:64"

View File

@ -1,4 +1,4 @@
; RUN: opt < %s -indvars -S -enable-iv-rewrite | FileCheck %s ; RUN: opt < %s -loop-reduce -S | FileCheck %s
; CHECK-NOT: {{inttoptr|ptrtoint}} ; CHECK-NOT: {{inttoptr|ptrtoint}}
; CHECK: scevgep ; CHECK: scevgep
; CHECK-NOT: {{inttoptr|ptrtoint}} ; CHECK-NOT: {{inttoptr|ptrtoint}}