From 2241b7bfbbbd3896b8d90afbdc514dfdcb2f7195 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 15 May 2002 21:59:31 +0000 Subject: [PATCH] New testcases to ensure sub's are maximally reassociable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2633 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Reassociate/2002-05-15-SubReassociate.ll | 14 ++++++++++++++ .../Reassociate/2002-05-15-SubReassociate2.ll | 15 +++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 test/Transforms/Reassociate/2002-05-15-SubReassociate.ll create mode 100644 test/Transforms/Reassociate/2002-05-15-SubReassociate2.ll diff --git a/test/Transforms/Reassociate/2002-05-15-SubReassociate.ll b/test/Transforms/Reassociate/2002-05-15-SubReassociate.ll new file mode 100644 index 00000000000..fcbd723c099 --- /dev/null +++ b/test/Transforms/Reassociate/2002-05-15-SubReassociate.ll @@ -0,0 +1,14 @@ +; With sub reassociation, constant folding can eliminate all of the constants. +; +; RUN: if as < %s | opt -reassociate -constprop -instcombine -dce | dis | grep add +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +int "test"(int %A, int %B) { + %W = add int -5, %B + %X = add int -7, %A + %Y = sub int %X, %W + %Z = add int %Y, 12 + ret int %Z +} diff --git a/test/Transforms/Reassociate/2002-05-15-SubReassociate2.ll b/test/Transforms/Reassociate/2002-05-15-SubReassociate2.ll new file mode 100644 index 00000000000..aa0066a1ff3 --- /dev/null +++ b/test/Transforms/Reassociate/2002-05-15-SubReassociate2.ll @@ -0,0 +1,15 @@ +; With sub reassociation, constant folding can eliminate the two 12 constants. +; +; RUN: if as < %s | opt -reassociate -constprop -dce | dis | grep 12 +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +int "test"(int %A, int %B, int %C, int %D) { + %M = add int %A, 12 + %N = add int %M, %B + %O = add int %N, %C + %P = sub int %D, %O + %Q = add int %P, 12 + ret int %Q +}