mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 15:17:25 +00:00
[opaque pointer type] Add textual IR support for explicit type parameter to load instruction
Essentially the same as the GEP change in r230786.
A similar migration script can be used to update test cases, though a few more
test case improvements/changes were required this time around: (r229269-r229278)
import fileinput
import sys
import re
pat = re.compile(r"((?:=|:|^)\s*load (?:atomic )?(?:volatile )?(.*?))(| addrspace\(\d+\) *)\*($| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$)")
for line in sys.stdin:
sys.stdout.write(re.sub(pat, r"\1, \2\3*\4", line))
Reviewers: rafael, dexonsmith, grosser
Differential Revision: http://reviews.llvm.org/D7649
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230794 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -45,7 +45,7 @@ then.4: ; preds = %_ZNK7QString2atEi.exit
|
||||
ret void
|
||||
|
||||
endif.4: ; preds = %_ZNK7QString2atEi.exit
|
||||
%tmp.115 = load i8* null ; <i8> [#uses=1]
|
||||
%tmp.115 = load i8, i8* null ; <i8> [#uses=1]
|
||||
br i1 false, label %loopexit.1, label %no_exit.0
|
||||
|
||||
no_exit.0: ; preds = %no_exit.0, %endif.4
|
||||
|
||||
@@ -6,9 +6,9 @@ endif.0:
|
||||
|
||||
no_exit.30: ; preds = %no_exit.30, %endif.0
|
||||
%x.12.0 = phi i32 [ %inc.28, %no_exit.30 ], [ -2, %endif.0 ] ; <i32> [#uses=1]
|
||||
%tmp.583 = load i16* null ; <i16> [#uses=1]
|
||||
%tmp.583 = load i16, i16* null ; <i16> [#uses=1]
|
||||
%tmp.584 = zext i16 %tmp.583 to i32 ; <i32> [#uses=1]
|
||||
%tmp.588 = load i32* null ; <i32> [#uses=1]
|
||||
%tmp.588 = load i32, i32* null ; <i32> [#uses=1]
|
||||
%tmp.589 = mul i32 %tmp.584, %tmp.588 ; <i32> [#uses=1]
|
||||
%tmp.591 = add i32 %tmp.589, 0 ; <i32> [#uses=1]
|
||||
%inc.28 = add i32 %x.12.0, 1 ; <i32> [#uses=2]
|
||||
|
||||
@@ -25,7 +25,7 @@ cond_true: ; preds = %bb2
|
||||
|
||||
cond_next: ; preds = %bb2
|
||||
%tmp2 = getelementptr [5 x i8], [5 x i8]* @foo, i32 0, i32 %i.0 ; <i8*> [#uses=1]
|
||||
%tmp3 = load i8* %tmp2 ; <i8> [#uses=1]
|
||||
%tmp3 = load i8, i8* %tmp2 ; <i8> [#uses=1]
|
||||
%tmp5 = icmp eq i8 %tmp3, 0 ; <i1> [#uses=1]
|
||||
br i1 %tmp5, label %bb6, label %bb
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
define signext i16 @ExtractBufferedBlocksIgnored(%struct.JPEGGlobals* %globp) nounwind {
|
||||
entry:
|
||||
%tmp4311 = getelementptr %struct.JPEGGlobals, %struct.JPEGGlobals* %globp, i32 0, i32 70 ; <i32*> [#uses=1]
|
||||
%tmp4412 = load i32* %tmp4311, align 16 ; <i32> [#uses=2]
|
||||
%tmp4412 = load i32, i32* %tmp4311, align 16 ; <i32> [#uses=2]
|
||||
%tmp4613 = icmp sgt i32 %tmp4412, 0 ; <i1> [#uses=1]
|
||||
br i1 %tmp4613, label %bb, label %bb49
|
||||
|
||||
@@ -27,9 +27,9 @@ bb: ; preds = %bb28, %entry
|
||||
%component.09 = phi i16 [ 0, %entry ], [ %tmp37, %bb28 ] ; <i16> [#uses=2]
|
||||
%tmp12 = sext i16 %component.09 to i32 ; <i32> [#uses=2]
|
||||
%tmp6 = getelementptr %struct.JPEGGlobals, %struct.JPEGGlobals* %globp, i32 0, i32 77, i32 %tmp12 ; <i16**> [#uses=2]
|
||||
%tmp7 = load i16** %tmp6, align 4 ; <i16*> [#uses=2]
|
||||
%tmp7 = load i16*, i16** %tmp6, align 4 ; <i16*> [#uses=2]
|
||||
%tmp235 = getelementptr %struct.JPEGGlobals, %struct.JPEGGlobals* %globp, i32 0, i32 71, i32 %tmp12 ; <i32*> [#uses=1]
|
||||
%tmp246 = load i32* %tmp235, align 4 ; <i32> [#uses=2]
|
||||
%tmp246 = load i32, i32* %tmp235, align 4 ; <i32> [#uses=2]
|
||||
%tmp267 = icmp sgt i32 %tmp246, 0 ; <i1> [#uses=1]
|
||||
br i1 %tmp267, label %bb8, label %bb28
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ entry:
|
||||
br i1 false, label %bb.nph, label %return
|
||||
|
||||
bb.nph: ; preds = %entry
|
||||
%0 = load i32* @foo, align 4 ; <i32> [#uses=1]
|
||||
%0 = load i32, i32* @foo, align 4 ; <i32> [#uses=1]
|
||||
%1 = sext i32 %0 to i64 ; <i64> [#uses=1]
|
||||
br label %bb
|
||||
|
||||
|
||||
@@ -15,92 +15,92 @@ bb1.thread:
|
||||
|
||||
bb1: ; preds = %bb1, %bb1.thread
|
||||
%i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %84, %bb1 ] ; <i32> [#uses=19]
|
||||
%0 = load i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%1 = load i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%0 = load i32*, i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%1 = load i32*, i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%2 = sext i32 %i.0.reg2mem.0 to i64 ; <i64> [#uses=1]
|
||||
%3 = getelementptr i32, i32* %1, i64 %2 ; <i32*> [#uses=1]
|
||||
%4 = load i32* %3, align 1 ; <i32> [#uses=1]
|
||||
%5 = load i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%4 = load i32, i32* %3, align 1 ; <i32> [#uses=1]
|
||||
%5 = load i32*, i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%6 = sext i32 %i.0.reg2mem.0 to i64 ; <i64> [#uses=1]
|
||||
%7 = getelementptr i32, i32* %5, i64 %6 ; <i32*> [#uses=1]
|
||||
%8 = load i32* %7, align 1 ; <i32> [#uses=1]
|
||||
%8 = load i32, i32* %7, align 1 ; <i32> [#uses=1]
|
||||
%9 = add i32 %8, %4 ; <i32> [#uses=1]
|
||||
%10 = sext i32 %i.0.reg2mem.0 to i64 ; <i64> [#uses=1]
|
||||
%11 = getelementptr i32, i32* %0, i64 %10 ; <i32*> [#uses=1]
|
||||
store i32 %9, i32* %11, align 1
|
||||
%12 = load i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%12 = load i32*, i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%13 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%14 = load i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%14 = load i32*, i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%15 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%16 = sext i32 %15 to i64 ; <i64> [#uses=1]
|
||||
%17 = getelementptr i32, i32* %14, i64 %16 ; <i32*> [#uses=1]
|
||||
%18 = load i32* %17, align 1 ; <i32> [#uses=1]
|
||||
%19 = load i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%18 = load i32, i32* %17, align 1 ; <i32> [#uses=1]
|
||||
%19 = load i32*, i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%20 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%21 = sext i32 %20 to i64 ; <i64> [#uses=1]
|
||||
%22 = getelementptr i32, i32* %19, i64 %21 ; <i32*> [#uses=1]
|
||||
%23 = load i32* %22, align 1 ; <i32> [#uses=1]
|
||||
%23 = load i32, i32* %22, align 1 ; <i32> [#uses=1]
|
||||
%24 = add i32 %23, %18 ; <i32> [#uses=1]
|
||||
%25 = sext i32 %13 to i64 ; <i64> [#uses=1]
|
||||
%26 = getelementptr i32, i32* %12, i64 %25 ; <i32*> [#uses=1]
|
||||
store i32 %24, i32* %26, align 1
|
||||
%27 = load i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%27 = load i32*, i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%28 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%29 = load i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%29 = load i32*, i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%30 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%31 = sext i32 %30 to i64 ; <i64> [#uses=1]
|
||||
%32 = getelementptr i32, i32* %29, i64 %31 ; <i32*> [#uses=1]
|
||||
%33 = load i32* %32, align 1 ; <i32> [#uses=1]
|
||||
%34 = load i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%33 = load i32, i32* %32, align 1 ; <i32> [#uses=1]
|
||||
%34 = load i32*, i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%35 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%36 = sext i32 %35 to i64 ; <i64> [#uses=1]
|
||||
%37 = getelementptr i32, i32* %34, i64 %36 ; <i32*> [#uses=1]
|
||||
%38 = load i32* %37, align 1 ; <i32> [#uses=1]
|
||||
%38 = load i32, i32* %37, align 1 ; <i32> [#uses=1]
|
||||
%39 = add i32 %38, %33 ; <i32> [#uses=1]
|
||||
%40 = sext i32 %28 to i64 ; <i64> [#uses=1]
|
||||
%41 = getelementptr i32, i32* %27, i64 %40 ; <i32*> [#uses=1]
|
||||
store i32 %39, i32* %41, align 1
|
||||
%42 = load i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%43 = load i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%42 = load i32*, i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%43 = load i32*, i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%44 = sext i32 %i.0.reg2mem.0 to i64 ; <i64> [#uses=1]
|
||||
%45 = getelementptr i32, i32* %43, i64 %44 ; <i32*> [#uses=1]
|
||||
%46 = load i32* %45, align 1 ; <i32> [#uses=1]
|
||||
%47 = load i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%46 = load i32, i32* %45, align 1 ; <i32> [#uses=1]
|
||||
%47 = load i32*, i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%48 = sext i32 %i.0.reg2mem.0 to i64 ; <i64> [#uses=1]
|
||||
%49 = getelementptr i32, i32* %47, i64 %48 ; <i32*> [#uses=1]
|
||||
%50 = load i32* %49, align 1 ; <i32> [#uses=1]
|
||||
%50 = load i32, i32* %49, align 1 ; <i32> [#uses=1]
|
||||
%51 = add i32 %50, %46 ; <i32> [#uses=1]
|
||||
%52 = sext i32 %i.0.reg2mem.0 to i64 ; <i64> [#uses=1]
|
||||
%53 = getelementptr i32, i32* %42, i64 %52 ; <i32*> [#uses=1]
|
||||
store i32 %51, i32* %53, align 1
|
||||
%54 = load i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%54 = load i32*, i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%55 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%56 = load i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%56 = load i32*, i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%57 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%58 = sext i32 %57 to i64 ; <i64> [#uses=1]
|
||||
%59 = getelementptr i32, i32* %56, i64 %58 ; <i32*> [#uses=1]
|
||||
%60 = load i32* %59, align 1 ; <i32> [#uses=1]
|
||||
%61 = load i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%60 = load i32, i32* %59, align 1 ; <i32> [#uses=1]
|
||||
%61 = load i32*, i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%62 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%63 = sext i32 %62 to i64 ; <i64> [#uses=1]
|
||||
%64 = getelementptr i32, i32* %61, i64 %63 ; <i32*> [#uses=1]
|
||||
%65 = load i32* %64, align 1 ; <i32> [#uses=1]
|
||||
%65 = load i32, i32* %64, align 1 ; <i32> [#uses=1]
|
||||
%66 = add i32 %65, %60 ; <i32> [#uses=1]
|
||||
%67 = sext i32 %55 to i64 ; <i64> [#uses=1]
|
||||
%68 = getelementptr i32, i32* %54, i64 %67 ; <i32*> [#uses=1]
|
||||
store i32 %66, i32* %68, align 1
|
||||
%69 = load i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%69 = load i32*, i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%70 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%71 = load i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%71 = load i32*, i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%72 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%73 = sext i32 %72 to i64 ; <i64> [#uses=1]
|
||||
%74 = getelementptr i32, i32* %71, i64 %73 ; <i32*> [#uses=1]
|
||||
%75 = load i32* %74, align 1 ; <i32> [#uses=1]
|
||||
%76 = load i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%75 = load i32, i32* %74, align 1 ; <i32> [#uses=1]
|
||||
%76 = load i32*, i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%77 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%78 = sext i32 %77 to i64 ; <i64> [#uses=1]
|
||||
%79 = getelementptr i32, i32* %76, i64 %78 ; <i32*> [#uses=1]
|
||||
%80 = load i32* %79, align 1 ; <i32> [#uses=1]
|
||||
%80 = load i32, i32* %79, align 1 ; <i32> [#uses=1]
|
||||
%81 = add i32 %80, %75 ; <i32> [#uses=1]
|
||||
%82 = sext i32 %70 to i64 ; <i64> [#uses=1]
|
||||
%83 = getelementptr i32, i32* %69, i64 %82 ; <i32*> [#uses=1]
|
||||
|
||||
@@ -29,123 +29,123 @@ bb1.thread:
|
||||
|
||||
bb1: ; preds = %bb1, %bb1.thread
|
||||
%i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %116, %bb1 ] ; <i32> [#uses=22]
|
||||
%0 = load i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%0 = load i32*, i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%1 = and i32 %i.0.reg2mem.0, 15 ; <i32> [#uses=1]
|
||||
%2 = load i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%2 = load i32*, i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%3 = and i32 %i.0.reg2mem.0, 15 ; <i32> [#uses=1]
|
||||
%4 = zext i32 %3 to i64 ; <i64> [#uses=1]
|
||||
%5 = getelementptr i32, i32* %2, i64 %4 ; <i32*> [#uses=1]
|
||||
%6 = load i32* %5, align 1 ; <i32> [#uses=1]
|
||||
%7 = load i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%6 = load i32, i32* %5, align 1 ; <i32> [#uses=1]
|
||||
%7 = load i32*, i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%8 = and i32 %i.0.reg2mem.0, 15 ; <i32> [#uses=1]
|
||||
%9 = zext i32 %8 to i64 ; <i64> [#uses=1]
|
||||
%10 = getelementptr i32, i32* %7, i64 %9 ; <i32*> [#uses=1]
|
||||
%11 = load i32* %10, align 1 ; <i32> [#uses=1]
|
||||
%11 = load i32, i32* %10, align 1 ; <i32> [#uses=1]
|
||||
%12 = add i32 %11, %6 ; <i32> [#uses=1]
|
||||
%13 = zext i32 %1 to i64 ; <i64> [#uses=1]
|
||||
%14 = getelementptr i32, i32* %0, i64 %13 ; <i32*> [#uses=1]
|
||||
store i32 %12, i32* %14, align 1
|
||||
%15 = load i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%15 = load i32*, i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%16 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%17 = and i32 %16, 15 ; <i32> [#uses=1]
|
||||
%18 = load i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%18 = load i32*, i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%19 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%20 = and i32 %19, 15 ; <i32> [#uses=1]
|
||||
%21 = zext i32 %20 to i64 ; <i64> [#uses=1]
|
||||
%22 = getelementptr i32, i32* %18, i64 %21 ; <i32*> [#uses=1]
|
||||
%23 = load i32* %22, align 1 ; <i32> [#uses=1]
|
||||
%24 = load i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%23 = load i32, i32* %22, align 1 ; <i32> [#uses=1]
|
||||
%24 = load i32*, i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%25 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%26 = and i32 %25, 15 ; <i32> [#uses=1]
|
||||
%27 = zext i32 %26 to i64 ; <i64> [#uses=1]
|
||||
%28 = getelementptr i32, i32* %24, i64 %27 ; <i32*> [#uses=1]
|
||||
%29 = load i32* %28, align 1 ; <i32> [#uses=1]
|
||||
%29 = load i32, i32* %28, align 1 ; <i32> [#uses=1]
|
||||
%30 = add i32 %29, %23 ; <i32> [#uses=1]
|
||||
%31 = zext i32 %17 to i64 ; <i64> [#uses=1]
|
||||
%32 = getelementptr i32, i32* %15, i64 %31 ; <i32*> [#uses=1]
|
||||
store i32 %30, i32* %32, align 1
|
||||
%33 = load i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%33 = load i32*, i32** @a, align 8 ; <i32*> [#uses=1]
|
||||
%34 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%35 = and i32 %34, 15 ; <i32> [#uses=1]
|
||||
%36 = load i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%36 = load i32*, i32** @b, align 8 ; <i32*> [#uses=1]
|
||||
%37 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%38 = and i32 %37, 15 ; <i32> [#uses=1]
|
||||
%39 = zext i32 %38 to i64 ; <i64> [#uses=1]
|
||||
%40 = getelementptr i32, i32* %36, i64 %39 ; <i32*> [#uses=1]
|
||||
%41 = load i32* %40, align 1 ; <i32> [#uses=1]
|
||||
%42 = load i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%41 = load i32, i32* %40, align 1 ; <i32> [#uses=1]
|
||||
%42 = load i32*, i32** @c, align 8 ; <i32*> [#uses=1]
|
||||
%43 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%44 = and i32 %43, 15 ; <i32> [#uses=1]
|
||||
%45 = zext i32 %44 to i64 ; <i64> [#uses=1]
|
||||
%46 = getelementptr i32, i32* %42, i64 %45 ; <i32*> [#uses=1]
|
||||
%47 = load i32* %46, align 1 ; <i32> [#uses=1]
|
||||
%47 = load i32, i32* %46, align 1 ; <i32> [#uses=1]
|
||||
%48 = add i32 %47, %41 ; <i32> [#uses=1]
|
||||
%49 = zext i32 %35 to i64 ; <i64> [#uses=1]
|
||||
%50 = getelementptr i32, i32* %33, i64 %49 ; <i32*> [#uses=1]
|
||||
store i32 %48, i32* %50, align 1
|
||||
%51 = load i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%51 = load i32*, i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%52 = and i32 %i.0.reg2mem.0, 15 ; <i32> [#uses=1]
|
||||
%53 = load i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%53 = load i32*, i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%54 = and i32 %i.0.reg2mem.0, 15 ; <i32> [#uses=1]
|
||||
%55 = zext i32 %54 to i64 ; <i64> [#uses=1]
|
||||
%56 = getelementptr i32, i32* %53, i64 %55 ; <i32*> [#uses=1]
|
||||
%57 = load i32* %56, align 1 ; <i32> [#uses=1]
|
||||
%58 = load i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%57 = load i32, i32* %56, align 1 ; <i32> [#uses=1]
|
||||
%58 = load i32*, i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%59 = and i32 %i.0.reg2mem.0, 15 ; <i32> [#uses=1]
|
||||
%60 = zext i32 %59 to i64 ; <i64> [#uses=1]
|
||||
%61 = getelementptr i32, i32* %58, i64 %60 ; <i32*> [#uses=1]
|
||||
%62 = load i32* %61, align 1 ; <i32> [#uses=1]
|
||||
%62 = load i32, i32* %61, align 1 ; <i32> [#uses=1]
|
||||
%63 = sext i32 %i.0.reg2mem.0 to i64 ; <i64> [#uses=1]
|
||||
%64 = getelementptr [256 x i32], [256 x i32]* @K, i64 0, i64 %63 ; <i32*> [#uses=1]
|
||||
%65 = load i32* %64, align 4 ; <i32> [#uses=1]
|
||||
%65 = load i32, i32* %64, align 4 ; <i32> [#uses=1]
|
||||
%66 = add i32 %62, %57 ; <i32> [#uses=1]
|
||||
%67 = add i32 %66, %65 ; <i32> [#uses=1]
|
||||
%68 = zext i32 %52 to i64 ; <i64> [#uses=1]
|
||||
%69 = getelementptr i32, i32* %51, i64 %68 ; <i32*> [#uses=1]
|
||||
store i32 %67, i32* %69, align 1
|
||||
%70 = load i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%70 = load i32*, i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%71 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%72 = and i32 %71, 15 ; <i32> [#uses=1]
|
||||
%73 = load i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%73 = load i32*, i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%74 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%75 = and i32 %74, 15 ; <i32> [#uses=1]
|
||||
%76 = zext i32 %75 to i64 ; <i64> [#uses=1]
|
||||
%77 = getelementptr i32, i32* %73, i64 %76 ; <i32*> [#uses=1]
|
||||
%78 = load i32* %77, align 1 ; <i32> [#uses=1]
|
||||
%79 = load i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%78 = load i32, i32* %77, align 1 ; <i32> [#uses=1]
|
||||
%79 = load i32*, i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%80 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%81 = and i32 %80, 15 ; <i32> [#uses=1]
|
||||
%82 = zext i32 %81 to i64 ; <i64> [#uses=1]
|
||||
%83 = getelementptr i32, i32* %79, i64 %82 ; <i32*> [#uses=1]
|
||||
%84 = load i32* %83, align 1 ; <i32> [#uses=1]
|
||||
%84 = load i32, i32* %83, align 1 ; <i32> [#uses=1]
|
||||
%85 = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=1]
|
||||
%86 = sext i32 %85 to i64 ; <i64> [#uses=1]
|
||||
%87 = getelementptr [256 x i32], [256 x i32]* @K, i64 0, i64 %86 ; <i32*> [#uses=1]
|
||||
%88 = load i32* %87, align 4 ; <i32> [#uses=1]
|
||||
%88 = load i32, i32* %87, align 4 ; <i32> [#uses=1]
|
||||
%89 = add i32 %84, %78 ; <i32> [#uses=1]
|
||||
%90 = add i32 %89, %88 ; <i32> [#uses=1]
|
||||
%91 = zext i32 %72 to i64 ; <i64> [#uses=1]
|
||||
%92 = getelementptr i32, i32* %70, i64 %91 ; <i32*> [#uses=1]
|
||||
store i32 %90, i32* %92, align 1
|
||||
%93 = load i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%93 = load i32*, i32** @d, align 8 ; <i32*> [#uses=1]
|
||||
%94 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%95 = and i32 %94, 15 ; <i32> [#uses=1]
|
||||
%96 = load i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%96 = load i32*, i32** @e, align 8 ; <i32*> [#uses=1]
|
||||
%97 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%98 = and i32 %97, 15 ; <i32> [#uses=1]
|
||||
%99 = zext i32 %98 to i64 ; <i64> [#uses=1]
|
||||
%100 = getelementptr i32, i32* %96, i64 %99 ; <i32*> [#uses=1]
|
||||
%101 = load i32* %100, align 1 ; <i32> [#uses=1]
|
||||
%102 = load i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%101 = load i32, i32* %100, align 1 ; <i32> [#uses=1]
|
||||
%102 = load i32*, i32** @f, align 8 ; <i32*> [#uses=1]
|
||||
%103 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%104 = and i32 %103, 15 ; <i32> [#uses=1]
|
||||
%105 = zext i32 %104 to i64 ; <i64> [#uses=1]
|
||||
%106 = getelementptr i32, i32* %102, i64 %105 ; <i32*> [#uses=1]
|
||||
%107 = load i32* %106, align 1 ; <i32> [#uses=1]
|
||||
%107 = load i32, i32* %106, align 1 ; <i32> [#uses=1]
|
||||
%108 = add i32 %i.0.reg2mem.0, 2 ; <i32> [#uses=1]
|
||||
%109 = sext i32 %108 to i64 ; <i64> [#uses=1]
|
||||
%110 = getelementptr [256 x i32], [256 x i32]* @K, i64 0, i64 %109 ; <i32*> [#uses=1]
|
||||
%111 = load i32* %110, align 4 ; <i32> [#uses=1]
|
||||
%111 = load i32, i32* %110, align 4 ; <i32> [#uses=1]
|
||||
%112 = add i32 %107, %101 ; <i32> [#uses=1]
|
||||
%113 = add i32 %112, %111 ; <i32> [#uses=1]
|
||||
%114 = zext i32 %95 to i64 ; <i64> [#uses=1]
|
||||
|
||||
@@ -18,7 +18,7 @@ for.body:
|
||||
%add174 = add nsw i32 %i2.115, %x
|
||||
%idxprom177 = sext i32 %add174 to i64
|
||||
%arrayidx179 = getelementptr inbounds double, double* %data, i64 %idxprom177
|
||||
%tmp180 = load double* %arrayidx179, align 8
|
||||
%tmp180 = load double, double* %arrayidx179, align 8
|
||||
%add249 = add nsw i32 %i2.115, %y
|
||||
%cmp168 = icmp sgt i32 %add249, %n
|
||||
br i1 %cmp168, label %exit, label %for.body
|
||||
|
||||
@@ -26,7 +26,7 @@ loop:
|
||||
%p.01.us.us = phi i8* [ null, %preheader ], [ %gep, %loop ]
|
||||
%s = phi i8 [0, %preheader], [%snext, %loop]
|
||||
%gep = getelementptr inbounds i8, i8* %p.01.us.us, i64 1
|
||||
%snext = load i8* %gep
|
||||
%snext = load i8, i8* %gep
|
||||
%cmp = icmp ult i8* %gep, %end
|
||||
br i1 %cmp, label %loop, label %exit
|
||||
|
||||
@@ -51,7 +51,7 @@ loop:
|
||||
%p.01.us.us = phi i8* [ %buf, %preheader ], [ %gep, %loop ]
|
||||
%s = phi i8 [0, %preheader], [%snext, %loop]
|
||||
%gep = getelementptr inbounds i8, i8* %p.01.us.us, i64 1
|
||||
%snext = load i8* %gep
|
||||
%snext = load i8, i8* %gep
|
||||
%cmp = icmp ult i8* %gep, %end
|
||||
br i1 %cmp, label %loop, label %exit
|
||||
|
||||
@@ -80,7 +80,7 @@ loop:
|
||||
%iv = phi i32 [ 0, %preheader ], [ %ivnext, %loop ]
|
||||
%s = phi i8 [0, %preheader], [%snext, %loop]
|
||||
%gep = getelementptr inbounds i8, i8* %p.01.us.us, i64 1
|
||||
%snext = load i8* %gep
|
||||
%snext = load i8, i8* %gep
|
||||
%ivnext = add i32 %iv, 1
|
||||
%cmp = icmp ult i32 %ivnext, %cnt
|
||||
br i1 %cmp, label %loop, label %exit
|
||||
@@ -110,7 +110,7 @@ loop:
|
||||
%iv = phi i32 [ %bi, %preheader ], [ %ivnext, %loop ]
|
||||
%s = phi i8 [0, %preheader], [%snext, %loop]
|
||||
%gep = getelementptr inbounds i8, i8* %p.01.us.us, i64 1
|
||||
%snext = load i8* %gep
|
||||
%snext = load i8, i8* %gep
|
||||
%ivnext = add i32 %iv, 1
|
||||
%cmp = icmp ult i32 %ivnext, %cnt
|
||||
br i1 %cmp, label %loop, label %exit
|
||||
|
||||
@@ -35,6 +35,6 @@ early.exit:
|
||||
|
||||
if.end:
|
||||
%tmp = phi i32* [ %first.lcssa, %early.exit ], [ %first, %if.then ], [ %first, %entry ], [ undef, %if.else ]
|
||||
%val = load i32* %tmp
|
||||
%val = load i32, i32* %tmp
|
||||
ret i32 %val
|
||||
}
|
||||
|
||||
@@ -13,9 +13,9 @@ entry:
|
||||
br i1 undef, label %for.end12, label %for.cond.preheader
|
||||
|
||||
for.cond.preheader: ; preds = %entry
|
||||
%0 = load i32*** @c, align 8
|
||||
%1 = load i32** %0, align 8
|
||||
%2 = load i32* %1, align 4
|
||||
%0 = load i32**, i32*** @c, align 8
|
||||
%1 = load i32*, i32** %0, align 8
|
||||
%2 = load i32, i32* %1, align 4
|
||||
br label %for.body
|
||||
|
||||
for.body: ; preds = %for.cond.backedge, %for.body9.us, %for.cond.preheader
|
||||
@@ -26,7 +26,7 @@ for.body: ; preds = %for.cond.backedge,
|
||||
br i1 %tobool1, label %if.end, label %for.cond.backedge
|
||||
|
||||
if.end: ; preds = %for.body
|
||||
%5 = load i32* %3, align 4
|
||||
%5 = load i32, i32* %3, align 4
|
||||
%tobool4 = icmp eq i32 %5, 0
|
||||
br i1 %tobool4, label %for.cond3, label %for.body9.preheader
|
||||
|
||||
@@ -35,8 +35,8 @@ for.body9.preheader: ; preds = %if.end
|
||||
br i1 %tobool8, label %for.body9.us, label %for.body9
|
||||
|
||||
for.body9.us: ; preds = %for.body9.preheader
|
||||
%6 = load i32** undef, align 8
|
||||
%7 = load i32* %6, align 4
|
||||
%6 = load i32*, i32** undef, align 8
|
||||
%7 = load i32, i32* %6, align 4
|
||||
br label %for.body
|
||||
|
||||
for.cond3: ; preds = %for.cond3, %if.end
|
||||
|
||||
@@ -31,8 +31,8 @@ bb2: ; preds = %bb1, %entry
|
||||
%.pn2 = zext i32 %.pn2.in to i64 ; <i64> [#uses=1]
|
||||
%.pn.in = getelementptr [0 x float], [0 x float]* %pow_2_tab.pn, i64 0, i64 %.pn3 ; <float*> [#uses=1]
|
||||
%.pn1.in = getelementptr [0 x float], [0 x float]* %pow_2_025_tab.pn, i64 0, i64 %.pn2 ; <float*> [#uses=1]
|
||||
%.pn = load float* %.pn.in ; <float> [#uses=1]
|
||||
%.pn1 = load float* %.pn1.in ; <float> [#uses=1]
|
||||
%.pn = load float, float* %.pn.in ; <float> [#uses=1]
|
||||
%.pn1 = load float, float* %.pn1.in ; <float> [#uses=1]
|
||||
%invQuantizer.0 = fmul float %.pn, %.pn1 ; <float> [#uses=4]
|
||||
%t3 = ashr i32 %noOfLines, 2 ; <i32> [#uses=1]
|
||||
%t4 = icmp sgt i32 %t3, 0 ; <i1> [#uses=1]
|
||||
@@ -47,31 +47,31 @@ bb3: ; preds = %bb4, %bb.nph
|
||||
%k.04 = phi i32 [ %t48, %bb4 ], [ 0, %bb.nph ] ; <i32> [#uses=1]
|
||||
%t6 = sext i32 %i.05 to i64 ; <i64> [#uses=1]
|
||||
%t7 = getelementptr i32, i32* %quaSpectrum, i64 %t6 ; <i32*> [#uses=1]
|
||||
%t8 = load i32* %t7, align 4 ; <i32> [#uses=1]
|
||||
%t8 = load i32, i32* %t7, align 4 ; <i32> [#uses=1]
|
||||
%t9 = zext i32 %t8 to i64 ; <i64> [#uses=1]
|
||||
%t10 = getelementptr float, float* %pow4_3_tab_ptr, i64 %t9 ; <float*> [#uses=1]
|
||||
%t11 = load float* %t10, align 4 ; <float> [#uses=1]
|
||||
%t11 = load float, float* %t10, align 4 ; <float> [#uses=1]
|
||||
%t12 = or i32 %i.05, 1 ; <i32> [#uses=1]
|
||||
%t13 = sext i32 %t12 to i64 ; <i64> [#uses=1]
|
||||
%t14 = getelementptr i32, i32* %quaSpectrum, i64 %t13 ; <i32*> [#uses=1]
|
||||
%t15 = load i32* %t14, align 4 ; <i32> [#uses=1]
|
||||
%t15 = load i32, i32* %t14, align 4 ; <i32> [#uses=1]
|
||||
%t16 = zext i32 %t15 to i64 ; <i64> [#uses=1]
|
||||
%t17 = getelementptr float, float* %pow4_3_tab_ptr, i64 %t16 ; <float*> [#uses=1]
|
||||
%t18 = load float* %t17, align 4 ; <float> [#uses=1]
|
||||
%t18 = load float, float* %t17, align 4 ; <float> [#uses=1]
|
||||
%t19 = or i32 %i.05, 2 ; <i32> [#uses=1]
|
||||
%t20 = sext i32 %t19 to i64 ; <i64> [#uses=1]
|
||||
%t21 = getelementptr i32, i32* %quaSpectrum, i64 %t20 ; <i32*> [#uses=1]
|
||||
%t22 = load i32* %t21, align 4 ; <i32> [#uses=1]
|
||||
%t22 = load i32, i32* %t21, align 4 ; <i32> [#uses=1]
|
||||
%t23 = zext i32 %t22 to i64 ; <i64> [#uses=1]
|
||||
%t24 = getelementptr float, float* %pow4_3_tab_ptr, i64 %t23 ; <float*> [#uses=1]
|
||||
%t25 = load float* %t24, align 4 ; <float> [#uses=1]
|
||||
%t25 = load float, float* %t24, align 4 ; <float> [#uses=1]
|
||||
%t26 = or i32 %i.05, 3 ; <i32> [#uses=1]
|
||||
%t27 = sext i32 %t26 to i64 ; <i64> [#uses=1]
|
||||
%t28 = getelementptr i32, i32* %quaSpectrum, i64 %t27 ; <i32*> [#uses=1]
|
||||
%t29 = load i32* %t28, align 4 ; <i32> [#uses=1]
|
||||
%t29 = load i32, i32* %t28, align 4 ; <i32> [#uses=1]
|
||||
%t30 = zext i32 %t29 to i64 ; <i64> [#uses=1]
|
||||
%t31 = getelementptr float, float* %pow4_3_tab_ptr, i64 %t30 ; <float*> [#uses=1]
|
||||
%t32 = load float* %t31, align 4 ; <float> [#uses=1]
|
||||
%t32 = load float, float* %t31, align 4 ; <float> [#uses=1]
|
||||
%t33 = fmul float %t11, %invQuantizer.0 ; <float> [#uses=1]
|
||||
%t34 = sext i32 %i.05 to i64 ; <i64> [#uses=1]
|
||||
%t35 = getelementptr float, float* %iquaSpectrum, i64 %t34 ; <float*> [#uses=1]
|
||||
|
||||
@@ -34,25 +34,25 @@ entry:
|
||||
%"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
|
||||
store i32 %_si1, i32* %_si1_addr
|
||||
store i8 %_si2, i8* %_si2_addr
|
||||
%1 = load i8* %_si2_addr, align 1 ; <i8> [#uses=1]
|
||||
%1 = load i8, i8* %_si2_addr, align 1 ; <i8> [#uses=1]
|
||||
%2 = sext i8 %1 to i32 ; <i32> [#uses=1]
|
||||
%3 = load i32* %_si1_addr, align 4 ; <i32> [#uses=1]
|
||||
%3 = load i32, i32* %_si1_addr, align 4 ; <i32> [#uses=1]
|
||||
%4 = xor i32 %2, %3 ; <i32> [#uses=1]
|
||||
%5 = load i8* %_si2_addr, align 1 ; <i8> [#uses=1]
|
||||
%5 = load i8, i8* %_si2_addr, align 1 ; <i8> [#uses=1]
|
||||
%6 = sext i8 %5 to i32 ; <i32> [#uses=1]
|
||||
%7 = sub i32 7, %6 ; <i32> [#uses=1]
|
||||
%8 = load i32* %_si1_addr, align 4 ; <i32> [#uses=1]
|
||||
%8 = load i32, i32* %_si1_addr, align 4 ; <i32> [#uses=1]
|
||||
%9 = shl i32 %8, %7 ; <i32> [#uses=1]
|
||||
%10 = and i32 %4, %9 ; <i32> [#uses=1]
|
||||
%11 = icmp slt i32 %10, 0 ; <i1> [#uses=1]
|
||||
%12 = zext i1 %11 to i32 ; <i32> [#uses=1]
|
||||
store i32 %12, i32* %0, align 4
|
||||
%13 = load i32* %0, align 4 ; <i32> [#uses=1]
|
||||
%13 = load i32, i32* %0, align 4 ; <i32> [#uses=1]
|
||||
store i32 %13, i32* %retval, align 4
|
||||
br label %return
|
||||
|
||||
return: ; preds = %entry
|
||||
%retval1 = load i32* %retval ; <i32> [#uses=1]
|
||||
%retval1 = load i32, i32* %retval ; <i32> [#uses=1]
|
||||
%retval12 = trunc i32 %retval1 to i8 ; <i8> [#uses=1]
|
||||
ret i8 %retval12
|
||||
}
|
||||
@@ -66,15 +66,15 @@ entry:
|
||||
%"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
|
||||
store i32 %_ui1, i32* %_ui1_addr
|
||||
store i32 %_ui2, i32* %_ui2_addr
|
||||
%1 = load i32* %_ui1_addr, align 4 ; <i32> [#uses=1]
|
||||
%1 = load i32, i32* %_ui1_addr, align 4 ; <i32> [#uses=1]
|
||||
%2 = sub i32 %1, 1 ; <i32> [#uses=1]
|
||||
store i32 %2, i32* %0, align 4
|
||||
%3 = load i32* %0, align 4 ; <i32> [#uses=1]
|
||||
%3 = load i32, i32* %0, align 4 ; <i32> [#uses=1]
|
||||
store i32 %3, i32* %retval, align 4
|
||||
br label %return
|
||||
|
||||
return: ; preds = %entry
|
||||
%retval1 = load i32* %retval ; <i32> [#uses=1]
|
||||
%retval1 = load i32, i32* %retval ; <i32> [#uses=1]
|
||||
ret i32 %retval1
|
||||
}
|
||||
|
||||
@@ -90,31 +90,31 @@ entry:
|
||||
br label %bb4
|
||||
|
||||
bb: ; preds = %bb4
|
||||
%0 = load volatile i32* @x, align 4 ; <i32> [#uses=1]
|
||||
%0 = load volatile i32, i32* @x, align 4 ; <i32> [#uses=1]
|
||||
store i32 %0, i32* %vol.0, align 4
|
||||
store i32 0, i32* %l_52, align 4
|
||||
br label %bb2
|
||||
|
||||
bb1: ; preds = %bb2
|
||||
%1 = load i32* %l_52, align 4 ; <i32> [#uses=1]
|
||||
%1 = load i32, i32* %l_52, align 4 ; <i32> [#uses=1]
|
||||
%2 = call i32 @safe_sub_func_uint64_t_u_u(i32 %1, i32 1) nounwind ; <i32> [#uses=1]
|
||||
store i32 %2, i32* %l_52, align 4
|
||||
br label %bb2
|
||||
|
||||
bb2: ; preds = %bb1, %bb
|
||||
%3 = load i32* %l_52, align 4 ; <i32> [#uses=1]
|
||||
%3 = load i32, i32* %l_52, align 4 ; <i32> [#uses=1]
|
||||
%4 = icmp eq i32 %3, 0 ; <i1> [#uses=1]
|
||||
br i1 %4, label %bb1, label %bb3
|
||||
|
||||
bb3: ; preds = %bb2
|
||||
%5 = load i32* %l_52, align 4 ; <i32> [#uses=1]
|
||||
%5 = load i32, i32* %l_52, align 4 ; <i32> [#uses=1]
|
||||
%6 = call signext i8 @safe_sub_func_int32_t_s_s(i32 %5, i8 signext 1) nounwind ; <i8> [#uses=1]
|
||||
%7 = sext i8 %6 to i32 ; <i32> [#uses=1]
|
||||
store i32 %7, i32* %l_52, align 4
|
||||
br label %bb4
|
||||
|
||||
bb4: ; preds = %bb3, %entry
|
||||
%8 = load i32* %l_52, align 4 ; <i32> [#uses=1]
|
||||
%8 = load i32, i32* %l_52, align 4 ; <i32> [#uses=1]
|
||||
%9 = icmp ne i32 %8, 0 ; <i1> [#uses=1]
|
||||
br i1 %9, label %bb, label %bb5
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ entry:
|
||||
br i1 %cmp9, label %pre, label %return
|
||||
|
||||
pre:
|
||||
%t3 = load i32* %p
|
||||
%t3 = load i32, i32* %p
|
||||
%tobool.not = icmp ne i32 %t3, 0
|
||||
br label %loop
|
||||
|
||||
@@ -50,22 +50,22 @@ entry:
|
||||
br label %bb18
|
||||
|
||||
bb13:
|
||||
%tmp66 = load i64** %tmp65, align 4
|
||||
%tmp66 = load i64*, i64** %tmp65, align 4
|
||||
%tmp68 = getelementptr inbounds i64, i64* %tmp66, i32 %i
|
||||
%tmp69 = load i64* %tmp68, align 4
|
||||
%tmp74 = load i64** %tmp73, align 4
|
||||
%tmp69 = load i64, i64* %tmp68, align 4
|
||||
%tmp74 = load i64*, i64** %tmp73, align 4
|
||||
%tmp76 = getelementptr inbounds i64, i64* %tmp74, i32 %i
|
||||
%tmp77 = load i64* %tmp76, align 4
|
||||
%tmp77 = load i64, i64* %tmp76, align 4
|
||||
%tmp78 = icmp ugt i64 %tmp69, %tmp77
|
||||
br i1 %tmp78, label %bb20.loopexit, label %bb15
|
||||
|
||||
bb15:
|
||||
%tmp83 = load i64** %tmp82, align 4
|
||||
%tmp83 = load i64*, i64** %tmp82, align 4
|
||||
%tmp85 = getelementptr inbounds i64, i64* %tmp83, i32 %i
|
||||
%tmp86 = load i64* %tmp85, align 4
|
||||
%tmp91 = load i64** %tmp90, align 4
|
||||
%tmp86 = load i64, i64* %tmp85, align 4
|
||||
%tmp91 = load i64*, i64** %tmp90, align 4
|
||||
%tmp93 = getelementptr inbounds i64, i64* %tmp91, i32 %i
|
||||
%tmp94 = load i64* %tmp93, align 4
|
||||
%tmp94 = load i64, i64* %tmp93, align 4
|
||||
%tmp95 = icmp ult i64 %tmp86, %tmp94
|
||||
br i1 %tmp95, label %bb20.loopexit, label %bb17
|
||||
|
||||
|
||||
@@ -82,12 +82,12 @@ bb21: ; preds = %bb21, %bb20
|
||||
%t30 = add nsw i64 %t27, %t22 ; <i64> [#uses=1]
|
||||
%t31 = getelementptr inbounds i64, i64* %arg, i64 %t28 ; <i64*> [#uses=1]
|
||||
%t32 = zext i32 %t23 to i64 ; <i64> [#uses=1]
|
||||
%t33 = load i64* %t29 ; <i64> [#uses=1]
|
||||
%t33 = load i64, i64* %t29 ; <i64> [#uses=1]
|
||||
%t34 = getelementptr inbounds i64, i64* %arg, i64 %t30 ; <i64*> [#uses=1]
|
||||
%t35 = load i64* %t31 ; <i64> [#uses=1]
|
||||
%t35 = load i64, i64* %t31 ; <i64> [#uses=1]
|
||||
%t36 = add nsw i64 %t32, %t33 ; <i64> [#uses=1]
|
||||
%t37 = add nsw i64 %t36, %t35 ; <i64> [#uses=1]
|
||||
%t38 = load i64* %t34 ; <i64> [#uses=1]
|
||||
%t38 = load i64, i64* %t34 ; <i64> [#uses=1]
|
||||
%t39 = add nsw i64 %t37, %t38 ; <i64> [#uses=1]
|
||||
%t40 = trunc i64 %t39 to i32 ; <i32> [#uses=2]
|
||||
%t41 = add nsw i64 %t22, 1 ; <i64> [#uses=2]
|
||||
|
||||
@@ -33,7 +33,7 @@ bb16: ; preds = %bb16, %bb14, %bb7.p
|
||||
%S.31.0 = phi i64 [ %3, %bb16 ], [ 1, %bb7.preheader ], [ 1, %bb14 ] ; <i64> [#uses=2]
|
||||
%0 = add nsw i64 %S.31.0, -1 ; <i64> [#uses=1]
|
||||
%1 = getelementptr inbounds [3 x double], [3 x double]* undef, i64 0, i64 %0 ; <double*> [#uses=1]
|
||||
%2 = load double* %1, align 8 ; <double> [#uses=0]
|
||||
%2 = load double, double* %1, align 8 ; <double> [#uses=0]
|
||||
%3 = add nsw i64 %S.31.0, 1 ; <i64> [#uses=1]
|
||||
br label %bb16
|
||||
}
|
||||
|
||||
@@ -14,11 +14,11 @@ while.body:
|
||||
%0 = phi i32 [ 0, %entry ], [ %inc.2, %while.body ]
|
||||
%shr = lshr i32 %0, 5
|
||||
%arrayidx = getelementptr inbounds i32, i32* %bitmap, i32 %shr
|
||||
%tmp6 = load i32* %arrayidx, align 4
|
||||
%tmp6 = load i32, i32* %arrayidx, align 4
|
||||
%inc.1 = add i32 %0, 1
|
||||
%shr.1 = lshr i32 %inc.1, 5
|
||||
%arrayidx.1 = getelementptr inbounds i32, i32* %bitmap, i32 %shr.1
|
||||
%tmp6.1 = load i32* %arrayidx.1, align 4
|
||||
%tmp6.1 = load i32, i32* %arrayidx.1, align 4
|
||||
%inc.2 = add i32 %inc.1, 1
|
||||
%exitcond.3 = icmp eq i32 %inc.2, 128
|
||||
br i1 %exitcond.3, label %while.end, label %while.body
|
||||
@@ -41,11 +41,11 @@ while.body:
|
||||
%0 = phi i32 [ 0, %entry ], [ %inc.3, %while.body ]
|
||||
%shr = lshr i32 %0, 5
|
||||
%arrayidx = getelementptr inbounds i32, i32* %bitmap, i32 %shr
|
||||
%tmp6 = load i32* %arrayidx, align 4
|
||||
%tmp6 = load i32, i32* %arrayidx, align 4
|
||||
%inc.1 = add i32 %0, 1
|
||||
%shr.1 = lshr i32 %inc.1, 5
|
||||
%arrayidx.1 = getelementptr inbounds i32, i32* %bitmap, i32 %shr.1
|
||||
%tmp6.1 = load i32* %arrayidx.1, align 4
|
||||
%tmp6.1 = load i32, i32* %arrayidx.1, align 4
|
||||
%inc.3 = add i32 %inc.1, 2
|
||||
%exitcond.3 = icmp eq i32 %inc.3, 96
|
||||
br i1 %exitcond.3, label %while.end, label %while.body
|
||||
|
||||
@@ -8,7 +8,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
|
||||
|
||||
define void @t(float* %pTmp1, float* %peakWeight, float* %nrgReducePeakrate, i32 %bandEdgeIndex, float %tmp1) nounwind {
|
||||
entry:
|
||||
%tmp = load float* %peakWeight, align 4 ; <float> [#uses=1]
|
||||
%tmp = load float, float* %peakWeight, align 4 ; <float> [#uses=1]
|
||||
%tmp2 = icmp sgt i32 %bandEdgeIndex, 0 ; <i1> [#uses=1]
|
||||
br i1 %tmp2, label %bb.nph22, label %return
|
||||
|
||||
@@ -34,12 +34,12 @@ bb1: ; preds = %bb
|
||||
%tmp5 = add i32 %part.016, -1 ; <i32> [#uses=1]
|
||||
%tmp6 = sext i32 %tmp5 to i64 ; <i64> [#uses=1]
|
||||
%tmp7 = getelementptr float, float* %pTmp1, i64 %tmp6 ; <float*> [#uses=1]
|
||||
%tmp8 = load float* %tmp7, align 4 ; <float> [#uses=1]
|
||||
%tmp8 = load float, float* %tmp7, align 4 ; <float> [#uses=1]
|
||||
%tmp9 = fadd float %tmp8, %distERBlo.120 ; <float> [#uses=1]
|
||||
%tmp10 = add i32 %part.016, -1 ; <i32> [#uses=1]
|
||||
%tmp11 = sext i32 %tmp10 to i64 ; <i64> [#uses=1]
|
||||
%tmp12 = getelementptr float, float* %pTmp1, i64 %tmp11 ; <float*> [#uses=1]
|
||||
%tmp13 = load float* %tmp12, align 4 ; <float> [#uses=1]
|
||||
%tmp13 = load float, float* %tmp12, align 4 ; <float> [#uses=1]
|
||||
%tmp14 = fsub float %distERBhi.121, %tmp13 ; <float> [#uses=1]
|
||||
br label %bb3.preheader
|
||||
|
||||
@@ -58,11 +58,11 @@ bb2: ; preds = %bb3, %bb.nph
|
||||
%peakCount.01 = phi float [ %tmp23, %bb3 ], [ %peakCount.117, %bb.nph ] ; <float> [#uses=1]
|
||||
%tmp16 = sext i32 %loPart.02 to i64 ; <i64> [#uses=1]
|
||||
%tmp17 = getelementptr float, float* %pTmp1, i64 %tmp16 ; <float*> [#uses=1]
|
||||
%tmp18 = load float* %tmp17, align 4 ; <float> [#uses=1]
|
||||
%tmp18 = load float, float* %tmp17, align 4 ; <float> [#uses=1]
|
||||
%tmp19 = fsub float %distERBlo.03, %tmp18 ; <float> [#uses=3]
|
||||
%tmp20 = sext i32 %loPart.02 to i64 ; <i64> [#uses=1]
|
||||
%tmp21 = getelementptr float, float* %peakWeight, i64 %tmp20 ; <float*> [#uses=1]
|
||||
%tmp22 = load float* %tmp21, align 4 ; <float> [#uses=1]
|
||||
%tmp22 = load float, float* %tmp21, align 4 ; <float> [#uses=1]
|
||||
%tmp23 = fsub float %peakCount.01, %tmp22 ; <float> [#uses=2]
|
||||
%tmp24 = add i32 %loPart.02, 1 ; <i32> [#uses=2]
|
||||
br label %bb3
|
||||
@@ -98,12 +98,12 @@ bb4: ; preds = %bb5, %bb.nph12
|
||||
%peakCount.27 = phi float [ %tmp35, %bb5 ], [ %peakCount.0.lcssa, %bb.nph12 ] ; <float> [#uses=1]
|
||||
%tmp27 = sext i32 %hiPart.08 to i64 ; <i64> [#uses=1]
|
||||
%tmp28 = getelementptr float, float* %pTmp1, i64 %tmp27 ; <float*> [#uses=1]
|
||||
%tmp29 = load float* %tmp28, align 4 ; <float> [#uses=1]
|
||||
%tmp29 = load float, float* %tmp28, align 4 ; <float> [#uses=1]
|
||||
%tmp30 = fadd float %tmp29, %distERBhi.29 ; <float> [#uses=3]
|
||||
%tmp31 = add i32 %hiPart.08, 1 ; <i32> [#uses=4]
|
||||
%tmp32 = sext i32 %tmp31 to i64 ; <i64> [#uses=1]
|
||||
%tmp33 = getelementptr float, float* %peakWeight, i64 %tmp32 ; <float*> [#uses=1]
|
||||
%tmp34 = load float* %tmp33, align 4 ; <float> [#uses=1]
|
||||
%tmp34 = load float, float* %tmp33, align 4 ; <float> [#uses=1]
|
||||
%tmp35 = fadd float %tmp34, %peakCount.27 ; <float> [#uses=2]
|
||||
br label %bb5
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ B18: ; preds = %B24, %Prologue
|
||||
%tmp23 = zext i32 %.02 to i64
|
||||
%tmp33 = add i32 %.02, 1
|
||||
%o = getelementptr i32, i32* %a, i32 %.02
|
||||
%v = load i32* %o
|
||||
%v = load i32, i32* %o
|
||||
%t = icmp eq i32 %v, 0
|
||||
br i1 %t, label %exit24, label %B24
|
||||
|
||||
|
||||
@@ -12,16 +12,16 @@ loop:
|
||||
%indvar = phi i64 [ 0, %entry ], [ %indvar.next, %loop ]
|
||||
%indvar.i8 = and i64 %indvar, 255
|
||||
%t0 = getelementptr double, double* %d, i64 %indvar.i8
|
||||
%t1 = load double* %t0
|
||||
%t1 = load double, double* %t0
|
||||
%t2 = fmul double %t1, 0.1
|
||||
store double %t2, double* %t0
|
||||
%indvar.i24 = and i64 %indvar, 16777215
|
||||
%t3 = getelementptr double, double* %d, i64 %indvar.i24
|
||||
%t4 = load double* %t3
|
||||
%t4 = load double, double* %t3
|
||||
%t5 = fmul double %t4, 2.3
|
||||
store double %t5, double* %t3
|
||||
%t6 = getelementptr double, double* %d, i64 %indvar
|
||||
%t7 = load double* %t6
|
||||
%t7 = load double, double* %t6
|
||||
%t8 = fmul double %t7, 4.5
|
||||
store double %t8, double* %t6
|
||||
%indvar.next = add i64 %indvar, 1
|
||||
|
||||
@@ -18,7 +18,7 @@ bb2: ; preds = %bb3, %bb.nph
|
||||
%i.01 = phi i32 [ %7, %bb3 ], [ 0, %bb.nph ] ; <i32> [#uses=3]
|
||||
%1 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
|
||||
%2 = getelementptr double, double* %p, i64 %1 ; <double*> [#uses=1]
|
||||
%3 = load double* %2, align 8 ; <double> [#uses=1]
|
||||
%3 = load double, double* %2, align 8 ; <double> [#uses=1]
|
||||
%4 = fmul double %3, 1.100000e+00 ; <double> [#uses=1]
|
||||
%5 = sext i32 %i.01 to i64 ; <i64> [#uses=1]
|
||||
%6 = getelementptr double, double* %p, i64 %5 ; <double*> [#uses=1]
|
||||
|
||||
@@ -109,10 +109,10 @@ loop:
|
||||
%diagidx = add nsw i32 %rowidx, %i
|
||||
%diagidxw = sext i32 %diagidx to i64
|
||||
%matrixp = getelementptr inbounds [0 x double], [0 x double]* %matrix, i32 0, i64 %diagidxw
|
||||
%v1 = load double* %matrixp
|
||||
%v1 = load double, double* %matrixp
|
||||
%iw = sext i32 %i to i64
|
||||
%vectorp = getelementptr inbounds [0 x double], [0 x double]* %vector, i32 0, i64 %iw
|
||||
%v2 = load double* %vectorp
|
||||
%v2 = load double, double* %vectorp
|
||||
%row.inc = add nsw i32 %rowidx, %ilead
|
||||
%i.inc = add nsw i32 %i, 1
|
||||
%cmp196 = icmp slt i32 %i.inc, %irow
|
||||
@@ -143,10 +143,10 @@ loop:
|
||||
%diagidx = add nsw i32 %rowidx, %i
|
||||
%diagidxw = sext i32 %diagidx to i64
|
||||
%matrixp = getelementptr inbounds [0 x double], [0 x double]* %matrix, i32 0, i64 %diagidxw
|
||||
%v1 = load double* %matrixp
|
||||
%v1 = load double, double* %matrixp
|
||||
%iw = sext i32 %i to i64
|
||||
%vectorp = getelementptr inbounds [0 x double], [0 x double]* %vector, i32 0, i64 %iw
|
||||
%v2 = load double* %vectorp
|
||||
%v2 = load double, double* %vectorp
|
||||
%row.inc = add nsw i32 %rowidx, %ilead
|
||||
%i.inc = add nsw i32 %i, 1
|
||||
%cmp196 = icmp slt i32 %i.inc, %irow
|
||||
|
||||
@@ -14,7 +14,7 @@ define void @foo(i8* %a) nounwind uwtable ssp {
|
||||
%p.0 = phi i8* [ getelementptr inbounds ([240 x i8]* @data, i64 0, i64 0), %0 ], [ %4, %1 ]
|
||||
%.0 = phi i8* [ %a, %0 ], [ %2, %1 ]
|
||||
%2 = getelementptr inbounds i8, i8* %.0, i64 1
|
||||
%3 = load i8* %.0, align 1
|
||||
%3 = load i8, i8* %.0, align 1
|
||||
%4 = getelementptr inbounds i8, i8* %p.0, i64 1
|
||||
store i8 %3, i8* %p.0, align 1
|
||||
%5 = add i8 %i.0, 1
|
||||
|
||||
@@ -21,7 +21,7 @@ bb19: ; preds = %bb30
|
||||
br i1 undef, label %bb20, label %bb29
|
||||
|
||||
bb20: ; preds = %bb19
|
||||
%0 = load i32* undef, align 4 ; <i32> [#uses=1]
|
||||
%0 = load i32, i32* undef, align 4 ; <i32> [#uses=1]
|
||||
%1 = sub i32 %0, %n ; <i32> [#uses=1]
|
||||
br label %bb23
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ bb19: ; preds = %bb30
|
||||
br i1 undef, label %bb20, label %bb29
|
||||
|
||||
bb20: ; preds = %bb19
|
||||
%0 = load i32* undef, align 4 ; <i32> [#uses=1]
|
||||
%0 = load i32, i32* undef, align 4 ; <i32> [#uses=1]
|
||||
%1 = sub i32 %0, undef ; <i32> [#uses=1]
|
||||
br label %bb23
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ loop:
|
||||
%s.01 = phi i32 [ 0, %ph ], [ %sinc, %loop ]
|
||||
%ofs = sext i32 %i.02 to i64
|
||||
%adr = getelementptr inbounds i32, i32* %arr, i64 %ofs
|
||||
%val = load i32* %adr
|
||||
%val = load i32, i32* %adr
|
||||
%sinc = add nsw i32 %s.01, %val
|
||||
%iinc = add nsw i32 %i.02, 1
|
||||
%cond = icmp slt i32 %iinc, %n
|
||||
@@ -70,7 +70,7 @@ loop:
|
||||
%s.01 = phi i64 [ 0, %ph ], [ %sinc, %loop ]
|
||||
%ofs = sext i32 %i.02 to i64
|
||||
%adr = getelementptr inbounds i32, i32* %arr, i64 %ofs
|
||||
%val = load i32* %adr
|
||||
%val = load i32, i32* %adr
|
||||
%vall = sext i32 %val to i64
|
||||
%sinc = add nsw i64 %s.01, %vall
|
||||
%iinc = add nsw i32 %i.02, 1
|
||||
@@ -171,7 +171,7 @@ loop:
|
||||
%max = phi i32 [ 0, %entry ], [ %max.next, %loop.inc ]
|
||||
%idxprom = sext i32 %idx to i64
|
||||
%adr = getelementptr inbounds i32, i32* %base, i64 %idxprom
|
||||
%val = load i32* %adr
|
||||
%val = load i32, i32* %adr
|
||||
%cmp19 = icmp sgt i32 %val, %max
|
||||
br i1 %cmp19, label %if.then, label %if.else
|
||||
|
||||
@@ -240,7 +240,7 @@ loop:
|
||||
%iv = phi i32 [ 0, %entry], [ %iv.next, %loop ]
|
||||
%t1 = sext i32 %iv to i64
|
||||
%adr = getelementptr i64, i64* %base, i64 %t1
|
||||
%val = load i64* %adr
|
||||
%val = load i64, i64* %adr
|
||||
%t2 = or i32 %iv, 1
|
||||
%t3 = sext i32 %t2 to i64
|
||||
%iv.next = add i32 %iv, 2
|
||||
|
||||
@@ -28,7 +28,7 @@ loop1:
|
||||
%zxt = zext i32 %i to i64
|
||||
%ofs = shl nuw nsw i64 %zxt, 3
|
||||
%gep = getelementptr i64, i64* %a, i64 %zxt
|
||||
%v = load i64* %gep, align 8
|
||||
%v = load i64, i64* %gep, align 8
|
||||
%truncv = trunc i64 %v to i32
|
||||
%adds = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %s, i32 %truncv)
|
||||
%ovflows = extractvalue { i32, i1 } %adds, 1
|
||||
|
||||
@@ -13,7 +13,7 @@ entry:
|
||||
br label %bb38.i
|
||||
|
||||
bb14.i27:
|
||||
%t0 = load i64* @ue, align 8
|
||||
%t0 = load i64, i64* @ue, align 8
|
||||
%t1 = sub i64 %t0, %i.0.i35
|
||||
%t2 = add i64 %t1, 1
|
||||
br i1 undef, label %bb15.i28, label %bb19.i31
|
||||
|
||||
@@ -21,7 +21,7 @@ bb30: ; preds = %bb30, %bb24
|
||||
%tmp32 = phi i32 [ %tmp37, %bb30 ], [ %tmp27, %bb24 ] ; <i32> [#uses=2]
|
||||
%tmp33 = sext i32 %tmp32 to i64 ; <i64> [#uses=1]
|
||||
%tmp35 = getelementptr float, float* %tmp4, i64 %tmp33 ; <%0*> [#uses=1]
|
||||
%tmp36 = load float* %tmp35, align 4 ; <%0> [#uses=0]
|
||||
%tmp36 = load float, float* %tmp35, align 4 ; <%0> [#uses=0]
|
||||
%tmp37 = add nsw i32 %tmp32, -1 ; <i32> [#uses=1]
|
||||
%tmp39 = add nsw i32 %tmp31, -1 ; <i32> [#uses=1]
|
||||
%tmp38 = icmp eq i32 %tmp31, 1 ; <i1> [#uses=1]
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
define i32 @main() #0 {
|
||||
entry:
|
||||
%0 = load i32* @c, align 4
|
||||
%0 = load i32, i32* @c, align 4
|
||||
%tobool = icmp eq i32 %0, 0
|
||||
br i1 %tobool, label %for.body, label %exit
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@ define void @f() {
|
||||
; CHECK-NEXT: %[[indvars_iv:.*]] = phi i32 [ %[[indvars_iv_next:.*]], %[[for_inc13:.*]] ], [ -14, %entry ]
|
||||
; br i1 {{.*}}, label %[[for_inc13]], label %
|
||||
entry:
|
||||
%0 = load i32* @a, align 4
|
||||
%0 = load i32, i32* @a, align 4
|
||||
%tobool2 = icmp eq i32 %0, 0
|
||||
%1 = load i32* @a, align 4
|
||||
%1 = load i32, i32* @a, align 4
|
||||
%tobool = icmp eq i32 %1, 0
|
||||
br label %for.cond2.preheader
|
||||
|
||||
@@ -51,7 +51,7 @@ cond.false.us.us: ; preds = %for.body3.us.us
|
||||
|
||||
cond.end.us.us: ; preds = %cond.false.us.us, %for.body3.us.us
|
||||
%cond.us.us = phi i32 [ %div, %cond.false.us.us ], [ %conv7, %for.body3.us.us ]
|
||||
%4 = load i32* @b, align 4
|
||||
%4 = load i32, i32* @b, align 4
|
||||
%cmp91.us.us = icmp slt i32 %4, 1
|
||||
br i1 %cmp91.us.us, label %for.inc.lr.ph.us.us, label %for.cond2.loopexit.us.us
|
||||
|
||||
@@ -87,7 +87,7 @@ cond.false.us: ; preds = %for.body3.us
|
||||
|
||||
cond.end.us: ; preds = %cond.false.us, %for.body3.us
|
||||
%cond.us = phi i32 [ %div, %cond.false.us ], [ %conv7, %for.body3.us ]
|
||||
%6 = load i32* @b, align 4
|
||||
%6 = load i32, i32* @b, align 4
|
||||
%cmp91.us = icmp slt i32 %6, 1
|
||||
br i1 %cmp91.us, label %for.inc.lr.ph.us, label %for.cond2.loopexit.us
|
||||
|
||||
@@ -133,7 +133,7 @@ cond.false.us4: ; preds = %for.body3.us3
|
||||
|
||||
cond.end.us5: ; preds = %cond.false.us4, %for.body3.us3
|
||||
%cond.us6 = phi i32 [ %div, %cond.false.us4 ], [ %conv7, %for.body3.us3 ]
|
||||
%8 = load i32* @b, align 4
|
||||
%8 = load i32, i32* @b, align 4
|
||||
%cmp91.us7 = icmp slt i32 %8, 1
|
||||
br i1 %cmp91.us7, label %for.inc.lr.ph.us12, label %for.cond2.loopexit.us11
|
||||
|
||||
@@ -177,7 +177,7 @@ cond.false: ; preds = %for.body3
|
||||
|
||||
cond.end: ; preds = %cond.false, %for.body3
|
||||
%cond = phi i32 [ %div, %cond.false ], [ %conv7, %for.body3 ]
|
||||
%10 = load i32* @b, align 4
|
||||
%10 = load i32, i32* @b, align 4
|
||||
%cmp91 = icmp slt i32 %10, 1
|
||||
br i1 %cmp91, label %for.inc.lr.ph, label %for.cond2.loopexit
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ declare void @abort() #1
|
||||
; Function Attrs: nounwind ssp uwtable
|
||||
define i32 @main() {
|
||||
entry:
|
||||
%a.promoted13 = load i32* @a, align 4
|
||||
%a.promoted13 = load i32, i32* @a, align 4
|
||||
br label %for.cond1.preheader
|
||||
|
||||
for.cond1.preheader: ; preds = %entry, %for.end
|
||||
|
||||
@@ -14,7 +14,7 @@ bb: ; preds = %bb1, %bb.nph
|
||||
%n.01 = phi i32 [ %t6, %bb1 ], [ 0, %bb.nph ] ; <i32> [#uses=2]
|
||||
%t1 = sext i32 %n.01 to i64 ; <i64> [#uses=1]
|
||||
%t2 = getelementptr i64, i64* %first, i64 %t1 ; <i64*> [#uses=1]
|
||||
%t3 = load i64* %t2, align 8 ; <i64> [#uses=1]
|
||||
%t3 = load i64, i64* %t2, align 8 ; <i64> [#uses=1]
|
||||
%t4 = lshr i64 %t3, 4 ; <i64> [#uses=1]
|
||||
%t5 = add i64 %t4, %result.02 ; <i64> [#uses=2]
|
||||
%t6 = add i32 %n.01, 1 ; <i32> [#uses=2]
|
||||
|
||||
@@ -8,7 +8,7 @@ declare void @abort()
|
||||
define i1 @bounded_below_slt(i32* nocapture readonly %buffer) {
|
||||
; CHECK-LABEL: bounded_below_slt
|
||||
entry:
|
||||
%length = load i32* %buffer, !range !0
|
||||
%length = load i32, i32* %buffer, !range !0
|
||||
%entry.pred = icmp eq i32 %length, 0
|
||||
br i1 %entry.pred, label %abort, label %loop.preheader
|
||||
|
||||
@@ -42,7 +42,7 @@ oob:
|
||||
define i1 @bounded_below_sle(i32* nocapture readonly %buffer) {
|
||||
; CHECK-LABEL: bounded_below_sle
|
||||
entry:
|
||||
%length = load i32* %buffer, !range !0
|
||||
%length = load i32, i32* %buffer, !range !0
|
||||
%entry.pred = icmp eq i32 %length, 0
|
||||
br i1 %entry.pred, label %abort, label %loop.preheader
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ entry:
|
||||
br i1 undef, label %return, label %bb
|
||||
|
||||
bb: ; preds = %entry
|
||||
%0 = load i8** undef, align 4 ; <i8*> [#uses=2]
|
||||
%0 = load i8*, i8** undef, align 4 ; <i8*> [#uses=2]
|
||||
%1 = ptrtoint i8* %0 to i32 ; <i32> [#uses=1]
|
||||
%2 = icmp sgt i8* %0, inttoptr (i32 1 to i8*) ; <i1> [#uses=1]
|
||||
br i1 %2, label %bb1, label %bb5
|
||||
|
||||
@@ -19,7 +19,7 @@ while.cond: ; preds = %while.cond, %entry
|
||||
|
||||
while.end: ; preds = %while.cond
|
||||
store volatile i32 0, i32* %result.i
|
||||
%tmp.i = load volatile i32* %result.i ; <i32> [#uses=0]
|
||||
%tmp.i = load volatile i32, i32* %result.i ; <i32> [#uses=0]
|
||||
ret i32 0
|
||||
}
|
||||
declare i32 @bar()
|
||||
|
||||
@@ -18,7 +18,7 @@ entry:
|
||||
|
||||
cond.true: ; preds = %entry
|
||||
%arrayidx = getelementptr inbounds i8*, i8** %argv, i64 1 ; <i8**> [#uses=1]
|
||||
%tmp2 = load i8** %arrayidx ; <i8*> [#uses=1]
|
||||
%tmp2 = load i8*, i8** %arrayidx ; <i8*> [#uses=1]
|
||||
%call = tail call i32 @atoi(i8* %tmp2) nounwind readonly ; <i32> [#uses=1]
|
||||
br label %while.cond.preheader
|
||||
|
||||
@@ -82,7 +82,7 @@ for.body15: ; preds = %bb.nph16, %for.cond
|
||||
%count.212 = phi i32 [ 0, %bb.nph16 ], [ %count.1, %for.cond12 ] ; <i32> [#uses=2]
|
||||
%i.17 = phi i64 [ 2, %bb.nph16 ], [ %inc37, %for.cond12 ] ; <i64> [#uses=4]
|
||||
%arrayidx17 = getelementptr inbounds [8193 x i8], [8193 x i8]* @main.flags, i64 0, i64 %i.17 ; <i8*> [#uses=1]
|
||||
%tmp18 = load i8* %arrayidx17 ; <i8> [#uses=1]
|
||||
%tmp18 = load i8, i8* %arrayidx17 ; <i8> [#uses=1]
|
||||
%tobool19 = icmp eq i8 %tmp18, 0 ; <i1> [#uses=1]
|
||||
br i1 %tobool19, label %for.inc35, label %if.then
|
||||
|
||||
|
||||
@@ -27,10 +27,10 @@ bb2: ; preds = %bb1, %bb
|
||||
br i1 %tmp8, label %bb1, label %bb3
|
||||
|
||||
bb1: ; preds = %bb2
|
||||
%tmp = load double*** @tds, align 8 ; <double**> [#uses=1]
|
||||
%tmp = load double**, double*** @tds, align 8 ; <double**> [#uses=1]
|
||||
%tmp1 = sext i32 %i.0 to i64 ; <i64> [#uses=1]
|
||||
%tmp2 = getelementptr inbounds double*, double** %tmp, i64 %tmp1 ; <double**> [#uses=1]
|
||||
%tmp3 = load double** %tmp2, align 1 ; <double*> [#uses=1]
|
||||
%tmp3 = load double*, double** %tmp2, align 1 ; <double*> [#uses=1]
|
||||
%tmp6 = add nsw i32 %j.0, 1 ; <i32> [#uses=1]
|
||||
br label %bb2
|
||||
|
||||
|
||||
@@ -12,10 +12,10 @@ for.body: ; preds = %entry, %for.body
|
||||
%add = add i32 %0, %sample
|
||||
%idxprom = zext i32 %add to i64
|
||||
%arrayidx = getelementptr inbounds float, float* %data, i64 %idxprom
|
||||
%1 = load float* %arrayidx, align 4
|
||||
%1 = load float, float* %arrayidx, align 4
|
||||
%mul = fmul float %1, %d
|
||||
%arrayidx2 = getelementptr inbounds float, float* %autoc, i64 %indvars.iv
|
||||
%2 = load float* %arrayidx2, align 4
|
||||
%2 = load float, float* %arrayidx2, align 4
|
||||
%add3 = fadd float %2, %mul
|
||||
store float %add3, float* %arrayidx2, align 4
|
||||
%indvars.iv.next = add i64 %indvars.iv, 1
|
||||
|
||||
@@ -6,7 +6,7 @@ declare void @abort()
|
||||
|
||||
define i1 @iterate(i32* nocapture readonly %buffer) {
|
||||
entry:
|
||||
%length = load i32* %buffer, !range !0
|
||||
%length = load i32, i32* %buffer, !range !0
|
||||
br label %loop.preheader
|
||||
|
||||
loop.preheader:
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
define void @vnum_test8(i32* %data) {
|
||||
entry:
|
||||
%tmp.1 = getelementptr i32, i32* %data, i32 3 ; <i32*> [#uses=1]
|
||||
%tmp.2 = load i32* %tmp.1 ; <i32> [#uses=2]
|
||||
%tmp.2 = load i32, i32* %tmp.1 ; <i32> [#uses=2]
|
||||
%tmp.4 = getelementptr i32, i32* %data, i32 4 ; <i32*> [#uses=1]
|
||||
%tmp.5 = load i32* %tmp.4 ; <i32> [#uses=2]
|
||||
%tmp.5 = load i32, i32* %tmp.4 ; <i32> [#uses=2]
|
||||
%tmp.8 = getelementptr i32, i32* %data, i32 2 ; <i32*> [#uses=1]
|
||||
%tmp.9 = load i32* %tmp.8 ; <i32> [#uses=3]
|
||||
%tmp.9 = load i32, i32* %tmp.8 ; <i32> [#uses=3]
|
||||
%tmp.125 = icmp sgt i32 %tmp.2, 0 ; <i1> [#uses=1]
|
||||
br i1 %tmp.125, label %no_exit.preheader, label %return
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ if.end250: ; preds = %for.cond246
|
||||
br i1 undef, label %if.end256, label %for.end562
|
||||
|
||||
if.end256: ; preds = %if.end250
|
||||
%0 = load i32* undef, align 4
|
||||
%0 = load i32, i32* undef, align 4
|
||||
br i1 undef, label %if.then274, label %for.cond404.preheader
|
||||
|
||||
for.cond404.preheader: ; preds = %if.end256
|
||||
@@ -379,7 +379,7 @@ for.body48: ; preds = %for.inc221, %for.bo
|
||||
br i1 undef, label %for.inc221, label %for.body65.lr.ph
|
||||
|
||||
for.body65.lr.ph: ; preds = %for.body48
|
||||
%0 = load i32* undef, align 4
|
||||
%0 = load i32, i32* undef, align 4
|
||||
%1 = sext i32 %0 to i64
|
||||
br label %for.body65.us
|
||||
|
||||
|
||||
@@ -19,13 +19,13 @@ target triple = "aarch64--linux-gnu"
|
||||
define i32 @test1() {
|
||||
entry:
|
||||
store i32 -1, i32* @idx, align 4
|
||||
%0 = load i32* @e, align 4
|
||||
%0 = load i32, i32* @e, align 4
|
||||
%cmp4 = icmp slt i32 %0, 0
|
||||
br i1 %cmp4, label %for.end.loopexit, label %for.body.lr.ph
|
||||
|
||||
for.body.lr.ph:
|
||||
%1 = load i32** @ptr, align 8
|
||||
%2 = load i32* @e, align 4
|
||||
%1 = load i32*, i32** @ptr, align 8
|
||||
%2 = load i32, i32* @e, align 4
|
||||
br label %for.body
|
||||
|
||||
for.cond:
|
||||
@@ -37,7 +37,7 @@ for.body:
|
||||
%i.05 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.cond ]
|
||||
%idxprom = sext i32 %i.05 to i64
|
||||
%arrayidx = getelementptr inbounds i32, i32* %1, i64 %idxprom
|
||||
%3 = load i32* %arrayidx, align 4
|
||||
%3 = load i32, i32* %arrayidx, align 4
|
||||
%tobool = icmp eq i32 %3, 0
|
||||
br i1 %tobool, label %if.then, label %for.cond
|
||||
|
||||
@@ -53,7 +53,7 @@ for.end.loopexit:
|
||||
br label %for.end
|
||||
|
||||
for.end:
|
||||
%4 = load i32* @idx, align 4
|
||||
%4 = load i32, i32* @idx, align 4
|
||||
ret i32 %4
|
||||
}
|
||||
|
||||
@@ -82,10 +82,10 @@ for.body4.us:
|
||||
%storemerge14.us = phi i32 [ 0, %for.body4.lr.ph.us ], [ %inc.us, %for.body4.us ]
|
||||
%idxprom.us = sext i32 %storemerge14.us to i64
|
||||
%arrayidx6.us = getelementptr inbounds [8 x i8], [8 x i8]* %a, i64 %idxprom5.us, i64 %idxprom.us
|
||||
%0 = load i8* %arrayidx6.us, align 1
|
||||
%0 = load i8, i8* %arrayidx6.us, align 1
|
||||
%idxprom7.us = zext i8 %0 to i64
|
||||
%arrayidx8.us = getelementptr inbounds i8, i8* %b, i64 %idxprom7.us
|
||||
%1 = load i8* %arrayidx8.us, align 1
|
||||
%1 = load i8, i8* %arrayidx8.us, align 1
|
||||
store i8 %1, i8* %arrayidx6.us, align 1
|
||||
%inc.us = add nsw i32 %storemerge14.us, 1
|
||||
%cmp2.us = icmp slt i32 %inc.us, %conv
|
||||
@@ -127,7 +127,7 @@ for.cond:
|
||||
for.body:
|
||||
%idxprom = sext i32 %i.0 to i64
|
||||
%arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom
|
||||
%0 = load i32* %arrayidx, align 4
|
||||
%0 = load i32, i32* %arrayidx, align 4
|
||||
%add = add nsw i32 %sum.0, %0
|
||||
%inc = add nsw i32 %i.0, 1
|
||||
br label %for.cond
|
||||
@@ -181,7 +181,7 @@ for.cond:
|
||||
for.body:
|
||||
%idxprom = zext i32 %i.0 to i64
|
||||
%arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom
|
||||
%0 = load i32* %arrayidx, align 4
|
||||
%0 = load i32, i32* %arrayidx, align 4
|
||||
%add = add nsw i32 %sum.0, %0
|
||||
%inc = add nsw i32 %i.0, 1
|
||||
br label %for.cond
|
||||
|
||||
@@ -17,7 +17,7 @@ for.cond: ; preds = %for.body, %entry
|
||||
for.body: ; preds = %for.cond
|
||||
%idxprom = sext i32 %i.0 to i64
|
||||
%arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom
|
||||
%0 = load i32* %arrayidx, align 4
|
||||
%0 = load i32, i32* %arrayidx, align 4
|
||||
%add = add nsw i32 %sum.0, %0
|
||||
%inc = add nsw i32 %i.0, 1
|
||||
br label %for.cond
|
||||
|
||||
Reference in New Issue
Block a user