From: Chris Lattner Date: Sun, 30 Aug 2009 21:36:39 +0000 (+0000) Subject: rename test so that name reflects what it is testing for. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b2e673c563df01c574c6719c8cd8d012afa903ee;p=oota-llvm.git rename test so that name reflects what it is testing for. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80519 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Analysis/BasicAA/licmtest.ll b/test/Analysis/BasicAA/licmtest.ll deleted file mode 100644 index 033a1842ce5..00000000000 --- a/test/Analysis/BasicAA/licmtest.ll +++ /dev/null @@ -1,53 +0,0 @@ -; Test that LICM uses basicaa to do alias analysis, which is capable of -; disambiguating some obvious cases. If LICM is able to disambiguate the -; two pointers, then the load should be hoisted, and the store sunk. - -; RUN: llvm-as < %s | opt -basicaa -licm | llvm-dis | FileCheck %s - -@A = global i32 7 ; [#uses=3] -@B = global i32 8 ; [#uses=2] -@C = global [2 x i32] [ i32 4, i32 8 ] ; <[2 x i32]*> [#uses=2] - -define i32 @test1(i1 %c) { - %Atmp = load i32* @A ; [#uses=2] - br label %Loop - -Loop: ; preds = %Loop, %0 - %ToRemove = load i32* @A ; [#uses=1] - store i32 %Atmp, i32* @B - br i1 %c, label %Out, label %Loop - -Out: ; preds = %Loop - %X = sub i32 %ToRemove, %Atmp ; [#uses=1] - ret i32 %X - -; The Loop block should be empty after the load/store are promoted. -; CHECK: @test1 -; CHECK: load i32* @B -; CHECK: Loop: -; CHECK-NEXT: br i1 %c, label %Out, label %Loop -; CHECK: Out: -; CHECK: store i32 %Atmp, i32* @B -} - -define i32 @test2(i1 %c) { - br label %Loop - -Loop: ; preds = %Loop, %0 - %AVal = load i32* @A ; [#uses=2] - %C0 = getelementptr [2 x i32]* @C, i64 0, i64 0 ; [#uses=1] - store i32 %AVal, i32* %C0 - %BVal = load i32* @B ; [#uses=2] - %C1 = getelementptr [2 x i32]* @C, i64 0, i64 1 ; [#uses=1] - store i32 %BVal, i32* %C1 - br i1 %c, label %Out, label %Loop - -Out: ; preds = %Loop - %X = sub i32 %AVal, %BVal ; [#uses=1] - ret i32 %X -; The Loop block should be empty after the load/store are promoted. -; CHECK: @test2 -; CHECK: Loop: -; CHECK-NEXT: br i1 %c, label %Out, label %Loop -} - diff --git a/test/Analysis/BasicAA/store-promote.ll b/test/Analysis/BasicAA/store-promote.ll new file mode 100644 index 00000000000..033a1842ce5 --- /dev/null +++ b/test/Analysis/BasicAA/store-promote.ll @@ -0,0 +1,53 @@ +; Test that LICM uses basicaa to do alias analysis, which is capable of +; disambiguating some obvious cases. If LICM is able to disambiguate the +; two pointers, then the load should be hoisted, and the store sunk. + +; RUN: llvm-as < %s | opt -basicaa -licm | llvm-dis | FileCheck %s + +@A = global i32 7 ; [#uses=3] +@B = global i32 8 ; [#uses=2] +@C = global [2 x i32] [ i32 4, i32 8 ] ; <[2 x i32]*> [#uses=2] + +define i32 @test1(i1 %c) { + %Atmp = load i32* @A ; [#uses=2] + br label %Loop + +Loop: ; preds = %Loop, %0 + %ToRemove = load i32* @A ; [#uses=1] + store i32 %Atmp, i32* @B + br i1 %c, label %Out, label %Loop + +Out: ; preds = %Loop + %X = sub i32 %ToRemove, %Atmp ; [#uses=1] + ret i32 %X + +; The Loop block should be empty after the load/store are promoted. +; CHECK: @test1 +; CHECK: load i32* @B +; CHECK: Loop: +; CHECK-NEXT: br i1 %c, label %Out, label %Loop +; CHECK: Out: +; CHECK: store i32 %Atmp, i32* @B +} + +define i32 @test2(i1 %c) { + br label %Loop + +Loop: ; preds = %Loop, %0 + %AVal = load i32* @A ; [#uses=2] + %C0 = getelementptr [2 x i32]* @C, i64 0, i64 0 ; [#uses=1] + store i32 %AVal, i32* %C0 + %BVal = load i32* @B ; [#uses=2] + %C1 = getelementptr [2 x i32]* @C, i64 0, i64 1 ; [#uses=1] + store i32 %BVal, i32* %C1 + br i1 %c, label %Out, label %Loop + +Out: ; preds = %Loop + %X = sub i32 %AVal, %BVal ; [#uses=1] + ret i32 %X +; The Loop block should be empty after the load/store are promoted. +; CHECK: @test2 +; CHECK: Loop: +; CHECK-NEXT: br i1 %c, label %Out, label %Loop +} +