From b260eb82d7923693d0b778e9d4beac21b6c88748 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 29 Jun 2003 17:18:59 +0000 Subject: [PATCH] New testcase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6978 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../DSGraph/2003-06-29-NodeCollapsing.ll | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/Analysis/DSGraph/2003-06-29-NodeCollapsing.ll diff --git a/test/Analysis/DSGraph/2003-06-29-NodeCollapsing.ll b/test/Analysis/DSGraph/2003-06-29-NodeCollapsing.ll new file mode 100644 index 00000000000..be9ee2c8f0a --- /dev/null +++ b/test/Analysis/DSGraph/2003-06-29-NodeCollapsing.ll @@ -0,0 +1,24 @@ +; RUN: as < %s | opt -no-aa -ds-aa -load-vn -gcse | dis | not grep load +%T = type { int*, int* } + +int %main() { + %A = alloca %T + %B = alloca { %T } + %C = alloca %T* + %Bp = getelementptr { %T }* %B, long 0, ubyte 0 + + %i0 = alloca int + %i1 = alloca int + %Ap0 = getelementptr %T* %A, long 0, ubyte 0 + %Ap1 = getelementptr %T* %A, long 0, ubyte 1 + store int* %i0, int** %Ap0 + store int* %i1, int** %Ap1 + + store int 0, int* %i0 + store int 1, int* %i1 + %RetVal = load int* %i0 ; This load should be deletable + + store %T* %A, %T** %C + store %T* %Bp, %T** %C ; This store was causing merging to happen! + ret int %RetVal +}