llvm-6502/test/Transforms/PredicateSimplifier/2006-11-12-MergeNodes.ll
Nick Lewycky 565706b93e Update to new predicate simplifier VRP design. Fixes PR966 and PR967.
Remove predicate simplifier from default gcc3 pipeline. New design is too
slow to enable by default.
Add new testcases for problems encountered in development.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31895 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-22 23:49:16 +00:00

55 lines
2.0 KiB
LLVM

; RUN: llvm-as < %s | opt -predsimplify -disable-output
; ModuleID = 'b.bc'
target datalayout = "e-p:32:32"
target endian = little
target pointersize = 32
target triple = "i686-pc-linux-gnu"
deplibs = [ "c", "crtend" ]
%struct.VDIR_ST = type { int, int, int, %struct.acl*, %struct.pfile*, %struct.vlink*, %struct.vlink*, %struct.vlink*, %struct.VDIR_ST*, %struct.VDIR_ST* }
%struct.acl = type { int, sbyte*, sbyte*, sbyte*, %struct.restrict*, %struct.acl*, %struct.acl* }
%struct.avalue = type { sbyte* }
%struct.pattrib = type { sbyte, sbyte*, sbyte*, %struct.avalue, %struct.pattrib*, %struct.pattrib* }
%struct.pfile = type { int, int, int, int, int, %struct.vlink*, %struct.vlink*, %struct.pattrib*, %struct.pfile*, %struct.pfile* }
%struct.restrict = type { %struct.acl*, %struct.acl* }
%struct.vlink = type { int, sbyte*, sbyte, int, sbyte*, %struct.vlink*, %struct.vlink*, sbyte*, sbyte*, sbyte*, sbyte*, int, int, %struct.acl*, int, int, sbyte*, %struct.pattrib*, %struct.pfile*, %struct.vlink*, %struct.vlink* }
implementation ; Functions:
void %vl_insert(%struct.vlink* %vl) {
entry:
%tmp91 = call int %vl_comp( ) ; <int> [#uses=2]
%tmp93 = setgt int %tmp91, 0 ; <bool> [#uses=1]
br bool %tmp93, label %cond_next84, label %bb94
cond_next84: ; preds = %entry
ret void
bb94: ; preds = %entry
%tmp96 = seteq int %tmp91, 0 ; <bool> [#uses=1]
br bool %tmp96, label %cond_true97, label %cond_next203
cond_true97: ; preds = %bb94
br bool false, label %cond_next105, label %cond_true102
cond_true102: ; preds = %cond_true97
ret void
cond_next105: ; preds = %cond_true97
%tmp110 = getelementptr %struct.vlink* %vl, int 0, uint 12 ; <int*> [#uses=1]
%tmp111 = load int* %tmp110 ; <int> [#uses=1]
%tmp129 = seteq int %tmp111, 0 ; <bool> [#uses=1]
br bool %tmp129, label %cond_true130, label %cond_next133
cond_true130: ; preds = %cond_next105
ret void
cond_next133: ; preds = %cond_next105
ret void
cond_next203: ; preds = %bb94
ret void
}
declare int %vl_comp()