diff options
Diffstat (limited to 'test/Transforms/Mem2Reg/PromoteMemToRegister.ll')
-rw-r--r-- | test/Transforms/Mem2Reg/PromoteMemToRegister.ll | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/test/Transforms/Mem2Reg/PromoteMemToRegister.ll b/test/Transforms/Mem2Reg/PromoteMemToRegister.ll index 8bf7b51a39..fdc33fb268 100644 --- a/test/Transforms/Mem2Reg/PromoteMemToRegister.ll +++ b/test/Transforms/Mem2Reg/PromoteMemToRegister.ll @@ -1,24 +1,18 @@ ; Simple sanity check testcase. Both alloca's should be eliminated. -; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg | llvm-dis | not grep alloca +; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep alloca -implementation - -double "testfunc"(int %i, double %j) -begin - %I = alloca int - %J = alloca double - - store int %i, int* %I +define double @testfunc(i32 %i, double %j) { + %I = alloca i32 ; <i32*> [#uses=4] + %J = alloca double ; <double*> [#uses=2] + store i32 %i, i32* %I store double %j, double* %J - - %t1 = load int* %I - %t2 = add int %t1, 1 - store int %t2, int* %I - - %t3 = load int* %I - %t4 = cast int %t3 to double - %t5 = load double* %J - %t6 = mul double %t4, %t5 - + %t1 = load i32* %I ; <i32> [#uses=1] + %t2 = add i32 %t1, 1 ; <i32> [#uses=1] + store i32 %t2, i32* %I + %t3 = load i32* %I ; <i32> [#uses=1] + %t4 = sitofp i32 %t3 to double ; <double> [#uses=1] + %t5 = load double* %J ; <double> [#uses=1] + %t6 = mul double %t4, %t5 ; <double> [#uses=1] ret double %t6 -end +} + |