diff options
| author | Chris Lattner <sabre@nondot.org> | 2002-05-14 19:56:14 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2002-05-14 19:56:14 +0000 |
| commit | a64388a25f7c056cb4e0419babf0b6253bbed926 (patch) | |
| tree | 1780cb5c0464a54365ccdefe3daa7d023c03eab6 /llvm/test/Regression/Transforms/GCSE | |
| parent | 170ed7b6a3c2060aab636a1c9dffafce9ff353a2 (diff) | |
| download | bcm5719-llvm-a64388a25f7c056cb4e0419babf0b6253bbed926.tar.gz bcm5719-llvm-a64388a25f7c056cb4e0419babf0b6253bbed926.zip | |
New testcase
llvm-svn: 2628
Diffstat (limited to 'llvm/test/Regression/Transforms/GCSE')
| -rw-r--r-- | llvm/test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll b/llvm/test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll new file mode 100644 index 00000000000..a75e298f7fa --- /dev/null +++ b/llvm/test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll @@ -0,0 +1,18 @@ +; This entire chain of computation should be optimized away, but +; wasn't because the two multiplies were not detected as being identical. +; +; RUN: if as < %s | opt -gcse -instcombine -dce | dis | grep sub +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi + +implementation ; Functions: + +uint "vnum_test4"(uint* %data) { + %reg1101 = load uint* %data, uint 1 + %reg1111 = load uint* %data, uint 3 + %reg109 = mul uint %reg1101, %reg1111 + %reg108 = mul uint %reg1111, %reg1101 + %reg121 = sub uint %reg108, %reg109 + ret uint %reg121 +} |

