Remove llvm-upgrade and update tests.
authorTanya Lattner <tonic@nondot.org>
Mon, 10 Mar 2008 07:21:50 +0000 (07:21 +0000)
committerTanya Lattner <tonic@nondot.org>
Mon, 10 Mar 2008 07:21:50 +0000 (07:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48137 91177308-0d34-0410-b5e6-96231b3b80d8

115 files changed:
test/DebugInfo/funccall.ll
test/ExecutionEngine/2002-12-16-ArgTest.ll
test/ExecutionEngine/2003-01-04-ArgumentBug.ll
test/ExecutionEngine/2003-01-04-LoopTest.ll
test/ExecutionEngine/2003-01-04-PhiTest.ll
test/ExecutionEngine/2003-01-09-SARTest.ll
test/ExecutionEngine/2003-01-10-FUCOM.ll
test/ExecutionEngine/2003-01-15-AlignmentTest.ll
test/ExecutionEngine/2003-05-06-LivenessClobber.llx
test/ExecutionEngine/2003-05-07-ArgumentTest.llx
test/ExecutionEngine/2003-05-11-PHIRegAllocBug.ll
test/ExecutionEngine/2003-06-04-bzip2-bug.ll
test/ExecutionEngine/2003-06-05-PHIBug.ll
test/ExecutionEngine/2003-08-15-AllocaAssertion.ll
test/ExecutionEngine/2003-08-21-EnvironmentTest.ll
test/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll
test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
test/ExecutionEngine/2005-12-02-TailCallBug.ll
test/ExecutionEngine/hello.ll
test/ExecutionEngine/hello2.ll
test/ExecutionEngine/simplesttest.ll
test/ExecutionEngine/simpletest.ll
test/ExecutionEngine/test-arith.ll
test/ExecutionEngine/test-branch.ll
test/ExecutionEngine/test-call.ll
test/ExecutionEngine/test-cast.ll
test/ExecutionEngine/test-constantexpr.ll
test/ExecutionEngine/test-fp.ll
test/ExecutionEngine/test-loadstore.ll
test/ExecutionEngine/test-logical.ll
test/ExecutionEngine/test-loop.ll
test/ExecutionEngine/test-malloc.ll
test/ExecutionEngine/test-phi.ll
test/ExecutionEngine/test-ret.ll
test/ExecutionEngine/test-setcond-fp.ll
test/ExecutionEngine/test-setcond-int.ll
test/ExecutionEngine/test-shift.ll
test/Linker/2003-11-18-TypeResolution.ll
test/Linker/2004-02-17-WeakStrongLinkage.ll
test/Linker/2004-05-07-TypeResolution1.ll
test/Linker/2004-05-07-TypeResolution2.ll
test/Linker/2005-02-12-ConstantGlobals.ll
test/Linker/2005-12-06-AppendingZeroLengthArrays.ll
test/Linker/2006-01-19-ConstantPacked.ll
test/Linker/AppendingLinkage.ll
test/Linker/AppendingLinkage2.ll
test/Linker/ConstantGlobals1.ll
test/Linker/ConstantGlobals2.ll
test/Linker/ConstantGlobals3.ll
test/Linker/LinkOnce.ll
test/Linker/testlink1.ll
test/Linker/testlink2.ll
test/Linker/weakextern.ll
test/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll
test/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll
test/Transforms/SimplifyCFG/2002-06-24-PHINode.ll
test/Transforms/SimplifyCFG/2002-09-24-PHIAssertion.ll
test/Transforms/SimplifyCFG/2003-03-07-DominateProblem.ll
test/Transforms/SimplifyCFG/2003-08-05-InvokeCrash.ll
test/Transforms/SimplifyCFG/2003-08-05-MishandleInvoke.ll
test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll
test/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll
test/Transforms/SimplifyCFG/2003-08-17-FoldSwitch.ll
test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll
test/Transforms/SimplifyCFG/2005-06-16-PHICrash.ll
test/Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll
test/Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll
test/Transforms/SimplifyCFG/2005-10-02-InvokeSimplify.ll
test/Transforms/SimplifyCFG/2005-12-03-IncorrectPHIFold.ll
test/Transforms/SimplifyCFG/2006-02-17-InfiniteUnroll.ll
test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll
test/Transforms/SimplifyCFG/2006-08-03-Crash.ll
test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll
test/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll
test/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll
test/Transforms/SimplifyLibCalls/2005-05-20-sprintf-crash.ll
test/Transforms/SimplifyLibCalls/ExitInMain.ll
test/Transforms/SimplifyLibCalls/FFS.ll
test/Transforms/SimplifyLibCalls/FPrintF.ll
test/Transforms/SimplifyLibCalls/IsDigit.ll
test/Transforms/SimplifyLibCalls/MemCpy.ll
test/Transforms/SimplifyLibCalls/MemMove.ll
test/Transforms/SimplifyLibCalls/MemSet.ll
test/Transforms/SimplifyLibCalls/Pow.ll
test/Transforms/SimplifyLibCalls/Puts.ll
test/Transforms/SimplifyLibCalls/SPrintF.ll
test/Transforms/SimplifyLibCalls/StrCat.ll
test/Transforms/SimplifyLibCalls/StrChr.ll
test/Transforms/SimplifyLibCalls/StrCmp.ll
test/Transforms/SimplifyLibCalls/StrCpy.ll
test/Transforms/SimplifyLibCalls/StrLen.ll
test/Transforms/SimplifyLibCalls/StrNCmp.ll
test/Transforms/SimplifyLibCalls/ToAscii.ll
test/Transforms/SimplifyLibCalls/floor.ll
test/Transforms/SimplifyLibCalls/memcmp.ll
test/Transforms/TailCallElim/accum_recursion.ll
test/Transforms/TailCallElim/accum_recursion_constant_arg.ll
test/Transforms/TailCallElim/ackermann.ll
test/Transforms/TailCallElim/dont-tce-tail-marked-call.ll
test/Transforms/TailCallElim/intervening-inst.ll
test/Transforms/TailCallElim/move_alloca_for_tail_call.ll
test/Transforms/TailCallElim/return_constant.ll
test/Transforms/TailCallElim/trivial_codegen_tailcall.ll
test/Transforms/TailDup/2003-06-24-Simpleloop.ll
test/Transforms/TailDup/2003-07-22-InfiniteLoop.ll
test/Transforms/TailDup/2003-08-23-InvalidatedPointers.ll
test/Transforms/TailDup/2003-08-31-UnreachableBlocks.ll
test/Transforms/TailDup/2004-04-01-DemoteRegToStack.llx
test/Transforms/TailDup/MergeTest.ll
test/Transforms/TailDup/PHIUpdateTest.ll
test/Transforms/TailDup/basictest.ll
test/Transforms/TailDup/basictest2.ll
test/Transforms/TailDup/if-tail-dup.ll
test/Verifier/invoke-1.ll
test/Verifier/invoke-2.ll

index cb5dab62caf79d95e36134ab75ed59b36cbe42fc..47fe4c2498c513aba3c1aa2f6852039de04bff85 100644 (file)
-;; RUN: llvm-upgrade < %s | llvm-as | llc
+;; RUN: llvm-as < %s | llc
+       %llvm.dbg.anchor.type = type { i32, i32 }
+       %llvm.dbg.basictype.type = type { i32, {  }*, i8*, {  }*, i32, i64, i64, i64, i32, i32 }
+       %llvm.dbg.compile_unit.type = type { i32, {  }*, i32, i8*, i8*, i8* }
+       %llvm.dbg.global_variable.type = type { i32, {  }*, {  }*, i8*, i8*, i8*, {  }*, i32, {  }*, i1, i1, {  }* }
+       %llvm.dbg.subprogram.type = type { i32, {  }*, {  }*, i8*, i8*, i8*, {  }*, i32, {  }*, i1, i1 }
+       %llvm.dbg.variable.type = type { i32, {  }*, i8*, {  }*, i32, {  }* }
+@llvm.dbg.subprograms = linkonce constant %llvm.dbg.anchor.type { i32 393216, i32 46 }, section "llvm.metadata"                ; <%llvm.dbg.anchor.type*> [#uses=1]
+@llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 393216, i32 17 }, section "llvm.metadata"              ; <%llvm.dbg.anchor.type*> [#uses=1]
+@llvm.dbg.global_variables = linkonce constant %llvm.dbg.anchor.type { i32 393216, i32 52 }, section "llvm.metadata"           ; <%llvm.dbg.anchor.type*> [#uses=1]
+@llvm.dbg.subprogram = internal constant %llvm.dbg.subprogram.type {
+    i32 393262, 
+    {  }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to {  }*), 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i8* getelementptr ([4 x i8]* @str, i32 0, i32 0), 
+    i8* getelementptr ([4 x i8]* @str, i32 0, i32 0), 
+    i8* null, 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i32 4, 
+    {  }* null, 
+    i1 false, 
+    i1 true }, section "llvm.metadata"         ; <%llvm.dbg.subprogram.type*> [#uses=1]
+@str = internal constant [4 x i8] c"foo\00", section "llvm.metadata"           ; <[4 x i8]*> [#uses=1]
+@llvm.dbg.compile_unit = internal constant %llvm.dbg.compile_unit.type {
+    i32 393233, 
+    {  }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.compile_units to {  }*), 
+    i32 1, 
+    i8* getelementptr ([11 x i8]* @str1, i32 0, i32 0), 
+    i8* getelementptr ([50 x i8]* @str2, i32 0, i32 0), 
+    i8* getelementptr ([45 x i8]* @str3, i32 0, i32 0) }, section "llvm.metadata"              ; <%llvm.dbg.compile_unit.type*> [#uses=1]
+@str1 = internal constant [11 x i8] c"funccall.c\00", section "llvm.metadata"          ; <[11 x i8]*> [#uses=1]
+@str2 = internal constant [50 x i8] c"/Volumes/Big2/llvm/llvm/test/Regression/Debugger/\00", section "llvm.metadata"           ; <[50 x i8]*> [#uses=1]
+@str3 = internal constant [45 x i8] c"4.0.1 LLVM (Apple Computer, Inc. build 5421)\00", section "llvm.metadata"                ; <[45 x i8]*> [#uses=1]
+@llvm.dbg.variable = internal constant %llvm.dbg.variable.type {
+    i32 393472, 
+    {  }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to {  }*), 
+    i8* getelementptr ([2 x i8]* @str4, i32 0, i32 0), 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i32 5, 
+    {  }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to {  }*) }, section "llvm.metadata"          ; <%llvm.dbg.variable.type*> [#uses=1]
+@str4 = internal constant [2 x i8] c"t\00", section "llvm.metadata"            ; <[2 x i8]*> [#uses=1]
+@llvm.dbg.basictype = internal constant %llvm.dbg.basictype.type {
+    i32 393252, 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i8* getelementptr ([4 x i8]* @str15, i32 0, i32 0), 
+    {  }* null, 
+    i32 0, 
+    i64 32, 
+    i64 32, 
+    i64 0, 
+    i32 0, 
+    i32 5 }, section "llvm.metadata"           ; <%llvm.dbg.basictype.type*> [#uses=1]
+@str15 = internal constant [4 x i8] c"int\00", section "llvm.metadata"         ; <[4 x i8]*> [#uses=1]
+@llvm.dbg.subprogram2 = internal constant %llvm.dbg.subprogram.type {
+    i32 393262, 
+    {  }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to {  }*), 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i8* getelementptr ([5 x i8]* @str6, i32 0, i32 0), 
+    i8* getelementptr ([5 x i8]* @str6, i32 0, i32 0), 
+    i8* null, 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i32 8, 
+    {  }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to {  }*), 
+    i1 false, 
+    i1 true }, section "llvm.metadata"         ; <%llvm.dbg.subprogram.type*> [#uses=1]
+@str6 = internal constant [5 x i8] c"main\00", section "llvm.metadata"         ; <[5 x i8]*> [#uses=1]
+@llvm.dbg.variable3 = internal constant %llvm.dbg.variable.type {
+    i32 393474, 
+    {  }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram2 to {  }*), 
+    i8* getelementptr ([7 x i8]* @str7, i32 0, i32 0), 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i32 8, 
+    {  }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to {  }*) }, section "llvm.metadata"          ; <%llvm.dbg.variable.type*> [#uses=1]
+@str7 = internal constant [7 x i8] c"retval\00", section "llvm.metadata"               ; <[7 x i8]*> [#uses=1]
+@llvm.dbg.global_variable = internal constant %llvm.dbg.global_variable.type {
+    i32 393268, 
+    {  }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.global_variables to {  }*), 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i8* getelementptr ([2 x i8]* @str4, i32 0, i32 0), 
+    i8* getelementptr ([2 x i8]* @str4, i32 0, i32 0), 
+    i8* null, 
+    {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*), 
+    i32 2, 
+    {  }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to {  }*), 
+    i1 true, 
+    i1 true, 
+    {  }* bitcast (i32* @q to {  }*) }, section "llvm.metadata"                ; <%llvm.dbg.global_variable.type*> [#uses=0]
+@str4.upgrd.1 = internal constant [2 x i8] c"q\00", section "llvm.metadata"            ; <[2 x i8]*> [#uses=0]
+@q = internal global i32 0             ; <i32*> [#uses=7]
 
-;; Debugger type declarations
-%llvm.dbg.anchor.type = type { uint, uint }
-%llvm.dbg.basictype.type = type { uint, {  }*, sbyte*, {  }*, uint, ulong, ulong, ulong, uint, uint }
-%llvm.dbg.compile_unit.type = type { uint, {  }*, uint, sbyte*, sbyte*, sbyte* }
-%llvm.dbg.global_variable.type = type { uint, {  }*, {  }*, sbyte*, sbyte*, sbyte*, {  }*, uint, {  }*, bool, bool, {  }* }
-%llvm.dbg.subprogram.type = type { uint, {  }*, {  }*, sbyte*, sbyte*, sbyte*, {  }*, uint, {  }*, bool, bool }
-%llvm.dbg.variable.type = type { uint, {  }*, sbyte*, {  }*, uint, {  }* }
+declare void @llvm.dbg.func.start({  }*)
 
-;; Debugger intrinsic declarations...
-declare void %llvm.dbg.func.start({  }*)
-declare void %llvm.dbg.stoppoint(uint, uint, {  }*)
-declare void %llvm.dbg.declare({  }*, {  }*)
-declare void %llvm.dbg.region.start({  }*)
-declare void %llvm.dbg.region.end({  }*)
+declare void @llvm.dbg.stoppoint(i32, i32, {  }*)
 
-;; Debugger anchors
-%llvm.dbg.subprograms = linkonce constant %llvm.dbg.anchor.type {
-  uint 393216,                                                                   ;; DW_TAG_anchor | version(6)
-  uint 46 }, section "llvm.metadata"                                             ;; DW_TAG_subprogram
-%llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type {
-  uint 393216,                                                                   ;; DW_TAG_anchor | version(6)
-  uint 17 }, section "llvm.metadata"                                             ;; DW_TAG_compile_unit
-%llvm.dbg.global_variables = linkonce constant %llvm.dbg.anchor.type {
-  uint 393216,                                                                   ;; DW_TAG_anchor | version(6)
-  uint 52 }, section "llvm.metadata"                                             ;; DW_TAG_variable
+declare void @llvm.dbg.declare({  }*, {  }*)
 
-;; Debug info
-%llvm.dbg.subprogram = internal constant %llvm.dbg.subprogram.type {
-    uint 393262,                                                                 ;; DW_TAG_subprogram | version(6)
-    {  }* bitcast (%llvm.dbg.anchor.type* %llvm.dbg.subprograms to {  }*),       ;; Anchor
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Context
-    sbyte* getelementptr ([4 x sbyte]* %str, int 0, int 0),                      ;; Name
-    sbyte* getelementptr ([4 x sbyte]* %str, int 0, int 0),                      ;; Fully quanlified name
-    sbyte* null,                                                                 ;; Linkage name
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Compile unit
-    uint 4,                                                                      ;; Line number
-    {  }* null,                                                                  ;; Type descriptor
-    bool false,                                                                  ;; Static?
-    bool true }, section "llvm.metadata"                                         ;; External?
-%str = internal constant [4 x sbyte] c"foo\00", section "llvm.metadata"
-    
-%llvm.dbg.compile_unit = internal constant %llvm.dbg.compile_unit.type {
-    uint 393233,                                                                 ;; DW_TAG_compile_unit | version(6)
-    {  }* bitcast (%llvm.dbg.anchor.type* %llvm.dbg.compile_units to {  }*),     ;; Anchor
-    uint 1,                                                                      ;; Language
-    sbyte* getelementptr ([11 x sbyte]* %str, int 0, int 0),                     ;; Source file
-    sbyte* getelementptr ([50 x sbyte]* %str, int 0, int 0),                     ;; Source file directory
-    sbyte* getelementptr ([45 x sbyte]* %str, int 0, int 0) }, section "llvm.metadata" ;; Produceer
-%str = internal constant [11 x sbyte] c"funccall.c\00", section "llvm.metadata"
-%str = internal constant [50 x sbyte] c"/Volumes/Big2/llvm/llvm/test/Regression/Debugger/\00", section "llvm.metadata"
-%str = internal constant [45 x sbyte] c"4.0.1 LLVM (Apple Computer, Inc. build 5421)\00", section "llvm.metadata"
+declare void @llvm.dbg.region.start({  }*)
 
-%llvm.dbg.variable = internal constant %llvm.dbg.variable.type {
-    uint 393472,                                                                 ;; DW_TAG_auto_variable | version(6)
-    {  }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram to {  }*),    ;; Context
-    sbyte* getelementptr ([2 x sbyte]* %str, int 0, int 0),                      ;; Name
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Compile unit
-    uint 5,                                                                      ;; Line number
-    {  }* bitcast (%llvm.dbg.basictype.type* %llvm.dbg.basictype to {  }*) }, section "llvm.metadata" ;; Type
-%str = internal constant [2 x sbyte] c"t\00", section "llvm.metadata"
+declare void @llvm.dbg.region.end({  }*)
 
-%llvm.dbg.basictype = internal constant %llvm.dbg.basictype.type {
-    uint 393252,                                                                 ;; DW_TAG_base_type | version(6)
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Context
-    sbyte* getelementptr ([4 x sbyte]* %str1, int 0, int 0),                     ;; Name
-    {  }* null,                                                                  ;; Compile Unit
-    uint 0,                                                                      ;; Line number
-    ulong 32,                                                                    ;; Size in bits
-    ulong 32,                                                                    ;; Align in bits
-    ulong 0,                                                                     ;; Offset in bits
-    uint 0,                                                                      ;; Flags
-    uint 5 }, section "llvm.metadata"                                            ;; Basic type encoding
-%str1 = internal constant [4 x sbyte] c"int\00", section "llvm.metadata"
-
-%llvm.dbg.subprogram2 = internal constant %llvm.dbg.subprogram.type {
-    uint 393262,                                                                 ;; DW_TAG_subprogram | version(6)
-    {  }* bitcast (%llvm.dbg.anchor.type* %llvm.dbg.subprograms to {  }*),       ;; Anchor
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Context
-    sbyte* getelementptr ([5 x sbyte]* %str, int 0, int 0),                      ;; Name
-    sbyte* getelementptr ([5 x sbyte]* %str, int 0, int 0),                      ;; Fully quanlified name
-    sbyte* null,                                                                 ;; Linkage name
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Compile unit
-    uint 8,                                                                      ;; Line number
-    {  }* bitcast (%llvm.dbg.basictype.type* %llvm.dbg.basictype to {  }*),      ;; Type descriptor
-    bool false,                                                                  ;; Static?
-    bool true }, section "llvm.metadata"                                         ;; External?
-%str = internal constant [5 x sbyte] c"main\00", section "llvm.metadata"
-
-%llvm.dbg.variable3 = internal constant %llvm.dbg.variable.type {
-    uint 393474,                                                                 ;; DW_TAG_return_variable | version(6)
-    {  }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram2 to {  }*),   ;; Context
-    sbyte* getelementptr ([7 x sbyte]* %str, int 0, int 0),                      ;; Name
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Compile unit
-    uint 8,                                                                      ;; Line number
-    {  }* bitcast (%llvm.dbg.basictype.type* %llvm.dbg.basictype to {  }*) }, section "llvm.metadata" ;; Type 
-%str = internal constant [7 x sbyte] c"retval\00", section "llvm.metadata"
-
-%llvm.dbg.global_variable = internal constant %llvm.dbg.global_variable.type {
-    uint 393268,                                                                 ;; DW_TAG_variable | version(6)
-    {  }* bitcast (%llvm.dbg.anchor.type* %llvm.dbg.global_variables to {  }*),  ;; Anchor
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Context
-    sbyte* getelementptr ([2 x sbyte]* %str4, int 0, int 0),                     ;; Name
-    sbyte* getelementptr ([2 x sbyte]* %str4, int 0, int 0),                     ;; Fully qualified name
-    sbyte* null,                                                                 ;; Linkage name
-    {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*),;; Compile unit
-    uint 2,                                                                      ;; Line number
-    {  }* bitcast (%llvm.dbg.basictype.type* %llvm.dbg.basictype to {  }*),      ;; Type
-    bool true,                                                                   ;; Static?
-    bool true,                                                                   ;; External?
-    {  }* bitcast (int* %q to {  }*) }, section "llvm.metadata"                  ;; Variable
-%str4 = internal constant [2 x sbyte] c"q\00", section "llvm.metadata"
-
-;; Global
-%q = internal global int 0
-
-implementation
-
-void %foo() {
+define void @foo() {
 entry:
-       %t = alloca int, align 4
-       "alloca point" = bitcast int 0 to int
-       call void %llvm.dbg.func.start( {  }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram to {  }*) )
-       call void %llvm.dbg.stoppoint( uint 4, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       %t = bitcast int* %t to {  }*
-       call void %llvm.dbg.declare( {  }* %t, {  }* bitcast (%llvm.dbg.variable.type* %llvm.dbg.variable to {  }*) )
-       call void %llvm.dbg.stoppoint( uint 5, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       %tmp = load int* %q
-       store int %tmp, int* %t
-       call void %llvm.dbg.stoppoint( uint 6, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       %tmp1 = load int* %t
-       %tmp2 = add int %tmp1, 1
-       store int %tmp2, int* %q
-       call void %llvm.dbg.stoppoint( uint 7, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       call void %llvm.dbg.region.end( {  }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram to {  }*) )
+       %t = alloca i32, align 4                ; <i32*> [#uses=3]
+       %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
+       call void @llvm.dbg.func.start( {  }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to {  }*) )
+       call void @llvm.dbg.stoppoint( i32 4, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       %t.upgrd.2 = bitcast i32* %t to {  }*           ; <{  }*> [#uses=1]
+       call void @llvm.dbg.declare( {  }* %t.upgrd.2, {  }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable to {  }*) )
+       call void @llvm.dbg.stoppoint( i32 5, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       %tmp = load i32* @q             ; <i32> [#uses=1]
+       store i32 %tmp, i32* %t
+       call void @llvm.dbg.stoppoint( i32 6, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       %tmp1 = load i32* %t            ; <i32> [#uses=1]
+       %tmp2 = add i32 %tmp1, 1                ; <i32> [#uses=1]
+       store i32 %tmp2, i32* @q
+       call void @llvm.dbg.stoppoint( i32 7, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       call void @llvm.dbg.region.end( {  }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to {  }*) )
        ret void
 }
 
-int %main() {
+define i32 @main() {
 entry:
-       %retval = alloca int, align 4
-       %tmp = alloca int, align 4
-       "alloca point" = bitcast int 0 to int
-       call void %llvm.dbg.func.start( {  }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram2 to {  }*) )
-       call void %llvm.dbg.stoppoint( uint 8, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       %retval = bitcast int* %retval to {  }*
-       call void %llvm.dbg.declare( {  }* %retval, {  }* bitcast (%llvm.dbg.variable.type* %llvm.dbg.variable3 to {  }*) )
-       call void %llvm.dbg.stoppoint( uint 9, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       store int 0, int* %q
-       call void %llvm.dbg.stoppoint( uint 10, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       call void (...)* bitcast (void ()* %foo to void (...)*)( )
-       call void %llvm.dbg.stoppoint( uint 11, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       %tmp = load int* %q
-       %tmp1 = sub int %tmp, 1
-       store int %tmp1, int* %q
-       call void %llvm.dbg.stoppoint( uint 13, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       %tmp2 = load int* %q
-       store int %tmp2, int* %tmp
-       %tmp3 = load int* %tmp
-       store int %tmp3, int* %retval
-       %retval = load int* %retval
-       call void %llvm.dbg.stoppoint( uint 14, uint 0, {  }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to {  }*) )
-       call void %llvm.dbg.region.end( {  }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram2 to {  }*) )
-       ret int %retval
+       %retval = alloca i32, align 4           ; <i32*> [#uses=3]
+       %tmp = alloca i32, align 4              ; <i32*> [#uses=2]
+       %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
+       call void @llvm.dbg.func.start( {  }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram2 to {  }*) )
+       call void @llvm.dbg.stoppoint( i32 8, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       %retval.upgrd.3 = bitcast i32* %retval to {  }*         ; <{  }*> [#uses=1]
+       call void @llvm.dbg.declare( {  }* %retval.upgrd.3, {  }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable3 to {  }*) )
+       call void @llvm.dbg.stoppoint( i32 9, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       store i32 0, i32* @q
+       call void @llvm.dbg.stoppoint( i32 10, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       call void (...)* bitcast (void ()* @foo to void (...)*)( )
+       call void @llvm.dbg.stoppoint( i32 11, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       %tmp.upgrd.4 = load i32* @q             ; <i32> [#uses=1]
+       %tmp1 = sub i32 %tmp.upgrd.4, 1         ; <i32> [#uses=1]
+       store i32 %tmp1, i32* @q
+       call void @llvm.dbg.stoppoint( i32 13, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       %tmp2 = load i32* @q            ; <i32> [#uses=1]
+       store i32 %tmp2, i32* %tmp
+       %tmp3 = load i32* %tmp          ; <i32> [#uses=1]
+       store i32 %tmp3, i32* %retval
+       %retval.upgrd.5 = load i32* %retval             ; <i32> [#uses=1]
+       call void @llvm.dbg.stoppoint( i32 14, i32 0, {  }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to {  }*) )
+       call void @llvm.dbg.region.end( {  }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram2 to {  }*) )
+       ret i32 %retval.upgrd.5
 }
index 4ef1439d713285989df5cc3e574c8ee0312f1709..6a8d100e67613599d86ce351855edc6fa13b2106 100644 (file)
@@ -1,47 +1,38 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-%.LC0 = internal global [10 x sbyte] c"argc: %d\0A\00"
+@.LC0 = internal global [10 x i8] c"argc: %d\0A\00"            ; <[10 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare i32 @puts(i8*)
 
-declare int %puts(sbyte*)
-
-void %getoptions(int* %argc) {
-bb0:           ; No predecessors!
+define void @getoptions(i32* %argc) {
+bb0:
        ret void
 }
 
-declare int %printf(sbyte*, ...)
-
-int %main(int %argc, sbyte** %argv) {
-bb0:           ; No predecessors!
-       call int (sbyte*, ...)* %printf( sbyte* getelementptr ([10 x sbyte]* %.LC0, long 0, long 0), int %argc)
-       %cast224 = cast sbyte** %argv to sbyte*         ; <sbyte*> [#uses=1]
-       %local = alloca sbyte*          ; <sbyte**> [#uses=3]
-       store sbyte* %cast224, sbyte** %local
-       %cond226 = setle int %argc, 0           ; <bool> [#uses=1]
-       br bool %cond226, label %bb3, label %bb2
+declare i32 @printf(i8*, ...)
 
+define i32 @main(i32 %argc, i8** %argv) {
+bb0:
+       call i32 (i8*, ...)* @printf( i8* getelementptr ([10 x i8]* @.LC0, i64 0, i64 0), i32 %argc )           ; <i32>:0 [#uses=0]
+       %cast224 = bitcast i8** %argv to i8*            ; <i8*> [#uses=1]
+       %local = alloca i8*             ; <i8**> [#uses=3]
+       store i8* %cast224, i8** %local
+       %cond226 = icmp sle i32 %argc, 0                ; <i1> [#uses=1]
+       br i1 %cond226, label %bb3, label %bb2
 bb2:           ; preds = %bb2, %bb0
-       %cann-indvar = phi int [ 0, %bb0 ], [ %add1-indvar, %bb2 ]              ; <int> [#uses=2]
-       %add1-indvar = add int %cann-indvar, 1          ; <int> [#uses=2]
-       %cann-indvar-idxcast = cast int %cann-indvar to long            ; <long> [#uses=1]
-       ;%reg115 = load sbyte** %local          ; <sbyte*> [#uses=1]
-       ;%cann-indvar-idxcast-scale = mul long %cann-indvar-idxcast, 8          ; <long> [#uses=1]
-       ;%reg232 = getelementptr sbyte* %reg115, long %cann-indvar-idxcast-scale                ; <sbyte*> [#uses=1]
-       ;%cast235 = cast sbyte* %reg232 to sbyte**              ; <sbyte**> [#uses=1]
-       %CT = cast sbyte**  %local to sbyte***
-       %reg115 = load sbyte*** %CT
-       %cast235 = getelementptr sbyte** %reg115, long %cann-indvar-idxcast
-
-       %reg117 = load sbyte** %cast235         ; <sbyte*> [#uses=1]
-       %reg236 = call int %puts( sbyte* %reg117 )              ; <int> [#uses=0]
-       %cond239 = setlt int %add1-indvar, %argc                ; <bool> [#uses=1]
-       br bool %cond239, label %bb2, label %bb3
-
+       %cann-indvar = phi i32 [ 0, %bb0 ], [ %add1-indvar, %bb2 ]              ; <i32> [#uses=2]
+       %add1-indvar = add i32 %cann-indvar, 1          ; <i32> [#uses=2]
+       %cann-indvar-idxcast = sext i32 %cann-indvar to i64             ; <i64> [#uses=1]
+       %CT = bitcast i8** %local to i8***              ; <i8***> [#uses=1]
+       %reg115 = load i8*** %CT                ; <i8**> [#uses=1]
+       %cast235 = getelementptr i8** %reg115, i64 %cann-indvar-idxcast         ; <i8**> [#uses=1]
+       %reg117 = load i8** %cast235            ; <i8*> [#uses=1]
+       %reg236 = call i32 @puts( i8* %reg117 )         ; <i32> [#uses=0]
+       %cond239 = icmp slt i32 %add1-indvar, %argc             ; <i1> [#uses=1]
+       br i1 %cond239, label %bb2, label %bb3
 bb3:           ; preds = %bb2, %bb0
-       %cast243 = cast sbyte** %local to int*          ; <int*> [#uses=1]
-       call void %getoptions( int* %cast243 )
-       ret int 0
+       %cast243 = bitcast i8** %local to i32*          ; <i32*> [#uses=1]
+       call void @getoptions( i32* %cast243 )
+       ret i32 0
 }
index 218154f8cfccdd9866bfc4bf372d23cea2e1c4f3..6a8f07bad5be41de0de840b8cc61a15fabc3b97c 100644 (file)
@@ -1,16 +1,14 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-implementation   ; Functions:
-
-int %foo(int %X, int %Y, double %A) {
-       %cond212 = setne double %A, 1.000000e+00                ; <bool> [#uses=1]
-       %cast110 = cast bool %cond212 to int            ; <int> [#uses=1]
-       ret int %cast110
+define i32 @foo(i32 %X, i32 %Y, double %A) {
+       %cond212 = fcmp une double %A, 1.000000e+00             ; <i1> [#uses=1]
+       %cast110 = zext i1 %cond212 to i32              ; <i32> [#uses=1]
+       ret i32 %cast110
 }
 
-int %main() {
-       %reg212 = call int %foo( int 0, int 1, double 1.000000e+00 )            ; <int> [#uses=1]
-       ret int %reg212
+define i32 @main() {
+       %reg212 = call i32 @foo( i32 0, i32 1, double 1.000000e+00 )            ; <i32> [#uses=1]
+       ret i32 %reg212
 }
+
index f70928aef8fc032bc93893de0b17eb0d90bc62ce..fce0b00a0442b8cc27f9bd5e6dab9be1938a5117 100644 (file)
@@ -1,25 +1,21 @@
-; RUN: llvm-upgrade < %s | llvm-as -o %t.bc -f
+; RUN: llvm-as < %s -o %t.bc -f
 ; RUN: lli %t.bc > /dev/null
 
-implementation
-
-int %main() {
-       call int %mylog(int 4)
-       ret int 0
+define i32 @main() {
+       call i32 @mylog( i32 4 )                ; <i32>:1 [#uses=0]
+       ret i32 0
 }
 
-internal int %mylog(int %num) {
-bb0:            ; No predecessors!
+define internal i32 @mylog(i32 %num) {
+bb0:
        br label %bb2
-
-bb2:
-        %reg112 = phi int [ 10, %bb2 ], [ 1, %bb0 ]
-        %cann-indvar = phi int [ %cann-indvar, %bb2 ], [0, %bb0]
-        %reg114 = add int %reg112, 1
-        %cond222 = setlt int %reg114, %num
-        br bool %cond222, label %bb2, label %bb3
-
-bb3:            ; preds = %bb2, %bb0
-       ret int %reg114
+bb2:           ; preds = %bb2, %bb0
+       %reg112 = phi i32 [ 10, %bb2 ], [ 1, %bb0 ]             ; <i32> [#uses=1]
+       %cann-indvar = phi i32 [ %cann-indvar, %bb2 ], [ 0, %bb0 ]              ; <i32> [#uses=1]
+       %reg114 = add i32 %reg112, 1            ; <i32> [#uses=2]
+       %cond222 = icmp slt i32 %reg114, %num           ; <i1> [#uses=1]
+       br i1 %cond222, label %bb2, label %bb3
+bb3:           ; preds = %bb2
+       ret i32 %reg114
 }
 
index 45af8300a642e2908481bf1c171cc83b56f2791a..cadb19e7775a6784080002b1e1e598325df654fb 100644 (file)
@@ -1,11 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-int %main() {
+define i32 @main() {
+; <label>:0
        br label %Loop
-Loop:
-       %X = phi int [0, %0], [1, %Loop]
-       br bool true, label %Out, label %Loop
-Out:
-       ret int %X
+Loop:          ; preds = %Loop, %0
+       %X = phi i32 [ 0, %0 ], [ 1, %Loop ]            ; <i32> [#uses=1]
+       br i1 true, label %Out, label %Loop
+Out:           ; preds = %Loop
+       ret i32 %X
 }
+
index 73f2900a1525163421630059b7353c481c37799d..eeb432679244d8297bf29af50adb2457d6030f05 100644 (file)
@@ -1,11 +1,12 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; We were accidentally inverting the signedness of right shifts.  Whoops.
 
-int %main() {
-  %X = shr int -1, ubyte 16
-  %Y = shr int %X, ubyte 16
-  %Z = add int %Y, 1
-  ret int %Z
+define i32 @main() {
+       %X = ashr i32 -1, 16            ; <i32> [#uses=1]
+       %Y = ashr i32 %X, 16            ; <i32> [#uses=1]
+       %Z = add i32 %Y, 1              ; <i32> [#uses=1]
+       ret i32 %Z
 }
+
index 4209df96849d993d1d66b261e78072330e9275fc..c45674c1bc917efe5cfdc5e4f00475e274b41c4a 100644 (file)
@@ -1,11 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-int %main() {
-       %X = add double 0.0, 1.0
-       %Y = sub double 0.0, 1.0
-       %Z = seteq double %X, %Y
-       add double %Y, 0.0
-       ret int 0
+define i32 @main() {
+       %X = add double 0.000000e+00, 1.000000e+00              ; <double> [#uses=1]
+       %Y = sub double 0.000000e+00, 1.000000e+00              ; <double> [#uses=2]
+       %Z = fcmp oeq double %X, %Y             ; <i1> [#uses=0]
+       add double %Y, 0.000000e+00             ; <double>:1 [#uses=0]
+       ret i32 0
 }
+
index e9ffd90c8608b34ab6f6c120f62d67a942dd1688..02872f6958bcbf6ae3d1d18f954c96cb94e4e750 100644 (file)
@@ -1,19 +1,18 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-int %bar(sbyte* %X) {
-       %P = alloca double   ; pointer should be 4 byte aligned!
-       %R = cast double* %P to int
-       %A = and int %R, 3
-       ret int %A
+define i32 @bar(i8* %X) {
+        ; pointer should be 4 byte aligned!
+       %P = alloca double              ; <double*> [#uses=1]
+       %R = ptrtoint double* %P to i32         ; <i32> [#uses=1]
+       %A = and i32 %R, 3              ; <i32> [#uses=1]
+       ret i32 %A
 }
 
-int %main() {
-       %SP = alloca sbyte
-       %X = add uint 0, 0
-       alloca sbyte, uint %X
-
-       call int %bar(sbyte* %SP)
-       ret int %0
+define i32 @main() {
+       %SP = alloca i8         ; <i8*> [#uses=1]
+       %X = add i32 0, 0               ; <i32> [#uses=1]
+       alloca i8, i32 %X               ; <i8*>:1 [#uses=0]
+       call i32 @bar( i8* %SP )                ; <i32>:2 [#uses=1]
+       ret i32 %2
 }
index ea3f14b5128459ad3fe626a2ac59bac0d57b21db..57fe95b2d915b38ceaed4d6159fbf0117d440f7b 100644 (file)
@@ -1,20 +1,19 @@
 ; This testcase shoudl return with an exit code of 1.
 ;
-; RUN: llvm-upgrade < %s | llvm-as | not lli
+; RUN: llvm-as < %s | not lli
 
-%test = global long 0
-implementation
+@test = global i64 0           ; <i64*> [#uses=1]
 
-
-internal long %test() {
-        %tmp.0 = load long* %test               ; <long> [#uses=1]
-        %tmp.1 = add long %tmp.0, 1             ; <long> [#uses=1]
-        ret long %tmp.1
+define internal i64 @test.upgrd.1() {
+       %tmp.0 = load i64* @test                ; <i64> [#uses=1]
+       %tmp.1 = add i64 %tmp.0, 1              ; <i64> [#uses=1]
+       ret i64 %tmp.1
 }
 
-int %main() {
-       %L = call long %test()
-       %I = cast long %L to int
-       ret int %I
+define i32 @main() {
+       %L = call i64 @test.upgrd.1( )          ; <i64> [#uses=1]
+       %I = trunc i64 %L to i32                ; <i32> [#uses=1]
+       ret i32 %I
 }
 
+
index e5dd04eafb5a1ead4b2dba7880d1331e498e8804..fa15d7110c32c0b46e55d872365f65626d043d5b 100644 (file)
@@ -1,13 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | lli - test
+; RUN: llvm-as < %s | lli - test
 
-implementation  
+declare i32 @puts(i8*)
 
-declare int %puts(sbyte*)
-
-int %main(int %argc.1, sbyte** %argv.1) {
-       %tmp.5 = getelementptr sbyte** %argv.1, long 1          ; <sbyte**> [#uses=1]
-       %tmp.6 = load sbyte** %tmp.5            ; <sbyte*> [#uses=1]
-       %tmp.0 = call int %puts( sbyte* %tmp.6 )                ; <int> [#uses=0]
-       ret int 0
+define i32 @main(i32 %argc.1, i8** %argv.1) {
+       %tmp.5 = getelementptr i8** %argv.1, i64 1              ; <i8**> [#uses=1]
+       %tmp.6 = load i8** %tmp.5               ; <i8*> [#uses=1]
+       %tmp.0 = call i32 @puts( i8* %tmp.6 )           ; <i32> [#uses=0]
+       ret i32 0
 }
 
index 1d9ba77145b54b704ff3e2e38339a1435d70138b..850654f2346bb255ada5f62cffa7799b1eea642e 100644 (file)
@@ -1,18 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-target endian = little
-target pointersize = 32
+target datalayout = "e-p:32:32"
 
-implementation
-
-int %main() {
+define i32 @main() {
 entry:
        br label %endif
-then:
+then:          ; No predecessors!
        br label %endif
-endif:
-       %x = phi uint [ 4, %entry ], [ 27, %then ]
-       %result = phi int [ 32, %then ], [ 0, %entry ]
-       ret int 0
+endif:         ; preds = %then, %entry
+       %x = phi i32 [ 4, %entry ], [ 27, %then ]               ; <i32> [#uses=0]
+       %result = phi i32 [ 32, %then ], [ 0, %entry ]          ; <i32> [#uses=0]
+       ret i32 0
 }
+
index cd237c326b5d785251d228f5cc2254f3e8192241..ff758cf14c622a1f625cee77b2a38ac4838353da 100644 (file)
@@ -1,22 +1,20 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; Testcase distilled from 256.bzip2.
 
-target endian = little
-target pointersize = 32
+target datalayout = "e-p:32:32"
 
-int %main() {
+define i32 @main() {
 entry:
        br label %loopentry.0
-
-loopentry.0:
-       %h.0 = phi int [ %tmp.2, %loopentry.0 ], [ -1, %entry ]
-       %tmp.2 = add int %h.0, 1
-       %tmp.4 = setne int %tmp.2, 0
-       br bool %tmp.4, label %loopentry.0, label %loopentry.1
-
-loopentry.1:
-       %h.1 = phi int [ %tmp.2, %loopentry.0 ]
-       ret int %h.1
+loopentry.0:           ; preds = %loopentry.0, %entry
+       %h.0 = phi i32 [ %tmp.2, %loopentry.0 ], [ -1, %entry ]         ; <i32> [#uses=1]
+       %tmp.2 = add i32 %h.0, 1                ; <i32> [#uses=3]
+       %tmp.4 = icmp ne i32 %tmp.2, 0          ; <i1> [#uses=1]
+       br i1 %tmp.4, label %loopentry.0, label %loopentry.1
+loopentry.1:           ; preds = %loopentry.0
+       %h.1 = phi i32 [ %tmp.2, %loopentry.0 ]         ; <i32> [#uses=1]
+       ret i32 %h.1
 }
+
index 8c1aaba27df4e485e359e2afbcb630fcd761cd76..3a55f72c97df6fa64b27a6b5c4f964ff60f56b43 100644 (file)
@@ -1,19 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; Testcase distilled from 256.bzip2.
 
-target endian = little
-target pointersize = 32
+target datalayout = "e-p:32:32"
 
-int %main() {
+define i32 @main() {
 entry:
-       %X = add int 1, -1
+       %X = add i32 1, -1              ; <i32> [#uses=3]
        br label %Next
-
-Next:
-       %A = phi int [ %X, %entry ]
-       %B = phi int [ %X, %entry ]
-       %C = phi int [ %X, %entry ]
-       ret int %C
+Next:          ; preds = %entry
+       %A = phi i32 [ %X, %entry ]             ; <i32> [#uses=0]
+       %B = phi i32 [ %X, %entry ]             ; <i32> [#uses=0]
+       %C = phi i32 [ %X, %entry ]             ; <i32> [#uses=1]
+       ret i32 %C
 }
+
index adc82206b280908431f70c42b6194f169c50cfb7..ce5e1ed3ad8eb4d398a2d55cd01a44889da0b26f 100644 (file)
@@ -1,12 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; This testcase failed to work because two variable sized allocas confused the
 ; local register allocator.
 
-int %main(uint %X) {
-  %A = alloca uint, uint %X
-
-  %B = alloca float, uint %X
-  ret int 0
+define i32 @main(i32 %X) {
+       %A = alloca i32, i32 %X         ; <i32*> [#uses=0]
+       %B = alloca float, i32 %X               ; <float*> [#uses=0]
+       ret i32 0
 }
+
index 21e87cac9e5a72b7303393026dc0c7248be95256..ec36a85d7d3a9325d2fb46dab7d33957bf6d045c 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ;
@@ -9,15 +9,14 @@
 ;      environment to the main() function.
 ;
 
-implementation
 
-declare uint %strlen(sbyte*)
+declare i32 @strlen(i8*)
 
-int %main(int %argc.1, sbyte** %argv.1, sbyte** %envp.1) {
-       %tmp.2 = load sbyte** %envp.1
-       %tmp.3 = call uint %strlen( sbyte* %tmp.2 )
-       %T = seteq uint %tmp.3, 0
-       %R = cast bool %T to int        
-       ret int %R
+define i32 @main(i32 %argc.1, i8** %argv.1, i8** %envp.1) {
+       %tmp.2 = load i8** %envp.1              ; <i8*> [#uses=1]
+       %tmp.3 = call i32 @strlen( i8* %tmp.2 )         ; <i32> [#uses=1]
+       %T = icmp eq i32 %tmp.3, 0              ; <i1> [#uses=1]
+       %R = zext i1 %T to i32          ; <i32> [#uses=1]
+       ret i32 %R
 }
 
index 4d1d0452dba0c1986712b7107c8a4ffc96c76849..42e8dc3b13141820211dca8b70bce8e302b48ec6 100644 (file)
@@ -1,33 +1,35 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; This testcase exposes a bug in the local register allocator where it runs out
 ; of registers (due to too many overlapping live ranges), but then attempts to
 ; use the ESP register (which is not allocatable) to hold a value.
 
-int %main(uint %A) {
-       %Ap2 = alloca uint, uint %A   ; ESP gets used again...
-       %B = add uint %A, 1           ; Produce lots of overlapping live ranges
-       %C = add uint %A, 2
-       %D = add uint %A, 3
-       %E = add uint %A, 4
-       %F = add uint %A, 5
-       %G = add uint %A, 6
-       %H = add uint %A, 7
-       %I = add uint %A, 8
-       %J = add uint %A, 9
-       %K = add uint %A, 10
-
-       store uint %A, uint *%Ap2      ; Uses of all of the values
-       store uint %B, uint *%Ap2
-       store uint %C, uint *%Ap2
-       store uint %D, uint *%Ap2
-       store uint %E, uint *%Ap2
-       store uint %F, uint *%Ap2
-       store uint %G, uint *%Ap2
-       store uint %H, uint *%Ap2
-       store uint %I, uint *%Ap2
-       store uint %J, uint *%Ap2
-       store uint %K, uint *%Ap2
-       ret int 0
+define i32 @main(i32 %A) {
+        ; ESP gets used again...
+       %Ap2 = alloca i32, i32 %A               ; <i32*> [#uses=11]
+       ; Produce lots of overlapping live ranges
+        %B = add i32 %A, 1             ; <i32> [#uses=1]
+       %C = add i32 %A, 2              ; <i32> [#uses=1]
+       %D = add i32 %A, 3              ; <i32> [#uses=1]
+       %E = add i32 %A, 4              ; <i32> [#uses=1]
+       %F = add i32 %A, 5              ; <i32> [#uses=1]
+       %G = add i32 %A, 6              ; <i32> [#uses=1]
+       %H = add i32 %A, 7              ; <i32> [#uses=1]
+       %I = add i32 %A, 8              ; <i32> [#uses=1]
+       %J = add i32 %A, 9              ; <i32> [#uses=1]
+       %K = add i32 %A, 10             ; <i32> [#uses=1]
+        ; Uses of all of the values
+       store i32 %A, i32* %Ap2
+       store i32 %B, i32* %Ap2
+       store i32 %C, i32* %Ap2
+       store i32 %D, i32* %Ap2
+       store i32 %E, i32* %Ap2
+       store i32 %F, i32* %Ap2
+       store i32 %G, i32* %Ap2
+       store i32 %H, i32* %Ap2
+       store i32 %I, i32* %Ap2
+       store i32 %J, i32* %Ap2
+       store i32 %K, i32* %Ap2
+       ret i32 0
 }
index b2700e1f3955753b8fecd6fff58c370ccfa638ae..32d99d50516ec30944d23c3d8f8741047fcd5b4d 100644 (file)
@@ -1,30 +1,24 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-%A = global int 0
+@A = global i32 0              ; <i32*> [#uses=1]
 
-int %main() {
-       %Ret = call int %test(bool true, int 0) 
-       ret int %Ret
+define i32 @main() {
+       %Ret = call i32 @test( i1 true, i32 0 )         ; <i32> [#uses=1]
+       ret i32 %Ret
 }
 
-int %test(bool %c, int %A) {
-       br bool %c, label %Taken1, label %NotTaken
-
-Cont:
-       %V = phi int [0, %NotTaken], 
-                     [ sub (int cast (int* %A to int), int 1234), %Taken1]
-       ret int 0
-
-NotTaken:
-       br label %Cont  
-
-Taken1:
-       %B = seteq int %A, 0
-       ; Code got inserted here, breaking the condition code.
-       br bool %B, label %Cont, label %ExitError
-
-ExitError:
-       ret int 12
-
+define i32 @test(i1 %c, i32 %A) {
+       br i1 %c, label %Taken1, label %NotTaken
+Cont:          ; preds = %Taken1, %NotTaken
+       %V = phi i32 [ 0, %NotTaken ], [ sub (i32 ptrtoint (i32* @A to i32), i32 1234), %Taken1 ]               ; <i32> [#uses=0]
+       ret i32 0
+NotTaken:              ; preds = %0
+       br label %Cont
+Taken1:                ; preds = %0
+       %B = icmp eq i32 %A, 0          ; <i1> [#uses=1]
+       br i1 %B, label %Cont, label %ExitError
+ExitError:             ; preds = %Taken1
+       ret i32 12
 }
+
index 447f49e9ad5e8edf0243c3e6a7e8d07ef0e5fc6c..59a40ae814036348f9decb5549aaf8859908efe6 100644 (file)
@@ -1,21 +1,21 @@
 ; PR672
-; RUN: llvm-upgrade < %s | llvm-as | lli
+; RUN: llvm-as < %s | lli
 
-int %main(){ 
- %f   = cast int (int, int*, int)* %check_tail to int*
- %res = tail call fastcc int %check_tail( int 10, int* %f,int 10)
ret int %res
+define i32 @main() {
+       %f = bitcast i32 (i32, i32*, i32)* @check_tail to i32*          ; <i32*> [#uses=1]
+       %res = tail call fastcc i32 @check_tail( i32 10, i32* %f, i32 10 )              ; <i32> [#uses=1]
      ret i32 %res
 }
-fastcc int %check_tail(int %x, int* %f, int %g) {
-       %tmp1 = setgt int %x, 0
-       br bool %tmp1, label %if-then, label %if-else
 
-if-then:
-       %fun_ptr = cast int* %f to int(int, int*, int)* 
-       %arg1    = add int %x, -1               
-       %res = tail call fastcc int %fun_ptr( int %arg1, int * %f, int %g)
-       ret int %res
-
-if-else:
-        ret int %x
+define fastcc i32 @check_tail(i32 %x, i32* %f, i32 %g) {
+       %tmp1 = icmp sgt i32 %x, 0              ; <i1> [#uses=1]
+       br i1 %tmp1, label %if-then, label %if-else
+if-then:               ; preds = %0
+       %fun_ptr = bitcast i32* %f to i32 (i32, i32*, i32)*             ; <i32 (i32, i32*, i32)*> [#uses=1]
+       %arg1 = add i32 %x, -1          ; <i32> [#uses=1]
+       %res = tail call fastcc i32 %fun_ptr( i32 %arg1, i32* %f, i32 %g )              ; <i32> [#uses=1]
+       ret i32 %res
+if-else:               ; preds = %0
+       ret i32 %x
 }
+
index ea2f9a4cce5d5b6686e8d91e963633f4a97cb2f3..a0c5e1a48de1f841546251d2cd4fcf8f98fd84ed 100644 (file)
@@ -1,14 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-%.LC0 = internal global [12 x sbyte] c"Hello World\00"
+@.LC0 = internal global [12 x i8] c"Hello World\00"            ; <[12 x i8]*> [#uses=1]
 
-implementation
+declare i32 @puts(i8*)
 
-declare int %puts(sbyte*)
-
-int %main() {
-        %reg210 = call int %puts( sbyte* getelementptr ([12 x sbyte]* %.LC0, long 0, long 0) )
-        ret int 0
+define i32 @main() {
+       %reg210 = call i32 @puts( i8* getelementptr ([12 x i8]* @.LC0, i64 0, i64 0) )          ; <i32> [#uses=0]
+       ret i32 0
 }
 
index b186c52e2b5157cf242770fcea4c3c39d8f6b672..772dc0493e5d1910abd94483a10c7e68f004ea1e 100644 (file)
@@ -1,22 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
+@X = global i32 7              ; <i32*> [#uses=0]
+@msg = internal global [13 x i8] c"Hello World\0A\00"          ; <[13 x i8]*> [#uses=1]
 
-%X = global int 7
-%msg = internal global [13 x sbyte] c"Hello World\0A\00"
+declare void @printf([13 x i8]*, ...)
 
-
-implementation
-
-declare void %printf([13 x sbyte]*,...)
-
-void %bar() {
-  call void([13 x sbyte]*,...)* %printf([13 x sbyte]* %msg)
-  ret void 
+define void @bar() {
+       call void ([13 x i8]*, ...)* @printf( [13 x i8]* @msg )
+       ret void
 }
 
-int %main() {
-        call void %bar()
-        ret int 0
+define i32 @main() {
+       call void @bar( )
+       ret i32 0
 }
 
index 1f578d29f27b3e35d4ba58a1dca5e6780c03149a..82e8a2dc869b4df8f55150edbd0ea34601180233 100644 (file)
@@ -1,10 +1,7 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-implementation
-
-int %main() {
-        ret int 0
+define i32 @main() {
+       ret i32 0
 }
 
index 68b70446272a8ece667dc786b74798d94b01be25..cca3499db348f35b416f7da1b1b52c6add2d40d0 100644 (file)
@@ -1,12 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-implementation
-
-int %bar() { ret int 0 }
+define i32 @bar() {
+       ret i32 0
+}
 
-int %main() {
-        %r = call int %bar()
-        ret int %r
+define i32 @main() {
+       %r = call i32 @bar( )           ; <i32> [#uses=1]
+       ret i32 %r
 }
 
index 49d85af11409abd3a18088d6f0a18692d66a458b..d99e30f517407e365827b31e86036a0543886c9b 100644 (file)
@@ -1,38 +1,35 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-int %main() {
-       %A = add sbyte 0, 12
-       %B = sub sbyte %A, 1
-       %C = mul sbyte %B, %B
-       %D = div sbyte %C, %C
-       %E = rem sbyte %D, %D
-       %F = div ubyte 5, 6
-       %G = rem ubyte 6, 5
-
-       %A = add short 0, 12
-       %B = sub short %A, 1
-       %C = mul short %B, %B
-       %D = div short %C, %C
-       %E = rem short %D, %D
-       %F = div ushort 5, 6
-       %G = rem uint 6, 5
-
-       %A = add int 0, 12
-       %B = sub int %A, 1
-       %C = mul int %B, %B
-       %D = div int %C, %C
-       %E = rem int %D, %D
-       %F = div uint 5, 6
-       %G1 = rem uint 6, 5
-
-       %A = add long 0, 12
-       %B = sub long %A, 1
-       %C = mul long %B, %B
-       %D = div long %C, %C
-       %E = rem long %D, %D
-       %F = div ulong 5, 6
-       %G = rem ulong 6, 5
-
-       ret int 0
+define i32 @main() {
+       %A = add i8 0, 12               ; <i8> [#uses=1]
+       %B = sub i8 %A, 1               ; <i8> [#uses=2]
+       %C = mul i8 %B, %B              ; <i8> [#uses=2]
+       %D = sdiv i8 %C, %C             ; <i8> [#uses=2]
+       %E = srem i8 %D, %D             ; <i8> [#uses=0]
+       %F = udiv i8 5, 6               ; <i8> [#uses=0]
+       %G = urem i8 6, 5               ; <i8> [#uses=0]
+       %A.upgrd.1 = add i16 0, 12              ; <i16> [#uses=1]
+       %B.upgrd.2 = sub i16 %A.upgrd.1, 1              ; <i16> [#uses=2]
+       %C.upgrd.3 = mul i16 %B.upgrd.2, %B.upgrd.2             ; <i16> [#uses=2]
+       %D.upgrd.4 = sdiv i16 %C.upgrd.3, %C.upgrd.3            ; <i16> [#uses=2]
+       %E.upgrd.5 = srem i16 %D.upgrd.4, %D.upgrd.4            ; <i16> [#uses=0]
+       %F.upgrd.6 = udiv i16 5, 6              ; <i16> [#uses=0]
+       %G.upgrd.7 = urem i32 6, 5              ; <i32> [#uses=0]
+       %A.upgrd.8 = add i32 0, 12              ; <i32> [#uses=1]
+       %B.upgrd.9 = sub i32 %A.upgrd.8, 1              ; <i32> [#uses=2]
+       %C.upgrd.10 = mul i32 %B.upgrd.9, %B.upgrd.9            ; <i32> [#uses=2]
+       %D.upgrd.11 = sdiv i32 %C.upgrd.10, %C.upgrd.10         ; <i32> [#uses=2]
+       %E.upgrd.12 = srem i32 %D.upgrd.11, %D.upgrd.11         ; <i32> [#uses=0]
+       %F.upgrd.13 = udiv i32 5, 6             ; <i32> [#uses=0]
+       %G1 = urem i32 6, 5             ; <i32> [#uses=0]
+       %A.upgrd.14 = add i64 0, 12             ; <i64> [#uses=1]
+       %B.upgrd.15 = sub i64 %A.upgrd.14, 1            ; <i64> [#uses=2]
+       %C.upgrd.16 = mul i64 %B.upgrd.15, %B.upgrd.15          ; <i64> [#uses=2]
+       %D.upgrd.17 = sdiv i64 %C.upgrd.16, %C.upgrd.16         ; <i64> [#uses=2]
+       %E.upgrd.18 = srem i64 %D.upgrd.17, %D.upgrd.17         ; <i64> [#uses=0]
+       %F.upgrd.19 = udiv i64 5, 6             ; <i64> [#uses=0]
+       %G.upgrd.20 = urem i64 6, 5             ; <i64> [#uses=0]
+       ret i32 0
 }
+
index 649319b88f4775b5c32546f92347d2613097e736..55b7ef1d80c51fd6d8aee5b720ba345fdc3f8e3d 100644 (file)
@@ -1,12 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; test unconditional branch
-int %main() {
+define i32 @main() {
        br label %Test
-Test:
-       %X = seteq int 0, 4
-       br bool %X, label %Test, label %Label
-Label:
-       ret int 0
+Test:          ; preds = %Test, %0
+       %X = icmp eq i32 0, 4           ; <i1> [#uses=1]
+       br i1 %X, label %Test, label %Label
+Label:         ; preds = %Test
+       ret i32 0
 }
+
index 23e4f14a5402aae10b5047a5e9eef3c3b31c7b84..645396fe7585aab019bef74b1a341e25c9e8312c 100644 (file)
@@ -1,22 +1,22 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
+declare void @exit(i32)
 
-declare void %exit(int)
-
-int %test(sbyte %C, short %S) {
-  %X = cast short %S to ubyte
-  %Y = cast ubyte %X to int
-  ret int %Y
+define i32 @test(i8 %C, i16 %S) {
+       %X = trunc i16 %S to i8         ; <i8> [#uses=1]
+       %Y = zext i8 %X to i32          ; <i32> [#uses=1]
+       ret i32 %Y
 }
 
-void %FP(void(int) * %F) {
-       %X = call int %test(sbyte 123, short 1024)
-       call void %F(int %X)
+define void @FP(void (i32)* %F) {
+       %X = call i32 @test( i8 123, i16 1024 )         ; <i32> [#uses=1]
+       call void %F( i32 %X )
        ret void
 }
 
-int %main() {
-       call void %FP(void(int)* %exit)
-       ret int 1
+define i32 @main() {
+       call void @FP( void (i32)* @exit )
+       ret i32 1
 }
+
index 97e71570f7ff5e44720ebacdc4a63035ba073de4..bc48716937ae36b8f892cb76abca2ca92ebc7ba2 100644 (file)
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-int %foo() {
-  ret int 0
+define i32 @foo() {
+       ret i32 0
 }
 
-int %main() {
-  ; cast bool to ...
-  cast bool true to bool
-  cast bool true to ubyte
-  cast bool true to sbyte
-  cast bool true to short
-  cast bool true to ushort
-  cast bool true to int
-  cast bool true to uint
-  cast bool true to long
-  cast bool true to ulong
-  cast bool true to float
-  cast bool true to double
-
-  ; cast sbyte to ...
-  cast sbyte 0 to bool
-  cast sbyte 1 to bool
-  cast sbyte 0 to sbyte
-  cast sbyte -1 to ubyte
-  cast sbyte 4 to short
-  cast sbyte 4 to ushort
-  cast sbyte 4 to long
-  cast sbyte 4 to ulong
-  cast sbyte 4 to float
-  cast sbyte 4 to double
-
-  ; cast ubyte to ...
-  cast ubyte 0 to bool
-  cast ubyte 1 to bool
-  cast ubyte 0 to sbyte
-  cast ubyte 1 to ubyte
-  cast ubyte 4 to short
-  cast ubyte 4 to ushort
-  cast ubyte 4 to long
-  cast ubyte 4 to ulong
-  cast ubyte 0 to float
-  cast ubyte 0 to double
-
-  ; cast short to ...
-  cast short 1 to bool
-  cast short -1 to sbyte
-  cast short 255 to ubyte
-  cast short 0 to short
-  cast short 0 to ushort
-  cast short 0 to long
-  cast short 0 to ulong
-  cast short 0 to float
-  cast short 0 to double
-
-  ; cast ushort to ...
-  cast ushort 1 to bool
-  cast ushort 1 to sbyte
-  cast ushort 255 to ubyte
-  cast ushort 0 to short
-  cast ushort 0 to ushort
-  cast ushort 0 to long
-  cast ushort 0 to ulong
-  cast ushort 0 to float
-  cast ushort 0 to double
-
-  ; cast int to ...
-  cast int 6 to bool
-  cast int -6 to sbyte
-  cast int 6 to ubyte
-  cast int 6 to short
-  cast int 0 to int
-  cast int 0 to long
-  cast int 0 to ulong
-  cast int 0 to float
-  cast int 0 to double
-
-  ; cast uint to ...
-  cast uint 6 to bool
-  cast uint 7 to sbyte
-  cast uint 8 to ubyte
-  cast uint 9 to short
-  cast uint 10 to int
-  cast uint 0 to long
-  cast uint 0 to ulong
-  cast uint 0 to float
-  cast uint 0 to double
-
-  ; cast long to ...
-  cast long 0 to bool
-  cast long 0 to sbyte
-  cast long 0 to ubyte
-  cast long 0 to short
-  cast long 0 to ushort
-  cast long 0 to int
-  cast long 0 to uint
-  cast long 0 to long
-  cast long 0 to ulong
-  cast long 0 to float
-  cast long 0 to double
-
-  ; cast ulong to ...
-  cast ulong 1 to bool
-  cast ulong 1 to sbyte
-  cast ulong 1 to ubyte
-  cast ulong 1 to short
-  cast ulong 1 to ushort
-  cast ulong 1 to int
-  cast ulong 1 to uint
-  cast ulong 1 to long
-  cast ulong 1 to ulong
-  cast ulong 1 to float
-  cast ulong 0 to double
-  
-  ; cast float to ...
-  ;cast float 0.0 to bool
-  cast float 0.0 to float
-  cast float 0.0 to double
-
-  ; cast double to ...
-  ;cast double 0.0 to bool
-  cast double 0.0 to sbyte
-  cast double 0.0 to ubyte
-  cast double 0.0 to short
-  cast double 0.0 to ushort
-  cast double 0.0 to int
-  cast double 0.0 to uint
-  cast double 0.0 to long
-  ;cast double 0.0 to ulong
-  cast double 0.0 to float
-  cast double 0.0 to double
-
-  ret int 0
+define i32 @main() {
+       icmp ne i1 true, false          ; <i1>:1 [#uses=0]
+       zext i1 true to i8              ; <i8>:2 [#uses=0]
+       zext i1 true to i8              ; <i8>:3 [#uses=0]
+       zext i1 true to i16             ; <i16>:4 [#uses=0]
+       zext i1 true to i16             ; <i16>:5 [#uses=0]
+       zext i1 true to i32             ; <i32>:6 [#uses=0]
+       zext i1 true to i32             ; <i32>:7 [#uses=0]
+       zext i1 true to i64             ; <i64>:8 [#uses=0]
+       zext i1 true to i64             ; <i64>:9 [#uses=0]
+       uitofp i1 true to float         ; <float>:10 [#uses=0]
+       uitofp i1 true to double                ; <double>:11 [#uses=0]
+       icmp ne i8 0, 0         ; <i1>:12 [#uses=0]
+       icmp ne i8 1, 0         ; <i1>:13 [#uses=0]
+       bitcast i8 0 to i8              ; <i8>:14 [#uses=0]
+       bitcast i8 -1 to i8             ; <i8>:15 [#uses=0]
+       sext i8 4 to i16                ; <i16>:16 [#uses=0]
+       sext i8 4 to i16                ; <i16>:17 [#uses=0]
+       sext i8 4 to i64                ; <i64>:18 [#uses=0]
+       sext i8 4 to i64                ; <i64>:19 [#uses=0]
+       sitofp i8 4 to float            ; <float>:20 [#uses=0]
+       sitofp i8 4 to double           ; <double>:21 [#uses=0]
+       icmp ne i8 0, 0         ; <i1>:22 [#uses=0]
+       icmp ne i8 1, 0         ; <i1>:23 [#uses=0]
+       bitcast i8 0 to i8              ; <i8>:24 [#uses=0]
+       bitcast i8 1 to i8              ; <i8>:25 [#uses=0]
+       zext i8 4 to i16                ; <i16>:26 [#uses=0]
+       zext i8 4 to i16                ; <i16>:27 [#uses=0]
+       zext i8 4 to i64                ; <i64>:28 [#uses=0]
+       zext i8 4 to i64                ; <i64>:29 [#uses=0]
+       uitofp i8 0 to float            ; <float>:30 [#uses=0]
+       uitofp i8 0 to double           ; <double>:31 [#uses=0]
+       icmp ne i16 1, 0                ; <i1>:32 [#uses=0]
+       trunc i16 -1 to i8              ; <i8>:33 [#uses=0]
+       trunc i16 255 to i8             ; <i8>:34 [#uses=0]
+       bitcast i16 0 to i16            ; <i16>:35 [#uses=0]
+       bitcast i16 0 to i16            ; <i16>:36 [#uses=0]
+       sext i16 0 to i64               ; <i64>:37 [#uses=0]
+       sext i16 0 to i64               ; <i64>:38 [#uses=0]
+       sitofp i16 0 to float           ; <float>:39 [#uses=0]
+       sitofp i16 0 to double          ; <double>:40 [#uses=0]
+       icmp ne i16 1, 0                ; <i1>:41 [#uses=0]
+       trunc i16 1 to i8               ; <i8>:42 [#uses=0]
+       trunc i16 255 to i8             ; <i8>:43 [#uses=0]
+       bitcast i16 0 to i16            ; <i16>:44 [#uses=0]
+       bitcast i16 0 to i16            ; <i16>:45 [#uses=0]
+       zext i16 0 to i64               ; <i64>:46 [#uses=0]
+       zext i16 0 to i64               ; <i64>:47 [#uses=0]
+       uitofp i16 0 to float           ; <float>:48 [#uses=0]
+       uitofp i16 0 to double          ; <double>:49 [#uses=0]
+       icmp ne i32 6, 0                ; <i1>:50 [#uses=0]
+       trunc i32 -6 to i8              ; <i8>:51 [#uses=0]
+       trunc i32 6 to i8               ; <i8>:52 [#uses=0]
+       trunc i32 6 to i16              ; <i16>:53 [#uses=0]
+       bitcast i32 0 to i32            ; <i32>:54 [#uses=0]
+       sext i32 0 to i64               ; <i64>:55 [#uses=0]
+       sext i32 0 to i64               ; <i64>:56 [#uses=0]
+       sitofp i32 0 to float           ; <float>:57 [#uses=0]
+       sitofp i32 0 to double          ; <double>:58 [#uses=0]
+       icmp ne i32 6, 0                ; <i1>:59 [#uses=0]
+       trunc i32 7 to i8               ; <i8>:60 [#uses=0]
+       trunc i32 8 to i8               ; <i8>:61 [#uses=0]
+       trunc i32 9 to i16              ; <i16>:62 [#uses=0]
+       bitcast i32 10 to i32           ; <i32>:63 [#uses=0]
+       zext i32 0 to i64               ; <i64>:64 [#uses=0]
+       zext i32 0 to i64               ; <i64>:65 [#uses=0]
+       uitofp i32 0 to float           ; <float>:66 [#uses=0]
+       uitofp i32 0 to double          ; <double>:67 [#uses=0]
+       icmp ne i64 0, 0                ; <i1>:68 [#uses=0]
+       trunc i64 0 to i8               ; <i8>:69 [#uses=0]
+       trunc i64 0 to i8               ; <i8>:70 [#uses=0]
+       trunc i64 0 to i16              ; <i16>:71 [#uses=0]
+       trunc i64 0 to i16              ; <i16>:72 [#uses=0]
+       trunc i64 0 to i32              ; <i32>:73 [#uses=0]
+       trunc i64 0 to i32              ; <i32>:74 [#uses=0]
+       bitcast i64 0 to i64            ; <i64>:75 [#uses=0]
+       bitcast i64 0 to i64            ; <i64>:76 [#uses=0]
+       sitofp i64 0 to float           ; <float>:77 [#uses=0]
+       sitofp i64 0 to double          ; <double>:78 [#uses=0]
+       icmp ne i64 1, 0                ; <i1>:79 [#uses=0]
+       trunc i64 1 to i8               ; <i8>:80 [#uses=0]
+       trunc i64 1 to i8               ; <i8>:81 [#uses=0]
+       trunc i64 1 to i16              ; <i16>:82 [#uses=0]
+       trunc i64 1 to i16              ; <i16>:83 [#uses=0]
+       trunc i64 1 to i32              ; <i32>:84 [#uses=0]
+       trunc i64 1 to i32              ; <i32>:85 [#uses=0]
+       bitcast i64 1 to i64            ; <i64>:86 [#uses=0]
+       bitcast i64 1 to i64            ; <i64>:87 [#uses=0]
+       uitofp i64 1 to float           ; <float>:88 [#uses=0]
+       uitofp i64 0 to double          ; <double>:89 [#uses=0]
+       bitcast float 0.000000e+00 to float             ; <float>:90 [#uses=0]
+       fpext float 0.000000e+00 to double              ; <double>:91 [#uses=0]
+       fptosi double 0.000000e+00 to i8                ; <i8>:92 [#uses=0]
+       fptoui double 0.000000e+00 to i8                ; <i8>:93 [#uses=0]
+       fptosi double 0.000000e+00 to i16               ; <i16>:94 [#uses=0]
+       fptoui double 0.000000e+00 to i16               ; <i16>:95 [#uses=0]
+       fptosi double 0.000000e+00 to i32               ; <i32>:96 [#uses=0]
+       fptoui double 0.000000e+00 to i32               ; <i32>:97 [#uses=0]
+       fptosi double 0.000000e+00 to i64               ; <i64>:98 [#uses=0]
+       fptrunc double 0.000000e+00 to float            ; <float>:99 [#uses=0]
+       bitcast double 0.000000e+00 to double           ; <double>:100 [#uses=0]
+       ret i32 0
 }
index 1ee7e148e9c20b0b557cbe789250eea496b87dcc..2bf1949ead8e73ad6bf78b66512d722059203180 100644 (file)
@@ -1,14 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; This tests to make sure that we can evaluate weird constant expressions
-%A = global int 5
-%B = global int 6
 
-implementation
+@A = global i32 5              ; <i32*> [#uses=1]
+@B = global i32 6              ; <i32*> [#uses=1]
 
-int %main() {
-       %A = or bool false, setlt (int* %A, int* %B)  ; Which is lower in memory?
-       ret int 0
+define i32 @main() {
+       %A = or i1 false, icmp slt (i32* @A, i32* @B)           ; <i1> [#uses=0]
+       ret i32 0
 }
 
index 1ee29b5421ec9d19780c6fc4d639c02938e8ede0..aa136ddf2d17f9f1360cd7e178f9e9c4c443aead 100644 (file)
@@ -1,24 +1,24 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-double %test(double* %DP, double %Arg) {
-       %D = load double* %DP
-       %V = add double %D, 1.0
-       %W = sub double %V, %V
-       %X = mul double %W, %W
-       %Y = div double %X, %X
-       %Z = rem double %Y, %Y
-       %Z1 = div double %Z, %W
-       %Q = add double %Z, %Arg
-       %R = cast double %Q to double
+define double @test(double* %DP, double %Arg) {
+       %D = load double* %DP           ; <double> [#uses=1]
+       %V = add double %D, 1.000000e+00                ; <double> [#uses=2]
+       %W = sub double %V, %V          ; <double> [#uses=3]
+       %X = mul double %W, %W          ; <double> [#uses=2]
+       %Y = fdiv double %X, %X         ; <double> [#uses=2]
+       %Z = frem double %Y, %Y         ; <double> [#uses=3]
+       %Z1 = fdiv double %Z, %W                ; <double> [#uses=0]
+       %Q = add double %Z, %Arg                ; <double> [#uses=1]
+       %R = bitcast double %Q to double                ; <double> [#uses=1]
        store double %R, double* %DP
        ret double %Z
 }
 
-int %main() { 
-  %X = alloca double
-  store double 0.0, double* %X
-  call double %test(double* %X, double 2.0)
-  ret int 0 
+define i32 @main() {
+       %X = alloca double              ; <double*> [#uses=2]
+       store double 0.000000e+00, double* %X
+       call double @test( double* %X, double 2.000000e+00 )            ; <double>:1 [#uses=0]
+       ret i32 0
 }
+
index 8a4b7933d18b7ce6c9f8ca34883eda36eb24238d..ca2ecbfb0a18182fae307b0284efc7f562d40026 100644 (file)
@@ -1,37 +1,32 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-void %test(sbyte* %P, short* %P, int* %P, long* %P) {
-       %V = load sbyte* %P
-       store sbyte %V, sbyte* %P
-
-       %V = load short* %P
-       store short %V, short* %P
-
-       %V = load int* %P
-       store int %V, int* %P
-
-       %V = load long* %P
-       store long %V, long* %P
-
+define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64* %P.upgrd.3) {
+       %V = load i8* %P                ; <i8> [#uses=1]
+       store i8 %V, i8* %P
+       %V.upgrd.4 = load i16* %P.upgrd.1               ; <i16> [#uses=1]
+       store i16 %V.upgrd.4, i16* %P.upgrd.1
+       %V.upgrd.5 = load i32* %P.upgrd.2               ; <i32> [#uses=1]
+       store i32 %V.upgrd.5, i32* %P.upgrd.2
+       %V.upgrd.6 = load i64* %P.upgrd.3               ; <i64> [#uses=1]
+       store i64 %V.upgrd.6, i64* %P.upgrd.3
        ret void
 }
 
-uint %varalloca(uint %Size) {
-       %X = alloca uint, uint %Size        ;; Variable sized alloca
-       store uint %Size, uint* %X
-       %Y = load uint* %X
-       ret uint %Y
+define i32 @varalloca(i32 %Size) {
+        ;; Variable sized alloca
+       %X = alloca i32, i32 %Size              ; <i32*> [#uses=2]
+       store i32 %Size, i32* %X
+       %Y = load i32* %X               ; <i32> [#uses=1]
+       ret i32 %Y
 }
 
-int %main() {
-       %A = alloca sbyte
-       %B = alloca short
-       %C = alloca int
-       %D = alloca long
-       call void %test(sbyte* %A, short* %B, int* %C, long* %D)
-       call uint %varalloca(uint 7)
-
-       ret int 0
+define i32 @main() {
+       %A = alloca i8          ; <i8*> [#uses=1]
+       %B = alloca i16         ; <i16*> [#uses=1]
+       %C = alloca i32         ; <i32*> [#uses=1]
+       %D = alloca i64         ; <i64*> [#uses=1]
+       call void @test( i8* %A, i16* %B, i32* %C, i64* %D )
+       call i32 @varalloca( i32 7 )            ; <i32>:1 [#uses=0]
+       ret i32 0
 }
index 86af2e224fcf538aaffe046af55f28b02a83d1b2..800de1fc8cab10695ddb6d895b5d671830b25d62 100644 (file)
@@ -1,23 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-int %main() {
-       %A = and sbyte 4, 8
-       %B = or sbyte %A, 7
-       %C = xor sbyte %B, %A
-
-       %A = and short 4, 8
-       %B = or short %A, 7
-       %C = xor short %B, %A
-
-       %A = and int 4, 8
-       %B = or int %A, 7
-       %C = xor int %B, %A
-
-       %A = and long 4, 8
-       %B = or long %A, 7
-       %C = xor long %B, %A
-
-       ret int 0
+define i32 @main() {
+       %A = and i8 4, 8                ; <i8> [#uses=2]
+       %B = or i8 %A, 7                ; <i8> [#uses=1]
+       %C = xor i8 %B, %A              ; <i8> [#uses=0]
+       %A.upgrd.1 = and i16 4, 8               ; <i16> [#uses=2]
+       %B.upgrd.2 = or i16 %A.upgrd.1, 7               ; <i16> [#uses=1]
+       %C.upgrd.3 = xor i16 %B.upgrd.2, %A.upgrd.1             ; <i16> [#uses=0]
+       %A.upgrd.4 = and i32 4, 8               ; <i32> [#uses=2]
+       %B.upgrd.5 = or i32 %A.upgrd.4, 7               ; <i32> [#uses=1]
+       %C.upgrd.6 = xor i32 %B.upgrd.5, %A.upgrd.4             ; <i32> [#uses=0]
+       %A.upgrd.7 = and i64 4, 8               ; <i64> [#uses=2]
+       %B.upgrd.8 = or i64 %A.upgrd.7, 7               ; <i64> [#uses=1]
+       %C.upgrd.9 = xor i64 %B.upgrd.8, %A.upgrd.7             ; <i64> [#uses=0]
+       ret i32 0
 }
+
index 79ffbd2581fa0e877e76f69af9d35bd5808d3dd4..d428adcddbd3c4b29b91bdb6680414303305393d 100644 (file)
@@ -1,13 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-int %main() {
+define i32 @main() {
+; <label>:0
        br label %Loop
-Loop:
-       %I = phi int [0, %0], [%i2, %Loop]
-       %i2 = add int %I, 1
-       %C = seteq int %i2, 10
-       br bool %C, label %Out, label %Loop
-Out:
-       ret int 0
+Loop:          ; preds = %Loop, %0
+       %I = phi i32 [ 0, %0 ], [ %i2, %Loop ]          ; <i32> [#uses=1]
+       %i2 = add i32 %I, 1             ; <i32> [#uses=2]
+       %C = icmp eq i32 %i2, 10                ; <i1> [#uses=1]
+       br i1 %C, label %Out, label %Loop
+Out:           ; preds = %Loop
+       ret i32 0
 }
+
index 7a7f245bf5cf042a747b80922da5970b1db66ca1..843a38989f2eb15c5ebd6b46e3d05cd4d12a8c62 100644 (file)
@@ -1,14 +1,14 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-int %main() {
-   %X = malloc int                ; constant size
-   %Y = malloc int, uint 100      ; constant size
-   %u = add uint 1, 2
-   %Z = malloc int, uint %u       ; variable size
-   free int* %X
-   free int* %Y
-   free int* %Z
-   ret int 0
+define i32 @main() {
+       %X = malloc i32         ; <i32*> [#uses=1]
+       %Y = malloc i32, i32 100                ; <i32*> [#uses=1]
+       %u = add i32 1, 2               ; <i32> [#uses=1]
+       %Z = malloc i32, i32 %u         ; <i32*> [#uses=1]
+       free i32* %X
+       free i32* %Y
+       free i32* %Z
+       ret i32 0
 }
+
index e50cbad5167b0646570c7ad03db88d033cf7a0c1..9ca1eb40bce96cc66b631801f609a563ced72847 100644 (file)
@@ -1,32 +1,35 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; test phi node
+@Y = global i32 6              ; <i32*> [#uses=1]
 
-%Y = global int 6
-
-void %blah(int *%X) {
+define void @blah(i32* %X) {
+; <label>:0
        br label %T
-T:
-       phi int* [%X, %0], [%Y, %Dead]
+T:             ; preds = %Dead, %0
+       phi i32* [ %X, %0 ], [ @Y, %Dead ]              ; <i32*>:1 [#uses=0]
        ret void
-Dead:
+Dead:          ; No predecessors!
        br label %T
 }
 
-int %test(bool %C) {
-       br bool %C, label %T, label %T
-T:
-       %X = phi int [123, %0], [123, %0]
-       ret int %X
+define i32 @test(i1 %C) {
+; <label>:0
+       br i1 %C, label %T, label %T
+T:             ; preds = %0, %0
+       %X = phi i32 [ 123, %0 ], [ 123, %0 ]           ; <i32> [#uses=1]
+       ret i32 %X
 }
 
-int %main() {
+define i32 @main() {
+; <label>:0
        br label %Test
-Test:
-       %X = phi int [0, %0], [%Y, %Dead]
-       ret int %X
-Dead:
-       %Y = shr int 12, ubyte 4
+Test:          ; preds = %Dead, %0
+       %X = phi i32 [ 0, %0 ], [ %Y, %Dead ]           ; <i32> [#uses=1]
+       ret i32 %X
+Dead:          ; No predecessors!
+       %Y = ashr i32 12, 4             ; <i32> [#uses=1]
        br label %Test
 }
+
index e20691277fde7d214a59414d2fa7be8d212c93a5..2d7994583e6415b00d36c4d22947cc9d742aec7e 100644 (file)
@@ -1,16 +1,47 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 ; test return instructions
+define void @test1() {
+       ret void
+}
 
-void %test1() { ret void }
-sbyte %test2() { ret sbyte 1 }
-ubyte %test3() { ret ubyte 1 }
-short %test4() { ret short -1 }
-ushort %test5() { ret ushort 65535 }
-int  %main() { ret int 0 }
-uint %test6() { ret uint 4 }
-long %test7() { ret long 0 }
-ulong %test8() { ret ulong 0 }
-float %test9() { ret float 1.0 }
-double %test10() { ret double 2.0 }
+define i8 @test2() {
+       ret i8 1
+}
+
+define i8 @test3() {
+       ret i8 1
+}
+
+define i16 @test4() {
+       ret i16 -1
+}
+
+define i16 @test5() {
+       ret i16 -1
+}
+
+define i32 @main() {
+       ret i32 0
+}
+
+define i32 @test6() {
+       ret i32 4
+}
+
+define i64 @test7() {
+       ret i64 0
+}
+
+define i64 @test8() {
+       ret i64 0
+}
+
+define float @test9() {
+       ret float 1.000000e+00
+}
+
+define double @test10() {
+       ret double 2.000000e+00
+}
index 3f54d6f97ae1a85a846ce8b15f572caed8b1259a..2f53e9018707ba863f9ffd265ce184253564286e 100644 (file)
@@ -1,23 +1,25 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
 
-int %main() {
-       %double1 = add double 0.0, 0.0
-       %double2 = add double 0.0, 0.0
-       %float1 = add float 0.0, 0.0
-       %float2 = add float 0.0, 0.0
-       %test49 = seteq float %float1, %float2
-       %test50 = setge float %float1, %float2
-       %test51 = setgt float %float1, %float2
-       %test52 = setle float %float1, %float2
-       %test53 = setlt float %float1, %float2
-       %test54 = setne float %float1, %float2
-       %test55 = seteq double %double1, %double2
-       %test56 = setge double %double1, %double2
-       %test57 = setgt double %double1, %double2
-       %test58 = setle double %double1, %double2
-       %test59 = setlt double %double1, %double2
-       %test60 = setne double %double1, %double2
-       ret int 0
+define i32 @main() {
+       %double1 = add double 0.000000e+00, 0.000000e+00                ; <double> [#uses=6]
+       %double2 = add double 0.000000e+00, 0.000000e+00                ; <double> [#uses=6]
+       %float1 = add float 0.000000e+00, 0.000000e+00          ; <float> [#uses=6]
+       %float2 = add float 0.000000e+00, 0.000000e+00          ; <float> [#uses=6]
+       %test49 = fcmp oeq float %float1, %float2               ; <i1> [#uses=0]
+       %test50 = fcmp oge float %float1, %float2               ; <i1> [#uses=0]
+       %test51 = fcmp ogt float %float1, %float2               ; <i1> [#uses=0]
+       %test52 = fcmp ole float %float1, %float2               ; <i1> [#uses=0]
+       %test53 = fcmp olt float %float1, %float2               ; <i1> [#uses=0]
+       %test54 = fcmp une float %float1, %float2               ; <i1> [#uses=0]
+       %test55 = fcmp oeq double %double1, %double2            ; <i1> [#uses=0]
+       %test56 = fcmp oge double %double1, %double2            ; <i1> [#uses=0]
+       %test57 = fcmp ogt double %double1, %double2            ; <i1> [#uses=0]
+       %test58 = fcmp ole double %double1, %double2            ; <i1> [#uses=0]
+       %test59 = fcmp olt double %double1, %double2            ; <i1> [#uses=0]
+       %test60 = fcmp une double %double1, %double2            ; <i1> [#uses=0]
+       ret i32 0
 }
+
+
index db5b48b900a6bbb924cac1284304f1893468164c..5ec4ec936d7ce8d3ebd566e959b0dcbd7dbb08fe 100644 (file)
@@ -1,71 +1,70 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-
-int %main() {
-       %int1 = add int 0, 0
-       %int2 = add int 0, 0
-       %long1 = add long 0, 0
-       %long2 = add long 0, 0
-       %sbyte1 = add sbyte 0, 0
-       %sbyte2 = add sbyte 0, 0
-       %short1 = add short 0, 0
-       %short2 = add short 0, 0
-       %ubyte1 = add ubyte 0, 0
-       %ubyte2 = add ubyte 0, 0
-       %uint1 = add uint 0, 0
-       %uint2 = add uint 0, 0
-       %ulong1 = add ulong 0, 0
-       %ulong2 = add ulong 0, 0
-       %ushort1 = add ushort 0, 0
-       %ushort2 = add ushort 0, 0
-       %test1 = seteq ubyte %ubyte1, %ubyte2
-       %test2 = setge ubyte %ubyte1, %ubyte2
-       %test3 = setgt ubyte %ubyte1, %ubyte2
-       %test4 = setle ubyte %ubyte1, %ubyte2
-       %test5 = setlt ubyte %ubyte1, %ubyte2
-       %test6 = setne ubyte %ubyte1, %ubyte2
-       %test7 = seteq ushort %ushort1, %ushort2
-       %test8 = setge ushort %ushort1, %ushort2
-       %test9 = setgt ushort %ushort1, %ushort2
-       %test10 = setle ushort %ushort1, %ushort2
-       %test11 = setlt ushort %ushort1, %ushort2
-       %test12 = setne ushort %ushort1, %ushort2
-       %test13 = seteq uint %uint1, %uint2
-       %test14 = setge uint %uint1, %uint2
-       %test15 = setgt uint %uint1, %uint2
-       %test16 = setle uint %uint1, %uint2
-       %test17 = setlt uint %uint1, %uint2
-       %test18 = setne uint %uint1, %uint2
-       %test19 = seteq ulong %ulong1, %ulong2
-       %test20 = setge ulong %ulong1, %ulong2
-       %test21 = setgt ulong %ulong1, %ulong2
-       %test22 = setle ulong %ulong1, %ulong2
-       %test23 = setlt ulong %ulong1, %ulong2
-       %test24 = setne ulong %ulong1, %ulong2
-       %test25 = seteq sbyte %sbyte1, %sbyte2
-       %test26 = setge sbyte %sbyte1, %sbyte2
-       %test27 = setgt sbyte %sbyte1, %sbyte2
-       %test28 = setle sbyte %sbyte1, %sbyte2
-       %test29 = setlt sbyte %sbyte1, %sbyte2
-       %test30 = setne sbyte %sbyte1, %sbyte2
-       %test31 = seteq short %short1, %short2
-       %test32 = setge short %short1, %short2
-       %test33 = setgt short %short1, %short2
-       %test34 = setle short %short1, %short2
-       %test35 = setlt short %short1, %short2
-       %test36 = setne short %short1, %short2
-       %test37 = seteq int %int1, %int2
-       %test38 = setge int %int1, %int2
-       %test39 = setgt int %int1, %int2
-       %test40 = setle int %int1, %int2
-       %test41 = setlt int %int1, %int2
-       %test42 = setne int %int1, %int2
-       %test43 = seteq long %long1, %long2
-       %test44 = setge long %long1, %long2
-       %test45 = setgt long %long1, %long2
-       %test46 = setle long %long1, %long2
-       %test47 = setlt long %long1, %long2
-       %test48 = setne long %long1, %long2
-       ret int 0
+define i32 @main() {
+       %int1 = add i32 0, 0            ; <i32> [#uses=6]
+       %int2 = add i32 0, 0            ; <i32> [#uses=6]
+       %long1 = add i64 0, 0           ; <i64> [#uses=6]
+       %long2 = add i64 0, 0           ; <i64> [#uses=6]
+       %sbyte1 = add i8 0, 0           ; <i8> [#uses=6]
+       %sbyte2 = add i8 0, 0           ; <i8> [#uses=6]
+       %short1 = add i16 0, 0          ; <i16> [#uses=6]
+       %short2 = add i16 0, 0          ; <i16> [#uses=6]
+       %ubyte1 = add i8 0, 0           ; <i8> [#uses=6]
+       %ubyte2 = add i8 0, 0           ; <i8> [#uses=6]
+       %uint1 = add i32 0, 0           ; <i32> [#uses=6]
+       %uint2 = add i32 0, 0           ; <i32> [#uses=6]
+       %ulong1 = add i64 0, 0          ; <i64> [#uses=6]
+       %ulong2 = add i64 0, 0          ; <i64> [#uses=6]
+       %ushort1 = add i16 0, 0         ; <i16> [#uses=6]
+       %ushort2 = add i16 0, 0         ; <i16> [#uses=6]
+       %test1 = icmp eq i8 %ubyte1, %ubyte2            ; <i1> [#uses=0]
+       %test2 = icmp uge i8 %ubyte1, %ubyte2           ; <i1> [#uses=0]
+       %test3 = icmp ugt i8 %ubyte1, %ubyte2           ; <i1> [#uses=0]
+       %test4 = icmp ule i8 %ubyte1, %ubyte2           ; <i1> [#uses=0]
+       %test5 = icmp ult i8 %ubyte1, %ubyte2           ; <i1> [#uses=0]
+       %test6 = icmp ne i8 %ubyte1, %ubyte2            ; <i1> [#uses=0]
+       %test7 = icmp eq i16 %ushort1, %ushort2         ; <i1> [#uses=0]
+       %test8 = icmp uge i16 %ushort1, %ushort2                ; <i1> [#uses=0]
+       %test9 = icmp ugt i16 %ushort1, %ushort2                ; <i1> [#uses=0]
+       %test10 = icmp ule i16 %ushort1, %ushort2               ; <i1> [#uses=0]
+       %test11 = icmp ult i16 %ushort1, %ushort2               ; <i1> [#uses=0]
+       %test12 = icmp ne i16 %ushort1, %ushort2                ; <i1> [#uses=0]
+       %test13 = icmp eq i32 %uint1, %uint2            ; <i1> [#uses=0]
+       %test14 = icmp uge i32 %uint1, %uint2           ; <i1> [#uses=0]
+       %test15 = icmp ugt i32 %uint1, %uint2           ; <i1> [#uses=0]
+       %test16 = icmp ule i32 %uint1, %uint2           ; <i1> [#uses=0]
+       %test17 = icmp ult i32 %uint1, %uint2           ; <i1> [#uses=0]
+       %test18 = icmp ne i32 %uint1, %uint2            ; <i1> [#uses=0]
+       %test19 = icmp eq i64 %ulong1, %ulong2          ; <i1> [#uses=0]
+       %test20 = icmp uge i64 %ulong1, %ulong2         ; <i1> [#uses=0]
+       %test21 = icmp ugt i64 %ulong1, %ulong2         ; <i1> [#uses=0]
+       %test22 = icmp ule i64 %ulong1, %ulong2         ; <i1> [#uses=0]
+       %test23 = icmp ult i64 %ulong1, %ulong2         ; <i1> [#uses=0]
+       %test24 = icmp ne i64 %ulong1, %ulong2          ; <i1> [#uses=0]
+       %test25 = icmp eq i8 %sbyte1, %sbyte2           ; <i1> [#uses=0]
+       %test26 = icmp sge i8 %sbyte1, %sbyte2          ; <i1> [#uses=0]
+       %test27 = icmp sgt i8 %sbyte1, %sbyte2          ; <i1> [#uses=0]
+       %test28 = icmp sle i8 %sbyte1, %sbyte2          ; <i1> [#uses=0]
+       %test29 = icmp slt i8 %sbyte1, %sbyte2          ; <i1> [#uses=0]
+       %test30 = icmp ne i8 %sbyte1, %sbyte2           ; <i1> [#uses=0]
+       %test31 = icmp eq i16 %short1, %short2          ; <i1> [#uses=0]
+       %test32 = icmp sge i16 %short1, %short2         ; <i1> [#uses=0]
+       %test33 = icmp sgt i16 %short1, %short2         ; <i1> [#uses=0]
+       %test34 = icmp sle i16 %short1, %short2         ; <i1> [#uses=0]
+       %test35 = icmp slt i16 %short1, %short2         ; <i1> [#uses=0]
+       %test36 = icmp ne i16 %short1, %short2          ; <i1> [#uses=0]
+       %test37 = icmp eq i32 %int1, %int2              ; <i1> [#uses=0]
+       %test38 = icmp sge i32 %int1, %int2             ; <i1> [#uses=0]
+       %test39 = icmp sgt i32 %int1, %int2             ; <i1> [#uses=0]
+       %test40 = icmp sle i32 %int1, %int2             ; <i1> [#uses=0]
+       %test41 = icmp slt i32 %int1, %int2             ; <i1> [#uses=0]
+       %test42 = icmp ne i32 %int1, %int2              ; <i1> [#uses=0]
+       %test43 = icmp eq i64 %long1, %long2            ; <i1> [#uses=0]
+       %test44 = icmp sge i64 %long1, %long2           ; <i1> [#uses=0]
+       %test45 = icmp sgt i64 %long1, %long2           ; <i1> [#uses=0]
+       %test46 = icmp sle i64 %long1, %long2           ; <i1> [#uses=0]
+       %test47 = icmp slt i64 %long1, %long2           ; <i1> [#uses=0]
+       %test48 = icmp ne i64 %long1, %long2            ; <i1> [#uses=0]
+       ret i32 0
 }
index 2549f346f2032ac645d67c89754c83630fca1036..ebb85d3e8aed5a61a4e7f528694daf3d40abf4a4 100644 (file)
@@ -1,40 +1,33 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
+; RUN: llvm-as < %s -f -o %t.bc
 ; RUN: lli %t.bc > /dev/null
 
-; test shifts
-int %main() {
-    %shamt = add ubyte 0, 1
-
-    ; Left shifts...
-    %t1.s = shl int 1, ubyte %shamt
-    %t2.s = shl int 1, ubyte 4
-
-    %t1 = shl uint 1, ubyte %shamt
-    %t2 = shl uint 1, ubyte 5
-
-    ;%t1 = shl long 1, ubyte %shamt
-    %t2.s = shl long 1, ubyte 4
-
-    ;%t1 = shl ulong 1, ubyte %shamt
-    %t2 = shl ulong 1, ubyte 5
-
-    ; Right shifts...
-    %tr1.s = shr int 1, ubyte %shamt
-    %tr2.s = shr int 1, ubyte 4
-
-    %tr1 = shr uint 1, ubyte %shamt
-    %tr2 = shr uint 1, ubyte 5
-
-    ;%tr1 = shr long 1, ubyte %shamt
-    %tr1.l = shr long 1, ubyte 4
-    %tr2.l = shr long 1, ubyte %shamt
-    %tr3.l = shl long 1, ubyte 4
-    %tr4.l = shl long 1, ubyte %shamt
-
-    ;%t1 = shr ulong 1, ubyte %shamt
-    %tr1.u = shr ulong 1, ubyte 5
-    %tr2.u = shr ulong 1, ubyte %shamt
-    %tr3.u = shl ulong 1, ubyte 5
-    %tr4.u = shl ulong 1, ubyte %shamt
-    ret int 0
+define i32 @main() {
+       %shamt = add i8 0, 1            ; <i8> [#uses=8]
+       %shift.upgrd.1 = zext i8 %shamt to i32          ; <i32> [#uses=1]
+       %t1.s = shl i32 1, %shift.upgrd.1               ; <i32> [#uses=0]
+       %t2.s = shl i32 1, 4            ; <i32> [#uses=0]
+       %shift.upgrd.2 = zext i8 %shamt to i32          ; <i32> [#uses=1]
+       %t1 = shl i32 1, %shift.upgrd.2         ; <i32> [#uses=0]
+       %t2 = shl i32 1, 5              ; <i32> [#uses=0]
+       %t2.s.upgrd.3 = shl i64 1, 4            ; <i64> [#uses=0]
+       %t2.upgrd.4 = shl i64 1, 5              ; <i64> [#uses=0]
+       %shift.upgrd.5 = zext i8 %shamt to i32          ; <i32> [#uses=1]
+       %tr1.s = ashr i32 1, %shift.upgrd.5             ; <i32> [#uses=0]
+       %tr2.s = ashr i32 1, 4          ; <i32> [#uses=0]
+       %shift.upgrd.6 = zext i8 %shamt to i32          ; <i32> [#uses=1]
+       %tr1 = lshr i32 1, %shift.upgrd.6               ; <i32> [#uses=0]
+       %tr2 = lshr i32 1, 5            ; <i32> [#uses=0]
+       %tr1.l = ashr i64 1, 4          ; <i64> [#uses=0]
+       %shift.upgrd.7 = zext i8 %shamt to i64          ; <i64> [#uses=1]
+       %tr2.l = ashr i64 1, %shift.upgrd.7             ; <i64> [#uses=0]
+       %tr3.l = shl i64 1, 4           ; <i64> [#uses=0]
+       %shift.upgrd.8 = zext i8 %shamt to i64          ; <i64> [#uses=1]
+       %tr4.l = shl i64 1, %shift.upgrd.8              ; <i64> [#uses=0]
+       %tr1.u = lshr i64 1, 5          ; <i64> [#uses=0]
+       %shift.upgrd.9 = zext i8 %shamt to i64          ; <i64> [#uses=1]
+       %tr2.u = lshr i64 1, %shift.upgrd.9             ; <i64> [#uses=0]
+       %tr3.u = shl i64 1, 5           ; <i64> [#uses=0]
+       %shift.upgrd.10 = zext i8 %shamt to i64         ; <i64> [#uses=1]
+       %tr4.u = shl i64 1, %shift.upgrd.10             ; <i64> [#uses=0]
+       ret i32 0
 }
index ff22e31437226766b0e39bbd9be479facf156164..d3152eda8e986a2bb883f183672756a2cebdcdcf 100644 (file)
@@ -4,19 +4,16 @@
 ; little symbol table.  This is causing llvm-link to die, at no fault of its
 ; own.
 
-; RUN: llvm-upgrade %s | llvm-as > %t.out2.bc
+; RUN: llvm-as < %s > %t.out2.bc
 ; RUN: echo "%T1 = type opaque  @GVar = external global %T1*" | llvm-as > %t.out1.bc
 ; RUN: llvm-link %t.out1.bc %t.out2.bc
 
-       %T1 = type opaque
-       %T2 = type int
+%T1 = type opaque
+%T2 = type i32
+@GVar = global i32* null               ; <i32**> [#uses=0]
 
-%GVar = global %T2 * null
-
-implementation
-
-void %foo(%T2 * %X) {
-       %X = cast %T2* %X to %T1 *
+define void @foo(i32* %X) {
+       %X.upgrd.1 = bitcast i32* %X to %T1*            ; <%T1*> [#uses=0]
        ret void
 }
 
index 4c6e8f869e17fa628cafc8c2ac7f8dc8c5a17e15..0e970ddb489a3bf89bc7aad17a21604fb6bf1c1a 100644 (file)
@@ -1,7 +1,7 @@
-; RUN: llvm-upgrade < %s | llvm-as > %t.out2.bc
-; RUN: echo "%me = global int* null" | llvm-upgrade | llvm-as > %t.out1.bc
+; RUN: llvm-as < %s > %t.out2.bc
+; RUN: echo "@me = global i32* null" | llvm-as > %t.out1.bc
 ; RUN: llvm-link %t.out1.bc %t.out2.bc -o /dev/null -f
 
-%me = weak global int * null
+@me = weak global i32* null            ; <i32**> [#uses=0]
 
 
index 1c90079eae96ab9dd43f4f5dbdec8b95e4e932b4..970a6d2f0f2157585725f70bf5aa01c1068c48a9 100644 (file)
@@ -1,45 +1,35 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t1.bc
-; RUN: llvm-upgrade < %p/2004-05-07-TypeResolution2.ll | \
-; RUN:    llvm-as -o %t2.bc -f
+; RUN: llvm-as < %s -f -o %t1.bc
+; RUN: llvm-as < %p/2004-05-07-TypeResolution2.ll -o %t2.bc -f
 ; RUN: llvm-link -f -o %t3.bc %t1.bc %t2.bc
 
-target endian = little
-target pointersize = 32
-
-  %myint = type opaque
+target datalayout = "e-p:32:32"
+       %myint = type opaque
+       %struct1 = type { i32, void (%struct2*)*, %myint*, i32 (i32*)* }
        %struct2 = type { %struct1 }
-
-       %struct1 = type { int, void (%struct2*)*,  %myint *, int (uint *)* }
-
-
-%driver1 = global %struct1 zeroinitializer             ; <%struct1*> [#uses=1]
-
-%m1 = external global [1 x sbyte] *    ; <%struct.task_struct**> [#uses=0]
-;%m1 = external global uint    ; <%struct.task_struct**> [#uses=0]
-%str1 = constant [1 x ubyte] zeroinitializer
-%str2 = constant [2 x ubyte] zeroinitializer
-%str3 = constant [3 x ubyte] zeroinitializer
-%str4 = constant [4 x ubyte] zeroinitializer
-%str5 = constant [5 x ubyte] zeroinitializer
-%str6 = constant [6 x ubyte] zeroinitializer
-%str7 = constant [7 x ubyte] zeroinitializer
-%str8 = constant [8 x ubyte] zeroinitializer
-%str9 = constant [9 x ubyte] zeroinitializer
-%stra = constant [10 x ubyte] zeroinitializer
-%strb = constant [11 x ubyte] zeroinitializer
-%strc = constant [12 x ubyte] zeroinitializer
-%strd = constant [13 x ubyte] zeroinitializer
-%stre = constant [14 x ubyte] zeroinitializer
-%strf = constant [15 x ubyte] zeroinitializer
-%strg = constant [16 x ubyte] zeroinitializer
-%strh = constant [17 x ubyte] zeroinitializer
-
-implementation   ; Functions:
-
-declare void %func(%struct2*)
-
-void %tty_init() {
+@driver1 = global %struct1 zeroinitializer             ; <%struct1*> [#uses=1]
+@m1 = external global [1 x i8]*                ; <[1 x i8]**> [#uses=0]
+@str1 = constant [1 x i8] zeroinitializer              ; <[1 x i8]*> [#uses=0]
+@str2 = constant [2 x i8] zeroinitializer              ; <[2 x i8]*> [#uses=0]
+@str3 = constant [3 x i8] zeroinitializer              ; <[3 x i8]*> [#uses=0]
+@str4 = constant [4 x i8] zeroinitializer              ; <[4 x i8]*> [#uses=0]
+@str5 = constant [5 x i8] zeroinitializer              ; <[5 x i8]*> [#uses=0]
+@str6 = constant [6 x i8] zeroinitializer              ; <[6 x i8]*> [#uses=0]
+@str7 = constant [7 x i8] zeroinitializer              ; <[7 x i8]*> [#uses=0]
+@str8 = constant [8 x i8] zeroinitializer              ; <[8 x i8]*> [#uses=0]
+@str9 = constant [9 x i8] zeroinitializer              ; <[9 x i8]*> [#uses=0]
+@stra = constant [10 x i8] zeroinitializer             ; <[10 x i8]*> [#uses=0]
+@strb = constant [11 x i8] zeroinitializer             ; <[11 x i8]*> [#uses=0]
+@strc = constant [12 x i8] zeroinitializer             ; <[12 x i8]*> [#uses=0]
+@strd = constant [13 x i8] zeroinitializer             ; <[13 x i8]*> [#uses=0]
+@stre = constant [14 x i8] zeroinitializer             ; <[14 x i8]*> [#uses=0]
+@strf = constant [15 x i8] zeroinitializer             ; <[15 x i8]*> [#uses=0]
+@strg = constant [16 x i8] zeroinitializer             ; <[16 x i8]*> [#uses=0]
+@strh = constant [17 x i8] zeroinitializer             ; <[17 x i8]*> [#uses=0]
+
+declare void @func(%struct2*)
+
+define void @tty_init() {
 entry:
-       volatile store void (%struct2*)* %func, void (%struct2 *)** getelementptr (%struct1*  %driver1, uint 0, uint 1)
+       volatile store void (%struct2*)* @func, void (%struct2*)** getelementptr (%struct1* @driver1, i64 0, i32 1)
        ret void
 }
index 05be6111644475098c027a887c63c64ecb8d2ac0..74fe39f4d9f4028f3d43c6b66b92ce378a8eab77 100644 (file)
@@ -1,25 +1,15 @@
 ; This file is used by testlink1.ll, so it doesn't actually do anything itself
 ;
 ; RUN: echo
-
-target endian = little
-target pointersize = 32
-
-  %myint = type ushort
+target datalayout = "e-p:32:32"
+       %myint = type i16
+       %struct1 = type { i32, void (%struct2*)*, i16*, i32 (i32*)* }
        %struct2 = type { %struct1 }
-       %struct1 = type { int, void (%struct2*)*, %myint *, int (uint *)* }
-
-implementation   ; Functions:
 
-internal void %f1 (%struct1* %tty) {
+define internal void @f1(%struct1* %tty) {
 loopentry.preheader:
-
-  ; <void (%struct2*, ubyte)**> [#uses=1]
-  ; <void (%struct2*, ubyte)*> [#uses=0]
-
-       %tmp.2.i.i = getelementptr %struct1* %tty, uint 0, uint 1
-       %tmp.3.i.i = volatile load void (%struct2*)** %tmp.2.i.i
-
+       %tmp.2.i.i = getelementptr %struct1* %tty, i64 0, i32 1         ; <void (%struct2*)**> [#uses=1]
+       %tmp.3.i.i = volatile load void (%struct2*)** %tmp.2.i.i                ; <void (%struct2*)*> [#uses=0]
        ret void
 }
 
index fbc0bc141de6a99f0adfff43e5d61dcb93b613f6..407737287369cb4850497b058b6c1fe835bbd21f 100644 (file)
@@ -2,7 +2,7 @@
 ; to be nonconst.
 
 ; RUN: echo {@X = global i32 7} | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: llvm-as < %s > %t.1.bc
 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep {global i32 7}
 
-@X = external constant i32
+@X = external constant i32             ; <i32*> [#uses=0]
index 3e57becbbe4433132061984096f578d6ccb143a9..2637da17f3f957ceb206f6838965bb4de74d5852 100644 (file)
@@ -1,9 +1,10 @@
 ; RUN: echo { @G = appending global \[0 x i32\] zeroinitializer } | \
 ; RUN:   llvm-as > %t.out2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
+; RUN: llvm-as < %s > %t.out1.bc
 ; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | grep {@G =}
 
 ; When linked, the globals should be merged, and the result should still 
 ; be named '@G'.
 
-%G = appending global [1 x int] zeroinitializer
+@G = appending global [1 x i32] zeroinitializer                ; <[1 x i32]*> [#uses=0]
+
index 7b405f377f5bef6152a349bbf11fceaa1e7a47fd..1cb47497d014ad887610b436f520f7702a1e917e 100644 (file)
@@ -1,15 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as -f -o %t1.bc
+; RUN: llvm-as < %s -f -o %t1.bc
 ; RUN: llvm-link -f -o %t2.bc %t1.bc
 
-target endian = big
-target pointersize = 32
+target datalayout = "E-p:32:32"
 target triple = "powerpc-apple-darwin7.7.0"
 deplibs = [ "c", "crtend" ]
-%source = global <4 x int> < int 0, int 1, int 2, int 3 >
+@source = global <4 x i32> < i32 0, i32 1, i32 2, i32 3 >              ; <<4 x i32>*> [#uses=0]
 
-implementation   ; Functions:
-
-int %main() {
+define i32 @main() {
 entry:
-        ret int 0
+       ret i32 0
 }
+
index d59a37414813d2fabf902940190c4a889d93607f..da08ca098893533441643b9851af228b24598990 100644 (file)
@@ -1,15 +1,15 @@
 ; Test that appending linkage works correctly.
 
-; RUN: echo {%X = appending global \[1 x int\] \[int 8\] } | \
-; RUN:   llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: echo {@X = appending global \[1 x i32\] \[i32 8\] } | \
+; RUN:   llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep 7 | grep 4 | grep 8
 
-%X = appending global [2 x int] [int 7, int 4]
+@X = appending global [2 x i32] [ i32 7, i32 4 ]               ; <[2 x i32]*> [#uses=2]
+@Y = global i32* getelementptr ([2 x i32]* @X, i64 0, i64 0)           ; <i32**> [#uses=0]
 
-%Y = global int* getelementptr ([2 x int]* %X, long 0, long 0)
-
-void %foo(long %V) {
-  %Y = getelementptr [2 x int]* %X, long 0, long %V
-  ret void
+define void @foo(i64 %V) {
+       %Y = getelementptr [2 x i32]* @X, i64 0, i64 %V         ; <i32*> [#uses=0]
+       ret void
 }
+
index fc992e0b92a45f2e957a0f8affbd2378be38849f..fddc4941be979c01efce0e8e352c83810a58d776 100644 (file)
@@ -1,8 +1,8 @@
 ; Test that appending linkage works correctly when arrays are the same size.
 
-; RUN: echo {%X = appending global \[1 x int\] \[int 8\] } | \
-; RUN:   llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: echo {@X = appending global \[1 x i32\] \[i32 8\] } | \
+; RUN:   llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep 7 | grep 8
 
-%X = appending global [1 x int] [int 7]
+@X = appending global [1 x i32] [ i32 7 ]              ; <[1 x i32]*> [#uses=0]
index a5a9ce9ca407cba2d475d48fc769cb1f3f076847..5d42f4bf5483244c2c03c6670f239ab6d4d138e1 100644 (file)
@@ -1,8 +1,9 @@
 ; Test that appending linkage works correctly when arrays are the same size.
 
-; RUN: echo {%X = constant \[1 x int\] \[int 8\] } | \
-; RUN:   llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: echo {@X = constant \[1 x i32\] \[i32 8\] } | \
+; RUN:   llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
 
-%X = uninitialized global [1 x int]
+@X = external global [1 x i32]         ; <[1 x i32]*> [#uses=0]
+
index 612603d7ef1567fff53225648067a8f5d538be7c..9cd6bdb8c49acd6f6fce9bbe601b189f13386bd3 100644 (file)
@@ -1,8 +1,9 @@
 ; Test that appending linkage works correctly when arrays are the same size.
 
-; RUN: echo {%X = external global \[1 x int\] } | \
-; RUN:   llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade %s -o - | llvm-as > %t.1.bc
+; RUN: echo {@X = external global \[1 x i32\] } | \
+; RUN:   llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
 
-%X = constant [1 x int] [ int 12 ]
+@X = constant [1 x i32] [ i32 12 ]             ; <[1 x i32]*> [#uses=0]
+
index 4435f2de08a87e832539e222157c95f75ddc65f0..f9aa07d1bc507284295dca8bc63a3e7817f1e1fd 100644 (file)
@@ -1,8 +1,8 @@
 ; Test that appending linkage works correctly when arrays are the same size.
 
-; RUN: echo {%X = external constant \[1 x int\] } | \
-; RUN:   llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade %s | llvm-as > %t.1.bc
+; RUN: echo {@X = external constant \[1 x i32\] } | \
+; RUN:   llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis | grep constant
 
-%X = uninitialized global [1 x int] 
+@X = external global [1 x i32]         ; <[1 x i32]*> [#uses=0]
index b1a021606064297e93a335add3c3c977114645b2..5befd77a4aaa4bfdddab82820a2c3bc03e51adda 100644 (file)
@@ -1,8 +1,8 @@
 ; This fails because the linker renames the non-opaque type not the opaque 
 ; one...
 
-; RUN: echo "%X = linkonce global int 8" | llvm-upgrade | llvm-as > %t.2.bc
-; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc
+; RUN: echo "@X = linkonce global i32 8" | llvm-as > %t.2.bc
+; RUN: llvm-as < %s > %t.1.bc
 ; RUN: llvm-link %t.1.bc %t.2.bc | llvm-dis
 
-%X = linkonce global int 7
+@X = linkonce global i32 7             ; <i32*> [#uses=0]
index df89d84c17faa37b59342dcb969d045687e3d1f3..4a9402576ef23c446b9099eaf7509eec99d0ba94 100644 (file)
@@ -1,48 +1,42 @@
-; RUN: llvm-upgrade < %s | llvm-as > %t.bc
-; RUN: llvm-upgrade < %p/testlink2.ll | llvm-as > %t2.bc
+; RUN: llvm-as < %s > %t.bc
+; RUN: llvm-as < %p/testlink2.ll > %t2.bc
 ; RUN: llvm-link %t.bc %t2.bc
 
-%MyVar     = external global int
-%MyIntList = global { \2 *, int } { { \2, int }* null, int 17 }
-             external global int      ; int*:0
-
-%Inte = global int 1
-
-%AConst    = linkonce constant int 123
-
-%Intern1   = internal constant int 42
-%Intern2   = internal constant int 792
-
-; Initialized to point to external %MyVar
-%MyVarPtr  = linkonce global { int * }  { int * %MyVar }
-
-declare int "foo"(int %blah)      ;; Declared in testlink2.ll
-
-declare void "print"(int %Value)
-
-implementation
-
-void "main"()
-begin
-       %v1 = load int* %MyVar
-       call void %print(int %v1)    ;; Should start out 4
-
-       %idx = getelementptr { \2 *, int }* %MyIntList, long 0, uint 1
-       %v2 = load int* %idx
-       call void %print(int %v2)    ;; Should start out 17
-
-       call int %foo(int 5)         ;; Modify global variablesx
-
-       %v3 = load int* %MyVar
-       call void %print(int %v3)    ;; Should now be 5
-
-       %v4 = load int* %idx
-       call void %print(int %v4)    ;; Should start out 12
+@MyVar = external global i32           ; <i32*> [#uses=3]
+@MyIntList = global { \2*, i32 } { { \2*, i32 }* null, i32 17 }                ; <{ \2*, i32 }*> [#uses=1]
+external global i32            ; <i32*>:0 [#uses=0]
+@Inte = global i32 1           ; <i32*> [#uses=0]
+@AConst = linkonce constant i32 123            ; <i32*> [#uses=0]
+@Intern1 = internal constant i32 42            ; <i32*> [#uses=0]
+@Intern2 = internal constant i32 792           ; <i32*> [#uses=0]
+@MyVarPtr = linkonce global { i32* } { i32* @MyVar }           ; <{ i32* }*> [#uses=0]
+
+declare i32 @foo(i32)
+
+declare void @print(i32)
+
+define void @main() {
+       %v1 = load i32* @MyVar          ; <i32> [#uses=1]
+       call void @print( i32 %v1 )
+       %idx = getelementptr { \2*, i32 }* @MyIntList, i64 0, i32 1             ; <i32*> [#uses=2]
+       %v2 = load i32* %idx            ; <i32> [#uses=1]
+       call void @print( i32 %v2 )
+       call i32 @foo( i32 5 )          ; <i32>:1 [#uses=0]
+       %v3 = load i32* @MyVar          ; <i32> [#uses=1]
+       call void @print( i32 %v3 )
+       %v4 = load i32* %idx            ; <i32> [#uses=1]
+       call void @print( i32 %v4 )
+       ret void
+}
 
+define internal void @testintern() {
        ret void
-end
+}
 
-internal void "testintern"() begin ret void end
-internal void "Testintern"() begin ret void end
-         void "testIntern"() begin ret void end
+define internal void @Testintern() {
+       ret void
+}
 
+define void @testIntern() {
+       ret void
+}
index 0f4468d41194c54790728b99f6e3058a326c7f84..d243e3c7d1a30e1931f0ef8561ac95c0e34c9c31 100644 (file)
@@ -2,35 +2,40 @@
 ;
 ; RUN: true
 
-%MyVar     = global int 4
-%MyIntList = external global { \2 *, int }
-
-%AConst    = constant int 123
-
-%Intern1   = internal constant int 52 ;; Intern in both testlink[12].ll
-%Intern2   = constant int 12345       ;; Intern in one but not in other
-
-%MyIntListPtr = constant { {\2,int}* } { {\2,int}* %MyIntList }
-%MyVarPtr  = linkonce global { int * }  { int * %MyVar }
-
-constant int 412
-
-implementation
-
-int "foo"(int %blah)
-begin
-       store int %blah, int *%MyVar
-       %idx = getelementptr { \2 *, int } * %MyIntList, long 0, uint 1
-       store int 12, int* %idx
-
-       %ack = load int * %0   ;; Load from the unnamed constant
-       %fzo = add int %ack, %blah
-       ret int %fzo
-end
-
-declare void "unimp"(float, double)
-
-internal void "testintern"() begin ret void end
-         void "Testintern"() begin ret void end
-internal void "testIntern"() begin ret void end
+@MyVar = global i32 4          ; <i32*> [#uses=2]
+@MyIntList = external global { \2*, i32 }              ; <{ \2*, i32 }*> [#uses=2]
+@AConst = constant i32 123             ; <i32*> [#uses=0]
+
+;; Intern in both testlink[12].ll
+@Intern1 = internal constant i32 52            ; <i32*> [#uses=0]
+
+;; Intern in one but not in other
+@Intern2 = constant i32 12345          ; <i32*> [#uses=0]
+
+@MyIntListPtr = constant { { \2*, i32 }* } { { \2*, i32 }* @MyIntList }                ; <{ { \2*, i32 }* }*> [#uses=0]
+@MyVarPtr = linkonce global { i32* } { i32* @MyVar }           ; <{ i32* }*> [#uses=0]
+constant i32 412               ; <i32*>:0 [#uses=1]
+
+define i32 @foo(i32 %blah) {
+       store i32 %blah, i32* @MyVar
+       %idx = getelementptr { \2*, i32 }* @MyIntList, i64 0, i32 1             ; <i32*> [#uses=1]
+       store i32 12, i32* %idx
+       %ack = load i32* @0             ; <i32> [#uses=1]
+       %fzo = add i32 %ack, %blah              ; <i32> [#uses=1]
+       ret i32 %fzo
+}
+
+declare void @unimp(float, double)
+
+define internal void @testintern() {
+       ret void
+}
+
+define void @Testintern() {
+       ret void
+}
+
+define internal void @testIntern() {
+       ret void
+}
 
index 60ca59655b2005be33446208c41861ce380fef68..edb23bc4b7074ffe49821118fc0e75c12aaac96f 100644 (file)
@@ -1,12 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as > %t.bc
-; RUN: llvm-upgrade < %p/testlink1.ll | llvm-as > %t2.bc
+; RUN: llvm-as < %s > %t.bc
+; RUN: llvm-as < %p/testlink1.ll > %t2.bc
 ; RUN: llvm-link %t.bc %t.bc %t2.bc -o %t1.bc -f
 ; RUN: llvm-dis < %t1.bc | grep {kallsyms_names = extern_weak}
 ; RUN: llvm-dis < %t1.bc | grep {MyVar = external global i32}
 ; RUN: llvm-dis < %t1.bc | grep {Inte = global i32}
 
-%kallsyms_names = extern_weak global [0 x ubyte]
-%MyVar     = extern_weak global int
-%Inte = extern_weak global int
+@kallsyms_names = extern_weak global [0 x i8]          ; <[0 x i8]*> [#uses=0]
+@MyVar = extern_weak global i32                ; <i32*> [#uses=0]
+@Inte = extern_weak global i32         ; <i32*> [#uses=0]
 
-implementation
index 7f0a57c689b58c9713861fe6c8eeb987ad52ca82..5682ff4e40df1ad5a91c3803b4a6e8a55279bcec 100644 (file)
@@ -1,24 +1,22 @@
 ; Basic block #2 should not be merged into BB #3!
 ;
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \
 ; RUN:   grep {br label}
 ;
-declare void %foo()
-implementation
 
-void "cprop_test12"(int* %data) {
-bb0:
-        %reg108 = load int* %data
-        %cond218 = setne int %reg108, 5
-        br bool %cond218, label %bb3, label %bb2
-
-bb2:
-       call void %foo()
-        br label %bb3
+declare void @foo()
 
-bb3:
-        %reg117 = phi int [ 110, %bb2 ], [ %reg108, %bb0 ]
-        store int %reg117, int* %data
-        ret void
+define void @cprop_test12(i32* %data) {
+bb0:
+       %reg108 = load i32* %data               ; <i32> [#uses=2]
+       %cond218 = icmp ne i32 %reg108, 5               ; <i1> [#uses=1]
+       br i1 %cond218, label %bb3, label %bb2
+bb2:           ; preds = %bb0
+       call void @foo( )
+       br label %bb3
+bb3:           ; preds = %bb2, %bb0
+       %reg117 = phi i32 [ 110, %bb2 ], [ %reg108, %bb0 ]              ; <i32> [#uses=1]
+       store i32 %reg117, i32* %data
+       ret void
 }
 
index 1ef659384c048a02340903faeeb9b7f9875d925a..c955d668898f35a1ff72bc54b03499605ec80d6b 100644 (file)
@@ -4,16 +4,16 @@
 ;
 ; Which is not valid SSA
 ;
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis
-
-void "test"() {
-       br bool true, label %end, label %Loop
-
-Loop:
-       %V = phi int [0, %0], [%V1, %Loop]
-       %V1 = add int %V, 1
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis
 
+define void @test() {
+; <label>:0
+       br i1 true, label %end, label %Loop
+Loop:          ; preds = %Loop, %0
+       %V = phi i32 [ 0, %0 ], [ %V1, %Loop ]          ; <i32> [#uses=1]
+       %V1 = add i32 %V, 1             ; <i32> [#uses=1]
        br label %Loop
-end:
+end:           ; preds = %0
        ret void
 }
+
index a669a3ffc73be59b4f8a52e7729bec5791574ba9..87b428600ba502b9750c2422945c7930abd11fd9 100644 (file)
@@ -1,14 +1,14 @@
 ; -simplifycfg is not folding blocks if there is a PHI node involved.  This 
 ; should be fixed eventually
 
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep br
-
-int %main(int %argc) {
-        br label %InlinedFunctionReturnNode
-
-InlinedFunctionReturnNode:                                      ;[#uses=1]
-        %X = phi int [ 7, %0 ]          ; <int> [#uses=1]
-        %Y = add int %X, %argc          ; <int> [#uses=1]
-        ret int %Y
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep br
+
+define i32 @main(i32 %argc) {
+; <label>:0
+       br label %InlinedFunctionReturnNode
+InlinedFunctionReturnNode:             ; preds = %0
+       %X = phi i32 [ 7, %0 ]          ; <i32> [#uses=1]
+       %Y = add i32 %X, %argc          ; <i32> [#uses=1]
+       ret i32 %Y
 }
 
index f1674b7ffb59bf6c755757d66307d5b73531a229..75beb344a883243a17168d8333eed7c68783687a 100644 (file)
@@ -1,12 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg
+; RUN: llvm-as < %s | opt -simplifycfg
 
-int %test(int %A, int %B, bool %cond) {
+define i32 @test(i32 %A, i32 %B, i1 %cond) {
 J:
-       %C = add int %A, 12
-       br bool %cond, label %L, label %L
-L:
-       %Q = phi int [%C, %J], [%C, %J]  ; PHI node is obviously redundant
-       %D = add int %C, %B
-       %E = add int %Q, %D
-       ret int %E
+       %C = add i32 %A, 12             ; <i32> [#uses=3]
+       br i1 %cond, label %L, label %L
+L:             ; preds = %J, %J
+       %Q = phi i32 [ %C, %J ], [ %C, %J ]             ; <i32> [#uses=1]
+       %D = add i32 %C, %B             ; <i32> [#uses=1]
+       %E = add i32 %Q, %D             ; <i32> [#uses=1]
+       ret i32 %E
 }
+
index 312e514cf243a94e43268ac448ac815d650befdd..c45a5c9da98c6537b76fe231fcc54a7e337f257a 100644 (file)
@@ -1,22 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
 
-implementation   ; Functions:
-
-void %test(int* %ldo, bool %c, bool %d) {
+define void @test(i32* %ldo, i1 %c, i1 %d) {
 bb9:
-       br bool %c, label %bb11, label %bb10
-
+       br i1 %c, label %bb11, label %bb10
 bb10:          ; preds = %bb9
        br label %bb11
-
 bb11:          ; preds = %bb10, %bb9
-       %reg330 = phi int* [ null, %bb10 ], [ %ldo, %bb9 ]
+       %reg330 = phi i32* [ null, %bb10 ], [ %ldo, %bb9 ]              ; <i32*> [#uses=1]
        br label %bb20
-
-bb20:          ; preds = %bb23, %bb25, %bb27, %bb11
-       store int* %reg330, int** null
-       br bool %d, label %bb20, label %done
-
-done:
+bb20:          ; preds = %bb20, %bb11
+       store i32* %reg330, i32** null
+       br i1 %d, label %bb20, label %done
+done:          ; preds = %bb20
        ret void
 }
+
index 811fe50b4c745651790c8885f36c4626e5323d4f..74e7428429de484435147f0b18706d5d5407f24b 100644 (file)
@@ -1,11 +1,13 @@
 ; Do not remove the invoke!
 ;
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
 
-int %test() {
-       %A = invoke int %test() to label %Ret except label %Ret2
-Ret:
-       ret int %A
-Ret2:
-       ret int undef
+define i32 @test() {
+       %A = invoke i32 @test( )
+                       to label %Ret unwind label %Ret2                ; <i32> [#uses=1]
+Ret:           ; preds = %0
+       ret i32 %A
+Ret2:          ; preds = %0
+       ret i32 undef
 }
+
index ff549adbaed7cea36cf038a7f57fe84dcb1bd004..9f56e07bfd62c9af0352df34e2508d5966171648 100644 (file)
@@ -1,10 +1,12 @@
 ; Do not remove the invoke!
 ;
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | grep invoke
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | grep invoke
 
-int %test() {
-       invoke int %test() to label %Ret except label %Ret
-Ret:
-       %A = add int 0, 1
-       ret int %A
+define i32 @test() {
+       invoke i32 @test( )
+                       to label %Ret unwind label %Ret         ; <i32>:1 [#uses=0]
+Ret:           ; preds = %0, %0
+       %A = add i32 0, 1               ; <i32> [#uses=1]
+       ret i32 %A
 }
+
index fcefac1409a0ba946e343fbea9e98a7a0309c4f5..d1de65c15614069323f0ca0805169dc8f7d27122 100644 (file)
@@ -1,21 +1,22 @@
 ; This test checks to make sure that 'br X, Dest, Dest' is folded into 
 ; 'br Dest'
 
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \
 ; RUN:   not grep {br bool %c2}
 
-declare void %noop()
+declare void @noop()
 
-int %test(bool %c1, bool %c2) {
-       call void %noop()
-       br bool %c1, label %A, label %Y
-A:
-       call void %noop()
-       br bool %c2, label %X, label %X   ; Can be converted to unconditional br
-X:
-       call void %noop()
-       ret int 0
-Y:
-       call void %noop()
+define i32 @test(i1 %c1, i1 %c2) {
+       call void @noop( )
+       br i1 %c1, label %A, label %Y
+A:             ; preds = %0
+       call void @noop( )
+       br i1 %c2, label %X, label %X
+X:             ; preds = %Y, %A, %A
+       call void @noop( )
+       ret i32 0
+Y:             ; preds = %0
+       call void @noop( )
        br label %X
 }
+
index 08ff2905db503a1144580aca1264cf73eac81e62..7564cfac63a527890495de2829b36fbbca7f089a 100644 (file)
@@ -3,23 +3,24 @@
 ; due to the fact that the SimplifyCFG function does not use 
 ; the ConstantFoldTerminator function.
 
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \
 ; RUN:   not grep {br bool %c2}
 
-declare void %noop()
+declare void @noop()
 
-int %test(bool %c1, bool %c2) {
-       call void %noop()
-       br bool %c1, label %A, label %Y
-A:
-       call void %noop()
-       br bool %c2, label %Z, label %X   ; Can be converted to unconditional br
-Z:
+define i32 @test(i1 %c1, i1 %c2) {
+       call void @noop( )
+       br i1 %c1, label %A, label %Y
+A:             ; preds = %0
+       call void @noop( )
+       br i1 %c2, label %Z, label %X
+Z:             ; preds = %A
        br label %X
-X:
-       call void %noop()
-       ret int 0
-Y:
-       call void %noop()
+X:             ; preds = %Y, %Z, %A
+       call void @noop( )
+       ret i32 0
+Y:             ; preds = %0
+       call void @noop( )
        br label %X
 }
+
index ac9ba1825e8394a9f09a1658377c817695cbc514..cd22e1edb15a60922285728faec84f550bc3af2b 100644 (file)
@@ -1,61 +1,80 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \
 ; RUN:   not grep switch
 
-int %test1() {   ; Test normal folding
-       switch uint 5, label %Default [
-               uint 0, label %Foo
-               uint 1, label %Bar
-               uint 2, label %Baz
-               uint 5, label %TheDest
-       ]
-Default:ret int -1
-Foo:   ret int -2
-Bar:   ret int -3
-Baz:   ret int -4
-TheDest:ret int 1234
+; Test normal folding
+define i32 @test1() {
+        switch i32 5, label %Default [
+                 i32 0, label %Foo
+                 i32 1, label %Bar
+                 i32 2, label %Baz
+                 i32 5, label %TheDest
+        ]
+Default:                ; preds = %0
+        ret i32 -1
+Foo:            ; preds = %0
+        ret i32 -2
+Bar:            ; preds = %0
+        ret i32 -3
+Baz:            ; preds = %0
+        ret i32 -4
+TheDest:                ; preds = %0
+        ret i32 1234
 }
 
-int %test2() {   ; Test folding to default dest
-       switch uint 3, label %Default [
-               uint 0, label %Foo
-               uint 1, label %Bar
-               uint 2, label %Baz
-               uint 5, label %TheDest
-       ]
-Default:ret int 1234
-Foo:   ret int -2
-Bar:   ret int -5
-Baz:   ret int -6
-TheDest:ret int -8
+; Test folding to default dest
+define i32 @test2() {
+        switch i32 3, label %Default [
+                 i32 0, label %Foo
+                 i32 1, label %Bar
+                 i32 2, label %Baz
+                 i32 5, label %TheDest
+        ]
+Default:                ; preds = %0
+        ret i32 1234
+Foo:            ; preds = %0
+        ret i32 -2
+Bar:            ; preds = %0
+        ret i32 -5
+Baz:            ; preds = %0
+        ret i32 -6
+TheDest:                ; preds = %0
+        ret i32 -8
 }
 
-int %test3(bool %C) {   ; Test folding all to same dest
-       br bool %C, label %Start, label %TheDest
-Start:
-       switch uint 3, label %TheDest [
-               uint 0, label %TheDest
-               uint 1, label %TheDest
-               uint 2, label %TheDest
-               uint 5, label %TheDest
-       ]
-TheDest: ret int 1234
+; Test folding all to same dest
+define i32 @test3(i1 %C) {
+        br i1 %C, label %Start, label %TheDest
+Start:          ; preds = %0
+        switch i32 3, label %TheDest [
+                 i32 0, label %TheDest
+                 i32 1, label %TheDest
+                 i32 2, label %TheDest
+                 i32 5, label %TheDest
+        ]
+TheDest:                ; preds = %Start, %Start, %Start, %Start, %Start, %0
+        ret i32 1234
 }
 
-int %test4(uint %C) {   ; Test folding switch -> branch
-       switch uint %C, label %L1 [
-               uint 0, label %L2
-       ]
-L1:    ret int 0
-L2:    ret int 1
+; Test folding switch -> branch
+define i32 @test4(i32 %C) {
+        switch i32 %C, label %L1 [
+                 i32 0, label %L2
+        ]
+L1:             ; preds = %0
+        ret i32 0
+L2:             ; preds = %0
+        ret i32 1
 }
 
-int %test5(uint %C) {
-       switch uint %C, label %L1 [   ; Can fold into a cond branch!
-               uint 0, label %L2
-               uint 123, label %L1
-       ]
-L1:    ret int 0
-L2:    ret int 1
+; Can fold into a cond branch!
+define i32 @test5(i32 %C) {
+        switch i32 %C, label %L1 [
+                 i32 0, label %L2
+                 i32 123, label %L1
+        ]
+L1:             ; preds = %0, %0
+        ret i32 0
+L2:             ; preds = %0
+        ret i32 1
 }
 
-
index 44c89d67b32fae9b605021095ffd27afbc951e51..de0d2624582931dd5bee6a27fe2ca49c337b637f 100644 (file)
@@ -1,59 +1,40 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
 
-implementation   ; Functions:
-
-void %symhash_add() {
+define void @symhash_add() {
 entry:
-       br bool undef, label %then.0, label %UnifiedReturnBlock
-
+       br i1 undef, label %then.0, label %UnifiedReturnBlock
 then.0:                ; preds = %entry
-       br bool undef, label %loopentry.2, label %loopentry.1.preheader
-
+       br i1 undef, label %loopentry.2, label %loopentry.1.preheader
 loopentry.1.preheader:         ; preds = %then.0
        br label %loopentry.1.outer
-
-loopentry.1.outer:             ; preds = %loopentry.1.preheader, %loopexit.1
+loopentry.1.outer:             ; preds = %loopexit.1, %loopentry.1.preheader
        br label %loopentry.1
-
-loopentry.1:           ; preds = %loopentry.1.outer, %then.1, %then.3, %then.4, %endif.1
-       br bool undef, label %loopexit.1, label %no_exit.1
-
+loopentry.1:           ; preds = %endif.1, %then.4, %then.3, %then.1, %loopentry.1.outer
+       br i1 undef, label %loopexit.1, label %no_exit.1
 no_exit.1:             ; preds = %loopentry.1
-       br bool undef, label %then.1, label %else.0
-
+       br i1 undef, label %then.1, label %else.0
 then.1:                ; preds = %no_exit.1
        br label %loopentry.1
-
 else.0:                ; preds = %no_exit.1
-       br bool undef, label %then.2, label %else.1
-
+       br i1 undef, label %then.2, label %else.1
 then.2:                ; preds = %else.0
-       br bool undef, label %then.3, label %endif.1
-
+       br i1 undef, label %then.3, label %endif.1
 then.3:                ; preds = %then.2
        br label %loopentry.1
-
 else.1:                ; preds = %else.0
-       br bool undef, label %endif.1, label %then.4
-
+       br i1 undef, label %endif.1, label %then.4
 then.4:                ; preds = %else.1
        br label %loopentry.1
-
-endif.1:               ; preds = %then.2, %else.1
+endif.1:               ; preds = %else.1, %then.2
        br label %loopentry.1
-
 loopexit.1:            ; preds = %loopentry.1
-       br bool undef, label %loopentry.1.outer, label %loopentry.2
-
-loopentry.2:           ; preds = %then.0, %loopexit.1, %no_exit.2
-       br bool undef, label %loopexit.2, label %no_exit.2
-
+       br i1 undef, label %loopentry.1.outer, label %loopentry.2
+loopentry.2:           ; preds = %no_exit.2, %loopexit.1, %then.0
+       br i1 undef, label %loopexit.2, label %no_exit.2
 no_exit.2:             ; preds = %loopentry.2
        br label %loopentry.2
-
 loopexit.2:            ; preds = %loopentry.2
        ret void
-
 UnifiedReturnBlock:            ; preds = %entry
        ret void
 }
index 6c53029ea655f75d3a0de42975df8a0848fda8ec..7fea2921b023de8ca85f18ba2a83b848e782895e 100644 (file)
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
 ; PR584
+@g_38098584 = external global i32              ; <i32*> [#uses=1]
+@g_60187400 = external global i32              ; <i32*> [#uses=1]
+@g_59182229 = external global i32              ; <i32*> [#uses=2]
 
-%g_38098584 = external global uint             ; <uint*> [#uses=1]
-%g_60187400 = external global uint             ; <uint*> [#uses=1]
-%g_59182229 = external global uint             ; <uint*> [#uses=2]
-
-implementation   ; Functions:
-
-int %_Z13func_26556482h(ubyte %l_88173906) {
+define i32 @_Z13func_26556482h(i8 %l_88173906) {
 entry:
-       %tmp.1 = cast ubyte %l_88173906 to sbyte                ; <sbyte> [#uses=2]
-       %tmp.3 = seteq ubyte %l_88173906, 0             ; <bool> [#uses=1]
-       br bool %tmp.3, label %else.0, label %then.0
-
+       %tmp.1 = bitcast i8 %l_88173906 to i8           ; <i8> [#uses=2]
+       %tmp.3 = icmp eq i8 %l_88173906, 0              ; <i1> [#uses=1]
+       br i1 %tmp.3, label %else.0, label %then.0
 then.0:                ; preds = %entry
-       %tmp.5 = seteq ubyte %l_88173906, 0             ; <bool> [#uses=1]
-       br bool %tmp.5, label %else.1, label %then.1
-
+       %tmp.5 = icmp eq i8 %l_88173906, 0              ; <i1> [#uses=1]
+       br i1 %tmp.5, label %else.1, label %then.1
 then.1:                ; preds = %then.0
        br label %return
-
 else.1:                ; preds = %then.0
        br label %loopentry.0
-
 loopentry.0:           ; preds = %no_exit.0, %else.1
-       %i.0.1 = phi int [ 0, %else.1 ], [ %inc.0, %no_exit.0 ]         ; <int> [#uses=2]
-       %tmp.9 = setgt int %i.0.1, 99           ; <bool> [#uses=1]
-       br bool %tmp.9, label %endif.0, label %no_exit.0
-
+       %i.0.1 = phi i32 [ 0, %else.1 ], [ %inc.0, %no_exit.0 ]         ; <i32> [#uses=2]
+       %tmp.9 = icmp sgt i32 %i.0.1, 99                ; <i1> [#uses=1]
+       br i1 %tmp.9, label %endif.0, label %no_exit.0
 no_exit.0:             ; preds = %loopentry.0
-       %inc.0 = add int %i.0.1, 1              ; <int> [#uses=1]
+       %inc.0 = add i32 %i.0.1, 1              ; <i32> [#uses=1]
        br label %loopentry.0
-
 else.0:                ; preds = %entry
-       %tmp.12 = cast sbyte %tmp.1 to int              ; <int> [#uses=1]
+       %tmp.12 = sext i8 %tmp.1 to i32         ; <i32> [#uses=1]
        br label %return
-
 endif.0:               ; preds = %loopentry.0
-       %tmp.14 = cast sbyte %tmp.1 to int              ; <int> [#uses=1]
-       %tmp.16 = cast ubyte %l_88173906 to int         ; <int> [#uses=1]
-       %tmp.17 = setgt int %tmp.14, %tmp.16            ; <bool> [#uses=1]
-       %tmp.19 = load uint* %g_59182229                ; <uint> [#uses=2]
-       br bool %tmp.17, label %cond_true, label %cond_false
-
+       %tmp.14 = sext i8 %tmp.1 to i32         ; <i32> [#uses=1]
+       %tmp.16 = zext i8 %l_88173906 to i32            ; <i32> [#uses=1]
+       %tmp.17 = icmp sgt i32 %tmp.14, %tmp.16         ; <i1> [#uses=1]
+       %tmp.19 = load i32* @g_59182229         ; <i32> [#uses=2]
+       br i1 %tmp.17, label %cond_true, label %cond_false
 cond_true:             ; preds = %endif.0
-       %tmp.20 = setne uint %tmp.19, 1         ; <bool> [#uses=1]
+       %tmp.20 = icmp ne i32 %tmp.19, 1                ; <i1> [#uses=1]
        br label %cond_continue
-
 cond_false:            ; preds = %endif.0
-       %tmp.22 = setne uint %tmp.19, 0         ; <bool> [#uses=1]
+       %tmp.22 = icmp ne i32 %tmp.19, 0                ; <i1> [#uses=1]
        br label %cond_continue
-
 cond_continue:         ; preds = %cond_false, %cond_true
-       %mem_tmp.0 = phi bool [ %tmp.20, %cond_true ], [ %tmp.22, %cond_false ]         ; <bool> [#uses=1]
-       br bool %mem_tmp.0, label %then.2, label %else.2
-
+       %mem_tmp.0 = phi i1 [ %tmp.20, %cond_true ], [ %tmp.22, %cond_false ]           ; <i1> [#uses=1]
+       br i1 %mem_tmp.0, label %then.2, label %else.2
 then.2:                ; preds = %cond_continue
-       %tmp.25 = cast ubyte %l_88173906 to int         ; <int> [#uses=1]
+       %tmp.25 = zext i8 %l_88173906 to i32            ; <i32> [#uses=1]
        br label %return
-
 else.2:                ; preds = %cond_continue
        br label %loopentry.1
-
 loopentry.1:           ; preds = %endif.3, %else.2
-       %i.1.1 = phi int [ 0, %else.2 ], [ %inc.3, %endif.3 ]           ; <int> [#uses=2]
-       %i.3.2 = phi int [ undef, %else.2 ], [ %i.3.0, %endif.3 ]               ; <int> [#uses=2]
-       %l_88173906_addr.1 = phi ubyte [ %l_88173906, %else.2 ], [ %l_88173906_addr.0, %endif.3 ]               ; <ubyte> [#uses=3]
-       %tmp.29 = setgt int %i.1.1, 99          ; <bool> [#uses=1]
-       br bool %tmp.29, label %endif.2, label %no_exit.1
-
+       %i.1.1 = phi i32 [ 0, %else.2 ], [ %inc.3, %endif.3 ]           ; <i32> [#uses=2]
+       %i.3.2 = phi i32 [ undef, %else.2 ], [ %i.3.0, %endif.3 ]               ; <i32> [#uses=2]
+       %l_88173906_addr.1 = phi i8 [ %l_88173906, %else.2 ], [ %l_88173906_addr.0, %endif.3 ]          ; <i8> [#uses=3]
+       %tmp.29 = icmp sgt i32 %i.1.1, 99               ; <i1> [#uses=1]
+       br i1 %tmp.29, label %endif.2, label %no_exit.1
 no_exit.1:             ; preds = %loopentry.1
-       %tmp.30 = load uint* %g_38098584                ; <uint> [#uses=1]
-       %tmp.31 = seteq uint %tmp.30, 0         ; <bool> [#uses=1]
-       br bool %tmp.31, label %else.3, label %then.3
-
+       %tmp.30 = load i32* @g_38098584         ; <i32> [#uses=1]
+       %tmp.31 = icmp eq i32 %tmp.30, 0                ; <i1> [#uses=1]
+       br i1 %tmp.31, label %else.3, label %then.3
 then.3:                ; preds = %no_exit.1
        br label %endif.3
-
 else.3:                ; preds = %no_exit.1
-       br bool false, label %else.4, label %then.4
-
+       br i1 false, label %else.4, label %then.4
 then.4:                ; preds = %else.3
        br label %endif.3
-
 else.4:                ; preds = %else.3
-       br bool false, label %else.5, label %then.5
-
+       br i1 false, label %else.5, label %then.5
 then.5:                ; preds = %else.4
-       store uint 3290648471, uint* %g_59182229
+       store i32 -1004318825, i32* @g_59182229
        br label %return
-
 else.5:                ; preds = %else.4
        br label %loopentry.3
-
 loopentry.3:           ; preds = %then.7, %else.5
-       %i.3.3 = phi int [ 0, %else.5 ], [ %inc.2, %then.7 ]            ; <int> [#uses=3]
-       %tmp.55 = setgt int %i.3.3, 99          ; <bool> [#uses=1]
-       br bool %tmp.55, label %endif.3, label %no_exit.3
-
+       %i.3.3 = phi i32 [ 0, %else.5 ], [ %inc.2, %then.7 ]            ; <i32> [#uses=3]
+       %tmp.55 = icmp sgt i32 %i.3.3, 99               ; <i1> [#uses=1]
+       br i1 %tmp.55, label %endif.3, label %no_exit.3
 no_exit.3:             ; preds = %loopentry.3
-       %tmp.57 = seteq ubyte %l_88173906_addr.1, 0             ; <bool> [#uses=1]
-       br bool %tmp.57, label %else.7, label %then.7
-
+       %tmp.57 = icmp eq i8 %l_88173906_addr.1, 0              ; <i1> [#uses=1]
+       br i1 %tmp.57, label %else.7, label %then.7
 then.7:                ; preds = %no_exit.3
-       store uint 16239, uint* %g_60187400
-       %inc.2 = add int %i.3.3, 1              ; <int> [#uses=1]
+       store i32 16239, i32* @g_60187400
+       %inc.2 = add i32 %i.3.3, 1              ; <i32> [#uses=1]
        br label %loopentry.3
-
 else.7:                ; preds = %no_exit.3
        br label %return
-
 endif.3:               ; preds = %loopentry.3, %then.4, %then.3
-       %i.3.0 = phi int [ %i.3.2, %then.3 ], [ %i.3.2, %then.4 ], [ %i.3.3, %loopentry.3 ]             ; <int> [#uses=1]
-       %l_88173906_addr.0 = phi ubyte [ 100, %then.3 ], [ %l_88173906_addr.1, %then.4 ], [ %l_88173906_addr.1, %loopentry.3 ]          ; <ubyte> [#uses=1]
-       %inc.3 = add int %i.1.1, 1              ; <int> [#uses=1]
+       %i.3.0 = phi i32 [ %i.3.2, %then.3 ], [ %i.3.2, %then.4 ], [ %i.3.3, %loopentry.3 ]             ; <i32> [#uses=1]
+       %l_88173906_addr.0 = phi i8 [ 100, %then.3 ], [ %l_88173906_addr.1, %then.4 ], [ %l_88173906_addr.1, %loopentry.3 ]             ; <i8> [#uses=1]
+       %inc.3 = add i32 %i.1.1, 1              ; <i32> [#uses=1]
        br label %loopentry.1
-
 endif.2:               ; preds = %loopentry.1
        br label %return
-
 return:                ; preds = %endif.2, %else.7, %then.5, %then.2, %else.0, %then.1
-       %result.0 = phi int [ 1624650671, %then.1 ], [ %tmp.25, %then.2 ], [ 3379, %then.5 ], [ 52410, %else.7 ], [ -1526438411, %endif.2 ], [ %tmp.12, %else.0 ]               ; <int> [#uses=1]
-       ret int %result.0
+       %result.0 = phi i32 [ 1624650671, %then.1 ], [ %tmp.25, %then.2 ], [ 3379, %then.5 ], [ 52410, %else.7 ], [ -1526438411, %endif.2 ], [ %tmp.12, %else.0 ]               ; <i32> [#uses=1]
+       ret i32 %result.0
 }
index 9271ac209e06796b6e730ff6f463026ffc029e29..83143218b1ad9e55677e39ec1a5c50e1f2b5dd64 100644 (file)
@@ -1,96 +1,71 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
+; END.
 
-void %main() {
+define void @main() {
 entry:
-       %tmp.14.i19 = seteq int 0, 2            ; <bool> [#uses=1]
-       br bool %tmp.14.i19, label %endif.1.i20, label %read_min.exit
-
+       %tmp.14.i19 = icmp eq i32 0, 2          ; <i1> [#uses=1]
+       br i1 %tmp.14.i19, label %endif.1.i20, label %read_min.exit
 endif.1.i20:           ; preds = %entry
-       %tmp.9.i.i = seteq sbyte* null, null            ; <bool> [#uses=1]
-       br bool %tmp.9.i.i, label %then.i12.i, label %then.i.i
-
+       %tmp.9.i.i = icmp eq i8* null, null             ; <i1> [#uses=1]
+       br i1 %tmp.9.i.i, label %then.i12.i, label %then.i.i
 then.i.i:              ; preds = %endif.1.i20
        ret void
-
 then.i12.i:            ; preds = %endif.1.i20
-       %tmp.9.i4.i = seteq sbyte* null, null           ; <bool> [#uses=1]
-       br bool %tmp.9.i4.i, label %endif.2.i33, label %then.i5.i
-
+       %tmp.9.i4.i = icmp eq i8* null, null            ; <i1> [#uses=1]
+       br i1 %tmp.9.i4.i, label %endif.2.i33, label %then.i5.i
 then.i5.i:             ; preds = %then.i12.i
        ret void
-
 endif.2.i33:           ; preds = %then.i12.i
-       br bool false, label %loopexit.0.i40, label %no_exit.0.i35
-
+       br i1 false, label %loopexit.0.i40, label %no_exit.0.i35
 no_exit.0.i35:         ; preds = %no_exit.0.i35, %endif.2.i33
-       %tmp.130.i = setlt int 0, 0             ; <bool> [#uses=1]
-       br bool %tmp.130.i, label %loopexit.0.i40.loopexit, label %no_exit.0.i35
-
+       %tmp.130.i = icmp slt i32 0, 0          ; <i1> [#uses=1]
+       br i1 %tmp.130.i, label %loopexit.0.i40.loopexit, label %no_exit.0.i35
 loopexit.0.i40.loopexit:               ; preds = %no_exit.0.i35
        br label %loopexit.0.i40
-
 loopexit.0.i40:                ; preds = %loopexit.0.i40.loopexit, %endif.2.i33
-       %tmp.341.i = seteq int 0, 0             ; <bool> [#uses=1]
-       br bool %tmp.341.i, label %loopentry.1.i, label %read_min.exit
-
+       %tmp.341.i = icmp eq i32 0, 0           ; <i1> [#uses=1]
+       br i1 %tmp.341.i, label %loopentry.1.i, label %read_min.exit
 loopentry.1.i:         ; preds = %loopexit.0.i40
-       %tmp.347.i = setgt int 0, 0             ; <bool> [#uses=1]
-       br bool %tmp.347.i, label %no_exit.1.i41, label %loopexit.2.i44
-
+       %tmp.347.i = icmp sgt i32 0, 0          ; <i1> [#uses=1]
+       br i1 %tmp.347.i, label %no_exit.1.i41, label %loopexit.2.i44
 no_exit.1.i41:         ; preds = %endif.5.i, %loopentry.1.i
-       %indvar.i42 = phi uint [ %indvar.next.i, %endif.5.i ], [ 0, %loopentry.1.i ]            ; <uint> [#uses=1]
-       %tmp.355.i = seteq int 0, 3             ; <bool> [#uses=1]
-       br bool %tmp.355.i, label %endif.5.i, label %read_min.exit
-
+       %indvar.i42 = phi i32 [ %indvar.next.i, %endif.5.i ], [ 0, %loopentry.1.i ]             ; <i32> [#uses=1]
+       %tmp.355.i = icmp eq i32 0, 3           ; <i1> [#uses=1]
+       br i1 %tmp.355.i, label %endif.5.i, label %read_min.exit
 endif.5.i:             ; preds = %no_exit.1.i41
-       %tmp.34773.i = setgt int 0, 0           ; <bool> [#uses=1]
-       %indvar.next.i = add uint %indvar.i42, 1                ; <uint> [#uses=1]
-       br bool %tmp.34773.i, label %no_exit.1.i41, label %loopexit.1.i.loopexit
-
+       %tmp.34773.i = icmp sgt i32 0, 0                ; <i1> [#uses=1]
+       %indvar.next.i = add i32 %indvar.i42, 1         ; <i32> [#uses=1]
+       br i1 %tmp.34773.i, label %no_exit.1.i41, label %loopexit.1.i.loopexit
 loopexit.1.i.loopexit:         ; preds = %endif.5.i
        ret void
-
 loopexit.2.i44:                ; preds = %loopentry.1.i
        ret void
-
 read_min.exit:         ; preds = %no_exit.1.i41, %loopexit.0.i40, %entry
-       %tmp.23 = seteq int 0, 0                ; <bool> [#uses=1]
-       br bool %tmp.23, label %endif.1, label %then.1
-
+       %tmp.23 = icmp eq i32 0, 0              ; <i1> [#uses=1]
+       br i1 %tmp.23, label %endif.1, label %then.1
 then.1:                ; preds = %read_min.exit
-       br bool false, label %endif.0.i, label %then.0.i
-
+       br i1 false, label %endif.0.i, label %then.0.i
 then.0.i:              ; preds = %then.1
-       br bool false, label %endif.1.i, label %then.1.i
-
+       br i1 false, label %endif.1.i, label %then.1.i
 endif.0.i:             ; preds = %then.1
-       br bool false, label %endif.1.i, label %then.1.i
-
+       br i1 false, label %endif.1.i, label %then.1.i
 then.1.i:              ; preds = %endif.0.i, %then.0.i
-       br bool false, label %getfree.exit, label %then.2.i
-
+       br i1 false, label %getfree.exit, label %then.2.i
 endif.1.i:             ; preds = %endif.0.i, %then.0.i
-       br bool false, label %getfree.exit, label %then.2.i
-
+       br i1 false, label %getfree.exit, label %then.2.i
 then.2.i:              ; preds = %endif.1.i, %then.1.i
        ret void
-
 getfree.exit:          ; preds = %endif.1.i, %then.1.i
        ret void
-
 endif.1:               ; preds = %read_min.exit
-       %tmp.27.i = getelementptr int* null, int 0
-       br bool false, label %loopexit.0.i15, label %no_exit.0.i14
-
+       %tmp.27.i = getelementptr i32* null, i32 0              ; <i32*> [#uses=0]
+       br i1 false, label %loopexit.0.i15, label %no_exit.0.i14
 no_exit.0.i14:         ; preds = %endif.1
        ret void
-
 loopexit.0.i15:                ; preds = %endif.1
-       br bool false, label %primal_start_artificial.exit, label %no_exit.1.i16
-
+       br i1 false, label %primal_start_artificial.exit, label %no_exit.1.i16
 no_exit.1.i16:         ; preds = %no_exit.1.i16, %loopexit.0.i15
-       br bool false, label %primal_start_artificial.exit, label %no_exit.1.i16
-
+       br i1 false, label %primal_start_artificial.exit, label %no_exit.1.i16
 primal_start_artificial.exit:          ; preds = %no_exit.1.i16, %loopexit.0.i15
        ret void
 }
index 4ac692ed5d9e57431153beece81e6775640d1c0b..51490a00eb4739ae28ba6bbed9961f3f42a6cf20 100644 (file)
@@ -1,94 +1,74 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
 ; END.
 
-       %arraytype.1.Char = type { int, [0 x sbyte] }
-       %arraytype.4.Signed = type { int, [0 x int] }
+       %arraytype.1.Char = type { i32, [0 x i8] }
+       %arraytype.4.Signed = type { i32, [0 x i32] }
        %functiontype.23 = type %structtype.Task* (%structtype.Task*, %structtype.Packet*, %structtype.FailedRun*)
        %functiontype.27 = type %structtype.object* ()
-       %functiontype.28 = type bool (%structtype.object*, %structtype.object_vtable*)
-       %functiontype.39 = type int (%structtype.listiter*)
-       %opaquetype.RuntimeTypeInfo = type sbyte* (sbyte*)
+       %functiontype.28 = type i1 (%structtype.object*, %structtype.object_vtable*)
+       %functiontype.39 = type i32 (%structtype.listiter*)
+       %opaquetype.RuntimeTypeInfo = type i8* (i8*)
        %structtype.AssertionError_vtable = type { %structtype.FailedRun_vtable }
        %structtype.DeviceTask = type { %structtype.Task }
        %structtype.FailedRun = type { %structtype.object }
        %structtype.FailedRun_vtable = type { %structtype.object_vtable }
-       %structtype.Packet = type { %structtype.object, %structtype.list.1*, int, int, int, %structtype.Packet* }
-       %structtype.Task = type { %structtype.TaskState, %structtype.FailedRun*, int, %structtype.Packet*, %structtype.Task*, int }
-       %structtype.TaskState = type { %structtype.object, bool, bool, bool }
+       %structtype.Packet = type { %structtype.object, %structtype.list.1*, i32, i32, i32, %structtype.Packet* }
+       %structtype.Task = type { %structtype.TaskState, %structtype.FailedRun*, i32, %structtype.Packet*, %structtype.Task*, i32 }
+       %structtype.TaskState = type { %structtype.object, i1, i1, i1 }
        %structtype.list.1 = type { %arraytype.4.Signed* }
-       %structtype.listiter = type { %structtype.list.1*, int }
+       %structtype.listiter = type { %structtype.list.1*, i32 }
        %structtype.object = type { %structtype.object_vtable* }
        %structtype.object_vtable = type { %structtype.object_vtable*, %opaquetype.RuntimeTypeInfo*, %arraytype.1.Char*, %functiontype.27* }
-%structinstance.59 = external global %structtype.AssertionError_vtable         ; <%structtype.AssertionError_vtable*> [#uses=0]
+@structinstance.59 = external global %structtype.AssertionError_vtable         ; <%structtype.AssertionError_vtable*> [#uses=0]
 
-implementation   ; Functions:
+declare fastcc i1 @ll_isinstance__objectPtr_object_vtablePtr()
 
-declare fastcc bool %ll_isinstance__objectPtr_object_vtablePtr()
+declare fastcc void @ll_listnext__listiterPtr()
 
-declare fastcc void %ll_listnext__listiterPtr()
-
-fastcc void %WorkTask.fn() {
+define fastcc void @WorkTask.fn() {
 block0:
        br label %block1
-
 block1:                ; preds = %block0
-       %v2542 = call fastcc bool %ll_isinstance__objectPtr_object_vtablePtr( )         ; <bool> [#uses=1]
-       br bool %v2542, label %block4, label %block2
-
+       %v2542 = call fastcc i1 @ll_isinstance__objectPtr_object_vtablePtr( )           ; <i1> [#uses=1]
+       br i1 %v2542, label %block4, label %block2
 block2:                ; preds = %block1
        br label %block3
-
 block3:                ; preds = %block2
        unwind
-
 block4:                ; preds = %block1
        br label %block5
-
 block5:                ; preds = %block4
-       %v2565 = seteq %structtype.Packet* null, null           ; <bool> [#uses=1]
-       br bool %v2565, label %block15, label %block6
-
+       %v2565 = icmp eq %structtype.Packet* null, null         ; <i1> [#uses=1]
+       br i1 %v2565, label %block15, label %block6
 block6:                ; preds = %block5
        %self_2575 = phi %structtype.DeviceTask* [ null, %block5 ]              ; <%structtype.DeviceTask*> [#uses=1]
-       br bool false, label %block14, label %block7
-
+       br i1 false, label %block14, label %block7
 block7:                ; preds = %block14, %block6
        %self_2635 = phi %structtype.DeviceTask* [ %self_2575, %block6 ], [ null, %block14 ]            ; <%structtype.DeviceTask*> [#uses=1]
-       %tmp.124 = getelementptr %structtype.Packet* null, int 0, uint 2                ; <int*> [#uses=0]
+       %tmp.124 = getelementptr %structtype.Packet* null, i32 0, i32 2         ; <i32*> [#uses=0]
        br label %block8
-
 block8:                ; preds = %block10, %block7
        %self_2672 = phi %structtype.DeviceTask* [ %self_2635, %block7 ], [ null, %block10 ]            ; <%structtype.DeviceTask*> [#uses=0]
-       invoke fastcc void %ll_listnext__listiterPtr( )
+       invoke fastcc void @ll_listnext__listiterPtr( )
                        to label %block9 unwind label %block8_exception_handling
-
 block8_exception_handling:             ; preds = %block8
-       br bool false, label %block8_exception_found_branchto_block12, label %block8_not_exception_structinstance.10
-
+       br i1 false, label %block8_exception_found_branchto_block12, label %block8_not_exception_structinstance.10
 block8_not_exception_structinstance.10:                ; preds = %block8_exception_handling
        unwind
-
 block8_exception_found_branchto_block12:               ; preds = %block8_exception_handling
        br label %block12
-
 block9:                ; preds = %block8
-       br bool false, label %block11, label %block10
-
+       br i1 false, label %block11, label %block10
 block10:               ; preds = %block11, %block9
        br label %block8
-
 block11:               ; preds = %block9
        br label %block10
-
 block12:               ; preds = %block8_exception_found_branchto_block12
        br label %block13
-
 block13:               ; preds = %block15, %block12
        ret void
-
 block14:               ; preds = %block6
        br label %block7
-
 block15:               ; preds = %block5
        %v2586 = phi %structtype.DeviceTask* [ null, %block5 ]          ; <%structtype.DeviceTask*> [#uses=0]
        br label %block13
index c3b4194e1e72eec4940d2c2a7823ae43766e277c..a0fe7817743ac8e8fb418c3aa50d237406d63c64 100644 (file)
@@ -1,13 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
 
-bool %foo() {
-       %X = invoke bool %foo() to label %N unwind label %F
-F:
-       ret bool false
-N:
-       br bool %X, label %A, label %B
-A:
-       ret bool true
-B:
-       ret bool true
+define i1 @foo() {
+       %X = invoke i1 @foo( )
+                       to label %N unwind label %F             ; <i1> [#uses=1]
+F:             ; preds = %0
+       ret i1 false
+N:             ; preds = %0
+       br i1 %X, label %A, label %B
+A:             ; preds = %N
+       ret i1 true
+B:             ; preds = %N
+       ret i1 true
 }
+
index ca699705c3eff4366826541492e29c9872fb8a52..27413fcf9fa16980450fc5a6af9c2b6e170d520f 100644 (file)
 ; Make sure this doesn't turn into an infinite loop
 
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -constprop -simplifycfg |\
+; RUN: llvm-as < %s | opt -simplifycfg -constprop -simplifycfg |\
 ; RUN:   llvm-dis | grep bb86
 ; END.
+       
+%struct.anon = type { i32, i32, i32, i32, [1024 x i8] }
+@_zero_ = external global %struct.anon*                ; <%struct.anon**> [#uses=2]
+@_one_ = external global %struct.anon*         ; <%struct.anon**> [#uses=4]
+@str = internal constant [4 x i8] c"%d\0A\00"          ; <[4 x i8]*> [#uses=0]
 
-       %struct.anon = type { uint, int, int, int, [1024 x sbyte] }
-%_zero_ = external global %struct.anon*                ; <%struct.anon**> [#uses=2]
-%_one_ = external global %struct.anon*         ; <%struct.anon**> [#uses=4]
-%str = internal constant [4 x sbyte] c"%d\0A\00"               ; <[4 x sbyte]*> [#uses=1]
+declare i32 @bc_compare(%struct.anon*, %struct.anon*)
 
-implementation   ; Functions:
+declare void @free_num(%struct.anon**)
 
+declare %struct.anon* @copy_num(%struct.anon*)
 
-declare int %bc_compare(%struct.anon*, %struct.anon*)
+declare void @init_num(%struct.anon**)
 
-declare void %free_num(%struct.anon**)
+declare %struct.anon* @new_num(i32, i32)
 
-declare %struct.anon* %copy_num(%struct.anon*)
+declare void @int2num(%struct.anon**, i32)
 
-declare void %init_num(%struct.anon**)
+declare void @bc_multiply(%struct.anon*, %struct.anon*, %struct.anon**, i32)
 
-declare %struct.anon* %new_num(int, int)
+declare void @bc_raise(%struct.anon*, %struct.anon*, %struct.anon**, i32)
 
-declare void %int2num(%struct.anon**, int)
+declare i32 @bc_divide(%struct.anon*, %struct.anon*, %struct.anon**, i32)
 
-declare void %bc_multiply(%struct.anon*, %struct.anon*, %struct.anon**, int)
+declare void @bc_add(%struct.anon*, %struct.anon*, %struct.anon**)
 
-declare void %bc_raise(%struct.anon*, %struct.anon*, %struct.anon**, int)
+declare i32 @_do_compare(%struct.anon*, %struct.anon*, i32, i32)
 
-declare int %bc_divide(%struct.anon*, %struct.anon*, %struct.anon**, int)
+declare i32 @printf(i8*, ...)
 
-declare void %bc_add(%struct.anon*, %struct.anon*, %struct.anon**)
-
-declare int %_do_compare(%struct.anon*, %struct.anon*, int, int)
-
-declare int %printf(sbyte*, ...)
-
-int %bc_sqrt(%struct.anon** %num, int %scale) {
+define i32 @bc_sqrt(%struct.anon** %num, i32 %scale) {
 entry:
-       %guess = alloca %struct.anon*           ; <%struct.anon**> [#uses=15]
-       %guess1 = alloca %struct.anon*          ; <%struct.anon**> [#uses=12]
-       %point5 = alloca %struct.anon*          ; <%struct.anon**> [#uses=4]
+       %guess = alloca %struct.anon*           ; <%struct.anon**> [#uses=7]
+       %guess1 = alloca %struct.anon*          ; <%struct.anon**> [#uses=7]
+       %point5 = alloca %struct.anon*          ; <%struct.anon**> [#uses=3]
        %tmp = load %struct.anon** %num         ; <%struct.anon*> [#uses=1]
-       %tmp1 = load %struct.anon** %_zero_             ; <%struct.anon*> [#uses=1]
-       %tmp = call int %bc_compare( %struct.anon* %tmp, %struct.anon* %tmp1 )          ; <int> [#uses=2]
-       %tmp = setlt int %tmp, 0                ; <bool> [#uses=1]
-       br bool %tmp, label %cond_true, label %cond_false
-
+       %tmp1 = load %struct.anon** @_zero_             ; <%struct.anon*> [#uses=1]
+       %tmp.upgrd.1 = call i32 @bc_compare( %struct.anon* %tmp, %struct.anon* %tmp1 )          ; <i32> [#uses=2]
+       %tmp.upgrd.2 = icmp slt i32 %tmp.upgrd.1, 0             ; <i1> [#uses=1]
+       br i1 %tmp.upgrd.2, label %cond_true, label %cond_false
 cond_true:             ; preds = %entry
-       ret int 0
-
+       ret i32 0
 cond_false:            ; preds = %entry
-       %tmp5 = seteq int %tmp, 0               ; <bool> [#uses=1]
-       br bool %tmp5, label %cond_true6, label %cond_next13
-
+       %tmp5 = icmp eq i32 %tmp.upgrd.1, 0             ; <i1> [#uses=1]
+       br i1 %tmp5, label %cond_true6, label %cond_next13
 cond_true6:            ; preds = %cond_false
-       call void %free_num( %struct.anon** %num )
-       %tmp8 = load %struct.anon** %_zero_             ; <%struct.anon*> [#uses=1]
-       %tmp9 = call %struct.anon* %copy_num( %struct.anon* %tmp8 )             ; <%struct.anon*> [#uses=1]
+       call void @free_num( %struct.anon** %num )
+       %tmp8 = load %struct.anon** @_zero_             ; <%struct.anon*> [#uses=1]
+       %tmp9 = call %struct.anon* @copy_num( %struct.anon* %tmp8 )             ; <%struct.anon*> [#uses=1]
        store %struct.anon* %tmp9, %struct.anon** %num
-       ret int 1
-
+       ret i32 1
 cond_next13:           ; preds = %cond_false
        %tmp15 = load %struct.anon** %num               ; <%struct.anon*> [#uses=1]
-       %tmp16 = load %struct.anon** %_one_             ; <%struct.anon*> [#uses=1]
-       %tmp17 = call int %bc_compare( %struct.anon* %tmp15, %struct.anon* %tmp16 )             ; <int> [#uses=2]
-       %tmp19 = seteq int %tmp17, 0            ; <bool> [#uses=1]
-       br bool %tmp19, label %cond_true20, label %cond_next27
-
+       %tmp16 = load %struct.anon** @_one_             ; <%struct.anon*> [#uses=1]
+       %tmp17 = call i32 @bc_compare( %struct.anon* %tmp15, %struct.anon* %tmp16 )             ; <i32> [#uses=2]
+       %tmp19 = icmp eq i32 %tmp17, 0          ; <i1> [#uses=1]
+       br i1 %tmp19, label %cond_true20, label %cond_next27
 cond_true20:           ; preds = %cond_next13
-       call void %free_num( %struct.anon** %num )
-       %tmp22 = load %struct.anon** %_one_             ; <%struct.anon*> [#uses=1]
-       %tmp23 = call %struct.anon* %copy_num( %struct.anon* %tmp22 )           ; <%struct.anon*> [#uses=1]
+       call void @free_num( %struct.anon** %num )
+       %tmp22 = load %struct.anon** @_one_             ; <%struct.anon*> [#uses=1]
+       %tmp23 = call %struct.anon* @copy_num( %struct.anon* %tmp22 )           ; <%struct.anon*> [#uses=1]
        store %struct.anon* %tmp23, %struct.anon** %num
-       ret int 1
-
+       ret i32 1
 cond_next27:           ; preds = %cond_next13
        %tmp29 = load %struct.anon** %num               ; <%struct.anon*> [#uses=1]
-       %tmp30 = getelementptr %struct.anon* %tmp29, int 0, uint 2              ; <int*> [#uses=1]
-       %tmp31 = load int* %tmp30               ; <int> [#uses=2]
-       %tmp33 = setge int %tmp31, %scale               ; <bool> [#uses=1]
-       %max = select bool %tmp33, int %tmp31, int %scale               ; <int> [#uses=4]
-       %tmp35 = add int %max, 2                ; <int> [#uses=2]
-       call void %init_num( %struct.anon** %guess )
-       call void %init_num( %struct.anon** %guess1 )
-       %tmp36 = call %struct.anon* %new_num( int 1, int 1 )            ; <%struct.anon*> [#uses=2]
+       %tmp30 = getelementptr %struct.anon* %tmp29, i32 0, i32 2               ; <i32*> [#uses=1]
+       %tmp31 = load i32* %tmp30               ; <i32> [#uses=2]
+       %tmp33 = icmp sge i32 %tmp31, %scale            ; <i1> [#uses=1]
+       %max = select i1 %tmp33, i32 %tmp31, i32 %scale         ; <i32> [#uses=4]
+       %tmp35 = add i32 %max, 2                ; <i32> [#uses=0]
+       call void @init_num( %struct.anon** %guess )
+       call void @init_num( %struct.anon** %guess1 )
+       %tmp36 = call %struct.anon* @new_num( i32 1, i32 1 )            ; <%struct.anon*> [#uses=2]
        store %struct.anon* %tmp36, %struct.anon** %point5
-       %tmp = getelementptr %struct.anon* %tmp36, int 0, uint 4, int 1         ; <sbyte*> [#uses=1]
-       store sbyte 5, sbyte* %tmp
-       %tmp39 = setlt int %tmp17, 0            ; <bool> [#uses=1]
-       br bool %tmp39, label %cond_true40, label %cond_false43
-
+       %tmp.upgrd.3 = getelementptr %struct.anon* %tmp36, i32 0, i32 4, i32 1          ; <i8*> [#uses=1]
+       store i8 5, i8* %tmp.upgrd.3
+       %tmp39 = icmp slt i32 %tmp17, 0         ; <i1> [#uses=1]
+       br i1 %tmp39, label %cond_true40, label %cond_false43
 cond_true40:           ; preds = %cond_next27
-       %tmp41 = load %struct.anon** %_one_             ; <%struct.anon*> [#uses=1]
-       %tmp42 = call %struct.anon* %copy_num( %struct.anon* %tmp41 )           ; <%struct.anon*> [#uses=1]
+       %tmp41 = load %struct.anon** @_one_             ; <%struct.anon*> [#uses=1]
+       %tmp42 = call %struct.anon* @copy_num( %struct.anon* %tmp41 )           ; <%struct.anon*> [#uses=1]
        store %struct.anon* %tmp42, %struct.anon** %guess
        br label %bb80.outer
-
 cond_false43:          ; preds = %cond_next27
-       call void %int2num( %struct.anon** %guess, int 10 )
+       call void @int2num( %struct.anon** %guess, i32 10 )
        %tmp45 = load %struct.anon** %num               ; <%struct.anon*> [#uses=1]
-       %tmp46 = getelementptr %struct.anon* %tmp45, int 0, uint 1              ; <int*> [#uses=1]
-       %tmp47 = load int* %tmp46               ; <int> [#uses=1]
-       call void %int2num( %struct.anon** %guess1, int %tmp47 )
+       %tmp46 = getelementptr %struct.anon* %tmp45, i32 0, i32 1               ; <i32*> [#uses=1]
+       %tmp47 = load i32* %tmp46               ; <i32> [#uses=1]
+       call void @int2num( %struct.anon** %guess1, i32 %tmp47 )
        %tmp48 = load %struct.anon** %guess1            ; <%struct.anon*> [#uses=1]
        %tmp49 = load %struct.anon** %point5            ; <%struct.anon*> [#uses=1]
-       call void %bc_multiply( %struct.anon* %tmp48, %struct.anon* %tmp49, %struct.anon** %guess1, int %max )
+       call void @bc_multiply( %struct.anon* %tmp48, %struct.anon* %tmp49, %struct.anon** %guess1, i32 %max )
        %tmp51 = load %struct.anon** %guess1            ; <%struct.anon*> [#uses=1]
-       %tmp52 = getelementptr %struct.anon* %tmp51, int 0, uint 2              ; <int*> [#uses=1]
-       store int 0, int* %tmp52
+       %tmp52 = getelementptr %struct.anon* %tmp51, i32 0, i32 2               ; <i32*> [#uses=1]
+       store i32 0, i32* %tmp52
        %tmp53 = load %struct.anon** %guess             ; <%struct.anon*> [#uses=1]
        %tmp54 = load %struct.anon** %guess1            ; <%struct.anon*> [#uses=1]
-       call void %bc_raise( %struct.anon* %tmp53, %struct.anon* %tmp54, %struct.anon** %guess, int %max )
+       call void @bc_raise( %struct.anon* %tmp53, %struct.anon* %tmp54, %struct.anon** %guess, i32 %max )
        br label %bb80.outer
-
-bb80.outer:            ; preds = %cond_true77, %cond_next56
-       %done.1.ph = phi int [ 1, %cond_true83 ], [0, %cond_true40], [0, %cond_false43]         ; <int> [#uses=1]
+bb80.outer:            ; preds = %cond_true83, %cond_false43, %cond_true40
+       %done.1.ph = phi i32 [ 1, %cond_true83 ], [ 0, %cond_true40 ], [ 0, %cond_false43 ]             ; <i32> [#uses=1]
        br label %bb80
-
-bb80:          ; preds = %bb80.outer, %cond_true83
-       %tmp82 = seteq int %done.1.ph, 0                ; <bool> [#uses=1]
-       br bool %tmp82, label %cond_true83, label %bb86
-
+bb80:          ; preds = %cond_true83, %bb80.outer
+       %tmp82 = icmp eq i32 %done.1.ph, 0              ; <i1> [#uses=1]
+       br i1 %tmp82, label %cond_true83, label %bb86
 cond_true83:           ; preds = %bb80
-       %tmp71 = call int %_do_compare( %struct.anon* null, %struct.anon* null, int 0, int 1 )          ; <int> [#uses=2]
-       %tmp76 = seteq int %tmp71, 0            ; <bool> [#uses=1]
-       br bool %tmp76, label %bb80.outer, label %bb80
-
+       %tmp71 = call i32 @_do_compare( %struct.anon* null, %struct.anon* null, i32 0, i32 1 )          ; <i32> [#uses=1]
+       %tmp76 = icmp eq i32 %tmp71, 0          ; <i1> [#uses=1]
+       br i1 %tmp76, label %bb80.outer, label %bb80
 bb86:          ; preds = %bb80
-       call void %free_num( %struct.anon** %num )
+       call void @free_num( %struct.anon** %num )
        %tmp88 = load %struct.anon** %guess             ; <%struct.anon*> [#uses=1]
-       %tmp89 = load %struct.anon** %_one_             ; <%struct.anon*> [#uses=1]
-       %tmp92 = call int %bc_divide( %struct.anon* %tmp88, %struct.anon* %tmp89, %struct.anon** %num, int %max )               ; <int> [#uses=0]
-       call void %free_num( %struct.anon** %guess )
-       call void %free_num( %struct.anon** %guess1 )
-       call void %free_num( %struct.anon** %point5 )
-       ret int 1
+       %tmp89 = load %struct.anon** @_one_             ; <%struct.anon*> [#uses=1]
+       %tmp92 = call i32 @bc_divide( %struct.anon* %tmp88, %struct.anon* %tmp89, %struct.anon** %num, i32 %max )               ; <i32> [#uses=0]
+       call void @free_num( %struct.anon** %guess )
+       call void @free_num( %struct.anon** %guess1 )
+       call void @free_num( %struct.anon** %point5 )
+       ret i32 1
 }
-
index 8b443da1c86e12594a06e8fb971f5de4f1f3c535..4400624d184d0a229d1d95e9a74321c81832b18c 100644 (file)
@@ -1,35 +1,27 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
 
-void %polnel_() {
+define void @polnel_() {
 entry:
-       %tmp595 = setlt int 0, 0                ; <bool> [#uses=4]
-       br bool %tmp595, label %bb148.critedge, label %cond_true40
-
+       %tmp595 = icmp slt i32 0, 0             ; <i1> [#uses=4]
+       br i1 %tmp595, label %bb148.critedge, label %cond_true40
 bb36:          ; preds = %bb43
-       br bool %tmp595, label %bb43, label %cond_true40
-
+       br i1 %tmp595, label %bb43, label %cond_true40
 cond_true40:           ; preds = %bb46, %cond_true40, %bb36, %entry
-       %tmp397 = setgt int 0, 0                ; <bool> [#uses=1]
-       br bool %tmp397, label %bb43, label %cond_true40
-
+       %tmp397 = icmp sgt i32 0, 0             ; <i1> [#uses=1]
+       br i1 %tmp397, label %bb43, label %cond_true40
 bb43:          ; preds = %cond_true40, %bb36
-       br bool false, label %bb53, label %bb36
-
+       br i1 false, label %bb53, label %bb36
 bb46:          ; preds = %bb53
-       br bool %tmp595, label %bb53, label %cond_true40
-
+       br i1 %tmp595, label %bb53, label %cond_true40
 bb53:          ; preds = %bb46, %bb43
-       br bool false, label %bb102, label %bb46
-
+       br i1 false, label %bb102, label %bb46
 bb92.preheader:                ; preds = %bb102
        ret void
-
 bb102:         ; preds = %bb53
-       br bool %tmp595, label %bb148, label %bb92.preheader
-
+       br i1 %tmp595, label %bb148, label %bb92.preheader
 bb148.critedge:                ; preds = %entry
        ret void
-
 bb148:         ; preds = %bb102
        ret void
 }
+
index c9b1858bd482d28f0792ed4640e724a8e1a64b98..4981cf3c9aa34eb55aed1f02523ede7260030853 100644 (file)
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
+; END.
 
-void %main(int %c) {
+define void @main(i32 %c) {
 entry:
-       %tmp.9 = seteq int %c, 2                ; <bool> [#uses=1]
-       br bool %tmp.9, label %endif.0, label %then.0
-
+       %tmp.9 = icmp eq i32 %c, 2              ; <i1> [#uses=1]
+       br i1 %tmp.9, label %endif.0, label %then.0
 then.0:                ; preds = %entry
        ret void
-
 endif.0:               ; preds = %entry
-       br bool false, label %then.1, label %endif.1
-
+       br i1 false, label %then.1, label %endif.1
 then.1:                ; preds = %endif.0
        ret void
-
 endif.1:               ; preds = %endif.0
-       br bool false, label %then.2, label %endif.2
-
+       br i1 false, label %then.2, label %endif.2
 then.2:                ; preds = %endif.1
        ret void
-
 endif.2:               ; preds = %endif.1
-       br bool false, label %then.3, label %loopentry.0
-
+       br i1 false, label %then.3, label %loopentry.0
 then.3:                ; preds = %endif.2
        ret void
-
 loopentry.0:           ; preds = %endif.2
-       br bool false, label %no_exit.0.preheader, label %loopexit.0
-
+       br i1 false, label %no_exit.0.preheader, label %loopexit.0
 no_exit.0.preheader:           ; preds = %loopentry.0
        br label %no_exit.0
-
 no_exit.0:             ; preds = %endif.4, %no_exit.0.preheader
-       br bool false, label %then.4, label %endif.4
-
+       br i1 false, label %then.4, label %endif.4
 then.4:                ; preds = %no_exit.0
        ret void
-
 endif.4:               ; preds = %no_exit.0
-       br bool false, label %no_exit.0, label %loopexit.0.loopexit
-
+       br i1 false, label %no_exit.0, label %loopexit.0.loopexit
 loopexit.0.loopexit:           ; preds = %endif.4
        br label %loopexit.0
-
 loopexit.0:            ; preds = %loopexit.0.loopexit, %loopentry.0
-       br bool false, label %then.5, label %loopentry.1
-
+       br i1 false, label %then.5, label %loopentry.1
 then.5:                ; preds = %loopexit.0
        ret void
-
 loopentry.1:           ; preds = %loopexit.0
-       %tmp.143 = setgt int 0, 0               ; <bool> [#uses=4]
-       br bool %tmp.143, label %no_exit.1.preheader, label %loopexit.1
-
+       %tmp.143 = icmp sgt i32 0, 0            ; <i1> [#uses=4]
+       br i1 %tmp.143, label %no_exit.1.preheader, label %loopexit.1
 no_exit.1.preheader:           ; preds = %loopentry.1
        br label %no_exit.1
-
 no_exit.1:             ; preds = %endif.6, %no_exit.1.preheader
-       br bool false, label %then.6, label %shortcirc_next.3
-
+       br i1 false, label %then.6, label %shortcirc_next.3
 shortcirc_next.3:              ; preds = %no_exit.1
-       br bool false, label %then.6, label %shortcirc_next.4
-
+       br i1 false, label %then.6, label %shortcirc_next.4
 shortcirc_next.4:              ; preds = %shortcirc_next.3
-       br bool false, label %then.6, label %endif.6
-
+       br i1 false, label %then.6, label %endif.6
 then.6:                ; preds = %shortcirc_next.4, %shortcirc_next.3, %no_exit.1
        ret void
-
 endif.6:               ; preds = %shortcirc_next.4
-       br bool false, label %no_exit.1, label %loopexit.1.loopexit
-
+       br i1 false, label %no_exit.1, label %loopexit.1.loopexit
 loopexit.1.loopexit:           ; preds = %endif.6
        br label %loopexit.1
-
 loopexit.1:            ; preds = %loopexit.1.loopexit, %loopentry.1
-       br bool false, label %then.i, label %loopentry.0.i
-
+       br i1 false, label %then.i, label %loopentry.0.i
 then.i:                ; preds = %loopexit.1
        ret void
-
 loopentry.0.i:         ; preds = %loopexit.1
-       br bool %tmp.143, label %no_exit.0.i.preheader, label %readvector.exit
-
+       br i1 %tmp.143, label %no_exit.0.i.preheader, label %readvector.exit
 no_exit.0.i.preheader:         ; preds = %loopentry.0.i
        br label %no_exit.0.i
-
 no_exit.0.i:           ; preds = %loopexit.1.i, %no_exit.0.i.preheader
-       br bool false, label %no_exit.1.i.preheader, label %loopexit.1.i
-
+       br i1 false, label %no_exit.1.i.preheader, label %loopexit.1.i
 no_exit.1.i.preheader:         ; preds = %no_exit.0.i
        br label %no_exit.1.i
-
 no_exit.1.i:           ; preds = %loopexit.2.i, %no_exit.1.i.preheader
-       br bool false, label %no_exit.2.i.preheader, label %loopexit.2.i
-
+       br i1 false, label %no_exit.2.i.preheader, label %loopexit.2.i
 no_exit.2.i.preheader:         ; preds = %no_exit.1.i
        br label %no_exit.2.i
-
 no_exit.2.i:           ; preds = %no_exit.2.i, %no_exit.2.i.preheader
-       br bool false, label %no_exit.2.i, label %loopexit.2.i.loopexit
-
+       br i1 false, label %no_exit.2.i, label %loopexit.2.i.loopexit
 loopexit.2.i.loopexit:         ; preds = %no_exit.2.i
        br label %loopexit.2.i
-
 loopexit.2.i:          ; preds = %loopexit.2.i.loopexit, %no_exit.1.i
-       br bool false, label %no_exit.1.i, label %loopexit.1.i.loopexit
-
+       br i1 false, label %no_exit.1.i, label %loopexit.1.i.loopexit
 loopexit.1.i.loopexit:         ; preds = %loopexit.2.i
        br label %loopexit.1.i
-
 loopexit.1.i:          ; preds = %loopexit.1.i.loopexit, %no_exit.0.i
-       br bool false, label %no_exit.0.i, label %readvector.exit.loopexit
-
+       br i1 false, label %no_exit.0.i, label %readvector.exit.loopexit
 readvector.exit.loopexit:              ; preds = %loopexit.1.i
        br label %readvector.exit
-
 readvector.exit:               ; preds = %readvector.exit.loopexit, %loopentry.0.i
-       br bool %tmp.143, label %loopentry.1.preheader.i, label %loopexit.0.i
-
+       br i1 %tmp.143, label %loopentry.1.preheader.i, label %loopexit.0.i
 loopentry.1.preheader.i:               ; preds = %readvector.exit
        br label %loopentry.1.outer.i
-
 loopentry.1.outer.i:           ; preds = %loopexit.1.i110, %loopentry.1.preheader.i
        br label %loopentry.1.i85
-
 loopentry.1.i85.loopexit:              ; preds = %hamming.exit16.i
        br label %loopentry.1.i85
-
 loopentry.1.i85:               ; preds = %loopentry.1.i85.loopexit, %loopentry.1.outer.i
-       br bool false, label %no_exit.1.preheader.i, label %loopexit.1.i110.loopexit1
-
+       br i1 false, label %no_exit.1.preheader.i, label %loopexit.1.i110.loopexit1
 no_exit.1.preheader.i:         ; preds = %loopentry.1.i85
        br label %no_exit.1.i87
-
 no_exit.1.i87:         ; preds = %then.1.i107, %no_exit.1.preheader.i
-       br bool false, label %no_exit.i.i101.preheader, label %hamming.exit.i104
-
+       br i1 false, label %no_exit.i.i101.preheader, label %hamming.exit.i104
 no_exit.i.i101.preheader:              ; preds = %no_exit.1.i87
        br label %no_exit.i.i101
-
 no_exit.i.i101:                ; preds = %no_exit.i.i101, %no_exit.i.i101.preheader
-       br bool false, label %no_exit.i.i101, label %hamming.exit.i104.loopexit
-
+       br i1 false, label %no_exit.i.i101, label %hamming.exit.i104.loopexit
 hamming.exit.i104.loopexit:            ; preds = %no_exit.i.i101
        br label %hamming.exit.i104
-
 hamming.exit.i104:             ; preds = %hamming.exit.i104.loopexit, %no_exit.1.i87
-       br bool false, label %no_exit.i15.i.preheader, label %hamming.exit16.i
-
+       br i1 false, label %no_exit.i15.i.preheader, label %hamming.exit16.i
 no_exit.i15.i.preheader:               ; preds = %hamming.exit.i104
        br label %no_exit.i15.i
-
 no_exit.i15.i:         ; preds = %no_exit.i15.i, %no_exit.i15.i.preheader
-       br bool false, label %no_exit.i15.i, label %hamming.exit16.i.loopexit
-
+       br i1 false, label %no_exit.i15.i, label %hamming.exit16.i.loopexit
 hamming.exit16.i.loopexit:             ; preds = %no_exit.i15.i
        br label %hamming.exit16.i
-
 hamming.exit16.i:              ; preds = %hamming.exit16.i.loopexit, %hamming.exit.i104
-       br bool false, label %loopentry.1.i85.loopexit, label %then.1.i107
-
+       br i1 false, label %loopentry.1.i85.loopexit, label %then.1.i107
 then.1.i107:           ; preds = %hamming.exit16.i
-       br bool false, label %no_exit.1.i87, label %loopexit.1.i110.loopexit
-
+       br i1 false, label %no_exit.1.i87, label %loopexit.1.i110.loopexit
 loopexit.1.i110.loopexit:              ; preds = %then.1.i107
        br label %loopexit.1.i110
-
 loopexit.1.i110.loopexit1:             ; preds = %loopentry.1.i85
        br label %loopexit.1.i110
-
 loopexit.1.i110:               ; preds = %loopexit.1.i110.loopexit1, %loopexit.1.i110.loopexit
-       br bool false, label %loopentry.1.outer.i, label %loopexit.0.i.loopexit
-
+       br i1 false, label %loopentry.1.outer.i, label %loopexit.0.i.loopexit
 loopexit.0.i.loopexit:         ; preds = %loopexit.1.i110
        br label %loopexit.0.i
-
 loopexit.0.i:          ; preds = %loopexit.0.i.loopexit, %readvector.exit
-       br bool false, label %UnifiedReturnBlock.i113, label %then.2.i112
-
+       br i1 false, label %UnifiedReturnBlock.i113, label %then.2.i112
 then.2.i112:           ; preds = %loopexit.0.i
        br label %checkham.exit
-
 UnifiedReturnBlock.i113:               ; preds = %loopexit.0.i
        br label %checkham.exit
-
 checkham.exit:         ; preds = %UnifiedReturnBlock.i113, %then.2.i112
-       br bool false, label %loopentry.1.i14.preheader, label %loopentry.3.i.preheader
-
+       br i1 false, label %loopentry.1.i14.preheader, label %loopentry.3.i.preheader
 loopentry.1.i14.preheader:             ; preds = %checkham.exit
        br label %loopentry.1.i14
-
 loopentry.1.i14:               ; preds = %loopexit.1.i18, %loopentry.1.i14.preheader
-       br bool false, label %no_exit.1.i16.preheader, label %loopexit.1.i18
-
+       br i1 false, label %no_exit.1.i16.preheader, label %loopexit.1.i18
 no_exit.1.i16.preheader:               ; preds = %loopentry.1.i14
        br label %no_exit.1.i16
-
 no_exit.1.i16:         ; preds = %no_exit.1.i16, %no_exit.1.i16.preheader
-       br bool false, label %no_exit.1.i16, label %loopexit.1.i18.loopexit
-
+       br i1 false, label %no_exit.1.i16, label %loopexit.1.i18.loopexit
 loopexit.1.i18.loopexit:               ; preds = %no_exit.1.i16
        br label %loopexit.1.i18
-
 loopexit.1.i18:                ; preds = %loopexit.1.i18.loopexit, %loopentry.1.i14
-       br bool false, label %loopentry.1.i14, label %loopentry.3.i.loopexit
-
+       br i1 false, label %loopentry.1.i14, label %loopentry.3.i.loopexit
 loopentry.3.i.loopexit:                ; preds = %loopexit.1.i18
        br label %loopentry.3.i.preheader
-
 loopentry.3.i.preheader:               ; preds = %loopentry.3.i.loopexit, %checkham.exit
        br label %loopentry.3.i
-
 loopentry.3.i:         ; preds = %endif.1.i, %loopentry.3.i.preheader
-       br bool false, label %loopentry.4.i.preheader, label %endif.1.i
-
+       br i1 false, label %loopentry.4.i.preheader, label %endif.1.i
 loopentry.4.i.preheader:               ; preds = %loopentry.3.i
        br label %loopentry.4.i
-
 loopentry.4.i:         ; preds = %loopexit.4.i, %loopentry.4.i.preheader
-       br bool false, label %no_exit.4.i.preheader, label %loopexit.4.i
-
+       br i1 false, label %no_exit.4.i.preheader, label %loopexit.4.i
 no_exit.4.i.preheader:         ; preds = %loopentry.4.i
        br label %no_exit.4.i
-
 no_exit.4.i:           ; preds = %no_exit.4.i.backedge, %no_exit.4.i.preheader
-       br bool false, label %endif.0.i, label %else.i
-
+       br i1 false, label %endif.0.i, label %else.i
 else.i:                ; preds = %no_exit.4.i
-       br bool false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit
-
+       br i1 false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit
 no_exit.4.i.backedge:          ; preds = %endif.0.i, %else.i
        br label %no_exit.4.i
-
 endif.0.i:             ; preds = %no_exit.4.i
-       br bool false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit
-
+       br i1 false, label %no_exit.4.i.backedge, label %loopexit.4.i.loopexit
 loopexit.4.i.loopexit:         ; preds = %endif.0.i, %else.i
        br label %loopexit.4.i
-
 loopexit.4.i:          ; preds = %loopexit.4.i.loopexit, %loopentry.4.i
-       br bool false, label %loopentry.4.i, label %endif.1.i.loopexit
-
+       br i1 false, label %loopentry.4.i, label %endif.1.i.loopexit
 endif.1.i.loopexit:            ; preds = %loopexit.4.i
        br label %endif.1.i
-
 endif.1.i:             ; preds = %endif.1.i.loopexit, %loopentry.3.i
-       %exitcond = seteq uint 0, 10            ; <bool> [#uses=1]
-       br bool %exitcond, label %generateT.exit, label %loopentry.3.i
-
+       %exitcond = icmp eq i32 0, 10           ; <i1> [#uses=1]
+       br i1 %exitcond, label %generateT.exit, label %loopentry.3.i
 generateT.exit:                ; preds = %endif.1.i
-       br bool false, label %then.0.i, label %loopentry.1.i30.preheader
-
+       br i1 false, label %then.0.i, label %loopentry.1.i30.preheader
 then.0.i:              ; preds = %generateT.exit
        ret void
-
 loopentry.1.i30.loopexit:              ; preds = %loopexit.3.i
        br label %loopentry.1.i30.backedge
-
 loopentry.1.i30.preheader:             ; preds = %generateT.exit
        br label %loopentry.1.i30
-
 loopentry.1.i30:               ; preds = %loopentry.1.i30.backedge, %loopentry.1.i30.preheader
-       br bool %tmp.143, label %no_exit.0.i31.preheader, label %loopentry.1.i30.backedge
-
+       br i1 %tmp.143, label %no_exit.0.i31.preheader, label %loopentry.1.i30.backedge
 loopentry.1.i30.backedge:              ; preds = %loopentry.1.i30, %loopentry.1.i30.loopexit
        br label %loopentry.1.i30
-
 no_exit.0.i31.preheader:               ; preds = %loopentry.1.i30
        br label %no_exit.0.i31
-
 no_exit.0.i31:         ; preds = %loopexit.3.i, %no_exit.0.i31.preheader
-       br bool false, label %then.1.i, label %else.0.i
-
+       br i1 false, label %then.1.i, label %else.0.i
 then.1.i:              ; preds = %no_exit.0.i31
-       br bool undef, label %then.0.i29, label %loopentry.0.i31
-
+       br i1 undef, label %then.0.i29, label %loopentry.0.i31
 then.0.i29:            ; preds = %then.1.i
        unreachable
-
 loopentry.0.i31:               ; preds = %then.1.i
-       br bool false, label %no_exit.0.i38.preheader, label %loopentry.1.i.preheader
-
+       br i1 false, label %no_exit.0.i38.preheader, label %loopentry.1.i.preheader
 no_exit.0.i38.preheader:               ; preds = %loopentry.0.i31
        br label %no_exit.0.i38
-
 no_exit.0.i38:         ; preds = %no_exit.0.i38, %no_exit.0.i38.preheader
-       br bool undef, label %no_exit.0.i38, label %loopentry.1.i.preheader.loopexit
-
+       br i1 undef, label %no_exit.0.i38, label %loopentry.1.i.preheader.loopexit
 loopentry.1.i.preheader.loopexit:              ; preds = %no_exit.0.i38
        br label %loopentry.1.i.preheader
-
 loopentry.1.i.preheader:               ; preds = %loopentry.1.i.preheader.loopexit, %loopentry.0.i31
        br label %loopentry.1.i
-
 loopentry.1.i:         ; preds = %endif.2.i, %loopentry.1.i.preheader
-       br bool undef, label %loopentry.2.i39.preheader, label %loopexit.1.i79.loopexit2
-
+       br i1 undef, label %loopentry.2.i39.preheader, label %loopexit.1.i79.loopexit2
 loopentry.2.i39.preheader:             ; preds = %loopentry.1.i
        br label %loopentry.2.i39
-
 loopentry.2.i39:               ; preds = %loopexit.5.i77, %loopentry.2.i39.preheader
-       br bool false, label %loopentry.3.i40.preheader, label %hamming.exit.i71
-
+       br i1 false, label %loopentry.3.i40.preheader, label %hamming.exit.i71
 loopentry.3.i40.preheader:             ; preds = %loopentry.2.i39
        br label %loopentry.3.i40
-
 loopentry.3.i40:               ; preds = %loopexit.3.i51, %loopentry.3.i40.preheader
-       br bool false, label %no_exit.3.preheader.i42, label %loopexit.3.i51
-
+       br i1 false, label %no_exit.3.preheader.i42, label %loopexit.3.i51
 no_exit.3.preheader.i42:               ; preds = %loopentry.3.i40
        br label %no_exit.3.i49
-
 no_exit.3.i49:         ; preds = %no_exit.3.i49, %no_exit.3.preheader.i42
-       br bool undef, label %no_exit.3.i49, label %loopexit.3.i51.loopexit
-
+       br i1 undef, label %no_exit.3.i49, label %loopexit.3.i51.loopexit
 loopexit.3.i51.loopexit:               ; preds = %no_exit.3.i49
        br label %loopexit.3.i51
-
 loopexit.3.i51:                ; preds = %loopexit.3.i51.loopexit, %loopentry.3.i40
-       br bool undef, label %loopentry.3.i40, label %loopentry.4.i52
-
+       br i1 undef, label %loopentry.3.i40, label %loopentry.4.i52
 loopentry.4.i52:               ; preds = %loopexit.3.i51
-       br bool false, label %no_exit.4.i54.preheader, label %hamming.exit.i71
-
+       br i1 false, label %no_exit.4.i54.preheader, label %hamming.exit.i71
 no_exit.4.i54.preheader:               ; preds = %loopentry.4.i52
        br label %no_exit.4.i54
-
 no_exit.4.i54:         ; preds = %no_exit.4.backedge.i, %no_exit.4.i54.preheader
-       br bool undef, label %then.1.i55, label %endif.1.i56
-
+       br i1 undef, label %then.1.i55, label %endif.1.i56
 then.1.i55:            ; preds = %no_exit.4.i54
-       br bool undef, label %no_exit.4.backedge.i, label %loopexit.4.i57
-
+       br i1 undef, label %no_exit.4.backedge.i, label %loopexit.4.i57
 no_exit.4.backedge.i:          ; preds = %endif.1.i56, %then.1.i55
        br label %no_exit.4.i54
-
 endif.1.i56:           ; preds = %no_exit.4.i54
-       br bool undef, label %no_exit.4.backedge.i, label %loopexit.4.i57
-
+       br i1 undef, label %no_exit.4.backedge.i, label %loopexit.4.i57
 loopexit.4.i57:                ; preds = %endif.1.i56, %then.1.i55
-       br bool false, label %no_exit.i.i69.preheader, label %hamming.exit.i71
-
+       br i1 false, label %no_exit.i.i69.preheader, label %hamming.exit.i71
 no_exit.i.i69.preheader:               ; preds = %loopexit.4.i57
        br label %no_exit.i.i69
-
 no_exit.i.i69:         ; preds = %no_exit.i.i69, %no_exit.i.i69.preheader
-       br bool undef, label %no_exit.i.i69, label %hamming.exit.i71.loopexit
-
+       br i1 undef, label %no_exit.i.i69, label %hamming.exit.i71.loopexit
 hamming.exit.i71.loopexit:             ; preds = %no_exit.i.i69
        br label %hamming.exit.i71
-
 hamming.exit.i71:              ; preds = %hamming.exit.i71.loopexit, %loopexit.4.i57, %loopentry.4.i52, %loopentry.2.i39
-       br bool undef, label %endif.2.i, label %loopentry.5.i72
-
+       br i1 undef, label %endif.2.i, label %loopentry.5.i72
 loopentry.5.i72:               ; preds = %hamming.exit.i71
-       br bool false, label %shortcirc_next.i74.preheader, label %loopexit.5.i77
-
+       br i1 false, label %shortcirc_next.i74.preheader, label %loopexit.5.i77
 shortcirc_next.i74.preheader:          ; preds = %loopentry.5.i72
        br label %shortcirc_next.i74
-
 shortcirc_next.i74:            ; preds = %no_exit.5.i76, %shortcirc_next.i74.preheader
-       br bool undef, label %no_exit.5.i76, label %loopexit.5.i77.loopexit
-
+       br i1 undef, label %no_exit.5.i76, label %loopexit.5.i77.loopexit
 no_exit.5.i76:         ; preds = %shortcirc_next.i74
-       br bool undef, label %shortcirc_next.i74, label %loopexit.5.i77.loopexit
-
+       br i1 undef, label %shortcirc_next.i74, label %loopexit.5.i77.loopexit
 loopexit.5.i77.loopexit:               ; preds = %no_exit.5.i76, %shortcirc_next.i74
        br label %loopexit.5.i77
-
 loopexit.5.i77:                ; preds = %loopexit.5.i77.loopexit, %loopentry.5.i72
-       br bool undef, label %loopentry.2.i39, label %loopexit.1.i79.loopexit
-
+       br i1 undef, label %loopentry.2.i39, label %loopexit.1.i79.loopexit
 endif.2.i:             ; preds = %hamming.exit.i71
        br label %loopentry.1.i
-
 loopexit.1.i79.loopexit:               ; preds = %loopexit.5.i77
        br label %loopexit.1.i79
-
 loopexit.1.i79.loopexit2:              ; preds = %loopentry.1.i
        br label %loopexit.1.i79
-
 loopexit.1.i79:                ; preds = %loopexit.1.i79.loopexit2, %loopexit.1.i79.loopexit
-       br bool undef, label %then.3.i, label %loopentry.6.i80
-
+       br i1 undef, label %then.3.i, label %loopentry.6.i80
 then.3.i:              ; preds = %loopexit.1.i79
-       br bool false, label %no_exit.6.i82.preheader, label %run.exit
-
+       br i1 false, label %no_exit.6.i82.preheader, label %run.exit
 loopentry.6.i80:               ; preds = %loopexit.1.i79
-       br bool false, label %no_exit.6.i82.preheader, label %run.exit
-
+       br i1 false, label %no_exit.6.i82.preheader, label %run.exit
 no_exit.6.i82.preheader:               ; preds = %loopentry.6.i80, %then.3.i
        br label %no_exit.6.i82
-
 no_exit.6.i82:         ; preds = %no_exit.6.i82, %no_exit.6.i82.preheader
-       br bool undef, label %no_exit.6.i82, label %run.exit.loopexit
-
+       br i1 undef, label %no_exit.6.i82, label %run.exit.loopexit
 run.exit.loopexit:             ; preds = %no_exit.6.i82
        br label %run.exit
-
 run.exit:              ; preds = %run.exit.loopexit, %loopentry.6.i80, %then.3.i
-       br bool false, label %no_exit.1.i36.preheader, label %loopentry.3.i37
-
+       br i1 false, label %no_exit.1.i36.preheader, label %loopentry.3.i37
 else.0.i:              ; preds = %no_exit.0.i31
-       br bool false, label %then.0.i4, label %loopentry.0.i6
-
+       br i1 false, label %then.0.i4, label %loopentry.0.i6
 then.0.i4:             ; preds = %else.0.i
        unreachable
-
 loopentry.0.i6:                ; preds = %else.0.i
-       br bool false, label %no_exit.0.i8.preheader, label %loopentry.2.i.preheader
-
+       br i1 false, label %no_exit.0.i8.preheader, label %loopentry.2.i.preheader
 no_exit.0.i8.preheader:                ; preds = %loopentry.0.i6
        br label %no_exit.0.i8
-
 no_exit.0.i8:          ; preds = %no_exit.0.i8, %no_exit.0.i8.preheader
-       br bool false, label %no_exit.0.i8, label %loopentry.2.i.preheader.loopexit
-
+       br i1 false, label %no_exit.0.i8, label %loopentry.2.i.preheader.loopexit
 loopentry.2.i.preheader.loopexit:              ; preds = %no_exit.0.i8
        br label %loopentry.2.i.preheader
-
 loopentry.2.i.preheader:               ; preds = %loopentry.2.i.preheader.loopexit, %loopentry.0.i6
        br label %loopentry.2.i
-
 loopentry.2.i:         ; preds = %endif.3.i19, %loopentry.2.i.preheader
-       br bool false, label %loopentry.3.i10.preheader, label %loopentry.4.i15
-
+       br i1 false, label %loopentry.3.i10.preheader, label %loopentry.4.i15
 loopentry.3.i10.preheader:             ; preds = %loopentry.2.i
        br label %loopentry.3.i10
-
 loopentry.3.i10:               ; preds = %loopexit.3.i14, %loopentry.3.i10.preheader
-       br bool false, label %no_exit.3.preheader.i, label %loopexit.3.i14
-
+       br i1 false, label %no_exit.3.preheader.i, label %loopexit.3.i14
 no_exit.3.preheader.i:         ; preds = %loopentry.3.i10
        br label %no_exit.3.i12
-
 no_exit.3.i12:         ; preds = %no_exit.3.i12, %no_exit.3.preheader.i
-       br bool false, label %no_exit.3.i12, label %loopexit.3.i14.loopexit
-
+       br i1 false, label %no_exit.3.i12, label %loopexit.3.i14.loopexit
 loopexit.3.i14.loopexit:               ; preds = %no_exit.3.i12
        br label %loopexit.3.i14
-
 loopexit.3.i14:                ; preds = %loopexit.3.i14.loopexit, %loopentry.3.i10
-       br bool false, label %loopentry.3.i10, label %loopentry.4.i15.loopexit
-
+       br i1 false, label %loopentry.3.i10, label %loopentry.4.i15.loopexit
 loopentry.4.i15.loopexit:              ; preds = %loopexit.3.i14
        br label %loopentry.4.i15
-
 loopentry.4.i15:               ; preds = %loopentry.4.i15.loopexit, %loopentry.2.i
-       br bool false, label %loopentry.5.outer.i.preheader, label %loopentry.7.i
-
+       br i1 false, label %loopentry.5.outer.i.preheader, label %loopentry.7.i
 loopentry.5.outer.i.preheader:         ; preds = %loopentry.4.i15
        br label %loopentry.5.outer.i
-
 loopentry.5.outer.i:           ; preds = %loopexit.5.i, %loopentry.5.outer.i.preheader
        br label %loopentry.5.i
-
 loopentry.5.i:         ; preds = %endif.1.i18, %loopentry.5.outer.i
-       br bool false, label %no_exit.5.i.preheader, label %loopexit.5.i.loopexit3
-
+       br i1 false, label %no_exit.5.i.preheader, label %loopexit.5.i.loopexit3
 no_exit.5.i.preheader:         ; preds = %loopentry.5.i
        br label %no_exit.5.i
-
 no_exit.5.i:           ; preds = %then.2.i, %no_exit.5.i.preheader
-       br bool false, label %loopentry.6.i, label %endif.1.i18
-
+       br i1 false, label %loopentry.6.i, label %endif.1.i18
 loopentry.6.i:         ; preds = %no_exit.5.i
-       br bool false, label %no_exit.6.preheader.i, label %loopexit.6.i
-
+       br i1 false, label %no_exit.6.preheader.i, label %loopexit.6.i
 no_exit.6.preheader.i:         ; preds = %loopentry.6.i
        br label %no_exit.6.i
-
 no_exit.6.i:           ; preds = %no_exit.6.i, %no_exit.6.preheader.i
-       br bool false, label %no_exit.6.i, label %loopexit.6.i.loopexit
-
+       br i1 false, label %no_exit.6.i, label %loopexit.6.i.loopexit
 loopexit.6.i.loopexit:         ; preds = %no_exit.6.i
        br label %loopexit.6.i
-
 loopexit.6.i:          ; preds = %loopexit.6.i.loopexit, %loopentry.6.i
-       br bool false, label %then.2.i, label %endif.1.i18
-
+       br i1 false, label %then.2.i, label %endif.1.i18
 then.2.i:              ; preds = %loopexit.6.i
-       br bool false, label %no_exit.5.i, label %loopexit.5.i.loopexit
-
+       br i1 false, label %no_exit.5.i, label %loopexit.5.i.loopexit
 endif.1.i18:           ; preds = %loopexit.6.i, %no_exit.5.i
        br label %loopentry.5.i
-
 loopexit.5.i.loopexit:         ; preds = %then.2.i
        br label %loopexit.5.i
-
 loopexit.5.i.loopexit3:                ; preds = %loopentry.5.i
        br label %loopexit.5.i
-
 loopexit.5.i:          ; preds = %loopexit.5.i.loopexit3, %loopexit.5.i.loopexit
-       br bool false, label %loopentry.5.outer.i, label %loopentry.7.i.loopexit
-
+       br i1 false, label %loopentry.5.outer.i, label %loopentry.7.i.loopexit
 loopentry.7.i.loopexit:                ; preds = %loopexit.5.i
        br label %loopentry.7.i
-
 loopentry.7.i:         ; preds = %loopentry.7.i.loopexit, %loopentry.4.i15
-       br bool false, label %no_exit.7.i.preheader, label %hamming.exit.i
-
+       br i1 false, label %no_exit.7.i.preheader, label %hamming.exit.i
 no_exit.7.i.preheader:         ; preds = %loopentry.7.i
        br label %no_exit.7.i
-
 no_exit.7.i:           ; preds = %no_exit.7.i, %no_exit.7.i.preheader
-       br bool false, label %no_exit.7.i, label %loopexit.7.i
-
+       br i1 false, label %no_exit.7.i, label %loopexit.7.i
 loopexit.7.i:          ; preds = %no_exit.7.i
-       br bool false, label %no_exit.i.i.preheader, label %hamming.exit.i
-
+       br i1 false, label %no_exit.i.i.preheader, label %hamming.exit.i
 no_exit.i.i.preheader:         ; preds = %loopexit.7.i
        br label %no_exit.i.i
-
 no_exit.i.i:           ; preds = %no_exit.i.i, %no_exit.i.i.preheader
-       br bool false, label %no_exit.i.i, label %hamming.exit.i.loopexit
-
+       br i1 false, label %no_exit.i.i, label %hamming.exit.i.loopexit
 hamming.exit.i.loopexit:               ; preds = %no_exit.i.i
        br label %hamming.exit.i
-
 hamming.exit.i:                ; preds = %hamming.exit.i.loopexit, %loopexit.7.i, %loopentry.7.i
-       br bool false, label %endif.3.i19, label %loopentry.8.i
-
+       br i1 false, label %endif.3.i19, label %loopentry.8.i
 loopentry.8.i:         ; preds = %hamming.exit.i
-       br bool false, label %shortcirc_next.i.preheader, label %loopexit.8.i
-
+       br i1 false, label %shortcirc_next.i.preheader, label %loopexit.8.i
 shortcirc_next.i.preheader:            ; preds = %loopentry.8.i
        br label %shortcirc_next.i
-
 shortcirc_next.i:              ; preds = %no_exit.8.i, %shortcirc_next.i.preheader
-       br bool false, label %no_exit.8.i, label %loopexit.8.i.loopexit
-
+       br i1 false, label %no_exit.8.i, label %loopexit.8.i.loopexit
 no_exit.8.i:           ; preds = %shortcirc_next.i
-       br bool false, label %shortcirc_next.i, label %loopexit.8.i.loopexit
-
+       br i1 false, label %shortcirc_next.i, label %loopexit.8.i.loopexit
 loopexit.8.i.loopexit:         ; preds = %no_exit.8.i, %shortcirc_next.i
        br label %loopexit.8.i
-
 loopexit.8.i:          ; preds = %loopexit.8.i.loopexit, %loopentry.8.i
-       br bool false, label %no_exit.9.i.preheader, label %endif.3.i19
-
+       br i1 false, label %no_exit.9.i.preheader, label %endif.3.i19
 no_exit.9.i.preheader:         ; preds = %loopexit.8.i
        br label %no_exit.9.i
-
 no_exit.9.i:           ; preds = %no_exit.9.i, %no_exit.9.i.preheader
-       br bool false, label %no_exit.9.i, label %endif.3.i19.loopexit
-
+       br i1 false, label %no_exit.9.i, label %endif.3.i19.loopexit
 endif.3.i19.loopexit:          ; preds = %no_exit.9.i
        br label %endif.3.i19
-
 endif.3.i19:           ; preds = %endif.3.i19.loopexit, %loopexit.8.i, %hamming.exit.i
-       br bool false, label %loopentry.2.i, label %loopexit.1.i20
-
+       br i1 false, label %loopentry.2.i, label %loopexit.1.i20
 loopexit.1.i20:                ; preds = %endif.3.i19
-       br bool false, label %then.4.i, label %UnifiedReturnBlock.i
-
+       br i1 false, label %then.4.i, label %UnifiedReturnBlock.i
 then.4.i:              ; preds = %loopexit.1.i20
        br label %runcont.exit
-
 UnifiedReturnBlock.i:          ; preds = %loopexit.1.i20
        br label %runcont.exit
-
 runcont.exit:          ; preds = %UnifiedReturnBlock.i, %then.4.i
-       br bool false, label %no_exit.1.i36.preheader, label %loopentry.3.i37
-
+       br i1 false, label %no_exit.1.i36.preheader, label %loopentry.3.i37
 no_exit.1.i36.preheader:               ; preds = %runcont.exit, %run.exit
        br label %no_exit.1.i36
-
 no_exit.1.i36:         ; preds = %no_exit.1.i36, %no_exit.1.i36.preheader
-       br bool false, label %no_exit.1.i36, label %loopentry.3.i37.loopexit
-
+       br i1 false, label %no_exit.1.i36, label %loopentry.3.i37.loopexit
 loopentry.3.i37.loopexit:              ; preds = %no_exit.1.i36
        br label %loopentry.3.i37
-
 loopentry.3.i37:               ; preds = %loopentry.3.i37.loopexit, %runcont.exit, %run.exit
-       br bool false, label %loopentry.4.i38.preheader, label %loopexit.3.i
-
+       br i1 false, label %loopentry.4.i38.preheader, label %loopexit.3.i
 loopentry.4.i38.preheader:             ; preds = %loopentry.3.i37
        br label %loopentry.4.i38
-
 loopentry.4.i38:               ; preds = %loopexit.4.i42, %loopentry.4.i38.preheader
-       br bool false, label %no_exit.3.i.preheader, label %loopexit.4.i42
-
+       br i1 false, label %no_exit.3.i.preheader, label %loopexit.4.i42
 no_exit.3.i.preheader:         ; preds = %loopentry.4.i38
        br label %no_exit.3.i
-
 no_exit.3.i:           ; preds = %no_exit.3.i.backedge, %no_exit.3.i.preheader
-       br bool false, label %endif.3.i, label %else.1.i
-
+       br i1 false, label %endif.3.i, label %else.1.i
 else.1.i:              ; preds = %no_exit.3.i
-       br bool false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit
-
+       br i1 false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit
 no_exit.3.i.backedge:          ; preds = %endif.3.i, %else.1.i
        br label %no_exit.3.i
-
 endif.3.i:             ; preds = %no_exit.3.i
-       br bool false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit
-
+       br i1 false, label %no_exit.3.i.backedge, label %loopexit.4.i42.loopexit
 loopexit.4.i42.loopexit:               ; preds = %endif.3.i, %else.1.i
        br label %loopexit.4.i42
-
 loopexit.4.i42:                ; preds = %loopexit.4.i42.loopexit, %loopentry.4.i38
-       br bool false, label %loopentry.4.i38, label %loopexit.3.i.loopexit
-
+       br i1 false, label %loopentry.4.i38, label %loopexit.3.i.loopexit
 loopexit.3.i.loopexit:         ; preds = %loopexit.4.i42
        br label %loopexit.3.i
-
 loopexit.3.i:          ; preds = %loopexit.3.i.loopexit, %loopentry.3.i37
-       %tmp.13.i155 = setlt int 0, 0           ; <bool> [#uses=1]
-       br bool %tmp.13.i155, label %no_exit.0.i31, label %loopentry.1.i30.loopexit
+       %tmp.13.i155 = icmp slt i32 0, 0                ; <i1> [#uses=1]
+       br i1 %tmp.13.i155, label %no_exit.0.i31, label %loopentry.1.i30.loopexit
 }
index a224a2f6ab333950762947f484c0f1584ca69a0b..110a440e664994eee4eeb616f80668639a5fda42 100644 (file)
-; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse -simplifycfg \
+; RUN: llvm-as < %s | opt -load-vn -gcse -simplifycfg \
 ; RUN:   -disable-output
 ; PR867
+; END.
 
-target endian = big
-target pointersize = 32
+target datalayout = "E-p:32:32"
 target triple = "powerpc-apple-darwin8"
-       %struct.CUMULATIVE_ARGS = type { int, int, int, int, int, int, int, int, int, int, int, int }
+       %struct.CUMULATIVE_ARGS = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
        %struct.eh_status = type opaque
-       %struct.emit_status = type { int, int, %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack*, int, %struct.location_t, int, ubyte*, %struct.rtx_def** }
-       %struct.expr_status = type { int, int, int, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def* }
-       %struct.function = type { %struct.eh_status*, %struct.expr_status*, %struct.emit_status*, %struct.varasm_status*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.function*, int, int, int, int, %struct.rtx_def*, %struct.CUMULATIVE_ARGS, %struct.rtx_def*, %struct.rtx_def*, %struct.initial_value_struct*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, ubyte, int, long, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, %struct.varray_head_tag*, %struct.temp_slot*, int, %struct.var_refs_queue*, int, int, %struct.rtvec_def*, %struct.tree_node*, int, int, int, %struct.machine_function*, uint, uint, ubyte, ubyte, %struct.language_function*, %struct.rtx_def*, uint, int, int, int, %struct.location_t, %struct.varray_head_tag*, %struct.tree_node*, ubyte, ubyte, ubyte }
+       %struct.emit_status = type { i32, i32, %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack*, i32, %struct.location_t, i32, i8*, %struct.rtx_def** }
+       %struct.expr_status = type { i32, i32, i32, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def* }
+       %struct.function = type { %struct.eh_status*, %struct.expr_status*, %struct.emit_status*, %struct.varasm_status*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.function*, i32, i32, i32, i32, %struct.rtx_def*, %struct.CUMULATIVE_ARGS, %struct.rtx_def*, %struct.rtx_def*, %struct.initial_value_struct*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, i8, i32, i64, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, %struct.varray_head_tag*, %struct.temp_slot*, i32, %struct.var_refs_queue*, i32, i32, %struct.rtvec_def*, %struct.tree_node*, i32, i32, i32, %struct.machine_function*, i32, i32, i8, i8, %struct.language_function*, %struct.rtx_def*, i32, i32, i32, i32, %struct.location_t, %struct.varray_head_tag*, %struct.tree_node*, i8, i8, i8 }
        %struct.initial_value_struct = type opaque
        %struct.lang_decl = type opaque
        %struct.lang_type = type opaque
        %struct.language_function = type opaque
-       %struct.location_t = type { sbyte*, int }
-       %struct.machine_function = type { int, uint, sbyte*, int, int }
-       %struct.rtunion = type { int }
-       %struct.rtvec_def = type { int, [1 x %struct.rtx_def*] }
-       %struct.rtx_def = type { ushort, ubyte, ubyte, %struct.u }
+       %struct.location_t = type { i8*, i32 }
+       %struct.machine_function = type { i32, i32, i8*, i32, i32 }
+       %struct.rtunion = type { i32 }
+       %struct.rtvec_def = type { i32, [1 x %struct.rtx_def*] }
+       %struct.rtx_def = type { i16, i8, i8, %struct.u }
        %struct.sequence_stack = type { %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack* }
        %struct.temp_slot = type opaque
-       %struct.tree_common = type { %struct.tree_node*, %struct.tree_node*, %union.tree_ann_d*, ubyte, ubyte, ubyte, ubyte, ubyte }
-       %struct.tree_decl = type { %struct.tree_common, %struct.location_t, uint, %struct.tree_node*, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, uint, %struct.tree_decl_u1, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, %struct.tree_decl_u2, %struct.tree_node*, %struct.tree_node*, long, %struct.lang_decl* }
-       %struct.tree_decl_u1 = type { long }
+       %struct.tree_common = type { %struct.tree_node*, %struct.tree_node*, %union.tree_ann_d*, i8, i8, i8, i8, i8 }
+       %struct.tree_decl = type { %struct.tree_common, %struct.location_t, i32, %struct.tree_node*, i8, i8, i8, i8, i8, i8, i8, i8, i32, %struct.tree_decl_u1, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, %struct.tree_decl_u2, %struct.tree_node*, %struct.tree_node*, i64, %struct.lang_decl* }
+       %struct.tree_decl_u1 = type { i64 }
        %struct.tree_decl_u2 = type { %struct.function* }
        %struct.tree_node = type { %struct.tree_decl }
-       %struct.tree_type = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, uint, ushort, ubyte, ubyte, uint, %struct.tree_node*, %struct.tree_node*, %struct.rtunion, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, long, %struct.lang_type* }
-       %struct.u = type { [1 x long] }
-       %struct.var_refs_queue = type { %struct.rtx_def*, uint, int, %struct.var_refs_queue* }
+       %struct.tree_type = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i32, i16, i8, i8, i32, %struct.tree_node*, %struct.tree_node*, %struct.rtunion, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i64, %struct.lang_type* }
+       %struct.u = type { [1 x i64] }
+       %struct.var_refs_queue = type { %struct.rtx_def*, i32, i32, %struct.var_refs_queue* }
        %struct.varasm_status = type opaque
-       %struct.varray_head_tag = type { uint, uint, uint, sbyte*, %struct.u }
+       %struct.varray_head_tag = type { i32, i32, i32, i8*, %struct.u }
        %union.tree_ann_d = type opaque
-%mode_class = external global [35 x ubyte]             ; <[35 x ubyte]*> [#uses=3]
+@mode_class = external global [35 x i8]                ; <[35 x i8]*> [#uses=3]
 
-implementation   ; Functions:
-
-void %fold_builtin_classify() {
+define void @fold_builtin_classify() {
 entry:
-       %tmp63 = load int* null         ; <int> [#uses=1]
-       switch int %tmp63, label %bb276 [
-                int 414, label %bb145
-                int 417, label %bb
+       %tmp63 = load i32* null         ; <i32> [#uses=1]
+       switch i32 %tmp63, label %bb276 [
+                i32 414, label %bb145
+                i32 417, label %bb
        ]
-
 bb:            ; preds = %entry
        ret void
-
 bb145:         ; preds = %entry
        %tmp146 = load %struct.tree_node** null         ; <%struct.tree_node*> [#uses=1]
-       %tmp148 = getelementptr %struct.tree_node* %tmp146, int 0, uint 0, uint 0, uint 1               ; <%struct.tree_node**> [#uses=1]
+       %tmp148 = getelementptr %struct.tree_node* %tmp146, i32 0, i32 0, i32 0, i32 1          ; <%struct.tree_node**> [#uses=1]
        %tmp149 = load %struct.tree_node** %tmp148              ; <%struct.tree_node*> [#uses=1]
-       %tmp150 = cast %struct.tree_node* %tmp149 to %struct.tree_type*         ; <%struct.tree_type*> [#uses=1]
-       %tmp151 = getelementptr %struct.tree_type* %tmp150, int 0, uint 6               ; <ushort*> [#uses=1]
-       %tmp151 = cast ushort* %tmp151 to uint*         ; <uint*> [#uses=1]
-       %tmp152 = load uint* %tmp151            ; <uint> [#uses=1]
-       %tmp154 = shr uint %tmp152, ubyte 16            ; <uint> [#uses=1]
-       %tmp154.mask = and uint %tmp154, 127            ; <uint> [#uses=1]
-       %tmp155 = getelementptr [35 x ubyte]* %mode_class, int 0, uint %tmp154.mask             ; <ubyte*> [#uses=1]
-       %tmp156 = load ubyte* %tmp155           ; <ubyte> [#uses=1]
-       %tmp157 = seteq ubyte %tmp156, 4                ; <bool> [#uses=1]
-       br bool %tmp157, label %cond_next241, label %cond_true158
-
+       %tmp150 = bitcast %struct.tree_node* %tmp149 to %struct.tree_type*              ; <%struct.tree_type*> [#uses=1]
+       %tmp151 = getelementptr %struct.tree_type* %tmp150, i32 0, i32 6                ; <i16*> [#uses=1]
+       %tmp151.upgrd.1 = bitcast i16* %tmp151 to i32*          ; <i32*> [#uses=1]
+       %tmp152 = load i32* %tmp151.upgrd.1             ; <i32> [#uses=1]
+       %tmp154 = lshr i32 %tmp152, 16          ; <i32> [#uses=1]
+       %tmp154.mask = and i32 %tmp154, 127             ; <i32> [#uses=1]
+       %gep.upgrd.2 = zext i32 %tmp154.mask to i64             ; <i64> [#uses=1]
+       %tmp155 = getelementptr [35 x i8]* @mode_class, i32 0, i64 %gep.upgrd.2         ; <i8*> [#uses=1]
+       %tmp156 = load i8* %tmp155              ; <i8> [#uses=1]
+       %tmp157 = icmp eq i8 %tmp156, 4         ; <i1> [#uses=1]
+       br i1 %tmp157, label %cond_next241, label %cond_true158
 cond_true158:          ; preds = %bb145
        %tmp172 = load %struct.tree_node** null         ; <%struct.tree_node*> [#uses=1]
-       %tmp174 = getelementptr %struct.tree_node* %tmp172, int 0, uint 0, uint 0, uint 1               ; <%struct.tree_node**> [#uses=1]
+       %tmp174 = getelementptr %struct.tree_node* %tmp172, i32 0, i32 0, i32 0, i32 1          ; <%struct.tree_node**> [#uses=1]
        %tmp175 = load %struct.tree_node** %tmp174              ; <%struct.tree_node*> [#uses=1]
-       %tmp176 = cast %struct.tree_node* %tmp175 to %struct.tree_type*         ; <%struct.tree_type*> [#uses=1]
-       %tmp177 = getelementptr %struct.tree_type* %tmp176, int 0, uint 6               ; <ushort*> [#uses=1]
-       %tmp177 = cast ushort* %tmp177 to uint*         ; <uint*> [#uses=1]
-       %tmp178 = load uint* %tmp177            ; <uint> [#uses=1]
-       %tmp180 = shr uint %tmp178, ubyte 16            ; <uint> [#uses=1]
-       %tmp180.mask = and uint %tmp180, 127            ; <uint> [#uses=1]
-       %tmp181 = getelementptr [35 x ubyte]* %mode_class, int 0, uint %tmp180.mask             ; <ubyte*> [#uses=1]
-       %tmp182 = load ubyte* %tmp181           ; <ubyte> [#uses=1]
-       %tmp183 = seteq ubyte %tmp182, 8                ; <bool> [#uses=1]
-       br bool %tmp183, label %cond_next241, label %cond_true184
-
+       %tmp176 = bitcast %struct.tree_node* %tmp175 to %struct.tree_type*              ; <%struct.tree_type*> [#uses=1]
+       %tmp177 = getelementptr %struct.tree_type* %tmp176, i32 0, i32 6                ; <i16*> [#uses=1]
+       %tmp177.upgrd.3 = bitcast i16* %tmp177 to i32*          ; <i32*> [#uses=1]
+       %tmp178 = load i32* %tmp177.upgrd.3             ; <i32> [#uses=1]
+       %tmp180 = lshr i32 %tmp178, 16          ; <i32> [#uses=1]
+       %tmp180.mask = and i32 %tmp180, 127             ; <i32> [#uses=1]
+       %gep.upgrd.4 = zext i32 %tmp180.mask to i64             ; <i64> [#uses=1]
+       %tmp181 = getelementptr [35 x i8]* @mode_class, i32 0, i64 %gep.upgrd.4         ; <i8*> [#uses=1]
+       %tmp182 = load i8* %tmp181              ; <i8> [#uses=1]
+       %tmp183 = icmp eq i8 %tmp182, 8         ; <i1> [#uses=1]
+       br i1 %tmp183, label %cond_next241, label %cond_true184
 cond_true184:          ; preds = %cond_true158
        %tmp185 = load %struct.tree_node** null         ; <%struct.tree_node*> [#uses=1]
-       %tmp187 = getelementptr %struct.tree_node* %tmp185, int 0, uint 0, uint 0, uint 1               ; <%struct.tree_node**> [#uses=1]
+       %tmp187 = getelementptr %struct.tree_node* %tmp185, i32 0, i32 0, i32 0, i32 1          ; <%struct.tree_node**> [#uses=1]
        %tmp188 = load %struct.tree_node** %tmp187              ; <%struct.tree_node*> [#uses=1]
-       %tmp189 = cast %struct.tree_node* %tmp188 to %struct.tree_type*         ; <%struct.tree_type*> [#uses=1]
-       %tmp190 = getelementptr %struct.tree_type* %tmp189, int 0, uint 6               ; <ushort*> [#uses=1]
-       %tmp190 = cast ushort* %tmp190 to uint*         ; <uint*> [#uses=1]
-       %tmp191 = load uint* %tmp190            ; <uint> [#uses=1]
-       %tmp193 = shr uint %tmp191, ubyte 16            ; <uint> [#uses=1]
-       %tmp193.mask = and uint %tmp193, 127            ; <uint> [#uses=1]
-       %tmp194 = getelementptr [35 x ubyte]* %mode_class, int 0, uint %tmp193.mask             ; <ubyte*> [#uses=1]
-       %tmp195 = load ubyte* %tmp194           ; <ubyte> [#uses=1]
-       %tmp196 = seteq ubyte %tmp195, 4                ; <bool> [#uses=1]
-       br bool %tmp196, label %cond_next241, label %cond_true197
-
+       %tmp189 = bitcast %struct.tree_node* %tmp188 to %struct.tree_type*              ; <%struct.tree_type*> [#uses=1]
+       %tmp190 = getelementptr %struct.tree_type* %tmp189, i32 0, i32 6                ; <i16*> [#uses=1]
+       %tmp190.upgrd.5 = bitcast i16* %tmp190 to i32*          ; <i32*> [#uses=1]
+       %tmp191 = load i32* %tmp190.upgrd.5             ; <i32> [#uses=1]
+       %tmp193 = lshr i32 %tmp191, 16          ; <i32> [#uses=1]
+       %tmp193.mask = and i32 %tmp193, 127             ; <i32> [#uses=1]
+       %gep.upgrd.6 = zext i32 %tmp193.mask to i64             ; <i64> [#uses=1]
+       %tmp194 = getelementptr [35 x i8]* @mode_class, i32 0, i64 %gep.upgrd.6         ; <i8*> [#uses=1]
+       %tmp195 = load i8* %tmp194              ; <i8> [#uses=1]
+       %tmp196 = icmp eq i8 %tmp195, 4         ; <i1> [#uses=1]
+       br i1 %tmp196, label %cond_next241, label %cond_true197
 cond_true197:          ; preds = %cond_true184
        ret void
-
 cond_next241:          ; preds = %cond_true184, %cond_true158, %bb145
-       %tmp245 = load uint* null               ; <uint> [#uses=0]
+       %tmp245 = load i32* null                ; <i32> [#uses=0]
        ret void
-
 bb276:         ; preds = %entry
        ret void
 }
index 26fce457038d73d325216208c737afb74d575767..7165c5bd29b493f231e505ebae66ec69af10d705 100644 (file)
@@ -1,34 +1,26 @@
 ; PR957
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \
 ; RUN:   not grep select
 
-uint %test(uint %tmp) {
-cond_false179:          ; preds = %cond_true
-        %tmp181 = seteq uint %tmp, 0            ; <bool> [#uses=1]
-        br bool %tmp181, label %cond_true182, label %cond_next185
-
-cond_true182:           ; preds = %cond_false179
-        br label %cond_next185
-
-cond_next185:           ; preds = %cond_true182, %cond_false179
-        %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp,
-%cond_false179 ]                ; <uint> [#uses=7]
-
-        ret uint %d0.3
+define i32 @test(i32 %tmp) {
+cond_false179:
+       %tmp181 = icmp eq i32 %tmp, 0           ; <i1> [#uses=1]
+       br i1 %tmp181, label %cond_true182, label %cond_next185
+cond_true182:          ; preds = %cond_false179
+       br label %cond_next185
+cond_next185:          ; preds = %cond_true182, %cond_false179
+       %d0.3 = phi i32 [ udiv (i32 1, i32 0), %cond_true182 ], [ %tmp, %cond_false179 ]                ; <i32> [#uses=1]
+       ret i32 %d0.3
 }
 
-uint %test2(uint %tmp) {
-cond_false179:          ; preds = %cond_true
-        %tmp181 = seteq uint %tmp, 0            ; <bool> [#uses=1]
-        br bool %tmp181, label %cond_true182, label %cond_next185
-
-cond_true182:           ; preds = %cond_false179
-        br label %cond_next185
-
-cond_next185:           ; preds = %cond_true182, %cond_false179
-        %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp,
-%cond_false179 ]                ; <uint> [#uses=7]
-       call uint %test(uint 4)
-        ret uint %d0.3
+define i32 @test2(i32 %tmp) {
+cond_false179:
+       %tmp181 = icmp eq i32 %tmp, 0           ; <i1> [#uses=1]
+       br i1 %tmp181, label %cond_true182, label %cond_next185
+cond_true182:          ; preds = %cond_false179
+       br label %cond_next185
+cond_next185:          ; preds = %cond_true182, %cond_false179
+       %d0.3 = phi i32 [ udiv (i32 1, i32 0), %cond_true182 ], [ %tmp, %cond_false179 ]                ; <i32> [#uses=1]
+       call i32 @test( i32 4 )         ; <i32>:0 [#uses=0]
+       ret i32 %d0.3
 }
-
index d067ac099444fbac5988574a1a8e3f4e785a7ce7..f22ca6ca330aee17f1fb88c5201f304988b91ee5 100644 (file)
@@ -1,60 +1,58 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg -disable-output
-
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output
+; END.
        %struct..4._102 = type { %struct.QVectorData* }
        %struct..5._125 = type { %struct.QMapData* }
        %struct.QAbstractTextDocumentLayout = type { %struct.QObject }
-       %struct.QBasicAtomic = type { int }
-       %struct.QFont = type { %struct.QFontPrivate*, uint }
+       %struct.QBasicAtomic = type { i32 }
+       %struct.QFont = type { %struct.QFontPrivate*, i32 }
        %struct.QFontMetrics = type { %struct.QFontPrivate* }
        %struct.QFontPrivate = type opaque
-       "struct.QFragmentMap<QTextBlockData>" = type { %struct.QFragmentMapData }
-       %struct.QFragmentMapData = type { "struct.QFragmentMapData::._154", int }
-       "struct.QFragmentMapData::._154" = type { "struct.QFragmentMapData::Header"* }
-       "struct.QFragmentMapData::Header" = type { uint, uint, uint, uint, uint, uint, uint, uint }
-       "struct.QHash<uint,QHashDummyValue>" = type { "struct.QHash<uint,QHashDummyValue>::._152" }
-       "struct.QHash<uint,QHashDummyValue>::._152" = type { %struct.QHashData* }
-       %struct.QHashData = type { "struct.QHashData::Node"*, "struct.QHashData::Node"**, %struct.QBasicAtomic, int, int, short, short, int, ubyte }
-       "struct.QHashData::Node" = type { "struct.QHashData::Node"*, uint }
-       "struct.QList<QObject*>::._92" = type { %struct.QListData }
-       "struct.QList<QPointer<QObject> >" = type { "struct.QList<QObject*>::._92" }
-       %struct.QListData = type { "struct.QListData::Data"* }
-       "struct.QListData::Data" = type { %struct.QBasicAtomic, int, int, int, ubyte, [1 x sbyte*] }
-       "struct.QMap<QUrl,QVariant>" = type { %struct..5._125 }
-       %struct.QMapData = type { "struct.QMapData::Node"*, [12 x "struct.QMapData::Node"*], %struct.QBasicAtomic, int, int, uint, ubyte }
-       "struct.QMapData::Node" = type { "struct.QMapData::Node"*, [1 x "struct.QMapData::Node"*] }
-       %struct.QObject = type { int (...)**, %struct.QObjectData* }
-       %struct.QObjectData = type { int (...)**, %struct.QObject*, %struct.QObject*, "struct.QList<QPointer<QObject> >", ubyte, [3 x ubyte], int, int }
-       %struct.QObjectPrivate = type { %struct.QObjectData, int, %struct.QObject*, "struct.QList<QPointer<QObject> >", "struct.QVector<QAbstractTextDocumentLayout::Selection>", %struct.QString }
-       %struct.QPaintDevice = type { int (...)**, ushort }
+       %"struct.QFragmentMap<QTextBlockData>" = type { %struct.QFragmentMapData }
+       %struct.QFragmentMapData = type { %"struct.QFragmentMapData::._154", i32 }
+       %"struct.QFragmentMapData::._154" = type { %"struct.QFragmentMapData::Header"* }
+       %"struct.QFragmentMapData::Header" = type { i32, i32, i32, i32, i32, i32, i32, i32 }
+       %"struct.QHash<uint,QHashDummyValue>" = type { %"struct.QHash<uint,QHashDummyValue>::._152" }
+       %"struct.QHash<uint,QHashDummyValue>::._152" = type { %struct.QHashData* }
+       %struct.QHashData = type { %"struct.QHashData::Node"*, %"struct.QHashData::Node"**, %struct.QBasicAtomic, i32, i32, i16, i16, i32, i8 }
+       %"struct.QHashData::Node" = type { %"struct.QHashData::Node"*, i32 }
+       %"struct.QList<QObject*>::._92" = type { %struct.QListData }
+       %"struct.QList<QPointer<QObject> >" = type { %"struct.QList<QObject*>::._92" }
+       %struct.QListData = type { %"struct.QListData::Data"* }
+       %"struct.QListData::Data" = type { %struct.QBasicAtomic, i32, i32, i32, i8, [1 x i8*] }
+       %"struct.QMap<QUrl,QVariant>" = type { %struct..5._125 }
+       %struct.QMapData = type { %"struct.QMapData::Node"*, [12 x %"struct.QMapData::Node"*], %struct.QBasicAtomic, i32, i32, i32, i8 }
+       %"struct.QMapData::Node" = type { %"struct.QMapData::Node"*, [1 x %"struct.QMapData::Node"*] }
+       %struct.QObject = type { i32 (...)**, %struct.QObjectData* }
+       %struct.QObjectData = type { i32 (...)**, %struct.QObject*, %struct.QObject*, %"struct.QList<QPointer<QObject> >", i8, [3 x i8], i32, i32 }
+       %struct.QObjectPrivate = type { %struct.QObjectData, i32, %struct.QObject*, %"struct.QList<QPointer<QObject> >", %"struct.QVector<QAbstractTextDocumentLayout::Selection>", %struct.QString }
+       %struct.QPaintDevice = type { i32 (...)**, i16 }
        %struct.QPainter = type { %struct.QPainterPrivate* }
        %struct.QPainterPrivate = type opaque
        %struct.QPointF = type { double, double }
        %struct.QPrinter = type { %struct.QPaintDevice, %struct.QPrinterPrivate* }
        %struct.QPrinterPrivate = type opaque
        %struct.QRectF = type { double, double, double, double }
-       "struct.QSet<uint>" = type { "struct.QHash<uint,QHashDummyValue>" }
-       "struct.QSharedDataPointer<QTextFormatPrivate>" = type { %struct.QTextFormatPrivate* }
-       %struct.QString = type { "struct.QString::Data"* }
-       "struct.QString::Data" = type { %struct.QBasicAtomic, int, int, ushort*, ubyte, ubyte, [1 x ushort] }
+       %"struct.QSet<uint>" = type { %"struct.QHash<uint,QHashDummyValue>" }
+       %"struct.QSharedDataPointer<QTextFormatPrivate>" = type { %struct.QTextFormatPrivate* }
+       %struct.QString = type { %"struct.QString::Data"* }
+       %"struct.QString::Data" = type { %struct.QBasicAtomic, i32, i32, i16*, i8, i8, [1 x i16] }
        %struct.QTextBlockFormat = type { %struct.QTextFormat }
        %struct.QTextBlockGroup = type { %struct.QAbstractTextDocumentLayout }
        %struct.QTextDocumentConfig = type { %struct.QString }
-       %struct.QTextDocumentPrivate = type { %struct.QObjectPrivate, %struct.QString, "struct.QVector<QAbstractTextDocumentLayout::Selection>", bool, int, int, bool, int, int, int, int, bool, %struct.QTextFormatCollection, %struct.QTextBlockGroup*, %struct.QAbstractTextDocumentLayout*, "struct.QFragmentMap<QTextBlockData>", "struct.QFragmentMap<QTextBlockData>", int, "struct.QList<QPointer<QObject> >", "struct.QList<QPointer<QObject> >", "struct.QMap<QUrl,QVariant>", "struct.QMap<QUrl,QVariant>", "struct.QMap<QUrl,QVariant>", %struct.QTextDocumentConfig, bool, bool, %struct.QPointF }
-       %struct.QTextFormat = type { "struct.QSharedDataPointer<QTextFormatPrivate>", int }
-       %struct.QTextFormatCollection = type { "struct.QVector<QAbstractTextDocumentLayout::Selection>", "struct.QVector<QAbstractTextDocumentLayout::Selection>", "struct.QSet<uint>", %struct.QFont }
+       %struct.QTextDocumentPrivate = type { %struct.QObjectPrivate, %struct.QString, %"struct.QVector<QAbstractTextDocumentLayout::Selection>", i1, i32, i32, i1, i32, i32, i32, i32, i1, %struct.QTextFormatCollection, %struct.QTextBlockGroup*, %struct.QAbstractTextDocumentLayout*, %"struct.QFragmentMap<QTextBlockData>", %"struct.QFragmentMap<QTextBlockData>", i32, %"struct.QList<QPointer<QObject> >", %"struct.QList<QPointer<QObject> >", %"struct.QMap<QUrl,QVariant>", %"struct.QMap<QUrl,QVariant>", %"struct.QMap<QUrl,QVariant>", %struct.QTextDocumentConfig, i1, i1, %struct.QPointF }
+       %struct.QTextFormat = type { %"struct.QSharedDataPointer<QTextFormatPrivate>", i32 }
+       %struct.QTextFormatCollection = type { %"struct.QVector<QAbstractTextDocumentLayout::Selection>", %"struct.QVector<QAbstractTextDocumentLayout::Selection>", %"struct.QSet<uint>", %struct.QFont }
        %struct.QTextFormatPrivate = type opaque
-       "struct.QVector<QAbstractTextDocumentLayout::Selection>" = type { %struct..4._102 }
-       %struct.QVectorData = type { %struct.QBasicAtomic, int, int, ubyte }
-
-implementation   ; Functions:
+       %"struct.QVector<QAbstractTextDocumentLayout::Selection>" = type { %struct..4._102 }
+       %struct.QVectorData = type { %struct.QBasicAtomic, i32, i32, i8 }
 
-void %_ZNK13QTextDocument5printEP8QPrinter(%struct.QAbstractTextDocumentLayout* %this, %struct.QPrinter* %printer) {
+define void @_ZNK13QTextDocument5printEP8QPrinter(%struct.QAbstractTextDocumentLayout* %this, %struct.QPrinter* %printer) {
 entry:
        %tmp = alloca %struct.QPointF, align 16         ; <%struct.QPointF*> [#uses=2]
-       %tmp = alloca %struct.QRectF, align 16          ; <%struct.QRectF*> [#uses=5]
+       %tmp.upgrd.1 = alloca %struct.QRectF, align 16          ; <%struct.QRectF*> [#uses=5]
        %tmp2 = alloca %struct.QPointF, align 16                ; <%struct.QPointF*> [#uses=3]
-       %tmp = alloca %struct.QFontMetrics, align 16            ; <%struct.QFontMetrics*> [#uses=4]
-       %tmp = alloca %struct.QFont, align 16           ; <%struct.QFont*> [#uses=4]
+       %tmp.upgrd.2 = alloca %struct.QFontMetrics, align 16            ; <%struct.QFontMetrics*> [#uses=4]
+       %tmp.upgrd.3 = alloca %struct.QFont, align 16           ; <%struct.QFont*> [#uses=4]
        %tmp3 = alloca %struct.QPointF, align 16                ; <%struct.QPointF*> [#uses=2]
        %p = alloca %struct.QPainter, align 16          ; <%struct.QPainter*> [#uses=14]
        %body = alloca %struct.QRectF, align 16         ; <%struct.QRectF*> [#uses=9]
@@ -63,590 +61,495 @@ entry:
        %printerPageSize = alloca %struct.QPointF, align 16             ; <%struct.QPointF*> [#uses=3]
        %fmt = alloca %struct.QTextBlockFormat, align 16                ; <%struct.QTextBlockFormat*> [#uses=5]
        %font = alloca %struct.QFont, align 16          ; <%struct.QFont*> [#uses=5]
-       %tmp = call %struct.QTextDocumentPrivate* %_ZNK13QTextDocument6d_funcEv( %struct.QAbstractTextDocumentLayout* %this )           ; <%struct.QTextDocumentPrivate*> [#uses=5]
-       %tmp = getelementptr %struct.QPrinter* %printer, int 0, uint 0          ; <%struct.QPaintDevice*> [#uses=1]
-       call void %_ZN8QPainterC1EP12QPaintDevice( %struct.QPainter* %p, %struct.QPaintDevice* %tmp )
-       %tmp = invoke bool %_ZNK8QPainter8isActiveEv( %struct.QPainter* %p )
-                       to label %invcont unwind label %cleanup329              ; <bool> [#uses=1]
-
+       %tmp.upgrd.4 = call %struct.QTextDocumentPrivate* @_ZNK13QTextDocument6d_funcEv( %struct.QAbstractTextDocumentLayout* %this )           ; <%struct.QTextDocumentPrivate*> [#uses=5]
+       %tmp.upgrd.5 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0           ; <%struct.QPaintDevice*> [#uses=1]
+       call void @_ZN8QPainterC1EP12QPaintDevice( %struct.QPainter* %p, %struct.QPaintDevice* %tmp.upgrd.5 )
+       %tmp.upgrd.6 = invoke i1 @_ZNK8QPainter8isActiveEv( %struct.QPainter* %p )
+                       to label %invcont unwind label %cleanup329              ; <i1> [#uses=1]
 invcont:               ; preds = %entry
-       br bool %tmp, label %cond_next, label %cleanup328
-
+       br i1 %tmp.upgrd.6, label %cond_next, label %cleanup328
 cond_next:             ; preds = %invcont
-       %tmp8 = invoke %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %this )
+       %tmp8 = invoke %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %this )
                        to label %invcont7 unwind label %cleanup329             ; <%struct.QAbstractTextDocumentLayout*> [#uses=0]
-
 invcont7:              ; preds = %cond_next
-       %tmp10 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26               ; <%struct.QPointF*> [#uses=1]
-       call void %_ZN7QPointFC1Edd( %struct.QPointF* %tmp, double 0.000000e+00, double 0.000000e+00 )
-       call void %_ZN6QRectFC1ERK7QPointFRK6QSizeF( %struct.QRectF* %body, %struct.QPointF* %tmp, %struct.QPointF* %tmp10 )
-       call void %_ZN7QPointFC1Ev( %struct.QPointF* %pageNumberPos )
-       %tmp12 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26               ; <%struct.QPointF*> [#uses=1]
-       %tmp13 = call bool %_ZNK6QSizeF7isValidEv( %struct.QPointF* %tmp12 )            ; <bool> [#uses=1]
-       br bool %tmp13, label %cond_next15, label %bb
-
+       %tmp10 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26                ; <%struct.QPointF*> [#uses=1]
+       call void @_ZN7QPointFC1Edd( %struct.QPointF* %tmp, double 0.000000e+00, double 0.000000e+00 )
+       call void @_ZN6QRectFC1ERK7QPointFRK6QSizeF( %struct.QRectF* %body, %struct.QPointF* %tmp, %struct.QPointF* %tmp10 )
+       call void @_ZN7QPointFC1Ev( %struct.QPointF* %pageNumberPos )
+       %tmp12 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26                ; <%struct.QPointF*> [#uses=1]
+       %tmp13 = call i1 @_ZNK6QSizeF7isValidEv( %struct.QPointF* %tmp12 )              ; <i1> [#uses=1]
+       br i1 %tmp13, label %cond_next15, label %bb
 cond_next15:           ; preds = %invcont7
-       %tmp17 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26               ; <%struct.QPointF*> [#uses=1]
-       %tmp = call double %_ZNK6QSizeF6heightEv( %struct.QPointF* %tmp17 )             ; <double> [#uses=1]
-       %tmp18 = seteq double %tmp, 0x41DFFFFFFFC00000          ; <bool> [#uses=1]
-       br bool %tmp18, label %bb, label %cond_next20
-
+       %tmp17 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26                ; <%struct.QPointF*> [#uses=1]
+       %tmp.upgrd.7 = call double @_ZNK6QSizeF6heightEv( %struct.QPointF* %tmp17 )             ; <double> [#uses=1]
+       %tmp18 = fcmp oeq double %tmp.upgrd.7, 0x41DFFFFFFFC00000               ; <i1> [#uses=1]
+       br i1 %tmp18, label %bb, label %cond_next20
 cond_next20:           ; preds = %cond_next15
        br label %bb21
-
 bb:            ; preds = %cond_next15, %invcont7
        br label %bb21
-
 bb21:          ; preds = %bb, %cond_next20
-       %iftmp.406.0 = phi bool [ false, %bb ], [ true, %cond_next20 ]          ; <bool> [#uses=1]
-       br bool %iftmp.406.0, label %cond_true24, label %cond_false
-
+       %iftmp.406.0 = phi i1 [ false, %bb ], [ true, %cond_next20 ]            ; <i1> [#uses=1]
+       br i1 %iftmp.406.0, label %cond_true24, label %cond_false
 cond_true24:           ; preds = %bb21
-       %tmp = invoke int %_Z13qt_defaultDpiv( )
-                       to label %invcont25 unwind label %cleanup329            ; <int> [#uses=1]
-
+       %tmp.upgrd.8 = invoke i32 @_Z13qt_defaultDpiv( )
+                       to label %invcont25 unwind label %cleanup329            ; <i32> [#uses=1]
 invcont25:             ; preds = %cond_true24
-       %tmp26 = cast int %tmp to double                ; <double> [#uses=2]
-       %tmp30 = invoke %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %this )
+       %tmp26 = sitofp i32 %tmp.upgrd.8 to double              ; <double> [#uses=2]
+       %tmp30 = invoke %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %this )
                        to label %invcont29 unwind label %cleanup329            ; <%struct.QAbstractTextDocumentLayout*> [#uses=1]
-
 invcont29:             ; preds = %invcont25
-       %tmp32 = invoke %struct.QPaintDevice* %_ZNK27QAbstractTextDocumentLayout11paintDeviceEv( %struct.QAbstractTextDocumentLayout* %tmp30 )
+       %tmp32 = invoke %struct.QPaintDevice* @_ZNK27QAbstractTextDocumentLayout11paintDeviceEv( %struct.QAbstractTextDocumentLayout* %tmp30 )
                        to label %invcont31 unwind label %cleanup329            ; <%struct.QPaintDevice*> [#uses=3]
-
 invcont31:             ; preds = %invcont29
-       %tmp34 = seteq %struct.QPaintDevice* %tmp32, null               ; <bool> [#uses=1]
-       br bool %tmp34, label %cond_next42, label %cond_true35
-
+       %tmp34 = icmp eq %struct.QPaintDevice* %tmp32, null             ; <i1> [#uses=1]
+       br i1 %tmp34, label %cond_next42, label %cond_true35
 cond_true35:           ; preds = %invcont31
-       %tmp38 = invoke int %_ZNK12QPaintDevice11logicalDpiXEv( %struct.QPaintDevice* %tmp32 )
-                       to label %invcont37 unwind label %cleanup329            ; <int> [#uses=1]
-
+       %tmp38 = invoke i32 @_ZNK12QPaintDevice11logicalDpiXEv( %struct.QPaintDevice* %tmp32 )
+                       to label %invcont37 unwind label %cleanup329            ; <i32> [#uses=1]
 invcont37:             ; preds = %cond_true35
-       %tmp38 = cast int %tmp38 to double              ; <double> [#uses=1]
-       %tmp41 = invoke int %_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp32 )
-                       to label %invcont40 unwind label %cleanup329            ; <int> [#uses=1]
-
+       %tmp38.upgrd.9 = sitofp i32 %tmp38 to double            ; <double> [#uses=1]
+       %tmp41 = invoke i32 @_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp32 )
+                       to label %invcont40 unwind label %cleanup329            ; <i32> [#uses=1]
 invcont40:             ; preds = %invcont37
-       %tmp41 = cast int %tmp41 to double              ; <double> [#uses=1]
+       %tmp41.upgrd.10 = sitofp i32 %tmp41 to double           ; <double> [#uses=1]
        br label %cond_next42
-
 cond_next42:           ; preds = %invcont40, %invcont31
-       %sourceDpiY.2 = phi double [ %tmp41, %invcont40 ], [ %tmp26, %invcont31 ]               ; <double> [#uses=1]
-       %sourceDpiX.2 = phi double [ %tmp38, %invcont40 ], [ %tmp26, %invcont31 ]               ; <double> [#uses=1]
-       %tmp44 = getelementptr %struct.QPrinter* %printer, int 0, uint 0                ; <%struct.QPaintDevice*> [#uses=1]
-       %tmp46 = invoke int %_ZNK12QPaintDevice11logicalDpiXEv( %struct.QPaintDevice* %tmp44 )
-                       to label %invcont45 unwind label %cleanup329            ; <int> [#uses=1]
-
+       %sourceDpiY.2 = phi double [ %tmp41.upgrd.10, %invcont40 ], [ %tmp26, %invcont31 ]              ; <double> [#uses=1]
+       %sourceDpiX.2 = phi double [ %tmp38.upgrd.9, %invcont40 ], [ %tmp26, %invcont31 ]               ; <double> [#uses=1]
+       %tmp44 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
+       %tmp46 = invoke i32 @_ZNK12QPaintDevice11logicalDpiXEv( %struct.QPaintDevice* %tmp44 )
+                       to label %invcont45 unwind label %cleanup329            ; <i32> [#uses=1]
 invcont45:             ; preds = %cond_next42
-       %tmp46 = cast int %tmp46 to double              ; <double> [#uses=1]
-       %tmp48 = fdiv double %tmp46, %sourceDpiX.2              ; <double> [#uses=2]
-       %tmp50 = getelementptr %struct.QPrinter* %printer, int 0, uint 0                ; <%struct.QPaintDevice*> [#uses=1]
-       %tmp52 = invoke int %_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp50 )
-                       to label %invcont51 unwind label %cleanup329            ; <int> [#uses=1]
-
+       %tmp46.upgrd.11 = sitofp i32 %tmp46 to double           ; <double> [#uses=1]
+       %tmp48 = fdiv double %tmp46.upgrd.11, %sourceDpiX.2             ; <double> [#uses=2]
+       %tmp50 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
+       %tmp52 = invoke i32 @_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp50 )
+                       to label %invcont51 unwind label %cleanup329            ; <i32> [#uses=1]
 invcont51:             ; preds = %invcont45
-       %tmp52 = cast int %tmp52 to double              ; <double> [#uses=1]
-       %tmp54 = fdiv double %tmp52, %sourceDpiY.2              ; <double> [#uses=2]
-       invoke void %_ZN8QPainter5scaleEdd( %struct.QPainter* %p, double %tmp48, double %tmp54 )
+       %tmp52.upgrd.12 = sitofp i32 %tmp52 to double           ; <double> [#uses=1]
+       %tmp54 = fdiv double %tmp52.upgrd.12, %sourceDpiY.2             ; <double> [#uses=2]
+       invoke void @_ZN8QPainter5scaleEdd( %struct.QPainter* %p, double %tmp48, double %tmp54 )
                        to label %invcont57 unwind label %cleanup329
-
 invcont57:             ; preds = %invcont51
-       %tmp = getelementptr %struct.QPointF* %scaledPageSize, int 0, uint 0            ; <double*> [#uses=1]
-       %tmp60 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26, uint 0               ; <double*> [#uses=1]
+       %tmp.upgrd.13 = getelementptr %struct.QPointF* %scaledPageSize, i32 0, i32 0            ; <double*> [#uses=1]
+       %tmp60 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26, i32 0         ; <double*> [#uses=1]
        %tmp61 = load double* %tmp60            ; <double> [#uses=1]
-       store double %tmp61, double* %tmp
-       %tmp62 = getelementptr %struct.QPointF* %scaledPageSize, int 0, uint 1          ; <double*> [#uses=1]
-       %tmp63 = getelementptr %struct.QTextDocumentPrivate* %tmp, int 0, uint 26, uint 1               ; <double*> [#uses=1]
+       store double %tmp61, double* %tmp.upgrd.13
+       %tmp62 = getelementptr %struct.QPointF* %scaledPageSize, i32 0, i32 1           ; <double*> [#uses=1]
+       %tmp63 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26, i32 1         ; <double*> [#uses=1]
        %tmp64 = load double* %tmp63            ; <double> [#uses=1]
        store double %tmp64, double* %tmp62
-       %tmp65 = call double* %_ZN6QSizeF6rwidthEv( %struct.QPointF* %scaledPageSize )          ; <double*> [#uses=2]
+       %tmp65 = call double* @_ZN6QSizeF6rwidthEv( %struct.QPointF* %scaledPageSize )          ; <double*> [#uses=2]
        %tmp67 = load double* %tmp65            ; <double> [#uses=1]
        %tmp69 = mul double %tmp67, %tmp48              ; <double> [#uses=1]
        store double %tmp69, double* %tmp65
-       %tmp71 = call double* %_ZN6QSizeF7rheightEv( %struct.QPointF* %scaledPageSize )         ; <double*> [#uses=2]
+       %tmp71 = call double* @_ZN6QSizeF7rheightEv( %struct.QPointF* %scaledPageSize )         ; <double*> [#uses=2]
        %tmp73 = load double* %tmp71            ; <double> [#uses=1]
        %tmp75 = mul double %tmp73, %tmp54              ; <double> [#uses=1]
        store double %tmp75, double* %tmp71
-       %tmp78 = getelementptr %struct.QPrinter* %printer, int 0, uint 0                ; <%struct.QPaintDevice*> [#uses=1]
-       %tmp80 = invoke int %_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp78 )
-                       to label %invcont79 unwind label %cleanup329            ; <int> [#uses=1]
-
+       %tmp78 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
+       %tmp80 = invoke i32 @_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp78 )
+                       to label %invcont79 unwind label %cleanup329            ; <i32> [#uses=1]
 invcont79:             ; preds = %invcont57
-       %tmp82 = getelementptr %struct.QPrinter* %printer, int 0, uint 0                ; <%struct.QPaintDevice*> [#uses=1]
-       %tmp84 = invoke int %_ZNK12QPaintDevice5widthEv( %struct.QPaintDevice* %tmp82 )
-                       to label %invcont83 unwind label %cleanup329            ; <int> [#uses=1]
-
+       %tmp82 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
+       %tmp84 = invoke i32 @_ZNK12QPaintDevice5widthEv( %struct.QPaintDevice* %tmp82 )
+                       to label %invcont83 unwind label %cleanup329            ; <i32> [#uses=1]
 invcont83:             ; preds = %invcont79
-       %tmp80 = cast int %tmp80 to double              ; <double> [#uses=1]
-       %tmp84 = cast int %tmp84 to double              ; <double> [#uses=1]
-       call void %_ZN6QSizeFC1Edd( %struct.QPointF* %printerPageSize, double %tmp84, double %tmp80 )
-       %tmp85 = call double %_ZNK6QSizeF6heightEv( %struct.QPointF* %printerPageSize )         ; <double> [#uses=1]
-       %tmp86 = call double %_ZNK6QSizeF6heightEv( %struct.QPointF* %scaledPageSize )          ; <double> [#uses=1]
+       %tmp80.upgrd.14 = sitofp i32 %tmp80 to double           ; <double> [#uses=1]
+       %tmp84.upgrd.15 = sitofp i32 %tmp84 to double           ; <double> [#uses=1]
+       call void @_ZN6QSizeFC1Edd( %struct.QPointF* %printerPageSize, double %tmp84.upgrd.15, double %tmp80.upgrd.14 )
+       %tmp85 = call double @_ZNK6QSizeF6heightEv( %struct.QPointF* %printerPageSize )         ; <double> [#uses=1]
+       %tmp86 = call double @_ZNK6QSizeF6heightEv( %struct.QPointF* %scaledPageSize )          ; <double> [#uses=1]
        %tmp87 = fdiv double %tmp85, %tmp86             ; <double> [#uses=1]
-       %tmp88 = call double %_ZNK6QSizeF5widthEv( %struct.QPointF* %printerPageSize )          ; <double> [#uses=1]
-       %tmp89 = call double %_ZNK6QSizeF5widthEv( %struct.QPointF* %scaledPageSize )           ; <double> [#uses=1]
+       %tmp88 = call double @_ZNK6QSizeF5widthEv( %struct.QPointF* %printerPageSize )          ; <double> [#uses=1]
+       %tmp89 = call double @_ZNK6QSizeF5widthEv( %struct.QPointF* %scaledPageSize )           ; <double> [#uses=1]
        %tmp90 = fdiv double %tmp88, %tmp89             ; <double> [#uses=1]
-       invoke void %_ZN8QPainter5scaleEdd( %struct.QPainter* %p, double %tmp90, double %tmp87 )
+       invoke void @_ZN8QPainter5scaleEdd( %struct.QPainter* %p, double %tmp90, double %tmp87 )
                        to label %cond_next194 unwind label %cleanup329
-
 cond_false:            ; preds = %bb21
-       %tmp = getelementptr %struct.QAbstractTextDocumentLayout* %this, int 0, uint 0          ; <%struct.QObject*> [#uses=1]
-       %tmp95 = invoke %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument5cloneEP7QObject( %struct.QAbstractTextDocumentLayout* %this, %struct.QObject* %tmp )
+       %tmp.upgrd.16 = getelementptr %struct.QAbstractTextDocumentLayout* %this, i32 0, i32 0          ; <%struct.QObject*> [#uses=1]
+       %tmp95 = invoke %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument5cloneEP7QObject( %struct.QAbstractTextDocumentLayout* %this, %struct.QObject* %tmp.upgrd.16 )
                        to label %invcont94 unwind label %cleanup329            ; <%struct.QAbstractTextDocumentLayout*> [#uses=9]
-
 invcont94:             ; preds = %cond_false
-       %tmp99 = invoke %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %tmp95 )
+       %tmp99 = invoke %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %tmp95 )
                        to label %invcont98 unwind label %cleanup329            ; <%struct.QAbstractTextDocumentLayout*> [#uses=1]
-
 invcont98:             ; preds = %invcont94
-       %tmp101 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
+       %tmp101 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
                        to label %invcont100 unwind label %cleanup329           ; <%struct.QPaintDevice*> [#uses=1]
-
 invcont100:            ; preds = %invcont98
-       invoke void %_ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice( %struct.QAbstractTextDocumentLayout* %tmp99, %struct.QPaintDevice* %tmp101 )
+       invoke void @_ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice( %struct.QAbstractTextDocumentLayout* %tmp99, %struct.QPaintDevice* %tmp101 )
                        to label %invcont103 unwind label %cleanup329
-
 invcont103:            ; preds = %invcont100
-       %tmp105 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
+       %tmp105 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
                        to label %invcont104 unwind label %cleanup329           ; <%struct.QPaintDevice*> [#uses=1]
-
 invcont104:            ; preds = %invcont103
-       %tmp107 = invoke int %_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp105 )
-                       to label %invcont106 unwind label %cleanup329           ; <int> [#uses=1]
-
+       %tmp107 = invoke i32 @_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp105 )
+                       to label %invcont106 unwind label %cleanup329           ; <i32> [#uses=1]
 invcont106:            ; preds = %invcont104
-       %tmp108 = cast int %tmp107 to double            ; <double> [#uses=1]
+       %tmp108 = sitofp i32 %tmp107 to double          ; <double> [#uses=1]
        %tmp109 = mul double %tmp108, 0x3FE93264C993264C                ; <double> [#uses=1]
-       %tmp109 = cast double %tmp109 to int            ; <int> [#uses=3]
-       %tmp = call %struct.QTextBlockGroup* %_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 )            ; <%struct.QTextBlockGroup*> [#uses=1]
-       invoke csretcc void %_ZNK10QTextFrame11frameFormatEv( %struct.QTextBlockFormat* %fmt, %struct.QTextBlockGroup* %tmp )
+       %tmp109.upgrd.17 = fptosi double %tmp109 to i32         ; <i32> [#uses=3]
+       %tmp.upgrd.18 = call %struct.QTextBlockGroup* @_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 )           ; <%struct.QTextBlockGroup*> [#uses=1]
+       invoke void @_ZNK10QTextFrame11frameFormatEv( %struct.QTextBlockFormat* sret  %fmt, %struct.QTextBlockGroup* %tmp.upgrd.18 )
                        to label %invcont111 unwind label %cleanup329
-
 invcont111:            ; preds = %invcont106
-       %tmp112 = cast int %tmp109 to double            ; <double> [#uses=1]
-       invoke void %_ZN16QTextFrameFormat9setMarginEd( %struct.QTextBlockFormat* %fmt, double %tmp112 )
+       %tmp112 = sitofp i32 %tmp109.upgrd.17 to double         ; <double> [#uses=1]
+       invoke void @_ZN16QTextFrameFormat9setMarginEd( %struct.QTextBlockFormat* %fmt, double %tmp112 )
                        to label %invcont114 unwind label %cleanup192
-
 invcont114:            ; preds = %invcont111
-       %tmp116 = call %struct.QTextBlockGroup* %_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 )         ; <%struct.QTextBlockGroup*> [#uses=1]
-       invoke void %_ZN10QTextFrame14setFrameFormatERK16QTextFrameFormat( %struct.QTextBlockGroup* %tmp116, %struct.QTextBlockFormat* %fmt )
+       %tmp116 = call %struct.QTextBlockGroup* @_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 )         ; <%struct.QTextBlockGroup*> [#uses=1]
+       invoke void @_ZN10QTextFrame14setFrameFormatERK16QTextFrameFormat( %struct.QTextBlockGroup* %tmp116, %struct.QTextBlockFormat* %fmt )
                        to label %invcont117 unwind label %cleanup192
-
 invcont117:            ; preds = %invcont114
-       %tmp119 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
+       %tmp119 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
                        to label %invcont118 unwind label %cleanup192           ; <%struct.QPaintDevice*> [#uses=1]
-
 invcont118:            ; preds = %invcont117
-       %tmp121 = invoke int %_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp119 )
-                       to label %invcont120 unwind label %cleanup192           ; <int> [#uses=1]
-
+       %tmp121 = invoke i32 @_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp119 )
+                       to label %invcont120 unwind label %cleanup192           ; <i32> [#uses=1]
 invcont120:            ; preds = %invcont118
-       %tmp121 = cast int %tmp121 to double            ; <double> [#uses=1]
-       %tmp123 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
+       %tmp121.upgrd.19 = sitofp i32 %tmp121 to double         ; <double> [#uses=1]
+       %tmp123 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
                        to label %invcont122 unwind label %cleanup192           ; <%struct.QPaintDevice*> [#uses=1]
-
 invcont122:            ; preds = %invcont120
-       %tmp125 = invoke int %_ZNK12QPaintDevice5widthEv( %struct.QPaintDevice* %tmp123 )
-                       to label %invcont124 unwind label %cleanup192           ; <int> [#uses=1]
-
+       %tmp125 = invoke i32 @_ZNK12QPaintDevice5widthEv( %struct.QPaintDevice* %tmp123 )
+                       to label %invcont124 unwind label %cleanup192           ; <i32> [#uses=1]
 invcont124:            ; preds = %invcont122
-       %tmp125 = cast int %tmp125 to double            ; <double> [#uses=1]
-       call void %_ZN6QRectFC1Edddd( %struct.QRectF* %tmp, double 0.000000e+00, double 0.000000e+00, double %tmp125, double %tmp121 )
-       %tmp126 = getelementptr %struct.QRectF* %body, int 0, uint 0            ; <double*> [#uses=1]
-       %tmp127 = getelementptr %struct.QRectF* %tmp, int 0, uint 0             ; <double*> [#uses=1]
+       %tmp125.upgrd.20 = sitofp i32 %tmp125 to double         ; <double> [#uses=1]
+       call void @_ZN6QRectFC1Edddd( %struct.QRectF* %tmp.upgrd.1, double 0.000000e+00, double 0.000000e+00, double %tmp125.upgrd.20, double %tmp121.upgrd.19 )
+       %tmp126 = getelementptr %struct.QRectF* %body, i32 0, i32 0             ; <double*> [#uses=1]
+       %tmp127 = getelementptr %struct.QRectF* %tmp.upgrd.1, i32 0, i32 0              ; <double*> [#uses=1]
        %tmp128 = load double* %tmp127          ; <double> [#uses=1]
        store double %tmp128, double* %tmp126
-       %tmp129 = getelementptr %struct.QRectF* %body, int 0, uint 1            ; <double*> [#uses=1]
-       %tmp130 = getelementptr %struct.QRectF* %tmp, int 0, uint 1             ; <double*> [#uses=1]
+       %tmp129 = getelementptr %struct.QRectF* %body, i32 0, i32 1             ; <double*> [#uses=1]
+       %tmp130 = getelementptr %struct.QRectF* %tmp.upgrd.1, i32 0, i32 1              ; <double*> [#uses=1]
        %tmp131 = load double* %tmp130          ; <double> [#uses=1]
        store double %tmp131, double* %tmp129
-       %tmp132 = getelementptr %struct.QRectF* %body, int 0, uint 2            ; <double*> [#uses=1]
-       %tmp133 = getelementptr %struct.QRectF* %tmp, int 0, uint 2             ; <double*> [#uses=1]
+       %tmp132 = getelementptr %struct.QRectF* %body, i32 0, i32 2             ; <double*> [#uses=1]
+       %tmp133 = getelementptr %struct.QRectF* %tmp.upgrd.1, i32 0, i32 2              ; <double*> [#uses=1]
        %tmp134 = load double* %tmp133          ; <double> [#uses=1]
        store double %tmp134, double* %tmp132
-       %tmp135 = getelementptr %struct.QRectF* %body, int 0, uint 3            ; <double*> [#uses=1]
-       %tmp136 = getelementptr %struct.QRectF* %tmp, int 0, uint 3             ; <double*> [#uses=1]
+       %tmp135 = getelementptr %struct.QRectF* %body, i32 0, i32 3             ; <double*> [#uses=1]
+       %tmp136 = getelementptr %struct.QRectF* %tmp.upgrd.1, i32 0, i32 3              ; <double*> [#uses=1]
        %tmp137 = load double* %tmp136          ; <double> [#uses=1]
        store double %tmp137, double* %tmp135
-       %tmp138 = call double %_ZNK6QRectF6heightEv( %struct.QRectF* %body )            ; <double> [#uses=1]
-       %tmp139 = cast int %tmp109 to double            ; <double> [#uses=1]
+       %tmp138 = call double @_ZNK6QRectF6heightEv( %struct.QRectF* %body )            ; <double> [#uses=1]
+       %tmp139 = sitofp i32 %tmp109.upgrd.17 to double         ; <double> [#uses=1]
        %tmp140 = sub double %tmp138, %tmp139           ; <double> [#uses=1]
-       %tmp142 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
+       %tmp142 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
                        to label %invcont141 unwind label %cleanup192           ; <%struct.QPaintDevice*> [#uses=1]
-
 invcont141:            ; preds = %invcont124
-       invoke csretcc void %_ZNK13QTextDocument11defaultFontEv( %struct.QFont* %tmp, %struct.QAbstractTextDocumentLayout* %tmp95 )
+       invoke void @_ZNK13QTextDocument11defaultFontEv( %struct.QFont* sret  %tmp.upgrd.3, %struct.QAbstractTextDocumentLayout* %tmp95 )
                        to label %invcont144 unwind label %cleanup192
-
 invcont144:            ; preds = %invcont141
-       invoke void %_ZN12QFontMetricsC1ERK5QFontP12QPaintDevice( %struct.QFontMetrics* %tmp, %struct.QFont* %tmp, %struct.QPaintDevice* %tmp142 )
+       invoke void @_ZN12QFontMetricsC1ERK5QFontP12QPaintDevice( %struct.QFontMetrics* %tmp.upgrd.2, %struct.QFont* %tmp.upgrd.3, %struct.QPaintDevice* %tmp142 )
                        to label %invcont146 unwind label %cleanup173
-
 invcont146:            ; preds = %invcont144
-       %tmp149 = invoke int %_ZNK12QFontMetrics6ascentEv( %struct.QFontMetrics* %tmp )
-                       to label %invcont148 unwind label %cleanup168           ; <int> [#uses=1]
-
+       %tmp149 = invoke i32 @_ZNK12QFontMetrics6ascentEv( %struct.QFontMetrics* %tmp.upgrd.2 )
+                       to label %invcont148 unwind label %cleanup168           ; <i32> [#uses=1]
 invcont148:            ; preds = %invcont146
-       %tmp149 = cast int %tmp149 to double            ; <double> [#uses=1]
-       %tmp150 = add double %tmp140, %tmp149           ; <double> [#uses=1]
-       %tmp152 = invoke %struct.QPaintDevice* %_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
+       %tmp149.upgrd.21 = sitofp i32 %tmp149 to double         ; <double> [#uses=1]
+       %tmp150 = add double %tmp140, %tmp149.upgrd.21          ; <double> [#uses=1]
+       %tmp152 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
                        to label %invcont151 unwind label %cleanup168           ; <%struct.QPaintDevice*> [#uses=1]
-
 invcont151:            ; preds = %invcont148
-       %tmp154 = invoke int %_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp152 )
-                       to label %invcont153 unwind label %cleanup168           ; <int> [#uses=1]
-
+       %tmp154 = invoke i32 @_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp152 )
+                       to label %invcont153 unwind label %cleanup168           ; <i32> [#uses=1]
 invcont153:            ; preds = %invcont151
-       %tmp155 = mul int %tmp154, 5            ; <int> [#uses=1]
-       %tmp156 = sdiv int %tmp155, 72          ; <int> [#uses=1]
-       %tmp156 = cast int %tmp156 to double            ; <double> [#uses=1]
-       %tmp157 = add double %tmp150, %tmp156           ; <double> [#uses=1]
-       %tmp158 = call double %_ZNK6QRectF5widthEv( %struct.QRectF* %body )             ; <double> [#uses=1]
-       %tmp159 = cast int %tmp109 to double            ; <double> [#uses=1]
+       %tmp155 = mul i32 %tmp154, 5            ; <i32> [#uses=1]
+       %tmp156 = sdiv i32 %tmp155, 72          ; <i32> [#uses=1]
+       %tmp156.upgrd.22 = sitofp i32 %tmp156 to double         ; <double> [#uses=1]
+       %tmp157 = add double %tmp150, %tmp156.upgrd.22          ; <double> [#uses=1]
+       %tmp158 = call double @_ZNK6QRectF5widthEv( %struct.QRectF* %body )             ; <double> [#uses=1]
+       %tmp159 = sitofp i32 %tmp109.upgrd.17 to double         ; <double> [#uses=1]
        %tmp160 = sub double %tmp158, %tmp159           ; <double> [#uses=1]
-       call void %_ZN7QPointFC1Edd( %struct.QPointF* %tmp2, double %tmp160, double %tmp157 )
-       %tmp161 = getelementptr %struct.QPointF* %pageNumberPos, int 0, uint 0          ; <double*> [#uses=1]
-       %tmp162 = getelementptr %struct.QPointF* %tmp2, int 0, uint 0           ; <double*> [#uses=1]
+       call void @_ZN7QPointFC1Edd( %struct.QPointF* %tmp2, double %tmp160, double %tmp157 )
+       %tmp161 = getelementptr %struct.QPointF* %pageNumberPos, i32 0, i32 0           ; <double*> [#uses=1]
+       %tmp162 = getelementptr %struct.QPointF* %tmp2, i32 0, i32 0            ; <double*> [#uses=1]
        %tmp163 = load double* %tmp162          ; <double> [#uses=1]
        store double %tmp163, double* %tmp161
-       %tmp164 = getelementptr %struct.QPointF* %pageNumberPos, int 0, uint 1          ; <double*> [#uses=1]
-       %tmp165 = getelementptr %struct.QPointF* %tmp2, int 0, uint 1           ; <double*> [#uses=1]
+       %tmp164 = getelementptr %struct.QPointF* %pageNumberPos, i32 0, i32 1           ; <double*> [#uses=1]
+       %tmp165 = getelementptr %struct.QPointF* %tmp2, i32 0, i32 1            ; <double*> [#uses=1]
        %tmp166 = load double* %tmp165          ; <double> [#uses=1]
        store double %tmp166, double* %tmp164
-       invoke void %_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp )
+       invoke void @_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp.upgrd.2 )
                        to label %cleanup171 unwind label %cleanup173
-
 cleanup168:            ; preds = %invcont151, %invcont148, %invcont146
-       invoke void %_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp )
+       invoke void @_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp.upgrd.2 )
                        to label %cleanup173 unwind label %cleanup173
-
 cleanup171:            ; preds = %invcont153
-       invoke void %_ZN5QFontD1Ev( %struct.QFont* %tmp )
+       invoke void @_ZN5QFontD1Ev( %struct.QFont* %tmp.upgrd.3 )
                        to label %finally170 unwind label %cleanup192
-
 cleanup173:            ; preds = %cleanup168, %cleanup168, %invcont153, %invcont144
-       invoke void %_ZN5QFontD1Ev( %struct.QFont* %tmp )
+       invoke void @_ZN5QFontD1Ev( %struct.QFont* %tmp.upgrd.3 )
                        to label %cleanup192 unwind label %cleanup192
-
 finally170:            ; preds = %cleanup171
-       invoke csretcc void %_ZNK13QTextDocument11defaultFontEv( %struct.QFont* %font, %struct.QAbstractTextDocumentLayout* %tmp95 )
+       invoke void @_ZNK13QTextDocument11defaultFontEv( %struct.QFont* sret  %font, %struct.QAbstractTextDocumentLayout* %tmp95 )
                        to label %invcont177 unwind label %cleanup192
-
 invcont177:            ; preds = %finally170
-       invoke void %_ZN5QFont12setPointSizeEi( %struct.QFont* %font, int 10 )
+       invoke void @_ZN5QFont12setPointSizeEi( %struct.QFont* %font, i32 10 )
                        to label %invcont179 unwind label %cleanup187
-
 invcont179:            ; preds = %invcont177
-       invoke void %_ZN13QTextDocument14setDefaultFontERK5QFont( %struct.QAbstractTextDocumentLayout* %tmp95, %struct.QFont* %font )
+       invoke void @_ZN13QTextDocument14setDefaultFontERK5QFont( %struct.QAbstractTextDocumentLayout* %tmp95, %struct.QFont* %font )
                        to label %invcont181 unwind label %cleanup187
-
 invcont181:            ; preds = %invcont179
-       call csretcc void %_ZNK6QRectF4sizeEv( %struct.QPointF* %tmp3, %struct.QRectF* %body )
-       invoke void %_ZN13QTextDocument11setPageSizeERK6QSizeF( %struct.QAbstractTextDocumentLayout* %tmp95, %struct.QPointF* %tmp3 )
+       call void @_ZNK6QRectF4sizeEv( %struct.QPointF* sret  %tmp3, %struct.QRectF* %body )
+       invoke void @_ZN13QTextDocument11setPageSizeERK6QSizeF( %struct.QAbstractTextDocumentLayout* %tmp95, %struct.QPointF* %tmp3 )
                        to label %cleanup185 unwind label %cleanup187
-
 cleanup185:            ; preds = %invcont181
-       invoke void %_ZN5QFontD1Ev( %struct.QFont* %font )
+       invoke void @_ZN5QFontD1Ev( %struct.QFont* %font )
                        to label %cleanup190 unwind label %cleanup192
-
 cleanup187:            ; preds = %invcont181, %invcont179, %invcont177
-       invoke void %_ZN5QFontD1Ev( %struct.QFont* %font )
+       invoke void @_ZN5QFontD1Ev( %struct.QFont* %font )
                        to label %cleanup192 unwind label %cleanup192
-
 cleanup190:            ; preds = %cleanup185
-       invoke void %_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
+       invoke void @_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
                        to label %cond_next194 unwind label %cleanup329
-
 cleanup192:            ; preds = %cleanup187, %cleanup187, %cleanup185, %finally170, %cleanup173, %cleanup173, %cleanup171, %invcont141, %invcont124, %invcont122, %invcont120, %invcont118, %invcont117, %invcont114, %invcont111
-       invoke void %_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
+       invoke void @_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
                        to label %cleanup329 unwind label %cleanup329
-
 cond_next194:          ; preds = %cleanup190, %invcont83
        %clonedDoc.1 = phi %struct.QAbstractTextDocumentLayout* [ null, %invcont83 ], [ %tmp95, %cleanup190 ]           ; <%struct.QAbstractTextDocumentLayout*> [#uses=3]
        %doc.1 = phi %struct.QAbstractTextDocumentLayout* [ %this, %invcont83 ], [ %tmp95, %cleanup190 ]                ; <%struct.QAbstractTextDocumentLayout*> [#uses=2]
-       %tmp197 = invoke bool %_ZNK8QPrinter13collateCopiesEv( %struct.QPrinter* %printer )
-                       to label %invcont196 unwind label %cleanup329           ; <bool> [#uses=1]
-
+       %tmp197 = invoke i1 @_ZNK8QPrinter13collateCopiesEv( %struct.QPrinter* %printer )
+                       to label %invcont196 unwind label %cleanup329           ; <i1> [#uses=1]
 invcont196:            ; preds = %cond_next194
-       br bool %tmp197, label %cond_true200, label %cond_false204
-
+       br i1 %tmp197, label %cond_true200, label %cond_false204
 cond_true200:          ; preds = %invcont196
-       %tmp203 = invoke int %_ZNK8QPrinter9numCopiesEv( %struct.QPrinter* %printer )
-                       to label %invcont202 unwind label %cleanup329           ; <int> [#uses=1]
-
+       %tmp203 = invoke i32 @_ZNK8QPrinter9numCopiesEv( %struct.QPrinter* %printer )
+                       to label %invcont202 unwind label %cleanup329           ; <i32> [#uses=1]
 invcont202:            ; preds = %cond_true200
        br label %cond_next208
-
 cond_false204:         ; preds = %invcont196
-       %tmp207 = invoke int %_ZNK8QPrinter9numCopiesEv( %struct.QPrinter* %printer )
-                       to label %invcont206 unwind label %cleanup329           ; <int> [#uses=1]
-
+       %tmp207 = invoke i32 @_ZNK8QPrinter9numCopiesEv( %struct.QPrinter* %printer )
+                       to label %invcont206 unwind label %cleanup329           ; <i32> [#uses=1]
 invcont206:            ; preds = %cond_false204
        br label %cond_next208
-
 cond_next208:          ; preds = %invcont206, %invcont202
-       %pageCopies.0 = phi int [ %tmp203, %invcont202 ], [ 1, %invcont206 ]            ; <int> [#uses=2]
-       %docCopies.0 = phi int [ 1, %invcont202 ], [ %tmp207, %invcont206 ]             ; <int> [#uses=2]
-       %tmp211 = invoke int %_ZNK8QPrinter8fromPageEv( %struct.QPrinter* %printer )
-                       to label %invcont210 unwind label %cleanup329           ; <int> [#uses=3]
-
+       %pageCopies.0 = phi i32 [ %tmp203, %invcont202 ], [ 1, %invcont206 ]            ; <i32> [#uses=2]
+       %docCopies.0 = phi i32 [ 1, %invcont202 ], [ %tmp207, %invcont206 ]             ; <i32> [#uses=2]
+       %tmp211 = invoke i32 @_ZNK8QPrinter8fromPageEv( %struct.QPrinter* %printer )
+                       to label %invcont210 unwind label %cleanup329           ; <i32> [#uses=3]
 invcont210:            ; preds = %cond_next208
-       %tmp214 = invoke int %_ZNK8QPrinter6toPageEv( %struct.QPrinter* %printer )
-                       to label %invcont213 unwind label %cleanup329           ; <int> [#uses=3]
-
+       %tmp214 = invoke i32 @_ZNK8QPrinter6toPageEv( %struct.QPrinter* %printer )
+                       to label %invcont213 unwind label %cleanup329           ; <i32> [#uses=3]
 invcont213:            ; preds = %invcont210
-       %tmp216 = seteq int %tmp211, 0          ; <bool> [#uses=1]
-       br bool %tmp216, label %cond_true217, label %cond_next225
-
+       %tmp216 = icmp eq i32 %tmp211, 0                ; <i1> [#uses=1]
+       br i1 %tmp216, label %cond_true217, label %cond_next225
 cond_true217:          ; preds = %invcont213
-       %tmp219 = seteq int %tmp214, 0          ; <bool> [#uses=1]
-       br bool %tmp219, label %cond_true220, label %cond_next225
-
+       %tmp219 = icmp eq i32 %tmp214, 0                ; <i1> [#uses=1]
+       br i1 %tmp219, label %cond_true220, label %cond_next225
 cond_true220:          ; preds = %cond_true217
-       %tmp223 = invoke int %_ZNK13QTextDocument9pageCountEv( %struct.QAbstractTextDocumentLayout* %doc.1 )
-                       to label %invcont222 unwind label %cleanup329           ; <int> [#uses=1]
-
+       %tmp223 = invoke i32 @_ZNK13QTextDocument9pageCountEv( %struct.QAbstractTextDocumentLayout* %doc.1 )
+                       to label %invcont222 unwind label %cleanup329           ; <i32> [#uses=1]
 invcont222:            ; preds = %cond_true220
        br label %cond_next225
-
 cond_next225:          ; preds = %invcont222, %cond_true217, %invcont213
-       %toPage.1 = phi int [ %tmp223, %invcont222 ], [ %tmp214, %cond_true217 ], [ %tmp214, %invcont213 ]              ; <int> [#uses=2]
-       %fromPage.1 = phi int [ 1, %invcont222 ], [ %tmp211, %cond_true217 ], [ %tmp211, %invcont213 ]          ; <int> [#uses=2]
-       %tmp.page = invoke uint %_ZNK8QPrinter9pageOrderEv( %struct.QPrinter* %printer )
-                       to label %invcont227 unwind label %cleanup329           ; <uint> [#uses=1]
-
+       %toPage.1 = phi i32 [ %tmp223, %invcont222 ], [ %tmp214, %cond_true217 ], [ %tmp214, %invcont213 ]              ; <i32> [#uses=2]
+       %fromPage.1 = phi i32 [ 1, %invcont222 ], [ %tmp211, %cond_true217 ], [ %tmp211, %invcont213 ]          ; <i32> [#uses=2]
+       %tmp.page = invoke i32 @_ZNK8QPrinter9pageOrderEv( %struct.QPrinter* %printer )
+                       to label %invcont227 unwind label %cleanup329           ; <i32> [#uses=1]
 invcont227:            ; preds = %cond_next225
-       %tmp228 = seteq uint %tmp.page, 1               ; <bool> [#uses=1]
-       br bool %tmp228, label %cond_true230, label %cond_next234
-
+       %tmp228 = icmp eq i32 %tmp.page, 1              ; <i1> [#uses=1]
+       br i1 %tmp228, label %cond_true230, label %cond_next234
 cond_true230:          ; preds = %invcont227
        br label %cond_next234
-
 cond_next234:          ; preds = %cond_true230, %invcont227
-       %ascending.1 = phi bool [ false, %cond_true230 ], [ true, %invcont227 ]         ; <bool> [#uses=1]
-       %toPage.2 = phi int [ %fromPage.1, %cond_true230 ], [ %toPage.1, %invcont227 ]          ; <int> [#uses=1]
-       %fromPage.2 = phi int [ %toPage.1, %cond_true230 ], [ %fromPage.1, %invcont227 ]                ; <int> [#uses=1]
+       %ascending.1 = phi i1 [ false, %cond_true230 ], [ true, %invcont227 ]           ; <i1> [#uses=1]
+       %toPage.2 = phi i32 [ %fromPage.1, %cond_true230 ], [ %toPage.1, %invcont227 ]          ; <i32> [#uses=1]
+       %fromPage.2 = phi i32 [ %toPage.1, %cond_true230 ], [ %fromPage.1, %invcont227 ]                ; <i32> [#uses=1]
        br label %bb309
-
 bb237:         ; preds = %cond_true313, %cond_next293
-       %iftmp.410.4 = phi bool [ %iftmp.410.5, %cond_true313 ], [ %iftmp.410.1, %cond_next293 ]                ; <bool> [#uses=1]
-       %page.4 = phi int [ %fromPage.2, %cond_true313 ], [ %page.3, %cond_next293 ]            ; <int> [#uses=4]
+       %iftmp.410.4 = phi i1 [ %iftmp.410.5, %cond_true313 ], [ %iftmp.410.1, %cond_next293 ]          ; <i1> [#uses=1]
+       %page.4 = phi i32 [ %fromPage.2, %cond_true313 ], [ %page.3, %cond_next293 ]            ; <i32> [#uses=4]
        br label %bb273
-
 invcont240:            ; preds = %cond_true277
-       %tmp242 = seteq uint %tmp241, 2         ; <bool> [#uses=1]
-       br bool %tmp242, label %bb252, label %cond_next244
-
+       %tmp242 = icmp eq i32 %tmp241, 2                ; <i1> [#uses=1]
+       br i1 %tmp242, label %bb252, label %cond_next244
 cond_next244:          ; preds = %invcont240
-       %tmp247 = invoke uint %_ZNK8QPrinter12printerStateEv( %struct.QPrinter* %printer )
-                       to label %invcont246 unwind label %cleanup329           ; <uint> [#uses=1]
-
+       %tmp247 = invoke i32 @_ZNK8QPrinter12printerStateEv( %struct.QPrinter* %printer )
+                       to label %invcont246 unwind label %cleanup329           ; <i32> [#uses=1]
 invcont246:            ; preds = %cond_next244
-       %tmp248 = seteq uint %tmp247, 3         ; <bool> [#uses=1]
-       br bool %tmp248, label %bb252, label %bb253
-
+       %tmp248 = icmp eq i32 %tmp247, 3                ; <i1> [#uses=1]
+       br i1 %tmp248, label %bb252, label %bb253
 bb252:         ; preds = %invcont246, %invcont240
        br label %bb254
-
 bb253:         ; preds = %invcont246
        br label %bb254
-
 bb254:         ; preds = %bb253, %bb252
-       %iftmp.410.0 = phi bool [ true, %bb252 ], [ false, %bb253 ]             ; <bool> [#uses=2]
-       br bool %iftmp.410.0, label %UserCanceled, label %cond_next258
-
+       %iftmp.410.0 = phi i1 [ true, %bb252 ], [ false, %bb253 ]               ; <i1> [#uses=2]
+       br i1 %iftmp.410.0, label %UserCanceled, label %cond_next258
 cond_next258:          ; preds = %bb254
-       invoke fastcc void %_Z9printPageiP8QPainterPK13QTextDocumentRK6QRectFRK7QPointF( int %page.4, %struct.QPainter* %p, %struct.QAbstractTextDocumentLayout* %doc.1, %struct.QRectF* %body, %struct.QPointF* %pageNumberPos )
+       invoke fastcc void @_Z9printPageiP8QPainterPK13QTextDocumentRK6QRectFRK7QPointF( i32 %page.4, %struct.QPainter* %p, %struct.QAbstractTextDocumentLayout* %doc.1, %struct.QRectF* %body, %struct.QPointF* %pageNumberPos )
                        to label %invcont261 unwind label %cleanup329
-
 invcont261:            ; preds = %cond_next258
-       %tmp263 = add int %pageCopies.0, -1             ; <int> [#uses=1]
-       %tmp265 = setgt int %tmp263, %j.4               ; <bool> [#uses=1]
-       br bool %tmp265, label %cond_true266, label %cond_next270
-
+       %tmp263 = add i32 %pageCopies.0, -1             ; <i32> [#uses=1]
+       %tmp265 = icmp sgt i32 %tmp263, %j.4            ; <i1> [#uses=1]
+       br i1 %tmp265, label %cond_true266, label %cond_next270
 cond_true266:          ; preds = %invcont261
-       %tmp269 = invoke bool %_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
-                       to label %cond_next270 unwind label %cleanup329         ; <bool> [#uses=0]
-
+       %tmp269 = invoke i1 @_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
+                       to label %cond_next270 unwind label %cleanup329         ; <i1> [#uses=0]
 cond_next270:          ; preds = %cond_true266, %invcont261
-       %tmp272 = add int %j.4, 1               ; <int> [#uses=1]
+       %tmp272 = add i32 %j.4, 1               ; <i32> [#uses=1]
        br label %bb273
-
 bb273:         ; preds = %cond_next270, %bb237
-       %iftmp.410.1 = phi bool [ %iftmp.410.4, %bb237 ], [ %iftmp.410.0, %cond_next270 ]               ; <bool> [#uses=2]
-       %j.4 = phi int [ 0, %bb237 ], [ %tmp272, %cond_next270 ]                ; <int> [#uses=3]
-       %tmp276 = setlt int %j.4, %pageCopies.0         ; <bool> [#uses=1]
-       br bool %tmp276, label %cond_true277, label %bb280
-
+       %iftmp.410.1 = phi i1 [ %iftmp.410.4, %bb237 ], [ %iftmp.410.0, %cond_next270 ]         ; <i1> [#uses=2]
+       %j.4 = phi i32 [ 0, %bb237 ], [ %tmp272, %cond_next270 ]                ; <i32> [#uses=3]
+       %tmp276 = icmp slt i32 %j.4, %pageCopies.0              ; <i1> [#uses=1]
+       br i1 %tmp276, label %cond_true277, label %bb280
 cond_true277:          ; preds = %bb273
-       %tmp241 = invoke uint %_ZNK8QPrinter12printerStateEv( %struct.QPrinter* %printer )
-                       to label %invcont240 unwind label %cleanup329           ; <uint> [#uses=1]
-
+       %tmp241 = invoke i32 @_ZNK8QPrinter12printerStateEv( %struct.QPrinter* %printer )
+                       to label %invcont240 unwind label %cleanup329           ; <i32> [#uses=1]
 bb280:         ; preds = %bb273
-       %tmp283 = seteq int %page.4, %toPage.2          ; <bool> [#uses=1]
-       br bool %tmp283, label %bb297, label %cond_next285
-
+       %tmp283 = icmp eq i32 %page.4, %toPage.2                ; <i1> [#uses=1]
+       br i1 %tmp283, label %bb297, label %cond_next285
 cond_next285:          ; preds = %bb280
-       br bool %ascending.1, label %cond_true287, label %cond_false290
-
+       br i1 %ascending.1, label %cond_true287, label %cond_false290
 cond_true287:          ; preds = %cond_next285
-       %tmp289 = add int %page.4, 1            ; <int> [#uses=1]
+       %tmp289 = add i32 %page.4, 1            ; <i32> [#uses=1]
        br label %cond_next293
-
 cond_false290:         ; preds = %cond_next285
-       %tmp292 = add int %page.4, -1           ; <int> [#uses=1]
+       %tmp292 = add i32 %page.4, -1           ; <i32> [#uses=1]
        br label %cond_next293
-
 cond_next293:          ; preds = %cond_false290, %cond_true287
-       %page.3 = phi int [ %tmp289, %cond_true287 ], [ %tmp292, %cond_false290 ]               ; <int> [#uses=1]
-       %tmp296 = invoke bool %_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
-                       to label %bb237 unwind label %cleanup329                ; <bool> [#uses=0]
-
+       %page.3 = phi i32 [ %tmp289, %cond_true287 ], [ %tmp292, %cond_false290 ]               ; <i32> [#uses=1]
+       %tmp296 = invoke i1 @_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
+                       to label %bb237 unwind label %cleanup329                ; <i1> [#uses=0]
 bb297:         ; preds = %bb280
-       %tmp299 = add int %docCopies.0, -1              ; <int> [#uses=1]
-       %tmp301 = setgt int %tmp299, %i.1               ; <bool> [#uses=1]
-       br bool %tmp301, label %cond_true302, label %cond_next306
-
+       %tmp299 = add i32 %docCopies.0, -1              ; <i32> [#uses=1]
+       %tmp301 = icmp sgt i32 %tmp299, %i.1            ; <i1> [#uses=1]
+       br i1 %tmp301, label %cond_true302, label %cond_next306
 cond_true302:          ; preds = %bb297
-       %tmp305 = invoke bool %_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
-                       to label %cond_next306 unwind label %cleanup329         ; <bool> [#uses=0]
-
+       %tmp305 = invoke i1 @_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
+                       to label %cond_next306 unwind label %cleanup329         ; <i1> [#uses=0]
 cond_next306:          ; preds = %cond_true302, %bb297
-       %tmp308 = add int %i.1, 1               ; <int> [#uses=1]
+       %tmp308 = add i32 %i.1, 1               ; <i32> [#uses=1]
        br label %bb309
-
 bb309:         ; preds = %cond_next306, %cond_next234
-       %iftmp.410.5 = phi bool [ undef, %cond_next234 ], [ %iftmp.410.1, %cond_next306 ]               ; <bool> [#uses=1]
-       %i.1 = phi int [ 0, %cond_next234 ], [ %tmp308, %cond_next306 ]         ; <int> [#uses=3]
-       %tmp312 = setlt int %i.1, %docCopies.0          ; <bool> [#uses=1]
-       br bool %tmp312, label %cond_true313, label %UserCanceled
-
+       %iftmp.410.5 = phi i1 [ undef, %cond_next234 ], [ %iftmp.410.1, %cond_next306 ]         ; <i1> [#uses=1]
+       %i.1 = phi i32 [ 0, %cond_next234 ], [ %tmp308, %cond_next306 ]         ; <i32> [#uses=3]
+       %tmp312 = icmp slt i32 %i.1, %docCopies.0               ; <i1> [#uses=1]
+       br i1 %tmp312, label %cond_true313, label %UserCanceled
 cond_true313:          ; preds = %bb309
        br label %bb237
-
 UserCanceled:          ; preds = %bb309, %bb254
-       %tmp318 = seteq %struct.QAbstractTextDocumentLayout* %clonedDoc.1, null         ; <bool> [#uses=1]
-       br bool %tmp318, label %cleanup327, label %cond_true319
-
+       %tmp318 = icmp eq %struct.QAbstractTextDocumentLayout* %clonedDoc.1, null               ; <i1> [#uses=1]
+       br i1 %tmp318, label %cleanup327, label %cond_true319
 cond_true319:          ; preds = %UserCanceled
-       %tmp = getelementptr %struct.QAbstractTextDocumentLayout* %clonedDoc.1, int 0, uint 0, uint 0           ; <int (...)***> [#uses=1]
-       %tmp = load int (...)*** %tmp           ; <int (...)**> [#uses=1]
-       %tmp322 = getelementptr int (...)** %tmp, int 4         ; <int (...)**> [#uses=1]
-       %tmp = load int (...)** %tmp322         ; <int (...)*> [#uses=1]
-       %tmp = cast int (...)* %tmp to void (%struct.QAbstractTextDocumentLayout*)*             ; <void (%struct.QAbstractTextDocumentLayout*)*> [#uses=1]
-       invoke void %tmp( %struct.QAbstractTextDocumentLayout* %clonedDoc.1 )
+       %tmp.upgrd.23 = getelementptr %struct.QAbstractTextDocumentLayout* %clonedDoc.1, i32 0, i32 0, i32 0            ; <i32 (...)***> [#uses=1]
+       %tmp.upgrd.24 = load i32 (...)*** %tmp.upgrd.23         ; <i32 (...)**> [#uses=1]
+       %tmp322 = getelementptr i32 (...)** %tmp.upgrd.24, i32 4                ; <i32 (...)**> [#uses=1]
+       %tmp.upgrd.25 = load i32 (...)** %tmp322                ; <i32 (...)*> [#uses=1]
+       %tmp.upgrd.26 = bitcast i32 (...)* %tmp.upgrd.25 to void (%struct.QAbstractTextDocumentLayout*)*                ; <void (%struct.QAbstractTextDocumentLayout*)*> [#uses=1]
+       invoke void %tmp.upgrd.26( %struct.QAbstractTextDocumentLayout* %clonedDoc.1 )
                        to label %cleanup327 unwind label %cleanup329
-
 cleanup327:            ; preds = %cond_true319, %UserCanceled
-       call void %_ZN8QPainterD1Ev( %struct.QPainter* %p )
+       call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
        ret void
-
 cleanup328:            ; preds = %invcont
-       call void %_ZN8QPainterD1Ev( %struct.QPainter* %p )
+       call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
        ret void
-
 cleanup329:            ; preds = %cond_true319, %cond_true302, %cond_next293, %cond_true277, %cond_true266, %cond_next258, %cond_next244, %cond_next225, %cond_true220, %invcont210, %cond_next208, %cond_false204, %cond_true200, %cond_next194, %cleanup192, %cleanup192, %cleanup190, %invcont106, %invcont104, %invcont103, %invcont100, %invcont98, %invcont94, %cond_false, %invcont83, %invcont79, %invcont57, %invcont51, %invcont45, %cond_next42, %invcont37, %cond_true35, %invcont29, %invcont25, %cond_true24, %cond_next, %entry
-       call void %_ZN8QPainterD1Ev( %struct.QPainter* %p )
+       call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
        unwind
 }
 
-declare void %_ZN6QSizeFC1Edd(%struct.QPointF*, double, double)
+declare void @_ZN6QSizeFC1Edd(%struct.QPointF*, double, double)
 
-declare bool %_ZNK6QSizeF7isValidEv(%struct.QPointF*)
+declare i1 @_ZNK6QSizeF7isValidEv(%struct.QPointF*)
 
-declare double %_ZNK6QSizeF5widthEv(%struct.QPointF*)
+declare double @_ZNK6QSizeF5widthEv(%struct.QPointF*)
 
-declare double %_ZNK6QSizeF6heightEv(%struct.QPointF*)
+declare double @_ZNK6QSizeF6heightEv(%struct.QPointF*)
 
-declare double* %_ZN6QSizeF6rwidthEv(%struct.QPointF*)
+declare double* @_ZN6QSizeF6rwidthEv(%struct.QPointF*)
 
-declare double* %_ZN6QSizeF7rheightEv(%struct.QPointF*)
+declare double* @_ZN6QSizeF7rheightEv(%struct.QPointF*)
 
-declare %struct.QTextDocumentPrivate* %_ZNK13QTextDocument6d_funcEv(%struct.QAbstractTextDocumentLayout*)
+declare %struct.QTextDocumentPrivate* @_ZNK13QTextDocument6d_funcEv(%struct.QAbstractTextDocumentLayout*)
 
-declare void %_ZN7QPointFC1Ev(%struct.QPointF*)
+declare void @_ZN7QPointFC1Ev(%struct.QPointF*)
 
-declare void %_ZN7QPointFC1Edd(%struct.QPointF*, double, double)
+declare void @_ZN7QPointFC1Edd(%struct.QPointF*, double, double)
 
-declare void %_ZN16QTextFrameFormat9setMarginEd(%struct.QTextBlockFormat*, double)
+declare void @_ZN16QTextFrameFormat9setMarginEd(%struct.QTextBlockFormat*, double)
 
-declare void %_ZN6QRectFC1Edddd(%struct.QRectF*, double, double, double, double)
+declare void @_ZN6QRectFC1Edddd(%struct.QRectF*, double, double, double, double)
 
-declare void %_ZN6QRectFC1ERK7QPointFRK6QSizeF(%struct.QRectF*, %struct.QPointF*, %struct.QPointF*)
+declare void @_ZN6QRectFC1ERK7QPointFRK6QSizeF(%struct.QRectF*, %struct.QPointF*, %struct.QPointF*)
 
-declare double %_ZNK6QRectF5widthEv(%struct.QRectF*)
+declare double @_ZNK6QRectF5widthEv(%struct.QRectF*)
 
-declare double %_ZNK6QRectF6heightEv(%struct.QRectF*)
+declare double @_ZNK6QRectF6heightEv(%struct.QRectF*)
 
-declare void %_ZNK6QRectF4sizeEv(%struct.QPointF*, %struct.QRectF*)
+declare void @_ZNK6QRectF4sizeEv(%struct.QPointF*, %struct.QRectF*)
 
-declare void %_ZN16QTextFrameFormatD1Ev(%struct.QTextBlockFormat*)
+declare void @_ZN16QTextFrameFormatD1Ev(%struct.QTextBlockFormat*)
 
-declare void %_ZNK10QTextFrame11frameFormatEv(%struct.QTextBlockFormat*, %struct.QTextBlockGroup*)
+declare void @_ZNK10QTextFrame11frameFormatEv(%struct.QTextBlockFormat*, %struct.QTextBlockGroup*)
 
-declare void %_ZN10QTextFrame14setFrameFormatERK16QTextFrameFormat(%struct.QTextBlockGroup*, %struct.QTextBlockFormat*)
+declare void @_ZN10QTextFrame14setFrameFormatERK16QTextFrameFormat(%struct.QTextBlockGroup*, %struct.QTextBlockFormat*)
 
-declare int %_ZNK12QPaintDevice5widthEv(%struct.QPaintDevice*)
+declare i32 @_ZNK12QPaintDevice5widthEv(%struct.QPaintDevice*)
 
-declare int %_ZNK12QPaintDevice6heightEv(%struct.QPaintDevice*)
+declare i32 @_ZNK12QPaintDevice6heightEv(%struct.QPaintDevice*)
 
-declare int %_ZNK12QPaintDevice11logicalDpiXEv(%struct.QPaintDevice*)
+declare i32 @_ZNK12QPaintDevice11logicalDpiXEv(%struct.QPaintDevice*)
 
-declare int %_ZNK12QPaintDevice11logicalDpiYEv(%struct.QPaintDevice*)
+declare i32 @_ZNK12QPaintDevice11logicalDpiYEv(%struct.QPaintDevice*)
 
-declare %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument5cloneEP7QObject(%struct.QAbstractTextDocumentLayout*, %struct.QObject*)
+declare %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument5cloneEP7QObject(%struct.QAbstractTextDocumentLayout*, %struct.QObject*)
 
-declare void %_ZN5QFontD1Ev(%struct.QFont*)
+declare void @_ZN5QFontD1Ev(%struct.QFont*)
 
-declare %struct.QAbstractTextDocumentLayout* %_ZNK13QTextDocument14documentLayoutEv(%struct.QAbstractTextDocumentLayout*)
+declare %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument14documentLayoutEv(%struct.QAbstractTextDocumentLayout*)
 
-declare %struct.QTextBlockGroup* %_ZNK13QTextDocument9rootFrameEv(%struct.QAbstractTextDocumentLayout*)
+declare %struct.QTextBlockGroup* @_ZNK13QTextDocument9rootFrameEv(%struct.QAbstractTextDocumentLayout*)
 
-declare int %_ZNK13QTextDocument9pageCountEv(%struct.QAbstractTextDocumentLayout*)
+declare i32 @_ZNK13QTextDocument9pageCountEv(%struct.QAbstractTextDocumentLayout*)
 
-declare void %_ZNK13QTextDocument11defaultFontEv(%struct.QFont*, %struct.QAbstractTextDocumentLayout*)
+declare void @_ZNK13QTextDocument11defaultFontEv(%struct.QFont*, %struct.QAbstractTextDocumentLayout*)
 
-declare void %_ZN13QTextDocument14setDefaultFontERK5QFont(%struct.QAbstractTextDocumentLayout*, %struct.QFont*)
+declare void @_ZN13QTextDocument14setDefaultFontERK5QFont(%struct.QAbstractTextDocumentLayout*, %struct.QFont*)
 
-declare void %_ZN13QTextDocument11setPageSizeERK6QSizeF(%struct.QAbstractTextDocumentLayout*, %struct.QPointF*)
+declare void @_ZN13QTextDocument11setPageSizeERK6QSizeF(%struct.QAbstractTextDocumentLayout*, %struct.QPointF*)
 
-declare void %_Z9printPageiP8QPainterPK13QTextDocumentRK6QRectFRK7QPointF(int, %struct.QPainter*, %struct.QAbstractTextDocumentLayout*, %struct.QRectF*, %struct.QPointF*)
+declare void @_Z9printPageiP8QPainterPK13QTextDocumentRK6QRectFRK7QPointF(i32, %struct.QPainter*, %struct.QAbstractTextDocumentLayout*, %struct.QRectF*, %struct.QPointF*)
 
-declare void %_ZN12QFontMetricsD1Ev(%struct.QFontMetrics*)
+declare void @_ZN12QFontMetricsD1Ev(%struct.QFontMetrics*)
 
-declare void %_ZN8QPainterC1EP12QPaintDevice(%struct.QPainter*, %struct.QPaintDevice*)
+declare void @_ZN8QPainterC1EP12QPaintDevice(%struct.QPainter*, %struct.QPaintDevice*)
 
-declare bool %_ZNK8QPainter8isActiveEv(%struct.QPainter*)
+declare i1 @_ZNK8QPainter8isActiveEv(%struct.QPainter*)
 
-declare int %_Z13qt_defaultDpiv()
+declare i32 @_Z13qt_defaultDpiv()
 
-declare %struct.QPaintDevice* %_ZNK27QAbstractTextDocumentLayout11paintDeviceEv(%struct.QAbstractTextDocumentLayout*)
+declare %struct.QPaintDevice* @_ZNK27QAbstractTextDocumentLayout11paintDeviceEv(%struct.QAbstractTextDocumentLayout*)
 
-declare void %_ZN8QPainter5scaleEdd(%struct.QPainter*, double, double)
+declare void @_ZN8QPainter5scaleEdd(%struct.QPainter*, double, double)
 
-declare %struct.QPaintDevice* %_ZNK8QPainter6deviceEv(%struct.QPainter*)
+declare %struct.QPaintDevice* @_ZNK8QPainter6deviceEv(%struct.QPainter*)
 
-declare void %_ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice(%struct.QAbstractTextDocumentLayout*, %struct.QPaintDevice*)
+declare void @_ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice(%struct.QAbstractTextDocumentLayout*, %struct.QPaintDevice*)
 
-declare void %_ZN12QFontMetricsC1ERK5QFontP12QPaintDevice(%struct.QFontMetrics*, %struct.QFont*, %struct.QPaintDevice*)
+declare void @_ZN12QFontMetricsC1ERK5QFontP12QPaintDevice(%struct.QFontMetrics*, %struct.QFont*, %struct.QPaintDevice*)
 
-declare int %_ZNK12QFontMetrics6ascentEv(%struct.QFontMetrics*)
+declare i32 @_ZNK12QFontMetrics6ascentEv(%struct.QFontMetrics*)
 
-declare void %_ZN5QFont12setPointSizeEi(%struct.QFont*, int)
+declare void @_ZN5QFont12setPointSizeEi(%struct.QFont*, i32)
 
-declare bool %_ZNK8QPrinter13collateCopiesEv(%struct.QPrinter*)
+declare i1 @_ZNK8QPrinter13collateCopiesEv(%struct.QPrinter*)
 
-declare int %_ZNK8QPrinter9numCopiesEv(%struct.QPrinter*)
+declare i32 @_ZNK8QPrinter9numCopiesEv(%struct.QPrinter*)
 
-declare int %_ZNK8QPrinter8fromPageEv(%struct.QPrinter*)
+declare i32 @_ZNK8QPrinter8fromPageEv(%struct.QPrinter*)
 
-declare int %_ZNK8QPrinter6toPageEv(%struct.QPrinter*)
+declare i32 @_ZNK8QPrinter6toPageEv(%struct.QPrinter*)
 
-declare uint %_ZNK8QPrinter9pageOrderEv(%struct.QPrinter*)
+declare i32 @_ZNK8QPrinter9pageOrderEv(%struct.QPrinter*)
 
-declare uint %_ZNK8QPrinter12printerStateEv(%struct.QPrinter*)
+declare i32 @_ZNK8QPrinter12printerStateEv(%struct.QPrinter*)
 
-declare bool %_ZN8QPrinter7newPageEv(%struct.QPrinter*)
+declare i1 @_ZN8QPrinter7newPageEv(%struct.QPrinter*)
 
-declare void %_ZN8QPainterD1Ev(%struct.QPainter*)
+declare void @_ZN8QPainterD1Ev(%struct.QPainter*)
index 3756fcb82e42f4ef6f852191bea3dd0a53928cb5..d433f0482955c7364b12c418cff8822e48111ef8 100644 (file)
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis
 ; END.
-; ModuleID = 'bugpoint-tooptimize.bc'
+
+; ModuleID = '2006-12-08-Ptr-ICmp-Branch.ll'
 target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
 target triple = "i686-pc-linux-gnu"
-        %struct.FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct.FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, sbyte*, sbyte*, uint, int, [40 x sbyte] }
-        %struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct.FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, sbyte*, sbyte*, uint, int, [40 x sbyte] }
-        %struct._IO_marker = type { %struct._IO_marker*, %struct.FILE*, int }
-        %struct.charsequence = type { sbyte*, uint, uint }
-        %struct.trie_s = type { [26 x %struct.trie_s*], int }
-%str = external global [14 x sbyte]             ; <[14 x sbyte]*> [#uses=0]
-%str = external global [32 x sbyte]             ; <[32 x sbyte]*> [#uses=0]
-%str = external global [12 x sbyte]             ; <[12 x sbyte]*> [#uses=0]
-%C.0.2294 = external global %struct.charsequence                ; <%struct.charsequence*> [#uses=3]
-%t = external global %struct.trie_s*            ; <%struct.trie_s**> [#uses=0]
-%str = external global [3 x sbyte]              ; <[3 x sbyte]*> [#uses=0]
-%str = external global [26 x sbyte]             ; <[26 x sbyte]*> [#uses=0]
-
-implementation   ; Functions:
-
-declare void %charsequence_reset(%struct.charsequence*)
-declare void %free(sbyte*)
-declare void %charsequence_push(%struct.charsequence*, sbyte)
-declare sbyte* %charsequence_val(%struct.charsequence*)
-declare int %_IO_getc(%struct.FILE*)
-declare int %tolower(int)
-declare %struct.trie_s* %trie_insert(%struct.trie_s*, sbyte*)
-declare int %feof(%struct.FILE*)
-
-void %addfile(%struct.trie_s* %t, %struct.FILE* %f) {
-entry:
-        %t_addr = alloca %struct.trie_s*                ; <%struct.trie_s**> [#uses=2]
-        %f_addr = alloca %struct.FILE*          ; <%struct.FILE**> [#uses=3]
-        %c = alloca sbyte, align 1              ; <sbyte*> [#uses=7]
-        %wstate = alloca int, align 4           ; <int*> [#uses=4]
-        %cs = alloca %struct.charsequence, align 16             ; <%struct.charsequence*> [#uses=7]
-        %str = alloca sbyte*, align 4           ; <sbyte**> [#uses=3]
-        "alloca point" = bitcast int 0 to int           ; <int> [#uses=0]
-        store %struct.trie_s* %t, %struct.trie_s** %t_addr
-        store %struct.FILE* %f, %struct.FILE** %f_addr
-        store int 0, int* %wstate
-        %tmp = getelementptr %struct.charsequence* %cs, uint 0, uint 0          ; <sbyte**> [#uses=1]
-        %tmp1 = getelementptr %struct.charsequence* %C.0.2294, uint 0, uint 0           ; <sbyte**> [#uses=1]
-        %tmp = load sbyte** %tmp1               ; <sbyte*> [#uses=1]
-        store sbyte* %tmp, sbyte** %tmp
-        %tmp = getelementptr %struct.charsequence* %cs, uint 0, uint 1          ; <uint*> [#uses=1]
-        %tmp2 = getelementptr %struct.charsequence* %C.0.2294, uint 0, uint 1           ; <uint*> [#uses=1]
-        %tmp = load uint* %tmp2         ; <uint> [#uses=1]
-        store uint %tmp, uint* %tmp
-        %tmp3 = getelementptr %struct.charsequence* %cs, uint 0, uint 2         ; <uint*> [#uses=1]
-        %tmp4 = getelementptr %struct.charsequence* %C.0.2294, uint 0, uint 2           ; <uint*> [#uses=1]
-        %tmp5 = load uint* %tmp4                ; <uint> [#uses=1]
-        store uint %tmp5, uint* %tmp3
-        br label %bb33
-
-bb:             ; preds = %bb33
-        %tmp = load %struct.FILE** %f_addr              ; <%struct.FILE*> [#uses=1]
-        %tmp = call int %_IO_getc( %struct.FILE* %tmp )         ; <int> [#uses=1]
-        %tmp6 = call int %tolower( int %tmp )           ; <int> [#uses=1]
-        %tmp6 = trunc int %tmp6 to sbyte                ; <sbyte> [#uses=1]
-        store sbyte %tmp6, sbyte* %c
-        %tmp7 = load int* %wstate               ; <int> [#uses=1]
-        %tmp = icmp ne int %tmp7, 0             ; <bool> [#uses=1]
-        br bool %tmp, label %cond_true, label %cond_false
-
-cond_true:              ; preds = %bb
-        %tmp = load sbyte* %c           ; <sbyte> [#uses=1]
-        %tmp8 = icmp sle sbyte %tmp, 96         ; <bool> [#uses=1]
-        br bool %tmp8, label %cond_true9, label %cond_next
-
-cond_true9:             ; preds = %cond_true
-        br label %bb16
+       %struct.FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct.FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
+       %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct.FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i32, i32, [40 x i8] }
+       %struct._IO_marker = type { %struct._IO_marker*, %struct.FILE*, i32 }
+       %struct.charsequence = type { i8*, i32, i32 }
+       %struct.trie_s = type { [26 x %struct.trie_s*], i32 }
+@str = external global [14 x i8]               ; <[14 x i8]*> [#uses=0]
+@str.upgrd.1 = external global [32 x i8]               ; <[32 x i8]*> [#uses=0]
+@str.upgrd.2 = external global [12 x i8]               ; <[12 x i8]*> [#uses=0]
+@C.0.2294 = external global %struct.charsequence               ; <%struct.charsequence*> [#uses=3]
+@t = external global %struct.trie_s*           ; <%struct.trie_s**> [#uses=0]
+@str.upgrd.3 = external global [3 x i8]                ; <[3 x i8]*> [#uses=0]
+@str.upgrd.4 = external global [26 x i8]               ; <[26 x i8]*> [#uses=0]
 
-cond_next:              ; preds = %cond_true
-        %tmp10 = load sbyte* %c         ; <sbyte> [#uses=1]
-        %tmp11 = icmp sgt sbyte %tmp10, 122             ; <bool> [#uses=1]
-        br bool %tmp11, label %cond_true12, label %cond_next13
+declare void @charsequence_reset(%struct.charsequence*)
 
-cond_true12:            ; preds = %cond_next
-        br label %bb16
+declare void @free(i8*)
 
-cond_next13:            ; preds = %cond_next
-        %tmp14 = load sbyte* %c         ; <sbyte> [#uses=1]
-        %tmp14 = sext sbyte %tmp14 to int               ; <int> [#uses=1]
-        %tmp1415 = trunc int %tmp14 to sbyte            ; <sbyte> [#uses=1]
-        call void %charsequence_push( %struct.charsequence* %cs, sbyte %tmp1415 )
-        br label %bb21
+declare void @charsequence_push(%struct.charsequence*, i8)
 
-bb16:           ; preds = %cond_true12, %cond_true9
-        %tmp17 = call sbyte* %charsequence_val( %struct.charsequence* %cs )             ; <sbyte*> [#uses=1]
-        store sbyte* %tmp17, sbyte** %str
-        %tmp = load %struct.trie_s** %t_addr            ; <%struct.trie_s*> [#uses=1]
-        %tmp18 = load sbyte** %str              ; <sbyte*> [#uses=1]
-        %tmp19 = call %struct.trie_s* %trie_insert( %struct.trie_s* %tmp, sbyte* %tmp18 )               ; <%struct.trie_s*> [#uses=0]
-        %tmp20 = load sbyte** %str              ; <sbyte*> [#uses=1]
-        call void %free( sbyte* %tmp20 )
-        store int 0, int* %wstate
-        br label %bb21
+declare i8* @charsequence_val(%struct.charsequence*)
 
-bb21:           ; preds = %bb16, %cond_next13
-        br label %cond_next32
+declare i32 @_IO_getc(%struct.FILE*)
 
-cond_false:             ; preds = %bb
-        %tmp22 = load sbyte* %c         ; <sbyte> [#uses=1]
-        %tmp23 = icmp sgt sbyte %tmp22, 96              ; <bool> [#uses=1]
-        br bool %tmp23, label %cond_true24, label %cond_next31
+declare i32 @tolower(i32)
 
-cond_true24:            ; preds = %cond_false
-        %tmp25 = load sbyte* %c         ; <sbyte> [#uses=1]
-        %tmp26 = icmp sle sbyte %tmp25, 122             ; <bool> [#uses=1]
-        br bool %tmp26, label %cond_true27, label %cond_next30
+declare %struct.trie_s* @trie_insert(%struct.trie_s*, i8*)
 
-cond_true27:            ; preds = %cond_true24
-        call void %charsequence_reset( %struct.charsequence* %cs )
-        %tmp28 = load sbyte* %c         ; <sbyte> [#uses=1]
-        %tmp28 = sext sbyte %tmp28 to int               ; <int> [#uses=1]
-        %tmp2829 = trunc int %tmp28 to sbyte            ; <sbyte> [#uses=1]
-        call void %charsequence_push( %struct.charsequence* %cs, sbyte %tmp2829 )
-        store int 1, int* %wstate
-        br label %cond_next30
+declare i32 @feof(%struct.FILE*)
 
-cond_next30:            ; preds = %cond_true27, %cond_true24
-        br label %cond_next31
-
-cond_next31:            ; preds = %cond_next30, %cond_false
-        br label %cond_next32
-
-cond_next32:            ; preds = %cond_next31, %bb21
-        br label %bb33
-
-bb33:           ; preds = %cond_next32, %entry
-        %tmp34 = load %struct.FILE** %f_addr            ; <%struct.FILE*> [#uses=1]
-        %tmp35 = call int %feof( %struct.FILE* %tmp34 )         ; <int> [#uses=1]
-        %tmp36 = icmp eq int %tmp35, 0          ; <bool> [#uses=1]
-        br bool %tmp36, label %bb, label %bb37
-
-bb37:           ; preds = %bb33
-        br label %return
-
-return:         ; preds = %bb37
-        ret void
+define void @addfile(%struct.trie_s* %t, %struct.FILE* %f) {
+entry:
+       %t_addr = alloca %struct.trie_s*                ; <%struct.trie_s**> [#uses=2]
+       %f_addr = alloca %struct.FILE*          ; <%struct.FILE**> [#uses=3]
+       %c = alloca i8, align 1         ; <i8*> [#uses=7]
+       %wstate = alloca i32, align 4           ; <i32*> [#uses=4]
+       %cs = alloca %struct.charsequence, align 16             ; <%struct.charsequence*> [#uses=7]
+       %str = alloca i8*, align 4              ; <i8**> [#uses=3]
+       %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
+       store %struct.trie_s* %t, %struct.trie_s** %t_addr
+       store %struct.FILE* %f, %struct.FILE** %f_addr
+       store i32 0, i32* %wstate
+       %tmp = getelementptr %struct.charsequence* %cs, i64 0, i32 0            ; <i8**> [#uses=1]
+       %tmp1 = getelementptr %struct.charsequence* @C.0.2294, i64 0, i32 0             ; <i8**> [#uses=1]
+       %tmp.upgrd.5 = load i8** %tmp1          ; <i8*> [#uses=1]
+       store i8* %tmp.upgrd.5, i8** %tmp
+       %tmp.upgrd.6 = getelementptr %struct.charsequence* %cs, i64 0, i32 1            ; <i32*> [#uses=1]
+       %tmp2 = getelementptr %struct.charsequence* @C.0.2294, i64 0, i32 1             ; <i32*> [#uses=1]
+       %tmp.upgrd.7 = load i32* %tmp2          ; <i32> [#uses=1]
+       store i32 %tmp.upgrd.7, i32* %tmp.upgrd.6
+       %tmp3 = getelementptr %struct.charsequence* %cs, i64 0, i32 2           ; <i32*> [#uses=1]
+       %tmp4 = getelementptr %struct.charsequence* @C.0.2294, i64 0, i32 2             ; <i32*> [#uses=1]
+       %tmp5 = load i32* %tmp4         ; <i32> [#uses=1]
+       store i32 %tmp5, i32* %tmp3
+       br label %bb33
+bb:            ; preds = %bb33
+       %tmp.upgrd.8 = load %struct.FILE** %f_addr              ; <%struct.FILE*> [#uses=1]
+       %tmp.upgrd.9 = call i32 @_IO_getc( %struct.FILE* %tmp.upgrd.8 )         ; <i32> [#uses=1]
+       %tmp6 = call i32 @tolower( i32 %tmp.upgrd.9 )           ; <i32> [#uses=1]
+       %tmp6.upgrd.10 = trunc i32 %tmp6 to i8          ; <i8> [#uses=1]
+       store i8 %tmp6.upgrd.10, i8* %c
+       %tmp7 = load i32* %wstate               ; <i32> [#uses=1]
+       %tmp.upgrd.11 = icmp ne i32 %tmp7, 0            ; <i1> [#uses=1]
+       br i1 %tmp.upgrd.11, label %cond_true, label %cond_false
+cond_true:             ; preds = %bb
+       %tmp.upgrd.12 = load i8* %c             ; <i8> [#uses=1]
+       %tmp8 = icmp sle i8 %tmp.upgrd.12, 96           ; <i1> [#uses=1]
+       br i1 %tmp8, label %cond_true9, label %cond_next
+cond_true9:            ; preds = %cond_true
+       br label %bb16
+cond_next:             ; preds = %cond_true
+       %tmp10 = load i8* %c            ; <i8> [#uses=1]
+       %tmp11 = icmp sgt i8 %tmp10, 122                ; <i1> [#uses=1]
+       br i1 %tmp11, label %cond_true12, label %cond_next13
+cond_true12:           ; preds = %cond_next
+       br label %bb16
+cond_next13:           ; preds = %cond_next
+       %tmp14 = load i8* %c            ; <i8> [#uses=1]
+       %tmp14.upgrd.13 = sext i8 %tmp14 to i32         ; <i32> [#uses=1]
+       %tmp1415 = trunc i32 %tmp14.upgrd.13 to i8              ; <i8> [#uses=1]
+       call void @charsequence_push( %struct.charsequence* %cs, i8 %tmp1415 )
+       br label %bb21
+bb16:          ; preds = %cond_true12, %cond_true9
+       %tmp17 = call i8* @charsequence_val( %struct.charsequence* %cs )                ; <i8*> [#uses=1]
+       store i8* %tmp17, i8** %str
+       %tmp.upgrd.14 = load %struct.trie_s** %t_addr           ; <%struct.trie_s*> [#uses=1]
+       %tmp18 = load i8** %str         ; <i8*> [#uses=1]
+       %tmp19 = call %struct.trie_s* @trie_insert( %struct.trie_s* %tmp.upgrd.14, i8* %tmp18 )         ; <%struct.trie_s*> [#uses=0]
+       %tmp20 = load i8** %str         ; <i8*> [#uses=1]
+       call void @free( i8* %tmp20 )
+       store i32 0, i32* %wstate
+       br label %bb21
+bb21:          ; preds = %bb16, %cond_next13
+       br label %cond_next32
+cond_false:            ; preds = %bb
+       %tmp22 = load i8* %c            ; <i8> [#uses=1]
+       %tmp23 = icmp sgt i8 %tmp22, 96         ; <i1> [#uses=1]
+       br i1 %tmp23, label %cond_true24, label %cond_next31
+cond_true24:           ; preds = %cond_false
+       %tmp25 = load i8* %c            ; <i8> [#uses=1]
+       %tmp26 = icmp sle i8 %tmp25, 122                ; <i1> [#uses=1]
+       br i1 %tmp26, label %cond_true27, label %cond_next30
+cond_true27:           ; preds = %cond_true24
+       call void @charsequence_reset( %struct.charsequence* %cs )
+       %tmp28 = load i8* %c            ; <i8> [#uses=1]
+       %tmp28.upgrd.15 = sext i8 %tmp28 to i32         ; <i32> [#uses=1]
+       %tmp2829 = trunc i32 %tmp28.upgrd.15 to i8              ; <i8> [#uses=1]
+       call void @charsequence_push( %struct.charsequence* %cs, i8 %tmp2829 )
+       store i32 1, i32* %wstate
+       br label %cond_next30
+cond_next30:           ; preds = %cond_true27, %cond_true24
+       br label %cond_next31
+cond_next31:           ; preds = %cond_next30, %cond_false
+       br label %cond_next32
+cond_next32:           ; preds = %cond_next31, %bb21
+       br label %bb33
+bb33:          ; preds = %cond_next32, %entry
+       %tmp34 = load %struct.FILE** %f_addr            ; <%struct.FILE*> [#uses=1]
+       %tmp35 = call i32 @feof( %struct.FILE* %tmp34 )         ; <i32> [#uses=1]
+       %tmp36 = icmp eq i32 %tmp35, 0          ; <i1> [#uses=1]
+       br i1 %tmp36, label %bb, label %bb37
+bb37:          ; preds = %bb33
+       br label %return
+return:                ; preds = %bb37
+       ret void
 }
-
index 5b4fde870d5db07f212ccbee7012504188b16f43..860a6ebf966b90e11b3ee7d8c259a69d25d12819 100644 (file)
@@ -1,10 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls -disable-output
+; RUN: llvm-as < %s | opt -simplify-libcalls -disable-output
 
-%G = constant [3 x sbyte] c"%s\00"
+@G = constant [3 x i8] c"%s\00"                ; <[3 x i8]*> [#uses=1]
 
-declare int %sprintf(sbyte*, sbyte*, ...)
+declare i32 @sprintf(i8*, i8*, ...)
 
-void %foo(sbyte*%P, int *%X) {
-  call int(sbyte*,sbyte*, ...)* %sprintf(sbyte* %P, sbyte* getelementptr ([3 x sbyte]* %G, int 0, int 0), int* %X)
-  ret void
+define void @foo(i8* %P, i32* %X) {
+       call i32 (i8*, i8*, ...)* @sprintf( i8* %P, i8* getelementptr ([3 x i8]* @G, i32 0, i32 0), i32* %X )           ; <i32>:1 [#uses=0]
+       ret void
 }
+
index 3fded2cc070e62dab1c9c9d0650e9bcf8ee6c569..8abf3b1cc46ba9dc287604f2c3a210603463ef8c 100644 (file)
@@ -1,15 +1,15 @@
 ; Test that the ExitInMainOptimization pass works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:    grep {ret i32 3} | count 1
 ; END.
 
-declare void %exit(int)
-declare void %exitonly(int)
+declare void @exit(i32)
 
-implementation   ; Functions:
+declare void @exitonly(i32)
 
-int %main () {
-        call void %exitonly ( int 3 )
-        call void %exit ( int 3 )
-        ret int 0
+define i32 @main() {
+       call void @exitonly( i32 3 )
+       call void @exit( i32 3 )
+       ret i32 0
 }
+
index 7049b5a377acf6a1616fa5a101d18b935078fd1c..94228f0266f76feb96c8f615f761600dd262303d 100644 (file)
@@ -1,29 +1,30 @@
 ; Test that the ToAsciiOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*%ffs}
 
-declare int %ffs(int)
-declare int %ffsl(int)
-declare int %ffsll(long)
+@non_const = external global i32               ; <i32*> [#uses=1]
 
-%non_const = external global int
+declare i32 @ffs(i32)
 
-implementation   ; Functions:
+declare i32 @ffsl(i32)
 
-int %main () {
-  %arg  = load int* %non_const
-  %val0 = call int %ffs(int %arg)
-  %val1 = call int %ffs(int 1)
-  %val2 = call int %ffs(int 2048)
-  %val3 = call int %ffsl(int 65536)
-  %val4 = call int %ffsll(long 1024)
-  %val5 = call int %ffsll(long 17179869184)
-  %val6 = call int %ffsll(long 1152921504606846976)
-  %rslt1 = add int %val1, %val2
-  %rslt2 = add int %val3, %val4
-  %rslt3 = add int %val5, %val6
-  %rslt4 = add int %rslt1, %rslt2
-  %rslt5 = add int %rslt4, %rslt3
-  %rslt6 = add int %rslt5, %val0
-  ret int %rslt5
+declare i32 @ffsll(i64)
+
+define i32 @main() {
+       %arg = load i32* @non_const             ; <i32> [#uses=1]
+       %val0 = call i32 @ffs( i32 %arg )               ; <i32> [#uses=1]
+       %val1 = call i32 @ffs( i32 1 )          ; <i32> [#uses=1]
+       %val2 = call i32 @ffs( i32 2048 )               ; <i32> [#uses=1]
+       %val3 = call i32 @ffsl( i32 65536 )             ; <i32> [#uses=1]
+       %val4 = call i32 @ffsll( i64 1024 )             ; <i32> [#uses=1]
+       %val5 = call i32 @ffsll( i64 17179869184 )              ; <i32> [#uses=1]
+       %val6 = call i32 @ffsll( i64 1152921504606846976 )              ; <i32> [#uses=1]
+       %rslt1 = add i32 %val1, %val2           ; <i32> [#uses=1]
+       %rslt2 = add i32 %val3, %val4           ; <i32> [#uses=1]
+       %rslt3 = add i32 %val5, %val6           ; <i32> [#uses=1]
+       %rslt4 = add i32 %rslt1, %rslt2         ; <i32> [#uses=1]
+       %rslt5 = add i32 %rslt4, %rslt3         ; <i32> [#uses=2]
+       %rslt6 = add i32 %rslt5, %val0          ; <i32> [#uses=0]
+       ret i32 %rslt5
 }
+
index 53b751f1c1f16189ee9b2ad4ba7682bde5bd97c7..ac6b3c1f709783b9e3913d2bddbe83971fdf6c6b 100644 (file)
@@ -1,29 +1,25 @@
 ; Test that the FPrintFOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*fprintf}
 ;
 
-%struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] }
-%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int }
+       %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i32, [52 x i8] }
+       %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
+@str = constant [3 x i8] c"%s\00"              ; <[3 x i8]*> [#uses=1]
+@chr = constant [3 x i8] c"%c\00"              ; <[3 x i8]*> [#uses=1]
+@hello = constant [13 x i8] c"hello world\0A\00"               ; <[13 x i8]*> [#uses=1]
+@stdout = external global %struct._IO_FILE*            ; <%struct._IO_FILE**> [#uses=3]
 
-%str = constant [3 x sbyte] c"%s\00"           
-%chr = constant [3 x sbyte] c"%c\00"           
-%hello = constant [13 x sbyte] c"hello world\0A\00"
-%stdout = external global %struct._IO_FILE*            
+declare i32 @fprintf(%struct._IO_FILE*, i8*, ...)
 
-declare int %fprintf(%struct._IO_FILE*, sbyte*, ...)
-
-implementation  
-
-int %foo() 
-{
+define i32 @foo() {
 entry:
-       %tmp.1 = load %struct._IO_FILE** %stdout
-       %tmp.0 = call int (%struct._IO_FILE*, sbyte*, ...)* %fprintf( %struct._IO_FILE* %tmp.1, sbyte* getelementptr ([13 x sbyte]* %hello, int 0, int 0) )
-       %tmp.4 = load %struct._IO_FILE** %stdout
-       %tmp.3 = call int (%struct._IO_FILE*, sbyte*, ...)* %fprintf( %struct._IO_FILE* %tmp.4, sbyte* getelementptr ([3 x sbyte]* %str, int 0, int 0), sbyte* getelementptr ([13 x sbyte]* %hello, int 0, int 0) )
-       %tmp.8 = load %struct._IO_FILE** %stdout
-       %tmp.7 = call int (%struct._IO_FILE*, sbyte*, ...)* %fprintf( %struct._IO_FILE* %tmp.8, sbyte* getelementptr ([3 x sbyte]* %chr, int 0, int 0), int 33 )
-       ret int 0
+       %tmp.1 = load %struct._IO_FILE** @stdout                ; <%struct._IO_FILE*> [#uses=1]
+       %tmp.0 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf( %struct._IO_FILE* %tmp.1, i8* getelementptr ([13 x i8]* @hello, i32 0, i32 0) )              ; <i32> [#uses=0]
+       %tmp.4 = load %struct._IO_FILE** @stdout                ; <%struct._IO_FILE*> [#uses=1]
+       %tmp.3 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf( %struct._IO_FILE* %tmp.4, i8* getelementptr ([3 x i8]* @str, i32 0, i32 0), i8* getelementptr ([13 x i8]* @hello, i32 0, i32 0) )            ; <i32> [#uses=0]
+       %tmp.8 = load %struct._IO_FILE** @stdout                ; <%struct._IO_FILE*> [#uses=1]
+       %tmp.7 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf( %struct._IO_FILE* %tmp.8, i8* getelementptr ([3 x i8]* @chr, i32 0, i32 0), i32 33 )         ; <i32> [#uses=0]
+       ret i32 0
 }
 
index bcdb60cc6f92dfb5d4db05fb7d1948dd0c8d966b..a290e0107d45d47925111384d526f45af40662b9 100644 (file)
@@ -1,21 +1,21 @@
 ; Test that the IsDigitOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep call
 
-declare int %isdigit(int)
-declare int %isascii(int)
+declare i32 @isdigit(i32)
 
-implementation   ; Functions:
+declare i32 @isascii(i32)
 
-int %main () {
-  %val1 = call int %isdigit(int 47)
-  %val2 = call int %isdigit(int 48)
-  %val3 = call int %isdigit(int 57)
-  %val4 = call int %isdigit(int 58)
-  %rslt1 = add int %val1, %val2
-  %rslt2 = add int %val3, %val4
-  %sum = add int %rslt1, %rslt2
-  %rslt = call int %isdigit(int %sum)
-  %tmp = call int %isascii(int %rslt)
-  ret int %tmp
+define i32 @main() {
+       %val1 = call i32 @isdigit( i32 47 )             ; <i32> [#uses=1]
+       %val2 = call i32 @isdigit( i32 48 )             ; <i32> [#uses=1]
+       %val3 = call i32 @isdigit( i32 57 )             ; <i32> [#uses=1]
+       %val4 = call i32 @isdigit( i32 58 )             ; <i32> [#uses=1]
+       %rslt1 = add i32 %val1, %val2           ; <i32> [#uses=1]
+       %rslt2 = add i32 %val3, %val4           ; <i32> [#uses=1]
+       %sum = add i32 %rslt1, %rslt2           ; <i32> [#uses=1]
+       %rslt = call i32 @isdigit( i32 %sum )           ; <i32> [#uses=1]
+       %tmp = call i32 @isascii( i32 %rslt )           ; <i32> [#uses=1]
+       ret i32 %tmp
 }
+
index 0a99488197bedab903dd8c208614e276ea7d4627..da3261d2f6947a3542bb70c8ea4e97e93a8c34e0 100644 (file)
@@ -1,22 +1,22 @@
 ; Test that the StrCatOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -simplify-libcalls | \
+; RUN: llvm-as < %s | opt -constprop -simplify-libcalls | \
 ; RUN:   llvm-dis | not grep {call.*llvm.memcpy.i32}
 
-declare void %llvm.memcpy.i32(sbyte*,sbyte*,uint,uint)
-%h = constant [2 x sbyte] c"h\00"
-%hel = constant [4 x sbyte] c"hel\00"
-%hello_u = constant [8 x sbyte] c"hello_u\00"
+@h = constant [2 x i8] c"h\00"         ; <[2 x i8]*> [#uses=1]
+@hel = constant [4 x i8] c"hel\00"             ; <[4 x i8]*> [#uses=1]
+@hello_u = constant [8 x i8] c"hello_u\00"             ; <[8 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
 
-int %main () {
-  %h_p = getelementptr [2 x sbyte]* %h, int 0, int 0
-  %hel_p = getelementptr [4 x sbyte]* %hel, int 0, int 0
-  %hello_u_p = getelementptr [8 x sbyte]* %hello_u, int 0, int 0
-  %target = alloca [1024 x sbyte]
-  %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0
-  call void %llvm.memcpy.i32(sbyte* %target_p, sbyte* %h_p, uint 2, uint 2)
-  call void %llvm.memcpy.i32(sbyte* %target_p, sbyte* %hel_p, uint 4, uint 4)
-  call void %llvm.memcpy.i32(sbyte* %target_p, sbyte* %hello_u_p, uint 8, uint 8)
-  ret int 0
+define i32 @main() {
+       %h_p = getelementptr [2 x i8]* @h, i32 0, i32 0         ; <i8*> [#uses=1]
+       %hel_p = getelementptr [4 x i8]* @hel, i32 0, i32 0             ; <i8*> [#uses=1]
+       %hello_u_p = getelementptr [8 x i8]* @hello_u, i32 0, i32 0             ; <i8*> [#uses=1]
+       %target = alloca [1024 x i8]            ; <[1024 x i8]*> [#uses=1]
+       %target_p = getelementptr [1024 x i8]* %target, i32 0, i32 0            ; <i8*> [#uses=3]
+       call void @llvm.memcpy.i32( i8* %target_p, i8* %h_p, i32 2, i32 2 )
+       call void @llvm.memcpy.i32( i8* %target_p, i8* %hel_p, i32 4, i32 4 )
+       call void @llvm.memcpy.i32( i8* %target_p, i8* %hello_u_p, i32 8, i32 8 )
+       ret i32 0
 }
+
index 7c89d914a90794bb8b8507dfc7886ddd52522eb5..852f8db9bc4b5a048f68abf0000ef66c02d58b96 100644 (file)
@@ -1,22 +1,22 @@
 ; Test that the StrCatOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -simplify-libcalls | \
+; RUN: llvm-as < %s | opt -constprop -simplify-libcalls | \
 ; RUN:   llvm-dis | not grep {call.*llvm.memmove.i32}
 
-declare void %llvm.memmove.i32(sbyte*,sbyte*,uint,uint)
-%h = constant [2 x sbyte] c"h\00"
-%hel = constant [4 x sbyte] c"hel\00"
-%hello_u = constant [8 x sbyte] c"hello_u\00"
+@h = constant [2 x i8] c"h\00"         ; <[2 x i8]*> [#uses=1]
+@hel = constant [4 x i8] c"hel\00"             ; <[4 x i8]*> [#uses=1]
+@hello_u = constant [8 x i8] c"hello_u\00"             ; <[8 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare void @llvm.memmove.i32(i8*, i8*, i32, i32)
 
-int %main () {
-  %h_p = getelementptr [2 x sbyte]* %h, int 0, int 0
-  %hel_p = getelementptr [4 x sbyte]* %hel, int 0, int 0
-  %hello_u_p = getelementptr [8 x sbyte]* %hello_u, int 0, int 0
-  %target = alloca [1024 x sbyte]
-  %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0
-  call void %llvm.memmove.i32(sbyte* %target_p, sbyte* %h_p, uint 2, uint 2)
-  call void %llvm.memmove.i32(sbyte* %target_p, sbyte* %hel_p, uint 4, uint 4)
-  call void %llvm.memmove.i32(sbyte* %target_p, sbyte* %hello_u_p, uint 8, uint 8)
-  ret int 0
+define i32 @main() {
+       %h_p = getelementptr [2 x i8]* @h, i32 0, i32 0         ; <i8*> [#uses=1]
+       %hel_p = getelementptr [4 x i8]* @hel, i32 0, i32 0             ; <i8*> [#uses=1]
+       %hello_u_p = getelementptr [8 x i8]* @hello_u, i32 0, i32 0             ; <i8*> [#uses=1]
+       %target = alloca [1024 x i8]            ; <[1024 x i8]*> [#uses=1]
+       %target_p = getelementptr [1024 x i8]* %target, i32 0, i32 0            ; <i8*> [#uses=3]
+       call void @llvm.memmove.i32( i8* %target_p, i8* %h_p, i32 2, i32 2 )
+       call void @llvm.memmove.i32( i8* %target_p, i8* %hel_p, i32 4, i32 4 )
+       call void @llvm.memmove.i32( i8* %target_p, i8* %hello_u_p, i32 8, i32 8 )
+       ret i32 0
 }
+
index dbeef9d85efae2635a54a884364ef6bebc33dc6a..853dcbec8c0d2821ee4e7ce459e76730d9f46839 100644 (file)
@@ -1,19 +1,18 @@
 ; Test that the LLVMMemSetOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*llvm.memset}
 ; END.
 
-declare void %llvm.memset.i32(sbyte*,ubyte,uint,uint)
+declare void @llvm.memset.i32(i8*, i8, i32, i32)
 
-implementation   ; Functions:
-
-int %main () {
-  %target = alloca [1024 x sbyte]
-  %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0
-  call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 0, uint 1)
-  call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 1, uint 1)
-  call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 2, uint 2)
-  call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 4, uint 4)
-  call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 8, uint 8)
-  ret int 0
+define i32 @main() {
+       %target = alloca [1024 x i8]            ; <[1024 x i8]*> [#uses=1]
+       %target_p = getelementptr [1024 x i8]* %target, i32 0, i32 0            ; <i8*> [#uses=5]
+       call void @llvm.memset.i32( i8* %target_p, i8 1, i32 0, i32 1 )
+       call void @llvm.memset.i32( i8* %target_p, i8 1, i32 1, i32 1 )
+       call void @llvm.memset.i32( i8* %target_p, i8 1, i32 2, i32 2 )
+       call void @llvm.memset.i32( i8* %target_p, i8 1, i32 4, i32 4 )
+       call void @llvm.memset.i32( i8* %target_p, i8 1, i32 8, i32 8 )
+       ret i32 0
 }
+
index 773ba1e1aee32c42ca101bcf49ce2617871573b6..fa638ef78014ed88209b819bdd44028d9c0b824d 100644 (file)
@@ -1,24 +1,24 @@
 ; Testcase for calls to the standard C "pow" function
 ;
 ; Equivalent to: http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01786.html
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call double .pow}
 ; END.
 
-declare double %pow(double, double)
+declare double @pow(double, double)
 
-double %test1(double %X) {
-       %Y = call double %pow(double %X, double 0.0)
-       ret double %Y    ; x^0.0 always equals 1.0
+define double @test1(double %X) {
+       %Y = call double @pow( double %X, double 0.000000e+00 )         ; <double> [#uses=1]
+       ret double %Y
 }
 
-double %test2(double %X) {
-       %Y = call double %pow(double %X, double -0.0)
-       ret double %Y    ; x^-0.0 always equals 1.0
+define double @test2(double %X) {
+       %Y = call double @pow( double %X, double -0.000000e+00 )                ; <double> [#uses=1]
+       ret double %Y
 }
 
-double %test3(double %X) {
-       %Y = call double %pow(double 1.0, double %X)
-       ret double %Y    ; 1.0^x always equals 1.0
+define double @test3(double %X) {
+       %Y = call double @pow( double 1.000000e+00, double %X )         ; <double> [#uses=1]
+       ret double %Y
 }
 
index 795b15cb654aab1d8c31734fab82e772540df1e1..e9bb2b381c9877b9b43a0b974339bff8d7e0bc29 100644 (file)
@@ -1,27 +1,26 @@
 ; Test that the PutsCatOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*fputs}
 ;
-%struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] }
-%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int }
-%stdout = external global %struct._IO_FILE*            ; <%struct._IO_FILE**> [#uses=1]
 
-declare int %fputs(sbyte*, %struct._IO_FILE*)
+       %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i32, [52 x i8] }
+       %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
+@stdout = external global %struct._IO_FILE*            ; <%struct._IO_FILE**> [#uses=1]
+@empty = constant [1 x i8] zeroinitializer             ; <[1 x i8]*> [#uses=1]
+@len1 = constant [2 x i8] c"A\00"              ; <[2 x i8]*> [#uses=1]
+@long = constant [7 x i8] c"hello\0A\00"               ; <[7 x i8]*> [#uses=1]
 
-%empty = constant [1 x sbyte] c"\00"
-%len1  = constant [2 x sbyte] c"A\00"
-%long  = constant [7 x sbyte] c"hello\0A\00"
+declare i32 @fputs(i8*, %struct._IO_FILE*)
 
-implementation   ; Functions:
-
-int %main() {
+define i32 @main() {
 entry:
-  %out = load %struct._IO_FILE** %stdout
-  %s1 = getelementptr [1 x sbyte]* %empty, int 0, int 0
-  %s2 = getelementptr [2 x sbyte]* %len1, int 0, int 0
-  %s3 = getelementptr [7 x sbyte]* %long, int 0, int 0
-  %a = call int %fputs( sbyte* %s1, %struct._IO_FILE* %out )
-  %b = call int %fputs( sbyte* %s2, %struct._IO_FILE* %out )
-  %c = call int %fputs( sbyte* %s3, %struct._IO_FILE* %out )
-  ret int 0
+       %out = load %struct._IO_FILE** @stdout          ; <%struct._IO_FILE*> [#uses=3]
+       %s1 = getelementptr [1 x i8]* @empty, i32 0, i32 0              ; <i8*> [#uses=1]
+       %s2 = getelementptr [2 x i8]* @len1, i32 0, i32 0               ; <i8*> [#uses=1]
+       %s3 = getelementptr [7 x i8]* @long, i32 0, i32 0               ; <i8*> [#uses=1]
+       %a = call i32 @fputs( i8* %s1, %struct._IO_FILE* %out )         ; <i32> [#uses=0]
+       %b = call i32 @fputs( i8* %s2, %struct._IO_FILE* %out )         ; <i32> [#uses=0]
+       %c = call i32 @fputs( i8* %s3, %struct._IO_FILE* %out )         ; <i32> [#uses=0]
+       ret i32 0
 }
+
index a8ad3699e2ab76416fea5c790efcce59e2911022..53f5ef1f429ef3b675eade3f7e8aa51a8918af8c 100644 (file)
@@ -1,36 +1,36 @@
 ; Test that the SPrintFOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*sprintf}
 
-declare int %sprintf(sbyte*,sbyte*,...)
-declare int %puts(sbyte*)
-%hello = constant [6 x sbyte] c"hello\00"
-%null = constant [1 x sbyte] c"\00"
-%null_hello = constant [7 x sbyte] c"\00hello\00"
-%fmt1 = constant [3 x sbyte] c"%s\00"
-%fmt2 = constant [3 x sbyte] c"%c\00"
+@hello = constant [6 x i8] c"hello\00"         ; <[6 x i8]*> [#uses=1]
+@null = constant [1 x i8] zeroinitializer              ; <[1 x i8]*> [#uses=1]
+@null_hello = constant [7 x i8] c"\00hello\00"         ; <[7 x i8]*> [#uses=1]
+@fmt1 = constant [3 x i8] c"%s\00"             ; <[3 x i8]*> [#uses=1]
+@fmt2 = constant [3 x i8] c"%c\00"             ; <[3 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare i32 @sprintf(i8*, i8*, ...)
 
-int %foo (sbyte* %p) {
-  %target = alloca [1024 x sbyte]
-  %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0
-  %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0
-  %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0
-  %nh_p = getelementptr [7 x sbyte]* %null_hello, int 0, int 0
-  %fmt1_p = getelementptr [3 x sbyte]* %fmt1, int 0, int 0
-  %fmt2_p = getelementptr [3 x sbyte]* %fmt2, int 0, int 0
-  store sbyte 0, sbyte* %target_p
-  %r1 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %hello_p)
-  %r2 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %null_p)
-  %r3 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %nh_p)
-  %r4 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %fmt1_p, sbyte* %hello_p)
-  %r4.1 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %fmt1_p, sbyte* %p)
-  %r5 = call int (sbyte*,sbyte*,...)* %sprintf(sbyte* %target_p, sbyte* %fmt2_p, int 82)
-  %r6 = add int %r1, %r2
-  %r7 = add int %r3, %r6
-  %r8 = add int %r5, %r7
-  %r9 = add int %r8, %r4
-  %r10 = add int %r9, %r4.1
-  ret int %r10
+declare i32 @puts(i8*)
+
+define i32 @foo(i8* %p) {
+       %target = alloca [1024 x i8]            ; <[1024 x i8]*> [#uses=1]
+       %target_p = getelementptr [1024 x i8]* %target, i32 0, i32 0            ; <i8*> [#uses=7]
+       %hello_p = getelementptr [6 x i8]* @hello, i32 0, i32 0         ; <i8*> [#uses=2]
+       %null_p = getelementptr [1 x i8]* @null, i32 0, i32 0           ; <i8*> [#uses=1]
+       %nh_p = getelementptr [7 x i8]* @null_hello, i32 0, i32 0               ; <i8*> [#uses=1]
+       %fmt1_p = getelementptr [3 x i8]* @fmt1, i32 0, i32 0           ; <i8*> [#uses=2]
+       %fmt2_p = getelementptr [3 x i8]* @fmt2, i32 0, i32 0           ; <i8*> [#uses=1]
+       store i8 0, i8* %target_p
+       %r1 = call i32 (i8*, i8*, ...)* @sprintf( i8* %target_p, i8* %hello_p )         ; <i32> [#uses=1]
+       %r2 = call i32 (i8*, i8*, ...)* @sprintf( i8* %target_p, i8* %null_p )          ; <i32> [#uses=1]
+       %r3 = call i32 (i8*, i8*, ...)* @sprintf( i8* %target_p, i8* %nh_p )            ; <i32> [#uses=1]
+       %r4 = call i32 (i8*, i8*, ...)* @sprintf( i8* %target_p, i8* %fmt1_p, i8* %hello_p )            ; <i32> [#uses=1]
+       %r4.1 = call i32 (i8*, i8*, ...)* @sprintf( i8* %target_p, i8* %fmt1_p, i8* %p )                ; <i32> [#uses=1]
+       %r5 = call i32 (i8*, i8*, ...)* @sprintf( i8* %target_p, i8* %fmt2_p, i32 82 )          ; <i32> [#uses=1]
+       %r6 = add i32 %r1, %r2          ; <i32> [#uses=1]
+       %r7 = add i32 %r3, %r6          ; <i32> [#uses=1]
+       %r8 = add i32 %r5, %r7          ; <i32> [#uses=1]
+       %r9 = add i32 %r8, %r4          ; <i32> [#uses=1]
+       %r10 = add i32 %r9, %r4.1               ; <i32> [#uses=1]
+       ret i32 %r10
 }
index 06bc833e5c925c5d9d5e236b582ac874ac0bbe32..a6ef6771b4605b70dbaec04c9dd396365887adc0 100644 (file)
@@ -1,25 +1,26 @@
 ; Test that the StrCatOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*strcat}
 
-declare sbyte* %strcat(sbyte*,sbyte*)
-declare int %puts(sbyte*)
-%hello = constant [6 x sbyte] c"hello\00"
-%null = constant [1 x sbyte] c"\00"
-%null_hello = constant [7 x sbyte] c"\00hello\00"
+@hello = constant [6 x i8] c"hello\00"         ; <[6 x i8]*> [#uses=1]
+@null = constant [1 x i8] zeroinitializer              ; <[1 x i8]*> [#uses=1]
+@null_hello = constant [7 x i8] c"\00hello\00"         ; <[7 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare i8* @strcat(i8*, i8*)
 
-int %main () {
-  %target = alloca [1024 x sbyte]
-  %arg1 = getelementptr [1024 x sbyte]* %target, int 0, int 0
-  store sbyte 0, sbyte* %arg1
-  %arg2 = getelementptr [6 x sbyte]* %hello, int 0, int 0
-  %rslt1 = call sbyte* %strcat(sbyte* %arg1, sbyte* %arg2)
-  %arg3 = getelementptr [1 x sbyte]* %null, int 0, int 0
-  %rslt2 = call sbyte* %strcat(sbyte* %rslt1, sbyte* %arg3)
-  %arg4 = getelementptr [7 x sbyte]* %null_hello, int 0, int 0
-  %rslt3 = call sbyte* %strcat(sbyte* %rslt2, sbyte* %arg4)
-  call int %puts(sbyte* %rslt3)
-  ret int 0
+declare i32 @puts(i8*)
+
+define i32 @main() {
+       %target = alloca [1024 x i8]            ; <[1024 x i8]*> [#uses=1]
+       %arg1 = getelementptr [1024 x i8]* %target, i32 0, i32 0                ; <i8*> [#uses=2]
+       store i8 0, i8* %arg1
+       %arg2 = getelementptr [6 x i8]* @hello, i32 0, i32 0            ; <i8*> [#uses=1]
+       %rslt1 = call i8* @strcat( i8* %arg1, i8* %arg2 )               ; <i8*> [#uses=1]
+       %arg3 = getelementptr [1 x i8]* @null, i32 0, i32 0             ; <i8*> [#uses=1]
+       %rslt2 = call i8* @strcat( i8* %rslt1, i8* %arg3 )              ; <i8*> [#uses=1]
+       %arg4 = getelementptr [7 x i8]* @null_hello, i32 0, i32 0               ; <i8*> [#uses=1]
+       %rslt3 = call i8* @strcat( i8* %rslt2, i8* %arg4 )              ; <i8*> [#uses=1]
+       call i32 @puts( i8* %rslt3 )            ; <i32>:1 [#uses=0]
+       ret i32 0
 }
+
index 56e624810a7ce9ec12c0812904b627f59142e537..f526db4930fe8f20cd48ed6bff0282173b754be4 100644 (file)
@@ -1,22 +1,22 @@
 ; Test that the StrChrOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*%strchr}
 
-declare sbyte* %strchr(sbyte*,int)
-declare int %puts(sbyte*)
-%hello = constant [14 x sbyte] c"hello world\n\00"
-%null = constant [1 x sbyte] c"\00"
+@hello = constant [14 x i8] c"hello world\5Cn\00"              ; <[14 x i8]*> [#uses=1]
+@null = constant [1 x i8] zeroinitializer              ; <[1 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare i8* @strchr(i8*, i32)
 
-int %main () {
-  %hello_p = getelementptr [14 x sbyte]* %hello, int 0, int 0
-  %null_p = getelementptr [1 x sbyte]* %null, int 0, int 0
+declare i32 @puts(i8*)
 
-  %world  = call sbyte* %strchr(sbyte* %hello_p, int 119 )
-  %ignore = call sbyte* %strchr(sbyte* %null_p, int 119 )
-  %len = call int %puts(sbyte* %world)
-  %index = add int %len, 112
-  %result = call sbyte* %strchr(sbyte* %hello_p, int %index)
-  ret int %index
+define i32 @main() {
+       %hello_p = getelementptr [14 x i8]* @hello, i32 0, i32 0                ; <i8*> [#uses=2]
+       %null_p = getelementptr [1 x i8]* @null, i32 0, i32 0           ; <i8*> [#uses=1]
+       %world = call i8* @strchr( i8* %hello_p, i32 119 )              ; <i8*> [#uses=1]
+       %ignore = call i8* @strchr( i8* %null_p, i32 119 )              ; <i8*> [#uses=0]
+       %len = call i32 @puts( i8* %world )             ; <i32> [#uses=1]
+       %index = add i32 %len, 112              ; <i32> [#uses=2]
+       %result = call i8* @strchr( i8* %hello_p, i32 %index )          ; <i8*> [#uses=0]
+       ret i32 %index
 }
+
index ba2a4e07298e4ae3833c72d2bfd1b9bc20e2e0e6..ae28e4a1000826283a5d0b47918d7b4f00c7324d 100644 (file)
@@ -1,27 +1,28 @@
 ; Test that the StrCmpOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*strcmp}
 
-declare int %strcmp(sbyte*,sbyte*)
-declare int %puts(sbyte*)
-%hello = constant [6 x sbyte] c"hello\00"
-%hell = constant [5 x sbyte] c"hell\00"
-%null = constant [1 x sbyte] c"\00"
+@hello = constant [6 x i8] c"hello\00"         ; <[6 x i8]*> [#uses=1]
+@hell = constant [5 x i8] c"hell\00"           ; <[5 x i8]*> [#uses=1]
+@null = constant [1 x i8] zeroinitializer              ; <[1 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare i32 @strcmp(i8*, i8*)
 
-int %main () {
-  %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0
-  %hell_p  = getelementptr [5 x sbyte]* %hell, int 0, int 0
-  %null_p  = getelementptr [1 x sbyte]* %null, int 0, int 0
-  %temp1 = call int %strcmp(sbyte* %hello_p, sbyte* %hello_p)
-  %temp2 = call int %strcmp(sbyte* %null_p, sbyte* %null_p)
-  %temp3 = call int %strcmp(sbyte* %hello_p, sbyte* %null_p)
-  %temp4 = call int %strcmp(sbyte* %null_p, sbyte* %hello_p)
-  %temp5 = call int %strcmp(sbyte* %hell_p, sbyte* %hello_p)
-  %rslt1 = add int %temp1, %temp2
-  %rslt2 = add int %rslt1, %temp3
-  %rslt3 = add int %rslt2, %temp4
-  %rslt4 = add int %rslt3, %temp5
-  ret int %rslt4
+declare i32 @puts(i8*)
+
+define i32 @main() {
+       %hello_p = getelementptr [6 x i8]* @hello, i32 0, i32 0         ; <i8*> [#uses=5]
+       %hell_p = getelementptr [5 x i8]* @hell, i32 0, i32 0           ; <i8*> [#uses=1]
+       %null_p = getelementptr [1 x i8]* @null, i32 0, i32 0           ; <i8*> [#uses=4]
+       %temp1 = call i32 @strcmp( i8* %hello_p, i8* %hello_p )         ; <i32> [#uses=1]
+       %temp2 = call i32 @strcmp( i8* %null_p, i8* %null_p )           ; <i32> [#uses=1]
+       %temp3 = call i32 @strcmp( i8* %hello_p, i8* %null_p )          ; <i32> [#uses=1]
+       %temp4 = call i32 @strcmp( i8* %null_p, i8* %hello_p )          ; <i32> [#uses=1]
+       %temp5 = call i32 @strcmp( i8* %hell_p, i8* %hello_p )          ; <i32> [#uses=1]
+       %rslt1 = add i32 %temp1, %temp2         ; <i32> [#uses=1]
+       %rslt2 = add i32 %rslt1, %temp3         ; <i32> [#uses=1]
+       %rslt3 = add i32 %rslt2, %temp4         ; <i32> [#uses=1]
+       %rslt4 = add i32 %rslt3, %temp5         ; <i32> [#uses=1]
+       ret i32 %rslt4
 }
+
index 481dccf24f2d5b7c5a9ae11d62f5bb69e39dd49c..f23582c46206731d2b2dc8fbfe8c59cb70404eb1 100644 (file)
@@ -1,25 +1,26 @@
 ; Test that the StrCpyOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*strcpy}
 
-declare sbyte* %strcpy(sbyte*,sbyte*)
-declare int %puts(sbyte*)
-%hello = constant [6 x sbyte] c"hello\00"
-%null = constant [1 x sbyte] c"\00"
-%null_hello = constant [7 x sbyte] c"\00hello\00"
+@hello = constant [6 x i8] c"hello\00"         ; <[6 x i8]*> [#uses=1]
+@null = constant [1 x i8] zeroinitializer              ; <[1 x i8]*> [#uses=1]
+@null_hello = constant [7 x i8] c"\00hello\00"         ; <[7 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare i8* @strcpy(i8*, i8*)
 
-int %main () {
-  %target = alloca [1024 x sbyte]
-  %arg1 = getelementptr [1024 x sbyte]* %target, int 0, int 0
-  store sbyte 0, sbyte* %arg1
-  %arg2 = getelementptr [6 x sbyte]* %hello, int 0, int 0
-  %rslt1 = call sbyte* %strcpy(sbyte* %arg1, sbyte* %arg2)
-  %arg3 = getelementptr [1 x sbyte]* %null, int 0, int 0
-  %rslt2 = call sbyte* %strcpy(sbyte* %rslt1, sbyte* %arg3)
-  %arg4 = getelementptr [7 x sbyte]* %null_hello, int 0, int 0
-  %rslt3 = call sbyte* %strcpy(sbyte* %rslt2, sbyte* %arg4)
-  call int %puts(sbyte* %rslt3)
-  ret int 0
+declare i32 @puts(i8*)
+
+define i32 @main() {
+       %target = alloca [1024 x i8]            ; <[1024 x i8]*> [#uses=1]
+       %arg1 = getelementptr [1024 x i8]* %target, i32 0, i32 0                ; <i8*> [#uses=2]
+       store i8 0, i8* %arg1
+       %arg2 = getelementptr [6 x i8]* @hello, i32 0, i32 0            ; <i8*> [#uses=1]
+       %rslt1 = call i8* @strcpy( i8* %arg1, i8* %arg2 )               ; <i8*> [#uses=1]
+       %arg3 = getelementptr [1 x i8]* @null, i32 0, i32 0             ; <i8*> [#uses=1]
+       %rslt2 = call i8* @strcpy( i8* %rslt1, i8* %arg3 )              ; <i8*> [#uses=1]
+       %arg4 = getelementptr [7 x i8]* @null_hello, i32 0, i32 0               ; <i8*> [#uses=1]
+       %rslt3 = call i8* @strcpy( i8* %rslt2, i8* %arg4 )              ; <i8*> [#uses=1]
+       call i32 @puts( i8* %rslt3 )            ; <i32>:1 [#uses=0]
+       ret i32 0
 }
+
index 98a76c8862ea620c72b617d4549dee3ee8866f37..521a2242c9bf68077896ba69ac1e538c36ebf866 100644 (file)
@@ -1,58 +1,56 @@
 ; Test that the StrCatOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:    not grep {call.*strlen}
 
 target datalayout = "e-p:32:32"
+@hello = constant [6 x i8] c"hello\00"         ; <[6 x i8]*> [#uses=3]
+@null = constant [1 x i8] zeroinitializer              ; <[1 x i8]*> [#uses=3]
+@null_hello = constant [7 x i8] c"\00hello\00"         ; <[7 x i8]*> [#uses=1]
 
-declare uint %strlen(sbyte*)
-%hello      = constant [6 x sbyte] c"hello\00"
-%null       = constant [1 x sbyte] c"\00"
-%null_hello = constant [7 x sbyte] c"\00hello\00"
+declare i32 @strlen(i8*)
 
-implementation   ; Functions:
-
-uint %test1() {
-  %hello_p      = getelementptr [6 x sbyte]* %hello, int 0, int 0
-  %hello_l      = call uint %strlen(sbyte* %hello_p)
-  ret uint %hello_l
+define i32 @test1() {
+       %hello_p = getelementptr [6 x i8]* @hello, i32 0, i32 0         ; <i8*> [#uses=1]
+       %hello_l = call i32 @strlen( i8* %hello_p )             ; <i32> [#uses=1]
+       ret i32 %hello_l
 }
 
-uint %test2() {
-  %null_p       = getelementptr [1 x sbyte]* %null, int 0, int 0
-  %null_l       = call uint %strlen(sbyte* %null_p)
-  ret uint %null_l
+define i32 @test2() {
+       %null_p = getelementptr [1 x i8]* @null, i32 0, i32 0           ; <i8*> [#uses=1]
+       %null_l = call i32 @strlen( i8* %null_p )               ; <i32> [#uses=1]
+       ret i32 %null_l
 }
 
-uint %test3() {
-  %null_hello_p = getelementptr [7 x sbyte]* %null_hello, int 0, int 0
-  %null_hello_l = call uint %strlen(sbyte* %null_hello_p)
-  ret uint %null_hello_l
+define i32 @test3() {
+       %null_hello_p = getelementptr [7 x i8]* @null_hello, i32 0, i32 0               ; <i8*> [#uses=1]
+       %null_hello_l = call i32 @strlen( i8* %null_hello_p )           ; <i32> [#uses=1]
+       ret i32 %null_hello_l
 }
 
-bool %test4() {
-  %hello_p      = getelementptr [6 x sbyte]* %hello, int 0, int 0
-  %hello_l      = call uint %strlen(sbyte* %hello_p)
-  %eq_hello     = seteq uint %hello_l, 0
-  ret bool %eq_hello
+define i1 @test4() {
+       %hello_p = getelementptr [6 x i8]* @hello, i32 0, i32 0         ; <i8*> [#uses=1]
+       %hello_l = call i32 @strlen( i8* %hello_p )             ; <i32> [#uses=1]
+       %eq_hello = icmp eq i32 %hello_l, 0             ; <i1> [#uses=1]
+       ret i1 %eq_hello
 }
 
-bool %test5() {
-  %null_p       = getelementptr [1 x sbyte]* %null, int 0, int 0
-  %null_l       = call uint %strlen(sbyte* %null_p)
-  %eq_null      = seteq uint %null_l, 0
-  ret bool %eq_null
+define i1 @test5() {
+       %null_p = getelementptr [1 x i8]* @null, i32 0, i32 0           ; <i8*> [#uses=1]
+       %null_l = call i32 @strlen( i8* %null_p )               ; <i32> [#uses=1]
+       %eq_null = icmp eq i32 %null_l, 0               ; <i1> [#uses=1]
+       ret i1 %eq_null
 }
 
-bool %test6() {
-  %hello_p      = getelementptr [6 x sbyte]* %hello, int 0, int 0
-  %hello_l      = call uint %strlen(sbyte* %hello_p)
-  %ne_hello     = setne uint %hello_l, 0
-  ret bool %ne_hello
+define i1 @test6() {
+       %hello_p = getelementptr [6 x i8]* @hello, i32 0, i32 0         ; <i8*> [#uses=1]
+       %hello_l = call i32 @strlen( i8* %hello_p )             ; <i32> [#uses=1]
+       %ne_hello = icmp ne i32 %hello_l, 0             ; <i1> [#uses=1]
+       ret i1 %ne_hello
 }
 
-bool %test7() {
-  %null_p       = getelementptr [1 x sbyte]* %null, int 0, int 0
-  %null_l       = call uint %strlen(sbyte* %null_p)
-  %ne_null      = setne uint %null_l, 0
-  ret bool %ne_null
+define i1 @test7() {
+       %null_p = getelementptr [1 x i8]* @null, i32 0, i32 0           ; <i8*> [#uses=1]
+       %null_l = call i32 @strlen( i8* %null_p )               ; <i32> [#uses=1]
+       %ne_null = icmp ne i32 %null_l, 0               ; <i1> [#uses=1]
+       ret i1 %ne_null
 }
index 7de3410fc53dc38299a819c30a64a261362dd3b0..f85394d30281bcdd64f07b8f554865a7c7f51927 100644 (file)
@@ -1,27 +1,28 @@
 ; Test that the StrNCmpOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*strncmp}
 
-declare int %strncmp(sbyte*,sbyte*,int)
-declare int %puts(sbyte*)
-%hello = constant [6 x sbyte] c"hello\00"
-%hell = constant [5 x sbyte] c"hell\00"
-%null = constant [1 x sbyte] c"\00"
+@hello = constant [6 x i8] c"hello\00"         ; <[6 x i8]*> [#uses=1]
+@hell = constant [5 x i8] c"hell\00"           ; <[5 x i8]*> [#uses=1]
+@null = constant [1 x i8] zeroinitializer              ; <[1 x i8]*> [#uses=1]
 
-implementation   ; Functions:
+declare i32 @strncmp(i8*, i8*, i32)
 
-int %main () {
-  %hello_p = getelementptr [6 x sbyte]* %hello, int 0, int 0
-  %hell_p  = getelementptr [5 x sbyte]* %hell, int 0, int 0
-  %null_p  = getelementptr [1 x sbyte]* %null, int 0, int 0
-  %temp1 = call int %strncmp(sbyte* %hello_p, sbyte* %hello_p,int 5)
-  %temp2 = call int %strncmp(sbyte* %null_p, sbyte* %null_p,int 0)
-  %temp3 = call int %strncmp(sbyte* %hello_p, sbyte* %null_p,int 0)
-  %temp4 = call int %strncmp(sbyte* %null_p, sbyte* %hello_p,int 0)
-  %temp5 = call int %strncmp(sbyte* %hell_p, sbyte* %hello_p,int 4)
-  %rslt1 = add int %temp1, %temp2
-  %rslt2 = add int %rslt1, %temp3
-  %rslt3 = add int %rslt2, %temp4
-  %rslt4 = add int %rslt3, %temp5
-  ret int %rslt4
+declare i32 @puts(i8*)
+
+define i32 @main() {
+       %hello_p = getelementptr [6 x i8]* @hello, i32 0, i32 0         ; <i8*> [#uses=5]
+       %hell_p = getelementptr [5 x i8]* @hell, i32 0, i32 0           ; <i8*> [#uses=1]
+       %null_p = getelementptr [1 x i8]* @null, i32 0, i32 0           ; <i8*> [#uses=4]
+       %temp1 = call i32 @strncmp( i8* %hello_p, i8* %hello_p, i32 5 )         ; <i32> [#uses=1]
+       %temp2 = call i32 @strncmp( i8* %null_p, i8* %null_p, i32 0 )           ; <i32> [#uses=1]
+       %temp3 = call i32 @strncmp( i8* %hello_p, i8* %null_p, i32 0 )          ; <i32> [#uses=1]
+       %temp4 = call i32 @strncmp( i8* %null_p, i8* %hello_p, i32 0 )          ; <i32> [#uses=1]
+       %temp5 = call i32 @strncmp( i8* %hell_p, i8* %hello_p, i32 4 )          ; <i32> [#uses=1]
+       %rslt1 = add i32 %temp1, %temp2         ; <i32> [#uses=1]
+       %rslt2 = add i32 %rslt1, %temp3         ; <i32> [#uses=1]
+       %rslt3 = add i32 %rslt2, %temp4         ; <i32> [#uses=1]
+       %rslt4 = add i32 %rslt3, %temp5         ; <i32> [#uses=1]
+       ret i32 %rslt4
 }
+
index 0bc2664d4298b486f3aea4485dba525b279516f4..9200d2f67edf59dc9236de44155e6aeb627f57eb 100644 (file)
@@ -1,22 +1,21 @@
 ; Test that the ToAsciiOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*toascii}
 
-declare int %toascii(int)
+declare i32 @toascii(i32)
 
-implementation   ; Functions:
-
-int %main () {
-  %val1 = call int %toascii(int 1)
-  %val2 = call int %toascii(int 0)
-  %val3 = call int %toascii(int 127)
-  %val4 = call int %toascii(int 128)
-  %val5 = call int %toascii(int 255)
-  %val6 = call int %toascii(int 256)
-  %rslt1 = add int %val1, %val2
-  %rslt2 = add int %val3, %val4
-  %rslt3 = add int %val5, %val6
-  %rslt4 = add int %rslt1, %rslt2
-  %rslt5 = add int %rslt4, %rslt3
-  ret int %rslt5
+define i32 @main() {
+       %val1 = call i32 @toascii( i32 1 )              ; <i32> [#uses=1]
+       %val2 = call i32 @toascii( i32 0 )              ; <i32> [#uses=1]
+       %val3 = call i32 @toascii( i32 127 )            ; <i32> [#uses=1]
+       %val4 = call i32 @toascii( i32 128 )            ; <i32> [#uses=1]
+       %val5 = call i32 @toascii( i32 255 )            ; <i32> [#uses=1]
+       %val6 = call i32 @toascii( i32 256 )            ; <i32> [#uses=1]
+       %rslt1 = add i32 %val1, %val2           ; <i32> [#uses=1]
+       %rslt2 = add i32 %val3, %val4           ; <i32> [#uses=1]
+       %rslt3 = add i32 %val5, %val6           ; <i32> [#uses=1]
+       %rslt4 = add i32 %rslt1, %rslt2         ; <i32> [#uses=1]
+       %rslt5 = add i32 %rslt4, %rslt3         ; <i32> [#uses=1]
+       ret i32 %rslt5
 }
+
index 2b940fdb800b4be890fc1df879b450e610dbc08d..9e9b154a2b61b673643baaaec62a1d8590ef9c15 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis > %t
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis > %t
 ; RUN: not grep {call.*floor(} %t
 ; RUN: grep {call.*floorf(} %t
 ; RUN: not grep {call.*ceil(} %t
@@ -7,28 +7,33 @@
 ; RUN: grep {call.*nearbyintf(} %t
 ; XFAIL: sparc
 
-declare double %floor(double)
-declare double %ceil(double)
-declare double %nearbyint(double)
+declare double @floor(double)
 
-float %test_floor(float %C) {
-       %D = cast float %C to double
-       %E = call double %floor(double %D)  ; --> floorf
-       %F = cast double %E to float
+declare double @ceil(double)
+
+declare double @nearbyint(double)
+
+define float @test_floor(float %C) {
+       %D = fpext float %C to double           ; <double> [#uses=1]
+        ; --> floorf
+       %E = call double @floor( double %D )            ; <double> [#uses=1]
+       %F = fptrunc double %E to float         ; <float> [#uses=1]
        ret float %F
 }
 
-float %test_ceil(float %C) {
-       %D = cast float %C to double
-       %E = call double %ceil(double %D)  ; --> ceilf
-       %F = cast double %E to float
+define float @test_ceil(float %C) {
+       %D = fpext float %C to double           ; <double> [#uses=1]
+       ; --> ceilf
+        %E = call double @ceil( double %D )            ; <double> [#uses=1]
+       %F = fptrunc double %E to float         ; <float> [#uses=1]
        ret float %F
 }
 
-float %test_nearbyint(float %C) {
-       %D = cast float %C to double
-       %E = call double %nearbyint(double %D)  ; --> floorf
-       %F = cast double %E to float
+define float @test_nearbyint(float %C) {
+       %D = fpext float %C to double           ; <double> [#uses=1]
+       ; --> floorf
+        %E = call double @nearbyint( double %D )               ; <double> [#uses=1]
+       %F = fptrunc double %E to float         ; <float> [#uses=1]
        ret float %F
 }
 
index bea9eed74a569cbc2e0978c5770ca0c018c1f007..16ae0e749f4c12f9a688e1b23ced4be91f1d8c78 100644 (file)
@@ -1,24 +1,24 @@
 ; Test that the memcmpOptimizer works correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
+; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \
 ; RUN:   not grep {call.*memcmp}
-; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls -disable-output
+; RUN: llvm-as < %s | opt -simplify-libcalls -disable-output
 
-declare int %memcmp(sbyte*,sbyte*,int)
-%h = constant [2 x sbyte] c"h\00"
-%hel = constant [4 x sbyte] c"hel\00"
-%hello_u = constant [8 x sbyte] c"hello_u\00"
+@h = constant [2 x i8] c"h\00"         ; <[2 x i8]*> [#uses=0]
+@hel = constant [4 x i8] c"hel\00"             ; <[4 x i8]*> [#uses=0]
+@hello_u = constant [8 x i8] c"hello_u\00"             ; <[8 x i8]*> [#uses=0]
 
-implementation
+declare i32 @memcmp(i8*, i8*, i32)
 
-void %test(sbyte *%P, sbyte *%Q, int %N, int* %IP, bool *%BP) {
-  %A = call int %memcmp(sbyte *%P, sbyte* %P, int %N)
-  volatile store int %A, int* %IP
-  %B = call int %memcmp(sbyte *%P, sbyte* %Q, int 0)
-  volatile store int %B, int* %IP
-  %C = call int %memcmp(sbyte *%P, sbyte* %Q, int 1)
-  volatile store int %C, int* %IP
-  %D = call int %memcmp(sbyte *%P, sbyte* %Q, int 2)
-  %E = seteq int %D, 0
-  volatile store bool %E, bool* %BP
-  ret void
+define void @test(i8* %P, i8* %Q, i32 %N, i32* %IP, i1* %BP) {
+       %A = call i32 @memcmp( i8* %P, i8* %P, i32 %N )         ; <i32> [#uses=1]
+       volatile store i32 %A, i32* %IP
+       %B = call i32 @memcmp( i8* %P, i8* %Q, i32 0 )          ; <i32> [#uses=1]
+       volatile store i32 %B, i32* %IP
+       %C = call i32 @memcmp( i8* %P, i8* %Q, i32 1 )          ; <i32> [#uses=1]
+       volatile store i32 %C, i32* %IP
+       %D = call i32 @memcmp( i8* %P, i8* %Q, i32 2 )          ; <i32> [#uses=1]
+       %E = icmp eq i32 %D, 0          ; <i1> [#uses=1]
+       volatile store i1 %E, i1* %BP
+       ret void
 }
+
index d82d963b9d70231d2e6dcb6947c22ebbbf57de3a..e8c28ec80672b73509b21fff5fef4ed0e2496c2c 100644 (file)
@@ -1,17 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call
+; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | not grep call
 
-int %factorial(int %x) {
+define i32 @factorial(i32 %x) {
 entry:
-        %tmp.1 = setgt int %x, 0
-        br bool %tmp.1, label %then, label %else
-
-then:
-        %tmp.6 = add int %x, -1
-        %tmp.4 = call int %factorial( int %tmp.6 )
-        %tmp.7 = mul int %tmp.4, %x
-        ret int %tmp.7
-
-else:
-        ret int 1
+       %tmp.1 = icmp sgt i32 %x, 0             ; <i1> [#uses=1]
+       br i1 %tmp.1, label %then, label %else
+then:          ; preds = %entry
+       %tmp.6 = add i32 %x, -1         ; <i32> [#uses=1]
+       %tmp.4 = call i32 @factorial( i32 %tmp.6 )              ; <i32> [#uses=1]
+       %tmp.7 = mul i32 %tmp.4, %x             ; <i32> [#uses=1]
+       ret i32 %tmp.7
+else:          ; preds = %entry
+       ret i32 1
 }
 
index b103d897ea94a3a6b7159bd3b7b0bb6d941b60f9..4d63b595d7ccd2b4f4ced9d0bcf5535a3549cb53 100644 (file)
@@ -3,20 +3,18 @@
 ; go out to the anonymous users of the demo script for "suggesting" 
 ; optimizations that should be done.  :)
 
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call
+; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | not grep call
 
-int %mul(int %x, int %y) {
+define i32 @mul(i32 %x, i32 %y) {
 entry:
-        %tmp.1 = seteq int %y, 0
-        br bool %tmp.1, label %return, label %endif
-
-endif:
-        %tmp.8 = add int %y, -1
-        %tmp.5 = call int %mul( int %x, int %tmp.8 )
-        %tmp.9 = add int %tmp.5, %x
-        ret int %tmp.9
-
-return:
-        ret int %x
+       %tmp.1 = icmp eq i32 %y, 0              ; <i1> [#uses=1]
+       br i1 %tmp.1, label %return, label %endif
+endif:         ; preds = %entry
+       %tmp.8 = add i32 %y, -1         ; <i32> [#uses=1]
+       %tmp.5 = call i32 @mul( i32 %x, i32 %tmp.8 )            ; <i32> [#uses=1]
+       %tmp.9 = add i32 %tmp.5, %x             ; <i32> [#uses=1]
+       ret i32 %tmp.9
+return:                ; preds = %entry
+       ret i32 %x
 }
 
index dd6e2769f18a062d8c6b08e4a8ee6dea4ca098db..f65c66669e564e5c24c9e12691f039f5faffad3f 100644 (file)
@@ -1,30 +1,26 @@
 ; This function contains two tail calls, which should be eliminated
-; RUN: llvm-upgrade < %s | llvm-as | \
+; RUN: llvm-as < %s | \
 ; RUN:   opt -tailcallelim -stats -disable-output |& grep {2 tailcallelim}
 
-int %Ack(int %M.1, int %N.1) {
+define i32 @Ack(i32 %M.1, i32 %N.1) {
 entry:
-        %tmp.1 = seteq int %M.1, 0              ; <bool> [#uses=1]
-        br bool %tmp.1, label %then.0, label %endif.0
-
-then.0:
-        %tmp.4 = add int %N.1, 1                ; <int> [#uses=1]
-        ret int %tmp.4
-
-endif.0:
-        %tmp.6 = seteq int %N.1, 0              ; <bool> [#uses=1]
-        br bool %tmp.6, label %then.1, label %endif.1
-
-then.1:
-        %tmp.10 = add int %M.1, -1              ; <int> [#uses=1]
-        %tmp.8 = call int %Ack( int %tmp.10, int 1 )            ; <int> [#uses=1]
-        ret int %tmp.8
-
-endif.1:
-        %tmp.13 = add int %M.1, -1              ; <int> [#uses=1]
-        %tmp.17 = add int %N.1, -1              ; <int> [#uses=1]
-        %tmp.14 = call int %Ack( int %M.1, int %tmp.17 )                ; <int> [#uses=1]
-        %tmp.11 = call int %Ack( int %tmp.13, int %tmp.14 )             ; <int> [#uses=1]
-        ret int %tmp.11
+       %tmp.1 = icmp eq i32 %M.1, 0            ; <i1> [#uses=1]
+       br i1 %tmp.1, label %then.0, label %endif.0
+then.0:                ; preds = %entry
+       %tmp.4 = add i32 %N.1, 1                ; <i32> [#uses=1]
+       ret i32 %tmp.4
+endif.0:               ; preds = %entry
+       %tmp.6 = icmp eq i32 %N.1, 0            ; <i1> [#uses=1]
+       br i1 %tmp.6, label %then.1, label %endif.1
+then.1:                ; preds = %endif.0
+       %tmp.10 = add i32 %M.1, -1              ; <i32> [#uses=1]
+       %tmp.8 = call i32 @Ack( i32 %tmp.10, i32 1 )            ; <i32> [#uses=1]
+       ret i32 %tmp.8
+endif.1:               ; preds = %endif.0
+       %tmp.13 = add i32 %M.1, -1              ; <i32> [#uses=1]
+       %tmp.17 = add i32 %N.1, -1              ; <i32> [#uses=1]
+       %tmp.14 = call i32 @Ack( i32 %M.1, i32 %tmp.17 )                ; <i32> [#uses=1]
+       %tmp.11 = call i32 @Ack( i32 %tmp.13, i32 %tmp.14 )             ; <i32> [#uses=1]
+       ret i32 %tmp.11
 }
 
index d3ba65ea63fc0b7b064b8b3a78da48fbc64567f0..e20fe18d5adaf1bfb7cb24f3dcaaa89dd84e144f 100644 (file)
@@ -1,12 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | \
+; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | \
 ; RUN:    grep {call i32 @foo}
 
-declare void %bar(int*)
-int %foo(uint %N) {
-  %A = alloca int, uint %N             ;; Should stay in entry block because of 'tail' marker
-  store int 17, int* %A
-  call void %bar(int* %A)
+declare void @bar(i32*)
 
-  %X = tail call int %foo(uint %N)  ;; Cannot -tailcallelim this without increasing stack usage!
-  ret int %X
+define i32 @foo(i32 %N) {
+       %A = alloca i32, i32 %N         ; <i32*> [#uses=2]
+       store i32 17, i32* %A
+       call void @bar( i32* %A )
+       %X = tail call i32 @foo( i32 %N )               ; <i32> [#uses=1]
+       ret i32 %X
 }
+
index a480e3b4dbf29625a924ec9ad8f7faad3f4d0800..ae4f50941f810c1fb1f4fae57cf802352c884a27 100644 (file)
@@ -1,19 +1,17 @@
 ; This function contains intervening instructions which should be moved out of the way
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call
+; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | not grep call
 
-int %Test(int %X) {
+define i32 @Test(i32 %X) {
 entry:
-        %tmp.1 = seteq int %X, 0
-        br bool %tmp.1, label %then.0, label %endif.0
-
-then.0:
-        %tmp.4 = add int %X, 1
-        ret int %tmp.4
-
-endif.0:
-        %tmp.10 = add int %X, -1
-        %tmp.8 = call int %Test(int %tmp.10)
-       %DUMMY = add int %X, 1                ;; This should not prevent elimination
-        ret int %tmp.8
+       %tmp.1 = icmp eq i32 %X, 0              ; <i1> [#uses=1]
+       br i1 %tmp.1, label %then.0, label %endif.0
+then.0:                ; preds = %entry
+       %tmp.4 = add i32 %X, 1          ; <i32> [#uses=1]
+       ret i32 %tmp.4
+endif.0:               ; preds = %entry
+       %tmp.10 = add i32 %X, -1                ; <i32> [#uses=1]
+       %tmp.8 = call i32 @Test( i32 %tmp.10 )          ; <i32> [#uses=1]
+       %DUMMY = add i32 %X, 1          ; <i32> [#uses=0]
+       ret i32 %tmp.8
 }
 
index 1b1f0d07201b4efc269f6fe596323ea13644b8b4..bd2b93f7a8d6e6f97b8355bde2ff023cb0d641f9 100644 (file)
@@ -1,12 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | \
+; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | \
 ; RUN:    %prcontext alloca 1 | grep {i32 @foo}
 
-declare void %bar(int*)
-int %foo() {
-  %A = alloca int             ;; Should stay in entry block because of 'tail' marker
-  store int 17, int* %A
-  call void %bar(int* %A)
+declare void @bar(i32*)
 
-  %X = tail call int %foo()
-  ret int %X
+define i32 @foo() {
+       %A = alloca i32         ; <i32*> [#uses=2]
+       store i32 17, i32* %A
+       call void @bar( i32* %A )
+       %X = tail call i32 @foo( )              ; <i32> [#uses=1]
+       ret i32 %X
 }
+
index 58020248cbcaf3de0230439334698b8bc03d6a13..ab69a42b78513467b6ddca59b2b3086e7215882e 100644 (file)
@@ -1,19 +1,17 @@
 ; Though this case seems to be fairly unlikely to occur in the wild, someone
 ; plunked it into the demo script, so maybe they care about it.
 ;
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call
+; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | not grep call
 
-int %aaa(int %c) {
+define i32 @aaa(i32 %c) {
 entry:
-        %tmp.1 = seteq int %c, 0                ; <bool> [#uses=1]
-        br bool %tmp.1, label %return, label %else
-
-else:           ; preds = %entry
-        %tmp.5 = add int %c, -1         ; <int> [#uses=1]
-        %tmp.3 = call int %aaa( int %tmp.5 )            ; <int> [#uses=0]
-        ret int 0
-
-return:         ; preds = %entry
-        ret int 0
+       %tmp.1 = icmp eq i32 %c, 0              ; <i1> [#uses=1]
+       br i1 %tmp.1, label %return, label %else
+else:          ; preds = %entry
+       %tmp.5 = add i32 %c, -1         ; <i32> [#uses=1]
+       %tmp.3 = call i32 @aaa( i32 %tmp.5 )            ; <i32> [#uses=0]
+       ret i32 0
+return:                ; preds = %entry
+       ret i32 0
 }
 
index 98c233255ea809a2ddff6b0588ec4e15704dd343..90a8163ee3213e17ffc52deaea2f436b76657fc1 100644 (file)
@@ -1,12 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | \
+; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | \
 ; RUN:    grep {tail call void @foo}
 
-declare void %foo()
 
+declare void @foo()
 
-void %bar() {
-       call void %foo()
+define void @bar() {
+       call void @foo( )
        ret void
 }
 
-
index e2b979cb003c01980efc9edef3fa3d28e94b00c3..5c3b5394ef46d03aabb14e10ab59f7f43bc9756b 100644 (file)
@@ -1,18 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output
+; RUN: llvm-as < %s | opt -tailduplicate -disable-output
 
-void %motion_result7() {
+define void @motion_result7() {
 entry:
-        br label %endif
-
-endif:
-        %i.1 = phi int [ %inc, %no_exit ], [ 0, %entry ]
-        %inc = add int %i.1, 1
-        br bool false, label %no_exit, label %UnifiedExitNode
-
-no_exit:
-        br bool false, label %UnifiedExitNode, label %endif
-
-UnifiedExitNode:
-        ret void
+       br label %endif
+endif:         ; preds = %no_exit, %entry
+       %i.1 = phi i32 [ %inc, %no_exit ], [ 0, %entry ]                ; <i32> [#uses=1]
+       %inc = add i32 %i.1, 1          ; <i32> [#uses=1]
+       br i1 false, label %no_exit, label %UnifiedExitNode
+no_exit:               ; preds = %endif
+       br i1 false, label %UnifiedExitNode, label %endif
+UnifiedExitNode:               ; preds = %no_exit, %endif
+       ret void
 }
 
index 4d650696baa48b01c3dec301acd65bfa30bab3a2..705f8bcdd652cb6d4053f0019e56293082421f3a 100644 (file)
@@ -1,13 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output
+; RUN: llvm-as < %s | opt -tailduplicate -disable-output
 
-implementation
-
-int %sum() {
+define i32 @sum() {
 entry:
        br label %loopentry
-
-loopentry:
-       %i.0 = phi int [ 1, %entry ], [ %tmp.3, %loopentry ]
-       %tmp.3 = add int %i.0, 1
+loopentry:             ; preds = %loopentry, %entry
+       %i.0 = phi i32 [ 1, %entry ], [ %tmp.3, %loopentry ]            ; <i32> [#uses=1]
+       %tmp.3 = add i32 %i.0, 1                ; <i32> [#uses=1]
        br label %loopentry
 }
+
index 72e03e10c568fa6aba00cb3173360ff6404ff733..1fae77b0892e80139138b6a319c5eb301eee2b36 100644 (file)
@@ -1,40 +1,29 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output
-
-implementation
-
-int %sell_haggle() {
-entry:         ; No predecessors!
-       br bool false, label %then.5, label %UnifiedExitNode
+; RUN: llvm-as < %s | opt -tailduplicate -disable-output
 
+define i32 @sell_haggle() {
+entry:
+       br i1 false, label %then.5, label %UnifiedExitNode
 then.5:                ; preds = %entry
-       br bool false, label %loopentry.1.preheader, label %else.1
-
+       br i1 false, label %loopentry.1.preheader, label %else.1
 else.1:                ; preds = %then.5
        br label %loopentry.1.preheader
-
-loopentry.1.preheader:         ; preds = %then.5, %else.1
-       %final_ask.0 = phi int [ 0, %else.1 ], [ 0, %then.5 ]           ; <int> [#uses=2]
+loopentry.1.preheader:         ; preds = %else.1, %then.5
+       %final_ask.0 = phi i32 [ 0, %else.1 ], [ 0, %then.5 ]           ; <i32> [#uses=2]
        br label %loopentry.1
-
-loopentry.1:           ; preds = %loopentry.1.preheader, %endif.17
-       switch uint 0, label %UnifiedExitNode [
-                uint 2, label %UnifiedExitNode
-                uint 1, label %endif.16
+loopentry.1:           ; preds = %endif.17, %loopentry.1.preheader
+       switch i32 0, label %UnifiedExitNode [
+                i32 2, label %UnifiedExitNode
+                i32 1, label %endif.16
        ]
-
 endif.16:              ; preds = %loopentry.1
-       br bool false, label %then.17, label %UnifiedExitNode
-
+       br i1 false, label %then.17, label %UnifiedExitNode
 then.17:               ; preds = %endif.16
-       br bool false, label %then.18, label %endif.17
-
+       br i1 false, label %then.18, label %endif.17
 then.18:               ; preds = %then.17
-       br bool false, label %endif.17, label %UnifiedExitNode
-
-endif.17:              ; preds = %then.17, %then.18
-       %cur_ask.3 = phi int [ %final_ask.0, %then.17 ], [ %final_ask.0, %then.18 ]             ; <int> [#uses=0]
-       br bool false, label %loopentry.1, label %UnifiedExitNode
-
-UnifiedExitNode:               ; preds = %entry, %endif.17, %then.18, %endif.16, %loopentry.1, %loopentry.1
-       ret int 0
+       br i1 false, label %endif.17, label %UnifiedExitNode
+endif.17:              ; preds = %then.18, %then.17
+       %cur_ask.3 = phi i32 [ %final_ask.0, %then.17 ], [ %final_ask.0, %then.18 ]             ; <i32> [#uses=0]
+       br i1 false, label %loopentry.1, label %UnifiedExitNode
+UnifiedExitNode:               ; preds = %endif.17, %then.18, %endif.16, %loopentry.1, %loopentry.1, %entry
+       ret i32 0
 }
index 416a5df8085f54c827f019707f6b12d732913f37..e46471331d20191e5e1d6e4b1280a890d79acf66 100644 (file)
@@ -1,20 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output
+; RUN: llvm-as < %s | opt -tailduplicate -disable-output
 
-int %foo() {
+define i32 @foo() {
 entry:
        br label %return.i
-
-after_ret.i:
+after_ret.i:           ; No predecessors!
        br label %return.i
-
-return.i:
-       %tmp.3 = cast int* null to int
+return.i:              ; preds = %after_ret.i, %entry
+       %tmp.3 = ptrtoint i32* null to i32              ; <i32> [#uses=1]
        br label %return.i1
-
-after_ret.i1:
+after_ret.i1:          ; No predecessors!
        br label %return.i1
-
-return.i1:
-       %tmp.8 = sub int %tmp.3, 0
-       ret int 0
+return.i1:             ; preds = %after_ret.i1, %return.i
+       %tmp.8 = sub i32 %tmp.3, 0              ; <i32> [#uses=0]
+       ret i32 0
 }
+
index 4ea84909e5d4d79ec7658a8ba3b5930457cfc643..81624ff65f796ad816619e38076b5d42292c82ab 100644 (file)
@@ -1,22 +1,20 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output
+; RUN: llvm-as < %s | opt -tailduplicate -disable-output
 
-void %interpret() {
+define void @interpret() {
 entry:
        br label %retry
-
-retry:
-       %tmp.8 = call int %interp()
-       switch uint 0, label %endif.4 [
-                uint 4294967271, label %return
-                uint 4294967280, label %return
+retry:         ; preds = %endif.4, %entry
+       %tmp.8 = call i32 @interp( )            ; <i32> [#uses=3]
+       switch i32 0, label %endif.4 [
+                i32 -25, label %return
+                i32 -16, label %return
        ]
-
-endif.4:
-       br bool false, label %return, label %retry
-
-return:
-       %result.0 = phi int [ %tmp.8, %retry ], [%tmp.8, %retry], [ %tmp.8, %endif.4 ]
+endif.4:               ; preds = %retry
+       br i1 false, label %return, label %retry
+return:                ; preds = %endif.4, %retry, %retry
+       %result.0 = phi i32 [ %tmp.8, %retry ], [ %tmp.8, %retry ], [ %tmp.8, %endif.4 ]                ; <i32> [#uses=0]
        ret void
 }
 
-declare int %interp()
+declare i32 @interp()
+
index c11d735f1d3d917addd87a84477f9fb7f35e2cde..252bf5610b046dce8f49e2450b471f2628c89c95 100644 (file)
@@ -1,31 +1,27 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate  | llvm-dis | grep add | not grep uses=1
+; RUN: llvm-as < %s | opt -tailduplicate  | llvm-dis | grep add | not grep uses=1
 
-int %test1(bool %C, int %A, int* %P) {
+define i32 @test1(i1 %C, i32 %A, i32* %P) {
 entry:
-        br bool %C, label %L1, label %L2
-
-L1:
-       store int 1, int* %P
-        br label %L2
-
-L2:
-       %X = add int %A, 17
-       ret int %X
+       br i1 %C, label %L1, label %L2
+L1:            ; preds = %entry
+       store i32 1, i32* %P
+       br label %L2
+L2:            ; preds = %L1, %entry
+       %X = add i32 %A, 17             ; <i32> [#uses=1]
+       ret i32 %X
 }
 
-int %test2(bool %C, int %A, int* %P) {
+define i32 @test2(i1 %C, i32 %A, i32* %P) {
 entry:
-        br bool %C, label %L1, label %L2
-
-L1:
-       store int 1, int* %P
-        br label %L3
-
-L2:
-       store int 7, int* %P
+       br i1 %C, label %L1, label %L2
+L1:            ; preds = %entry
+       store i32 1, i32* %P
+       br label %L3
+L2:            ; preds = %entry
+       store i32 7, i32* %P
        br label %L3
-L3:
-       %X = add int %A, 17
-       ret int %X
+L3:            ; preds = %L2, %L1
+       %X = add i32 %A, 17             ; <i32> [#uses=1]
+       ret i32 %X
 }
 
index ae591a00be50e671e68b435cdef0b069bf19ce39..6f86587b24d649d70352c0be87c1b260a07285cc 100644 (file)
@@ -1,20 +1,16 @@
 ; This test checks to make sure phi nodes are updated properly
 ;
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output
+; RUN: llvm-as < %s | opt -tailduplicate -disable-output
 
-
-
-int %test(bool %c, int %X, int %Y) {
+define i32 @test(i1 %c, i32 %X, i32 %Y) {
        br label %L
-
-L:
-       %A = add int %X, %Y
-       br bool %c, label %T, label %F
-
-F:
-       br bool %c, label %L, label %T
-
-T:
-       %V = phi int [%A, %L], [0, %F]
-       ret int %V
+L:             ; preds = %F, %0
+       %A = add i32 %X, %Y             ; <i32> [#uses=1]
+       br i1 %c, label %T, label %F
+F:             ; preds = %L
+       br i1 %c, label %L, label %T
+T:             ; preds = %F, %L
+       %V = phi i32 [ %A, %L ], [ 0, %F ]              ; <i32> [#uses=1]
+       ret i32 %V
 }
+
index 085acf5577d94528b9c7334e1d945cdcb99b3289..ef368906378d754c50a6e603c6d571ecc460049d 100644 (file)
@@ -1,22 +1,20 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output
+; RUN: llvm-as < %s | opt -tailduplicate -disable-output
 
-declare void %__main()
+declare void @__main()
 
-int %main() {
-entry:         ; No predecessors!
-       call void %__main( )
+define i32 @main() {
+entry:
+       call void @__main( )
        br label %loopentry
-
-loopentry:             ; preds = %entry, %no_exit
-       %i.0 = phi int [ %inc, %no_exit ], [ 0, %entry ]                ; <int> [#uses=2]
-       %tmp.1 = setle int %i.0, 99             ; <bool> [#uses=1]
-       br bool %tmp.1, label %no_exit, label %return
-
+loopentry:             ; preds = %no_exit, %entry
+       %i.0 = phi i32 [ %inc, %no_exit ], [ 0, %entry ]                ; <i32> [#uses=3]
+       %tmp.1 = icmp sle i32 %i.0, 99          ; <i1> [#uses=1]
+       br i1 %tmp.1, label %no_exit, label %return
 no_exit:               ; preds = %loopentry
-       %tmp.51 = call int %main( )             ; <int> [#uses=0]
-       %inc = add int %i.0, 1          ; <int> [#uses=1]
+       %tmp.51 = call i32 @main( )             ; <i32> [#uses=0]
+       %inc = add i32 %i.0, 1          ; <i32> [#uses=1]
        br label %loopentry
-
 return:                ; preds = %loopentry
-       ret int %i.0
+       ret i32 %i.0
 }
+
index c67b3d53f0d98560f4d3e597dea2df03b1929eb9..f79d718cdb56c69a77d57b49855ec19c8c1da146 100644 (file)
@@ -1,17 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate -disable-output
+; RUN: llvm-as < %s | opt -tailduplicate -disable-output
 
-void %ab() {
+define void @ab() {
 entry:
        br label %loopentry.5
-
-loopentry.5:
-       %poscnt.1 = phi long [ 0, %entry ], [ %tmp.289, %no_exit.5 ]
-       %tmp.289 = shr long %poscnt.1, ubyte 1
-       br bool false, label %no_exit.5, label %loopexit.5
-
-no_exit.5:
+loopentry.5:           ; preds = %no_exit.5, %entry
+       %poscnt.1 = phi i64 [ 0, %entry ], [ %tmp.289, %no_exit.5 ]             ; <i64> [#uses=1]
+       %tmp.289 = ashr i64 %poscnt.1, 1                ; <i64> [#uses=1]
+       br i1 false, label %no_exit.5, label %loopexit.5
+no_exit.5:             ; preds = %loopentry.5
        br label %loopentry.5
-
-loopexit.5:
+loopexit.5:            ; preds = %loopentry.5
        ret void
 }
+
index 952a2e874e1833705e8e6d69426cf3c2c02b4e74..7c4d9c25ef3e4f5a4918bffd9d116003b82ac9d3 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate | \
+; RUN: llvm-as < %s | opt -tailduplicate | \
 ; RUN:   llc -march=x86 -o %t -f
 ; RUN: grep {\\\<je\\\>} %t
 ; RUN: not grep jmp %t
 ;  if (c & 8)  P[3] = 1;
 ;}
 
-implementation
-
-void %foo(int %c, int* %P) {
+define void @foo(i32 %c, i32* %P) {
 entry:
-        %tmp1 = and int %c, 1           ; <int> [#uses=1]
-        %tmp1 = seteq int %tmp1, 0              ; <bool> [#uses=1]
-        br bool %tmp1, label %cond_next, label %cond_true
-
-cond_true:              ; preds = %entry
-        store int 1, int* %P
-        br label %cond_next
-
-cond_next:              ; preds = %entry, %cond_true
-        %tmp5 = and int %c, 2           ; <int> [#uses=1]
-        %tmp5 = seteq int %tmp5, 0              ; <bool> [#uses=1]
-        br bool %tmp5, label %cond_next10, label %cond_true6
-
-cond_true6:             ; preds = %cond_next
-        %tmp8 = getelementptr int* %P, int 1            ; <int*> [#uses=1]
-        store int 1, int* %tmp8
-        br label %cond_next10
-
-cond_next10:            ; preds = %cond_next, %cond_true6
-        %tmp13 = and int %c, 4          ; <int> [#uses=1]
-        %tmp13 = seteq int %tmp13, 0            ; <bool> [#uses=1]
-        br bool %tmp13, label %cond_next18, label %cond_true14
-
-cond_true14:            ; preds = %cond_next10
-        %tmp16 = getelementptr int* %P, int 2           ; <int*> [#uses=1]
-        store int 1, int* %tmp16
-        br label %cond_next18
-
-cond_next18:            ; preds = %cond_next10, %cond_true14
-        %tmp21 = and int %c, 8          ; <int> [#uses=1]
-        %tmp21 = seteq int %tmp21, 0            ; <bool> [#uses=1]
-        br bool %tmp21, label %return, label %cond_true22
-
-cond_true22:            ; preds = %cond_next18
-        %tmp24 = getelementptr int* %P, int 3           ; <int*> [#uses=1]
-        store int 1, int* %tmp24
-        ret void
-
-return:         ; preds = %cond_next18
-        ret void
+       %tmp1 = and i32 %c, 1           ; <i32> [#uses=1]
+       %tmp1.upgrd.1 = icmp eq i32 %tmp1, 0            ; <i1> [#uses=1]
+       br i1 %tmp1.upgrd.1, label %cond_next, label %cond_true
+cond_true:             ; preds = %entry
+       store i32 1, i32* %P
+       br label %cond_next
+cond_next:             ; preds = %cond_true, %entry
+       %tmp5 = and i32 %c, 2           ; <i32> [#uses=1]
+       %tmp5.upgrd.2 = icmp eq i32 %tmp5, 0            ; <i1> [#uses=1]
+       br i1 %tmp5.upgrd.2, label %cond_next10, label %cond_true6
+cond_true6:            ; preds = %cond_next
+       %tmp8 = getelementptr i32* %P, i32 1            ; <i32*> [#uses=1]
+       store i32 1, i32* %tmp8
+       br label %cond_next10
+cond_next10:           ; preds = %cond_true6, %cond_next
+       %tmp13 = and i32 %c, 4          ; <i32> [#uses=1]
+       %tmp13.upgrd.3 = icmp eq i32 %tmp13, 0          ; <i1> [#uses=1]
+       br i1 %tmp13.upgrd.3, label %cond_next18, label %cond_true14
+cond_true14:           ; preds = %cond_next10
+       %tmp16 = getelementptr i32* %P, i32 2           ; <i32*> [#uses=1]
+       store i32 1, i32* %tmp16
+       br label %cond_next18
+cond_next18:           ; preds = %cond_true14, %cond_next10
+       %tmp21 = and i32 %c, 8          ; <i32> [#uses=1]
+       %tmp21.upgrd.4 = icmp eq i32 %tmp21, 0          ; <i1> [#uses=1]
+       br i1 %tmp21.upgrd.4, label %return, label %cond_true22
+cond_true22:           ; preds = %cond_next18
+       %tmp24 = getelementptr i32* %P, i32 3           ; <i32*> [#uses=1]
+       store i32 1, i32* %tmp24
+       ret void
+return:                ; preds = %cond_next18
+       ret void
 }
-
-
index 36bb9d03dcdce68b83001a7a268ecce406ad5401..427abe02cef70c02aee99ddbacdb5ca19be6c00a 100644 (file)
@@ -1,10 +1,10 @@
-; RUN: llvm-upgrade < %s | not llvm-as |& grep {not verify as correct}
+; RUN: not llvm-as < %s |& grep {not verify as correct}
 ; PR1042
 
-int %foo() {
-   %A = invoke int %foo( )
-        to label %L unwind label %L             ; <int> [#uses=1]
-
-L: ; preds = %0, %0
-   ret int %A
+define i32 @foo() {
+       %A = invoke i32 @foo( )
+                       to label %L unwind label %L             ; <i32> [#uses=1]
+L:             ; preds = %0, %0
+       ret i32 %A
 }
+
index e544eed87ca2751c6980836cc68d871613bb2593..27375fa7f5a89a1285d39f9c0fecbfaebcb1af07 100644 (file)
@@ -1,13 +1,14 @@
-; RUN: llvm-upgrade < %s | not llvm-as -f |& grep {not verify as correct}
+; RUN: not llvm-as < %s -f |& grep {not verify as correct}
 ; PR1042
 
-int %foo() {
-        br bool false, label %L1, label %L2
-L1:
-        %A = invoke int %foo() to label %L unwind label %L
-
-L2:
-        br label %L
-L:
-        ret int %A
+define i32 @foo() {
+       br i1 false, label %L1, label %L2
+L1:            ; preds = %0
+       %A = invoke i32 @foo( )
+                       to label %L unwind label %L             ; <i32> [#uses=1]
+L2:            ; preds = %0
+       br label %L
+L:             ; preds = %L2, %L1, %L1
+       ret i32 %A
 }
+