Instcombine now helps out with these

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16405 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-09-19 18:45:45 +00:00
parent c10acedb2d
commit 1fb6e41822
2 changed files with 7 additions and 4 deletions

View File

@ -1,4 +1,4 @@
; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep alloca
; RUN: llvm-as < %s | opt -instcombine -mem2reg | llvm-dis | not grep alloca
;
; This tests to see if mem2reg can promote alloca instructions whose addresses
; are used by PHI nodes that are immediately loaded. The LLVM C++ front-end
@ -6,12 +6,14 @@
; lvalues), so handling this simple extension is quite useful.
;
; This testcase is what the following program looks like when it reaches
; mem2reg:
; instcombine:
;
; template<typename T>
; const T& max(const T& a1, const T& a2) { return a1 < a2 ? a1 : a2; }
; int main() { return max(0, 1); }
;
; This test checks to make sure the combination of instcombine and mem2reg
; perform the transformation.
int %main() {
entry:

View File

@ -1,6 +1,7 @@
; Test promotion of loads that use the result of a select instruction.
; Test promotion of loads that use the result of a select instruction. This
; should be simplified by the instcombine pass.
; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep alloca
; RUN: llvm-as < %s | opt -instcombine -mem2reg | llvm-dis | not grep alloca
int %main() {
%mem_tmp.0 = alloca int ; <int*> [#uses=3]