From 5b15deedc01babcf40d74e0c9e48efead6a888e2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 5 Oct 2003 21:11:57 +0000 Subject: [PATCH] new testcase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8882 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Mem2Reg/2003-10-05-DeadPHIInsertion.ll | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll diff --git a/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll b/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll new file mode 100644 index 00000000000..a9b87fd1f47 --- /dev/null +++ b/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll @@ -0,0 +1,21 @@ +; Mem2reg should not insert dead PHI nodes! The naive algorithm inserts a PHI +; node in L3, even though there is no load of %A in anything dominated by L3. + +; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep phi + +void %test(int %B, bool %C) { + %A = alloca int + store int %B, int* %A + br bool %C, label %L1, label %L2 +L1: + store int %B, int* %A + %D = load int* %A + call void %test(int %D, bool false) + br label %L3 +L2: + %E = load int* %A + call void %test(int %E, bool true) + br label %L3 +L3: + ret void +}