llvm/test/Transforms/GVN/2008-12-15-CacheVisited.ll
Chris Lattner f478951b0e fix PR3217: fully cached queries need to be verified against the
visited set before they are used.  If used, their blocks need to be
added to the visited set so that subsequent queries don't use conflicting
pointer values in the cache result blocks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61080 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 07:10:09 +00:00

29 lines
792 B
LLVM

; RUN: llvm-as < %s | opt -gvn | llvm-dis
; Cached results must be added to and verified against the visited sets.
; PR3217
define fastcc void @gen_field_die(i32* %decl) nounwind {
entry:
br i1 false, label %bb203, label %bb202
bb202: ; preds = %entry
unreachable
bb203: ; preds = %entry
%tmp = getelementptr i32* %decl, i32 1 ; <i32*> [#uses=1]
%tmp1 = load i32* %tmp, align 4 ; <i32> [#uses=0]
br i1 false, label %bb207, label %bb204
bb204: ; preds = %bb203
%tmp2 = getelementptr i32* %decl, i32 1 ; <i32*> [#uses=1]
br label %bb208
bb207: ; preds = %bb203
br label %bb208
bb208: ; preds = %bb207, %bb204
%iftmp.1374.0.in = phi i32* [ null, %bb207 ], [ %tmp2, %bb204 ] ; <i32*> [#uses=1]
%iftmp.1374.0 = load i32* %iftmp.1374.0.in ; <i32> [#uses=0]
unreachable
}