diff options
Diffstat (limited to 'llvm/test/Transforms/Reassociate/basictest4.ll')
-rw-r--r-- | llvm/test/Transforms/Reassociate/basictest4.ll | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/llvm/test/Transforms/Reassociate/basictest4.ll b/llvm/test/Transforms/Reassociate/basictest4.ll index dcf7a55bcd9..fbf86a9f583 100644 --- a/llvm/test/Transforms/Reassociate/basictest4.ll +++ b/llvm/test/Transforms/Reassociate/basictest4.ll @@ -1,20 +1,23 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -gcse -instcombine | llvm-dis | not grep add +; RUN: llvm-as < %s | opt -reassociate -gcse -instcombine | llvm-dis | not grep add -%a = weak global int 0 -%b = weak global int 0 -%c = weak global int 0 -%d = weak global int 0 +@a = weak global i32 0 ; <i32*> [#uses=1] +@b = weak global i32 0 ; <i32*> [#uses=1] +@c = weak global i32 0 ; <i32*> [#uses=1] +@d = weak global i32 0 ; <i32*> [#uses=0] -implementation - -int %foo() { - %tmp.0 = load int* %a - %tmp.1 = load int* %b - %tmp.2 = add int %tmp.0, %tmp.1 ; (a+b) - %tmp.4 = load int* %c - %tmp.5 = add int %tmp.2, %tmp.4 ; (a+b)+c - %tmp.8 = add int %tmp.0, %tmp.4 ; (a+c) - %tmp.11 = add int %tmp.8, %tmp.1 ; (a+c)+b - %RV = xor int %tmp.5, %tmp.11 ; X ^ X = 0 - ret int %RV +define i32 @foo() { + %tmp.0 = load i32* @a ; <i32> [#uses=2] + %tmp.1 = load i32* @b ; <i32> [#uses=2] + ; (a+b) + %tmp.2 = add i32 %tmp.0, %tmp.1 ; <i32> [#uses=1] + %tmp.4 = load i32* @c ; <i32> [#uses=2] + ; (a+b)+c + %tmp.5 = add i32 %tmp.2, %tmp.4 ; <i32> [#uses=1] + ; (a+c) + %tmp.8 = add i32 %tmp.0, %tmp.4 ; <i32> [#uses=1] + ; (a+c)+b + %tmp.11 = add i32 %tmp.8, %tmp.1 ; <i32> [#uses=1] + ; X ^ X = 0 + %RV = xor i32 %tmp.5, %tmp.11 ; <i32> [#uses=1] + ret i32 %RV } |