From a79ac14fa68297f9888bc70a10df5ed9b8864e38 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Fri, 27 Feb 2015 21:17:42 +0000 Subject: [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 llvm-svn: 230794 --- llvm/test/Transforms/SLPVectorizer/X86/addsub.ll | 180 ++++++++++----------- llvm/test/Transforms/SLPVectorizer/X86/align.ll | 18 +-- llvm/test/Transforms/SLPVectorizer/X86/call.ll | 40 ++--- llvm/test/Transforms/SLPVectorizer/X86/cast.ll | 8 +- llvm/test/Transforms/SLPVectorizer/X86/cmp_sel.ll | 4 +- .../Transforms/SLPVectorizer/X86/compare-reduce.ll | 4 +- .../SLPVectorizer/X86/consecutive-access.ll | 40 ++--- .../SLPVectorizer/X86/continue_vectorizing.ll | 12 +- .../Transforms/SLPVectorizer/X86/crash_binaryop.ll | 2 +- .../Transforms/SLPVectorizer/X86/crash_bullet.ll | 2 +- .../Transforms/SLPVectorizer/X86/crash_cmpop.ll | 2 +- .../Transforms/SLPVectorizer/X86/crash_dequeue.ll | 6 +- .../test/Transforms/SLPVectorizer/X86/crash_gep.ll | 2 +- .../Transforms/SLPVectorizer/X86/crash_lencod.ll | 4 +- .../SLPVectorizer/X86/crash_mandeltext.ll | 4 +- .../SLPVectorizer/X86/crash_netbsd_decompress.ll | 8 +- .../SLPVectorizer/X86/crash_vectorizeTree.ll | 4 +- .../SLPVectorizer/X86/cross_block_slp.ll | 8 +- llvm/test/Transforms/SLPVectorizer/X86/cse.ll | 42 ++--- .../test/Transforms/SLPVectorizer/X86/cycle_dup.ll | 10 +- .../Transforms/SLPVectorizer/X86/debug_info.ll | 6 +- llvm/test/Transforms/SLPVectorizer/X86/diamond.ll | 24 +-- .../Transforms/SLPVectorizer/X86/external_user.ll | 8 +- llvm/test/Transforms/SLPVectorizer/X86/extract.ll | 6 +- .../SLPVectorizer/X86/extract_in_tree_user.ll | 18 +-- llvm/test/Transforms/SLPVectorizer/X86/flag.ll | 8 +- llvm/test/Transforms/SLPVectorizer/X86/gep.ll | 8 +- llvm/test/Transforms/SLPVectorizer/X86/hoist.ll | 8 +- .../Transforms/SLPVectorizer/X86/horizontal.ll | 100 ++++++------ .../Transforms/SLPVectorizer/X86/implicitfloat.ll | 8 +- .../Transforms/SLPVectorizer/X86/in-tree-user.ll | 4 +- .../test/Transforms/SLPVectorizer/X86/intrinsic.ll | 136 ++++++++-------- .../Transforms/SLPVectorizer/X86/long_chains.ll | 4 +- .../Transforms/SLPVectorizer/X86/loopinvariant.ll | 16 +- llvm/test/Transforms/SLPVectorizer/X86/metadata.ll | 16 +- .../Transforms/SLPVectorizer/X86/multi_block.ll | 4 +- .../Transforms/SLPVectorizer/X86/multi_user.ll | 10 +- .../test/Transforms/SLPVectorizer/X86/odd_store.ll | 6 +- .../Transforms/SLPVectorizer/X86/operandorder.ll | 96 +++++------ llvm/test/Transforms/SLPVectorizer/X86/opt.ll | 8 +- llvm/test/Transforms/SLPVectorizer/X86/ordering.ll | 2 +- llvm/test/Transforms/SLPVectorizer/X86/phi.ll | 40 ++--- llvm/test/Transforms/SLPVectorizer/X86/phi3.ll | 2 +- .../SLPVectorizer/X86/phi_overalignedtype.ll | 16 +- .../test/Transforms/SLPVectorizer/X86/powof2div.ll | 18 +-- llvm/test/Transforms/SLPVectorizer/X86/pr16628.ll | 4 +- llvm/test/Transforms/SLPVectorizer/X86/pr16899.ll | 6 +- llvm/test/Transforms/SLPVectorizer/X86/pr19657.ll | 58 +++---- .../SLPVectorizer/X86/propagate_ir_flags.ll | 104 ++++++------ .../test/Transforms/SLPVectorizer/X86/reduction.ll | 4 +- .../Transforms/SLPVectorizer/X86/reduction2.ll | 4 +- llvm/test/Transforms/SLPVectorizer/X86/return.ll | 24 +-- llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll | 12 +- llvm/test/Transforms/SLPVectorizer/X86/saxpy.ll | 20 +-- .../Transforms/SLPVectorizer/X86/scheduling.ll | 16 +- .../Transforms/SLPVectorizer/X86/simple-loop.ll | 16 +- llvm/test/Transforms/SLPVectorizer/X86/simplebb.ll | 32 ++-- .../test/Transforms/SLPVectorizer/X86/tiny-tree.ll | 24 +-- .../Transforms/SLPVectorizer/X86/unreachable.ll | 8 +- 59 files changed, 652 insertions(+), 652 deletions(-) (limited to 'llvm/test/Transforms/SLPVectorizer/X86') diff --git a/llvm/test/Transforms/SLPVectorizer/X86/addsub.ll b/llvm/test/Transforms/SLPVectorizer/X86/addsub.ll index 8c2777a71f7..bc0beec1bab 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/addsub.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/addsub.ll @@ -21,35 +21,35 @@ target triple = "x86_64-unknown-linux-gnu" ; Function Attrs: nounwind uwtable define void @addsub() #0 { entry: - %0 = load i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 0), align 4 - %1 = load i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 0), align 4 + %0 = load i32, i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 0), align 4 + %1 = load i32, i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 0), align 4 %add = add nsw i32 %0, %1 - %2 = load i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 0), align 4 - %3 = load i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 0), align 4 + %2 = load i32, i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 0), align 4 + %3 = load i32, i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 0), align 4 %add1 = add nsw i32 %2, %3 %add2 = add nsw i32 %add, %add1 store i32 %add2, i32* getelementptr inbounds ([4 x i32]* @a, i32 0, i64 0), align 4 - %4 = load i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 1), align 4 - %5 = load i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 1), align 4 + %4 = load i32, i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 1), align 4 + %5 = load i32, i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 1), align 4 %add3 = add nsw i32 %4, %5 - %6 = load i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 1), align 4 - %7 = load i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 1), align 4 + %6 = load i32, i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 1), align 4 + %7 = load i32, i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 1), align 4 %add4 = add nsw i32 %6, %7 %sub = sub nsw i32 %add3, %add4 store i32 %sub, i32* getelementptr inbounds ([4 x i32]* @a, i32 0, i64 1), align 4 - %8 = load i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 2), align 4 - %9 = load i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 2), align 4 + %8 = load i32, i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 2), align 4 + %9 = load i32, i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 2), align 4 %add5 = add nsw i32 %8, %9 - %10 = load i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 2), align 4 - %11 = load i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 2), align 4 + %10 = load i32, i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 2), align 4 + %11 = load i32, i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 2), align 4 %add6 = add nsw i32 %10, %11 %add7 = add nsw i32 %add5, %add6 store i32 %add7, i32* getelementptr inbounds ([4 x i32]* @a, i32 0, i64 2), align 4 - %12 = load i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 3), align 4 - %13 = load i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 3), align 4 + %12 = load i32, i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 3), align 4 + %13 = load i32, i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 3), align 4 %add8 = add nsw i32 %12, %13 - %14 = load i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 3), align 4 - %15 = load i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 3), align 4 + %14 = load i32, i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 3), align 4 + %15 = load i32, i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 3), align 4 %add9 = add nsw i32 %14, %15 %sub10 = sub nsw i32 %add8, %add9 store i32 %sub10, i32* getelementptr inbounds ([4 x i32]* @a, i32 0, i64 3), align 4 @@ -65,35 +65,35 @@ entry: ; Function Attrs: nounwind uwtable define void @subadd() #0 { entry: - %0 = load i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 0), align 4 - %1 = load i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 0), align 4 + %0 = load i32, i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 0), align 4 + %1 = load i32, i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 0), align 4 %add = add nsw i32 %0, %1 - %2 = load i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 0), align 4 - %3 = load i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 0), align 4 + %2 = load i32, i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 0), align 4 + %3 = load i32, i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 0), align 4 %add1 = add nsw i32 %2, %3 %sub = sub nsw i32 %add, %add1 store i32 %sub, i32* getelementptr inbounds ([4 x i32]* @a, i32 0, i64 0), align 4 - %4 = load i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 1), align 4 - %5 = load i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 1), align 4 + %4 = load i32, i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 1), align 4 + %5 = load i32, i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 1), align 4 %add2 = add nsw i32 %4, %5 - %6 = load i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 1), align 4 - %7 = load i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 1), align 4 + %6 = load i32, i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 1), align 4 + %7 = load i32, i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 1), align 4 %add3 = add nsw i32 %6, %7 %add4 = add nsw i32 %add2, %add3 store i32 %add4, i32* getelementptr inbounds ([4 x i32]* @a, i32 0, i64 1), align 4 - %8 = load i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 2), align 4 - %9 = load i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 2), align 4 + %8 = load i32, i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 2), align 4 + %9 = load i32, i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 2), align 4 %add5 = add nsw i32 %8, %9 - %10 = load i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 2), align 4 - %11 = load i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 2), align 4 + %10 = load i32, i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 2), align 4 + %11 = load i32, i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 2), align 4 %add6 = add nsw i32 %10, %11 %sub7 = sub nsw i32 %add5, %add6 store i32 %sub7, i32* getelementptr inbounds ([4 x i32]* @a, i32 0, i64 2), align 4 - %12 = load i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 3), align 4 - %13 = load i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 3), align 4 + %12 = load i32, i32* getelementptr inbounds ([4 x i32]* @b, i32 0, i64 3), align 4 + %13 = load i32, i32* getelementptr inbounds ([4 x i32]* @c, i32 0, i64 3), align 4 %add8 = add nsw i32 %12, %13 - %14 = load i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 3), align 4 - %15 = load i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 3), align 4 + %14 = load i32, i32* getelementptr inbounds ([4 x i32]* @d, i32 0, i64 3), align 4 + %15 = load i32, i32* getelementptr inbounds ([4 x i32]* @e, i32 0, i64 3), align 4 %add9 = add nsw i32 %14, %15 %add10 = add nsw i32 %add8, %add9 store i32 %add10, i32* getelementptr inbounds ([4 x i32]* @a, i32 0, i64 3), align 4 @@ -107,20 +107,20 @@ entry: ; Function Attrs: nounwind uwtable define void @faddfsub() #0 { entry: - %0 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 - %1 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 + %0 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 + %1 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 %add = fadd float %0, %1 store float %add, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 - %2 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 - %3 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 + %2 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 + %3 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 %sub = fsub float %2, %3 store float %sub, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 - %4 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 - %5 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 + %4 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 + %5 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 %add1 = fadd float %4, %5 store float %add1, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 - %6 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 - %7 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 + %6 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 + %7 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 %sub2 = fsub float %6, %7 store float %sub2, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 ret void @@ -133,20 +133,20 @@ entry: ; Function Attrs: nounwind uwtable define void @fsubfadd() #0 { entry: - %0 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 - %1 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 + %0 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 + %1 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 %sub = fsub float %0, %1 store float %sub, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 - %2 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 - %3 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 + %2 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 + %3 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 %add = fadd float %2, %3 store float %add, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 - %4 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 - %5 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 + %4 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 + %5 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 %sub1 = fsub float %4, %5 store float %sub1, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 - %6 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 - %7 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 + %6 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 + %7 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 %add2 = fadd float %6, %7 store float %add2, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 ret void @@ -159,20 +159,20 @@ entry: ; Function Attrs: nounwind uwtable define void @No_faddfsub() #0 { entry: - %0 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 - %1 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 + %0 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 + %1 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 %add = fadd float %0, %1 store float %add, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 - %2 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 - %3 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 + %2 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 + %3 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 %add1 = fadd float %2, %3 store float %add1, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 - %4 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 - %5 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 + %4 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 + %5 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 %add2 = fadd float %4, %5 store float %add2, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 - %6 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 - %7 = load float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 + %6 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 + %7 = load float, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 %sub = fsub float %6, %7 store float %sub, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 ret void @@ -189,20 +189,20 @@ entry: ; CHECK: %4 = fsub <4 x float> %1, %2 ; CHECK: %5 = shufflevector <4 x float> %3, <4 x float> %4, <4 x i32> define void @reorder_alt() #0 { - %1 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 - %2 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 + %1 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 + %2 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 %3 = fadd float %1, %2 store float %3, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 - %4 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 - %5 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 + %4 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 + %5 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 %6 = fsub float %4, %5 store float %6, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 - %7 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 - %8 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 + %7 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 + %8 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 %9 = fadd float %7, %8 store float %9, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 - %10 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 - %11 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 + %10 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 + %11 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 %12 = fsub float %10, %11 store float %12, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 ret void @@ -222,27 +222,27 @@ define void @reorder_alt() #0 { ; CHECK: %8 = fsub <4 x float> %1, %6 ; CHECK: %9 = shufflevector <4 x float> %7, <4 x float> %8, <4 x i32> define void @reorder_alt_subTree() #0 { - %1 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 - %2 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 - %3 = load float* getelementptr inbounds ([4 x float]* @fd, i32 0, i64 0), align 4 + %1 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 + %2 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 + %3 = load float, float* getelementptr inbounds ([4 x float]* @fd, i32 0, i64 0), align 4 %4 = fsub float %2, %3 %5 = fadd float %1, %4 store float %5, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 - %6 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 - %7 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 - %8 = load float* getelementptr inbounds ([4 x float]* @fd, i32 0, i64 1), align 4 + %6 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 + %7 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 + %8 = load float, float* getelementptr inbounds ([4 x float]* @fd, i32 0, i64 1), align 4 %9 = fadd float %7, %8 %10 = fsub float %6, %9 store float %10, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 - %11 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 - %12 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 - %13 = load float* getelementptr inbounds ([4 x float]* @fd, i32 0, i64 2), align 4 + %11 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 + %12 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 + %13 = load float, float* getelementptr inbounds ([4 x float]* @fd, i32 0, i64 2), align 4 %14 = fsub float %12, %13 %15 = fadd float %11, %14 store float %15, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 - %16 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 - %17 = load float* getelementptr inbounds ([4 x float]* @fd, i32 0, i64 3), align 4 - %18 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 + %16 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 + %17 = load float, float* getelementptr inbounds ([4 x float]* @fd, i32 0, i64 3), align 4 + %18 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 %19 = fadd float %17, %18 %20 = fsub float %16, %19 store float %20, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 @@ -258,18 +258,18 @@ define void @reorder_alt_subTree() #0 { ; CHECK: fsub <2 x double> ; CHECK: shufflevector <2 x double> define void @reorder_alt_rightsubTree(double* nocapture %c, double* noalias nocapture readonly %a, double* noalias nocapture readonly %b, double* noalias nocapture readonly %d) { - %1 = load double* %a - %2 = load double* %b + %1 = load double, double* %a + %2 = load double, double* %b %3 = fadd double %1, %2 - %4 = load double* %d + %4 = load double, double* %d %5 = fsub double %3, %4 store double %5, double* %c %6 = getelementptr inbounds double, double* %d, i64 1 - %7 = load double* %6 + %7 = load double, double* %6 %8 = getelementptr inbounds double, double* %a, i64 1 - %9 = load double* %8 + %9 = load double, double* %8 %10 = getelementptr inbounds double, double* %b, i64 1 - %11 = load double* %10 + %11 = load double, double* %10 %12 = fadd double %9, %11 %13 = fadd double %7, %12 %14 = getelementptr inbounds double, double* %c, i64 1 @@ -290,20 +290,20 @@ define void @reorder_alt_rightsubTree(double* nocapture %c, double* noalias noca ; CHECK-NOT: fsub <4 x float> ; CHECK-NOT: shufflevector define void @no_vec_shuff_reorder() #0 { - %1 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 - %2 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 + %1 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 0), align 4 + %2 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 0), align 4 %3 = fadd float %1, %2 store float %3, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 0), align 4 - %4 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 - %5 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 + %4 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 1), align 4 + %5 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 1), align 4 %6 = fsub float %4, %5 store float %6, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 1), align 4 - %7 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 - %8 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 + %7 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 2), align 4 + %8 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 2), align 4 %9 = fadd float %7, %8 store float %9, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 2), align 4 - %10 = load float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 - %11 = load float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 + %10 = load float, float* getelementptr inbounds ([4 x float]* @fb, i32 0, i64 3), align 4 + %11 = load float, float* getelementptr inbounds ([4 x float]* @fa, i32 0, i64 3), align 4 %12 = fsub float %10, %11 store float %12, float* getelementptr inbounds ([4 x float]* @fc, i32 0, i64 3), align 4 ret void diff --git a/llvm/test/Transforms/SLPVectorizer/X86/align.ll b/llvm/test/Transforms/SLPVectorizer/X86/align.ll index 2d6afaf3c04..b74b70900ee 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/align.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/align.ll @@ -8,16 +8,16 @@ target triple = "x86_64-apple-macosx10.8.0" define void @test1(double* %a, double* %b, double* %c) { entry: %agg.tmp.i.i.sroa.0 = alloca [3 x double], align 16 -; CHECK: %[[V0:[0-9]+]] = load <2 x double>* %[[V2:[0-9]+]], align 8 - %i0 = load double* %a - %i1 = load double* %b +; CHECK: %[[V0:[0-9]+]] = load <2 x double>, <2 x double>* %[[V2:[0-9]+]], align 8 + %i0 = load double, double* %a + %i1 = load double, double* %b %mul = fmul double %i0, %i1 %store1 = getelementptr inbounds [3 x double], [3 x double]* %agg.tmp.i.i.sroa.0, i64 0, i64 1 %store2 = getelementptr inbounds [3 x double], [3 x double]* %agg.tmp.i.i.sroa.0, i64 0, i64 2 %arrayidx3 = getelementptr inbounds double, double* %a, i64 1 - %i3 = load double* %arrayidx3, align 8 + %i3 = load double, double* %arrayidx3, align 8 %arrayidx4 = getelementptr inbounds double, double* %b, i64 1 - %i4 = load double* %arrayidx4, align 8 + %i4 = load double, double* %arrayidx4, align 8 %mul5 = fmul double %i3, %i4 ; CHECK: store <2 x double> %[[V1:[0-9]+]], <2 x double>* %[[V2:[0-9]+]], align 8 store double %mul, double* %store1 @@ -37,13 +37,13 @@ entry: define void @test2(float * %a, float * %b) { entry: - %l0 = load float* %a + %l0 = load float, float* %a %a1 = getelementptr inbounds float, float* %a, i64 1 - %l1 = load float* %a1 + %l1 = load float, float* %a1 %a2 = getelementptr inbounds float, float* %a, i64 2 - %l2 = load float* %a2 + %l2 = load float, float* %a2 %a3 = getelementptr inbounds float, float* %a, i64 3 - %l3 = load float* %a3 + %l3 = load float, float* %a3 store float %l0, float* %b %b1 = getelementptr inbounds float, float* %b, i64 1 store float %l1, float* %b1 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/call.ll b/llvm/test/Transforms/SLPVectorizer/X86/call.ll index 1bb0382e6b1..b76ac2c15c6 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/call.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/call.ll @@ -15,14 +15,14 @@ declare i64 @round(i64) ; CHECK: ret void define void @sin_libm(double* %a, double* %b, double* %c) { entry: - %i0 = load double* %a, align 8 - %i1 = load double* %b, align 8 + %i0 = load double, double* %a, align 8 + %i1 = load double, double* %b, align 8 %mul = fmul double %i0, %i1 %call = tail call double @sin(double %mul) nounwind readnone %arrayidx3 = getelementptr inbounds double, double* %a, i64 1 - %i3 = load double* %arrayidx3, align 8 + %i3 = load double, double* %arrayidx3, align 8 %arrayidx4 = getelementptr inbounds double, double* %b, i64 1 - %i4 = load double* %arrayidx4, align 8 + %i4 = load double, double* %arrayidx4, align 8 %mul5 = fmul double %i3, %i4 %call5 = tail call double @sin(double %mul5) nounwind readnone store double %call, double* %c, align 8 @@ -36,14 +36,14 @@ entry: ; CHECK: ret void define void @cos_libm(double* %a, double* %b, double* %c) { entry: - %i0 = load double* %a, align 8 - %i1 = load double* %b, align 8 + %i0 = load double, double* %a, align 8 + %i1 = load double, double* %b, align 8 %mul = fmul double %i0, %i1 %call = tail call double @cos(double %mul) nounwind readnone %arrayidx3 = getelementptr inbounds double, double* %a, i64 1 - %i3 = load double* %arrayidx3, align 8 + %i3 = load double, double* %arrayidx3, align 8 %arrayidx4 = getelementptr inbounds double, double* %b, i64 1 - %i4 = load double* %arrayidx4, align 8 + %i4 = load double, double* %arrayidx4, align 8 %mul5 = fmul double %i3, %i4 %call5 = tail call double @cos(double %mul5) nounwind readnone store double %call, double* %c, align 8 @@ -57,14 +57,14 @@ entry: ; CHECK: ret void define void @pow_libm(double* %a, double* %b, double* %c) { entry: - %i0 = load double* %a, align 8 - %i1 = load double* %b, align 8 + %i0 = load double, double* %a, align 8 + %i1 = load double, double* %b, align 8 %mul = fmul double %i0, %i1 %call = tail call double @pow(double %mul,double %mul) nounwind readnone %arrayidx3 = getelementptr inbounds double, double* %a, i64 1 - %i3 = load double* %arrayidx3, align 8 + %i3 = load double, double* %arrayidx3, align 8 %arrayidx4 = getelementptr inbounds double, double* %b, i64 1 - %i4 = load double* %arrayidx4, align 8 + %i4 = load double, double* %arrayidx4, align 8 %mul5 = fmul double %i3, %i4 %call5 = tail call double @pow(double %mul5,double %mul5) nounwind readnone store double %call, double* %c, align 8 @@ -79,14 +79,14 @@ entry: ; CHECK: ret void define void @exp2_libm(double* %a, double* %b, double* %c) { entry: - %i0 = load double* %a, align 8 - %i1 = load double* %b, align 8 + %i0 = load double, double* %a, align 8 + %i1 = load double, double* %b, align 8 %mul = fmul double %i0, %i1 %call = tail call double @exp2(double %mul) nounwind readnone %arrayidx3 = getelementptr inbounds double, double* %a, i64 1 - %i3 = load double* %arrayidx3, align 8 + %i3 = load double, double* %arrayidx3, align 8 %arrayidx4 = getelementptr inbounds double, double* %b, i64 1 - %i4 = load double* %arrayidx4, align 8 + %i4 = load double, double* %arrayidx4, align 8 %mul5 = fmul double %i3, %i4 %call5 = tail call double @exp2(double %mul5) nounwind readnone store double %call, double* %c, align 8 @@ -102,14 +102,14 @@ entry: ; CHECK: ret void define void @round_custom(i64* %a, i64* %b, i64* %c) { entry: - %i0 = load i64* %a, align 8 - %i1 = load i64* %b, align 8 + %i0 = load i64, i64* %a, align 8 + %i1 = load i64, i64* %b, align 8 %mul = mul i64 %i0, %i1 %call = tail call i64 @round(i64 %mul) nounwind readnone %arrayidx3 = getelementptr inbounds i64, i64* %a, i64 1 - %i3 = load i64* %arrayidx3, align 8 + %i3 = load i64, i64* %arrayidx3, align 8 %arrayidx4 = getelementptr inbounds i64, i64* %b, i64 1 - %i4 = load i64* %arrayidx4, align 8 + %i4 = load i64, i64* %arrayidx4, align 8 %mul5 = mul i64 %i3, %i4 %call5 = tail call i64 @round(i64 %mul5) nounwind readnone store i64 %call, i64* %c, align 8 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/cast.ll b/llvm/test/Transforms/SLPVectorizer/X86/cast.ll index 357efc569e6..044db5d694b 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/cast.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/cast.ll @@ -15,21 +15,21 @@ target triple = "x86_64-apple-macosx10.9.0" ;CHECK: store <4 x i32> define i32 @foo(i32* noalias nocapture %A, i8* noalias nocapture %B) { entry: - %0 = load i8* %B, align 1 + %0 = load i8, i8* %B, align 1 %conv = sext i8 %0 to i32 store i32 %conv, i32* %A, align 4 %arrayidx2 = getelementptr inbounds i8, i8* %B, i64 1 - %1 = load i8* %arrayidx2, align 1 + %1 = load i8, i8* %arrayidx2, align 1 %conv3 = sext i8 %1 to i32 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 1 store i32 %conv3, i32* %arrayidx4, align 4 %arrayidx5 = getelementptr inbounds i8, i8* %B, i64 2 - %2 = load i8* %arrayidx5, align 1 + %2 = load i8, i8* %arrayidx5, align 1 %conv6 = sext i8 %2 to i32 %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 2 store i32 %conv6, i32* %arrayidx7, align 4 %arrayidx8 = getelementptr inbounds i8, i8* %B, i64 3 - %3 = load i8* %arrayidx8, align 1 + %3 = load i8, i8* %arrayidx8, align 1 %conv9 = sext i8 %3 to i32 %arrayidx10 = getelementptr inbounds i32, i32* %A, i64 3 store i32 %conv9, i32* %arrayidx10, align 4 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/cmp_sel.ll b/llvm/test/Transforms/SLPVectorizer/X86/cmp_sel.ll index 92efaa1eea3..a3e2b21ea6e 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/cmp_sel.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/cmp_sel.ll @@ -17,12 +17,12 @@ target triple = "x86_64-apple-macosx10.8.0" define i32 @foo(double* noalias nocapture %A, double* noalias nocapture %B, double %G) { entry: %arrayidx = getelementptr inbounds double, double* %B, i64 10 - %0 = load double* %arrayidx, align 8 + %0 = load double, double* %arrayidx, align 8 %tobool = fcmp une double %0, 0.000000e+00 %cond = select i1 %tobool, double %G, double 1.000000e+00 store double %cond, double* %A, align 8 %arrayidx2 = getelementptr inbounds double, double* %B, i64 11 - %1 = load double* %arrayidx2, align 8 + %1 = load double, double* %arrayidx2, align 8 %tobool3 = fcmp une double %1, 0.000000e+00 %cond7 = select i1 %tobool3, double %G, double 1.000000e+00 %arrayidx8 = getelementptr inbounds double, double* %A, i64 1 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll b/llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll index 4b78ac3e183..8555fe0df8f 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll @@ -22,13 +22,13 @@ for.body: ; preds = %for.inc, %entry %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.inc ] %0 = shl nsw i64 %indvars.iv, 1 %arrayidx = getelementptr inbounds double, double* %A, i64 %0 - %1 = load double* %arrayidx, align 8 + %1 = load double, double* %arrayidx, align 8 %mul1 = fmul double %conv, %1 %mul2 = fmul double %mul1, 7.000000e+00 %add = fadd double %mul2, 5.000000e+00 %2 = or i64 %0, 1 %arrayidx6 = getelementptr inbounds double, double* %A, i64 %2 - %3 = load double* %arrayidx6, align 8 + %3 = load double, double* %arrayidx6, align 8 %mul8 = fmul double %conv, %3 %mul9 = fmul double %mul8, 4.000000e+00 %add10 = fadd double %mul9, 9.000000e+00 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll b/llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll index ab7380af3b5..1ad4d694d34 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll @@ -21,25 +21,25 @@ entry: %mul = mul nsw i32 %u, 3 %idxprom = sext i32 %mul to i64 %arrayidx = getelementptr inbounds [2000 x double], [2000 x double]* @A, i32 0, i64 %idxprom - %0 = load double* %arrayidx, align 8 + %0 = load double, double* %arrayidx, align 8 %arrayidx4 = getelementptr inbounds [2000 x double], [2000 x double]* @B, i32 0, i64 %idxprom - %1 = load double* %arrayidx4, align 8 + %1 = load double, double* %arrayidx4, align 8 %add5 = fadd double %0, %1 store double %add5, double* %arrayidx, align 8 %add11 = add nsw i32 %mul, 1 %idxprom12 = sext i32 %add11 to i64 %arrayidx13 = getelementptr inbounds [2000 x double], [2000 x double]* @A, i32 0, i64 %idxprom12 - %2 = load double* %arrayidx13, align 8 + %2 = load double, double* %arrayidx13, align 8 %arrayidx17 = getelementptr inbounds [2000 x double], [2000 x double]* @B, i32 0, i64 %idxprom12 - %3 = load double* %arrayidx17, align 8 + %3 = load double, double* %arrayidx17, align 8 %add18 = fadd double %2, %3 store double %add18, double* %arrayidx13, align 8 %add24 = add nsw i32 %mul, 2 %idxprom25 = sext i32 %add24 to i64 %arrayidx26 = getelementptr inbounds [2000 x double], [2000 x double]* @A, i32 0, i64 %idxprom25 - %4 = load double* %arrayidx26, align 8 + %4 = load double, double* %arrayidx26, align 8 %arrayidx30 = getelementptr inbounds [2000 x double], [2000 x double]* @B, i32 0, i64 %idxprom25 - %5 = load double* %arrayidx30, align 8 + %5 = load double, double* %arrayidx30, align 8 %add31 = fadd double %4, %5 store double %add31, double* %arrayidx26, align 8 ret void @@ -58,17 +58,17 @@ entry: %mul = mul nsw i32 %u, 2 %idxprom = sext i32 %mul to i64 %arrayidx = getelementptr inbounds [2000 x double], [2000 x double]* @A, i32 0, i64 %idxprom - %0 = load double* %arrayidx, align 8 + %0 = load double, double* %arrayidx, align 8 %arrayidx4 = getelementptr inbounds [2000 x double], [2000 x double]* @B, i32 0, i64 %idxprom - %1 = load double* %arrayidx4, align 8 + %1 = load double, double* %arrayidx4, align 8 %add5 = fadd double %0, %1 store double %add5, double* %arrayidx, align 8 %add11 = add nsw i32 %mul, 1 %idxprom12 = sext i32 %add11 to i64 %arrayidx13 = getelementptr inbounds [2000 x double], [2000 x double]* @A, i32 0, i64 %idxprom12 - %2 = load double* %arrayidx13, align 8 + %2 = load double, double* %arrayidx13, align 8 %arrayidx17 = getelementptr inbounds [2000 x double], [2000 x double]* @B, i32 0, i64 %idxprom12 - %3 = load double* %arrayidx17, align 8 + %3 = load double, double* %arrayidx17, align 8 %add18 = fadd double %2, %3 store double %add18, double* %arrayidx13, align 8 ret void @@ -85,33 +85,33 @@ entry: %mul = mul nsw i32 %u, 4 %idxprom = sext i32 %mul to i64 %arrayidx = getelementptr inbounds [2000 x float], [2000 x float]* @C, i32 0, i64 %idxprom - %0 = load float* %arrayidx, align 4 + %0 = load float, float* %arrayidx, align 4 %arrayidx4 = getelementptr inbounds [2000 x float], [2000 x float]* @D, i32 0, i64 %idxprom - %1 = load float* %arrayidx4, align 4 + %1 = load float, float* %arrayidx4, align 4 %add5 = fadd float %0, %1 store float %add5, float* %arrayidx, align 4 %add11 = add nsw i32 %mul, 1 %idxprom12 = sext i32 %add11 to i64 %arrayidx13 = getelementptr inbounds [2000 x float], [2000 x float]* @C, i32 0, i64 %idxprom12 - %2 = load float* %arrayidx13, align 4 + %2 = load float, float* %arrayidx13, align 4 %arrayidx17 = getelementptr inbounds [2000 x float], [2000 x float]* @D, i32 0, i64 %idxprom12 - %3 = load float* %arrayidx17, align 4 + %3 = load float, float* %arrayidx17, align 4 %add18 = fadd float %2, %3 store float %add18, float* %arrayidx13, align 4 %add24 = add nsw i32 %mul, 2 %idxprom25 = sext i32 %add24 to i64 %arrayidx26 = getelementptr inbounds [2000 x float], [2000 x float]* @C, i32 0, i64 %idxprom25 - %4 = load float* %arrayidx26, align 4 + %4 = load float, float* %arrayidx26, align 4 %arrayidx30 = getelementptr inbounds [2000 x float], [2000 x float]* @D, i32 0, i64 %idxprom25 - %5 = load float* %arrayidx30, align 4 + %5 = load float, float* %arrayidx30, align 4 %add31 = fadd float %4, %5 store float %add31, float* %arrayidx26, align 4 %add37 = add nsw i32 %mul, 3 %idxprom38 = sext i32 %add37 to i64 %arrayidx39 = getelementptr inbounds [2000 x float], [2000 x float]* @C, i32 0, i64 %idxprom38 - %6 = load float* %arrayidx39, align 4 + %6 = load float, float* %arrayidx39, align 4 %arrayidx43 = getelementptr inbounds [2000 x float], [2000 x float]* @D, i32 0, i64 %idxprom38 - %7 = load float* %arrayidx43, align 4 + %7 = load float, float* %arrayidx43, align 4 %add44 = fadd float %6, %7 store float %add44, float* %arrayidx39, align 4 ret void @@ -143,12 +143,12 @@ for.body: ; preds = %for.body.lr.ph, %fo %mul = mul nsw i32 %0, 2 %idxprom = sext i32 %mul to i64 %arrayidx = getelementptr inbounds double, double* %A, i64 %idxprom - %2 = load double* %arrayidx, align 8 + %2 = load double, double* %arrayidx, align 8 %mul1 = fmul double 7.000000e+00, %2 %add = add nsw i32 %mul, 1 %idxprom3 = sext i32 %add to i64 %arrayidx4 = getelementptr inbounds double, double* %A, i64 %idxprom3 - %3 = load double* %arrayidx4, align 8 + %3 = load double, double* %arrayidx4, align 8 %mul5 = fmul double 7.000000e+00, %3 %add6 = fadd double %mul1, %mul5 %add7 = fadd double %1, %add6 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/continue_vectorizing.ll b/llvm/test/Transforms/SLPVectorizer/X86/continue_vectorizing.ll index b53169c3d01..ecae70ecc91 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/continue_vectorizing.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/continue_vectorizing.ll @@ -9,21 +9,21 @@ target triple = "x86_64-apple-macosx10.8.0" ; CHECK: ret define void @test1(double* %a, double* %b, double* %c, double* %d) { entry: - %i0 = load double* %a, align 8 - %i1 = load double* %b, align 8 + %i0 = load double, double* %a, align 8 + %i1 = load double, double* %b, align 8 %mul = fmul double %i0, %i1 %arrayidx3 = getelementptr inbounds double, double* %a, i64 1 - %i3 = load double* %arrayidx3, align 8 + %i3 = load double, double* %arrayidx3, align 8 %arrayidx4 = getelementptr inbounds double, double* %b, i64 1 - %i4 = load double* %arrayidx4, align 8 + %i4 = load double, double* %arrayidx4, align 8 %mul5 = fmul double %i3, %i4 store double %mul, double* %c, align 8 %arrayidx5 = getelementptr inbounds double, double* %c, i64 1 store double %mul5, double* %arrayidx5, align 8 %0 = bitcast double* %a to <4 x i32>* - %1 = load <4 x i32>* %0, align 8 + %1 = load <4 x i32>, <4 x i32>* %0, align 8 %2 = bitcast double* %b to <4 x i32>* - %3 = load <4 x i32>* %2, align 8 + %3 = load <4 x i32>, <4 x i32>* %2, align 8 %4 = mul <4 x i32> %1, %3 %5 = bitcast double* %d to <4 x i32>* store <4 x i32> %4, <4 x i32>* %5, align 8 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_binaryop.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_binaryop.ll index dc99366e1da..9046c356282 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_binaryop.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_binaryop.ll @@ -7,7 +7,7 @@ target triple = "x86_64-apple-darwin13.3.0" define i32 @fn1() { entry: - %init = load double* @a, align 8 + %init = load double, double* @a, align 8 br label %loop loop: diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll index b5b2f262c47..1bad671fd82 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll @@ -45,7 +45,7 @@ define void @_ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector entry: %arrayidx26 = getelementptr inbounds %class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332, %class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332* %this, i64 0, i32 2, i64 0, i32 0, i64 1 %arrayidx36 = getelementptr inbounds %class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332, %class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332* %this, i64 0, i32 2, i64 0, i32 0, i64 2 - %0 = load float* %arrayidx36, align 4 + %0 = load float, float* %arrayidx36, align 4 %add587 = fadd float undef, undef %sub600 = fsub float %add587, undef store float %sub600, float* undef, align 4 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll index 8ca63945929..f10c8626d41 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll @@ -13,7 +13,7 @@ for.body: %s1.055 = phi float [ 0.000000e+00, %entry ], [ %cond.i40, %for.body ] %s0.054 = phi float [ 0.000000e+00, %entry ], [ %cond.i44, %for.body ] %arrayidx = getelementptr inbounds float, float* %src, i64 %indvars.iv - %0 = load float* %arrayidx, align 4 + %0 = load float, float* %arrayidx, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %arrayidx2 = getelementptr inbounds float, float* %dest, i64 %indvars.iv store float %acc1.056, float* %arrayidx2, align 4 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll index f1ef9572564..28b7aa3c4de 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll @@ -8,12 +8,12 @@ target triple = "x86_64-apple-macosx10.8.0" define void @_ZSt6uniqueISt15_Deque_iteratorIdRdPdEET_S4_S4_(%"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731"* %__first, %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731"* nocapture %__last) { entry: %_M_cur2.i.i = getelementptr inbounds %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731", %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731"* %__first, i64 0, i32 0 - %0 = load double** %_M_cur2.i.i, align 8 + %0 = load double*, double** %_M_cur2.i.i, align 8 %_M_first3.i.i = getelementptr inbounds %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731", %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731"* %__first, i64 0, i32 1 %_M_cur2.i.i81 = getelementptr inbounds %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731", %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731"* %__last, i64 0, i32 0 - %1 = load double** %_M_cur2.i.i81, align 8 + %1 = load double*, double** %_M_cur2.i.i81, align 8 %_M_first3.i.i83 = getelementptr inbounds %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731", %"struct.std::_Deque_iterator.4.157.174.208.259.276.344.731"* %__last, i64 0, i32 1 - %2 = load double** %_M_first3.i.i83, align 8 + %2 = load double*, double** %_M_first3.i.i83, align 8 br i1 undef, label %_ZSt13adjacent_findISt15_Deque_iteratorIdRdPdEET_S4_S4_.exit, label %while.cond.i.preheader while.cond.i.preheader: ; preds = %entry diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_gep.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_gep.ll index aa1857233af..bd1e8f7cc19 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_gep.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_gep.ll @@ -8,7 +8,7 @@ target triple = "x86_64-unknown-linux-gnu" ; Function Attrs: nounwind uwtable define i32 @fn1() { entry: - %0 = load i64** @a, align 8 + %0 = load i64*, i64** @a, align 8 %add.ptr = getelementptr inbounds i64, i64* %0, i64 1 %1 = ptrtoint i64* %add.ptr to i64 %arrayidx = getelementptr inbounds i64, i64* %0, i64 2 diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll index 4ddb27a0be9..70b13fd75f1 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll @@ -81,10 +81,10 @@ define fastcc void @dct36(double* %inbuf) { entry: %arrayidx41 = getelementptr inbounds double, double* %inbuf, i64 2 %arrayidx44 = getelementptr inbounds double, double* %inbuf, i64 1 - %0 = load double* %arrayidx44, align 8 + %0 = load double, double* %arrayidx44, align 8 %add46 = fadd double %0, undef store double %add46, double* %arrayidx41, align 8 - %1 = load double* %inbuf, align 8 + %1 = load double, double* %inbuf, align 8 %add49 = fadd double %1, %0 store double %add49, double* %arrayidx44, align 8 ret void diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll index 109c3c93d5d..f82343fb433 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll @@ -55,9 +55,9 @@ for.end48: ; preds = %for.end44 define void @zot(%struct.hoge* %arg) { bb: - %tmp = load double* undef, align 8 + %tmp = load double, double* undef, align 8 %tmp1 = fsub double %tmp, undef - %tmp2 = load double* undef, align 8 + %tmp2 = load double, double* undef, align 8 %tmp3 = fsub double %tmp2, undef %tmp4 = fmul double %tmp3, undef %tmp5 = fmul double %tmp3, undef diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll index 8da3c34a027..9a5eb12c0aa 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll @@ -13,14 +13,14 @@ target triple = "x86_64-apple-macosx10.8.0" define i32 @fn1() { entry: - %0 = load i32* getelementptr inbounds (%struct.DState* @b, i32 0, i32 0), align 4 - %1 = load i32* getelementptr inbounds (%struct.DState* @b, i32 0, i32 1), align 4 - %2 = load i32* @d, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.DState* @b, i32 0, i32 0), align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.DState* @b, i32 0, i32 1), align 4 + %2 = load i32, i32* @d, align 4 %cond = icmp eq i32 %2, 0 br i1 %cond, label %sw.bb, label %save_state_and_return sw.bb: ; preds = %entry - %3 = load i32* @c, align 4 + %3 = load i32, i32* @c, align 4 %and = and i32 %3, 7 store i32 %and, i32* @a, align 4 switch i32 %and, label %if.end [ diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll index 8f023f80a67..45ca99a3ea1 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll @@ -30,8 +30,8 @@ define void @bar() { %9 = phi double [ 1.800000e+01, %0 ], [ %10, %18 ], [ %10, %17 ], [ %10, %17 ] store double %9, double* %1, align 8 store double %8, double* %2, align 8 - %10 = load double* %3, align 8 - %11 = load double* %4, align 8 + %10 = load double, double* %3, align 8 + %11 = load double, double* %4, align 8 br i1 undef, label %12, label %13 ;