From 198d8baafbfdfcf5a5e219602a5d94ed263973b4 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Fri, 27 Feb 2015 19:29:02 +0000 Subject: [PATCH] [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction One of several parallel first steps to remove the target type of pointers, replacing them with a single opaque pointer type. This adds an explicit type parameter to the gep instruction so that when the first parameter becomes an opaque pointer type, the type to gep through is still available to the instructions. * This doesn't modify gep operators, only instructions (operators will be handled separately) * Textual IR changes only. Bitcode (including upgrade) and changing the in-memory representation will be in separate changes. * geps of vectors are transformed as: getelementptr <4 x float*> %x, ... ->getelementptr float, <4 x float*> %x, ... Then, once the opaque pointer type is introduced, this will ultimately look like: getelementptr float, <4 x ptr> %x with the unambiguous interpretation that it is a vector of pointers to float. * address spaces remain on the pointer, not the type: getelementptr float addrspace(1)* %x ->getelementptr float, float addrspace(1)* %x Then, eventually: getelementptr float, ptr addrspace(1) %x Importantly, the massive amount of test case churn has been automated by same crappy python code. I had to manually update a few test cases that wouldn't fit the script's model (r228970,r229196,r229197,r229198). The python script just massages stdin and writes the result to stdout, I then wrapped that in a shell script to handle replacing files, then using the usual find+xargs to migrate all the files. update.py: import fileinput import sys import re ibrep = re.compile(r"(^.*?[^%\w]getelementptr inbounds )(((?:<\d* x )?)(.*?)(| addrspace\(\d\)) *\*(|>)(?:$| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$))") normrep = re.compile( r"(^.*?[^%\w]getelementptr )(((?:<\d* x )?)(.*?)(| addrspace\(\d\)) *\*(|>)(?:$| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$))") def conv(match, line): if not match: return line line = match.groups()[0] if len(match.groups()[5]) == 0: line += match.groups()[2] line += match.groups()[3] line += ", " line += match.groups()[1] line += "\n" return line for line in sys.stdin: if line.find("getelementptr ") == line.find("getelementptr inbounds"): if line.find("getelementptr inbounds") != line.find("getelementptr inbounds ("): line = conv(re.match(ibrep, line), line) elif line.find("getelementptr ") != line.find("getelementptr ("): line = conv(re.match(normrep, line), line) sys.stdout.write(line) apply.sh: for name in "$@" do python3 `dirname "$0"`/update.py < "$name" > "$name.tmp" && mv "$name.tmp" "$name" rm -f "$name.tmp" done The actual commands: From llvm/src: find test/ -name *.ll | xargs ./apply.sh From llvm/src/tools/clang: find test/ -name *.mm -o -name *.m -o -name *.cpp -o -name *.c | xargs -I '{}' ../../apply.sh "{}" From llvm/src/tools/polly: find test/ -name *.ll | xargs ./apply.sh After that, check-all (with llvm, clang, clang-tools-extra, lld, compiler-rt, and polly all checked out). The extra 'rm' in the apply.sh script is due to a few files in clang's test suite using interesting unicode stuff that my python script was throwing exceptions on. None of those files needed to be migrated, so it seemed sufficient to ignore those cases. Reviewers: rafael, dexonsmith, grosser Differential Revision: http://reviews.llvm.org/D7636 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230786 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AsmParser/LLParser.cpp | 14 +- lib/IR/AsmWriter.cpp | 5 + .../BasicAA/2003-02-26-AccessSizeTest.ll | 2 +- test/Analysis/BasicAA/2003-03-04-GEPCrash.ll | 4 +- .../Analysis/BasicAA/2003-04-22-GEPProblem.ll | 4 +- test/Analysis/BasicAA/2003-04-25-GEPCrash.ll | 4 +- .../BasicAA/2003-05-21-GEP-Problem.ll | 4 +- .../Analysis/BasicAA/2003-06-01-AliasCrash.ll | 6 +- .../BasicAA/2003-07-03-BasicAACrash.ll | 4 +- .../BasicAA/2003-11-04-SimpleCases.ll | 10 +- .../BasicAA/2003-12-11-ConstExprGEP.ll | 8 +- .../BasicAA/2004-07-28-MustAliasbug.ll | 6 +- .../BasicAA/2006-03-03-BadArraySubscript.ll | 8 +- .../BasicAA/2006-11-03-BasicAAVectorCrash.ll | 4 +- .../2007-01-13-BasePointerBadNoAlias.ll | 4 +- .../BasicAA/2007-08-01-NoAliasAndGEP.ll | 8 +- .../BasicAA/2007-10-24-ArgumentsGlobals.ll | 2 +- test/Analysis/BasicAA/2007-11-05-SizeCrash.ll | 4 +- .../BasicAA/2007-12-08-OutOfBoundsCrash.ll | 4 +- test/Analysis/BasicAA/2008-04-15-Byval.ll | 4 +- .../Analysis/BasicAA/2009-03-04-GEPNoalias.ll | 2 +- .../BasicAA/2009-10-13-AtomicModRef.ll | 4 +- .../BasicAA/2009-10-13-GEP-BaseNoAlias.ll | 2 +- .../2010-09-15-GEP-SignedArithmetic.ll | 2 +- .../BasicAA/2014-03-18-Maxlookup-reached.ll | 20 +- test/Analysis/BasicAA/byval.ll | 2 +- test/Analysis/BasicAA/constant-over-index.ll | 4 +- test/Analysis/BasicAA/cs-cs.ll | 10 +- test/Analysis/BasicAA/featuretest.ll | 20 +- .../BasicAA/full-store-partial-alias.ll | 4 +- test/Analysis/BasicAA/gep-alias.ll | 60 +- test/Analysis/BasicAA/global-size.ll | 4 +- test/Analysis/BasicAA/intrinsics.ll | 4 +- test/Analysis/BasicAA/modref.ll | 10 +- test/Analysis/BasicAA/must-and-partial.ll | 4 +- test/Analysis/BasicAA/no-escape-call.ll | 6 +- test/Analysis/BasicAA/noalias-bugs.ll | 8 +- test/Analysis/BasicAA/noalias-geps.ll | 32 +- test/Analysis/BasicAA/phi-aa.ll | 4 +- test/Analysis/BasicAA/phi-spec-order.ll | 16 +- test/Analysis/BasicAA/phi-speculation.ll | 16 +- test/Analysis/BasicAA/pr18573.ll | 4 +- test/Analysis/BasicAA/store-promote.ll | 4 +- test/Analysis/BasicAA/struct-geps.ll | 50 +- test/Analysis/BasicAA/underlying-value.ll | 4 +- test/Analysis/BasicAA/unreachable-block.ll | 2 +- test/Analysis/BasicAA/zext.ll | 60 +- test/Analysis/BlockFrequencyInfo/basic.ll | 2 +- test/Analysis/BranchProbabilityInfo/basic.ll | 6 +- test/Analysis/BranchProbabilityInfo/loop.ll | 4 +- .../Analysis/BranchProbabilityInfo/pr18705.ll | 10 +- .../CFLAliasAnalysis/const-expr-gep.ll | 8 +- .../CFLAliasAnalysis/constant-over-index.ll | 4 +- .../full-store-partial-alias.ll | 4 +- .../CFLAliasAnalysis/gep-signed-arithmetic.ll | 2 +- .../CFLAliasAnalysis/must-and-partial.ll | 8 +- test/Analysis/CFLAliasAnalysis/simple.ll | 10 +- test/Analysis/CostModel/ARM/gep.ll | 48 +- test/Analysis/CostModel/X86/gep.ll | 48 +- test/Analysis/CostModel/X86/intrinsic-cost.ll | 6 +- test/Analysis/CostModel/X86/loop_v2.ll | 6 +- .../Analysis/CostModel/X86/vectorized-loop.ll | 8 +- test/Analysis/Delinearization/a.ll | 2 +- .../Delinearization/gcd_multiply_expr.ll | 18 +- test/Analysis/Delinearization/himeno_1.ll | 14 +- test/Analysis/Delinearization/himeno_2.ll | 14 +- .../iv_times_constant_in_subscript.ll | 2 +- .../multidim_ivs_and_integer_offsets_3d.ll | 2 +- ...multidim_ivs_and_integer_offsets_nts_3d.ll | 2 +- ...multidim_ivs_and_parameteric_offsets_3d.ll | 2 +- .../Delinearization/multidim_only_ivs_2d.ll | 2 +- .../multidim_only_ivs_2d_nested.ll | 2 +- .../Delinearization/multidim_only_ivs_3d.ll | 2 +- .../multidim_only_ivs_3d_cast.ll | 2 +- ..._two_accesses_different_delinearization.ll | 4 +- test/Analysis/Delinearization/undef.ll | 2 +- test/Analysis/DependenceAnalysis/Banerjee.ll | 104 +- test/Analysis/DependenceAnalysis/Coupled.ll | 96 +- test/Analysis/DependenceAnalysis/ExactRDIV.ll | 86 +- test/Analysis/DependenceAnalysis/ExactSIV.ll | 84 +- test/Analysis/DependenceAnalysis/GCD.ll | 80 +- test/Analysis/DependenceAnalysis/Invariant.ll | 4 +- .../NonCanonicalizedSubscript.ll | 4 +- .../DependenceAnalysis/Preliminary.ll | 62 +- .../DependenceAnalysis/Propagating.ll | 82 +- .../DependenceAnalysis/Separability.ll | 48 +- test/Analysis/DependenceAnalysis/StrongSIV.ll | 66 +- .../DependenceAnalysis/SymbolicRDIV.ll | 44 +- .../DependenceAnalysis/SymbolicSIV.ll | 54 +- .../DependenceAnalysis/WeakCrossingSIV.ll | 42 +- .../DependenceAnalysis/WeakZeroDstSIV.ll | 42 +- .../DependenceAnalysis/WeakZeroSrcSIV.ll | 42 +- test/Analysis/DependenceAnalysis/ZIV.ll | 12 +- test/Analysis/Dominators/invoke.ll | 2 +- .../backward-dep-different-types.ll | 6 +- .../unsafe-and-rt-checks-no-dbg.ll | 16 +- .../unsafe-and-rt-checks.ll | 16 +- .../memdep_requires_dominator_tree.ll | 4 +- .../2007-07-15-NegativeStride.ll | 2 +- .../2008-07-12-UnneededSelect1.ll | 2 +- .../ScalarEvolution/2008-12-08-FiniteSGE.ll | 4 +- .../2009-05-09-PointerEdgeCount.ll | 8 +- .../2012-03-26-LoadConstant.ll | 2 +- .../ScalarEvolution/SolveQuadraticEquation.ll | 2 +- test/Analysis/ScalarEvolution/avoid-smax-0.ll | 4 +- test/Analysis/ScalarEvolution/avoid-smax-1.ll | 24 +- test/Analysis/ScalarEvolution/load.ll | 8 +- .../max-trip-count-address-space.ll | 4 +- .../ScalarEvolution/max-trip-count.ll | 4 +- .../Analysis/ScalarEvolution/min-max-exprs.ll | 4 +- .../ScalarEvolution/nsw-offset-assume.ll | 16 +- test/Analysis/ScalarEvolution/nsw-offset.ll | 16 +- test/Analysis/ScalarEvolution/nsw.ll | 18 +- test/Analysis/ScalarEvolution/pr22674.ll | 8 +- test/Analysis/ScalarEvolution/scev-aa.ll | 34 +- test/Analysis/ScalarEvolution/sext-inreg.ll | 2 +- test/Analysis/ScalarEvolution/sext-iv-0.ll | 4 +- test/Analysis/ScalarEvolution/sext-iv-1.ll | 16 +- test/Analysis/ScalarEvolution/sext-iv-2.ll | 2 +- test/Analysis/ScalarEvolution/sle.ll | 2 +- test/Analysis/ScalarEvolution/trip-count.ll | 2 +- test/Analysis/ScalarEvolution/trip-count11.ll | 4 +- test/Analysis/ScalarEvolution/trip-count12.ll | 2 +- test/Analysis/ScalarEvolution/trip-count2.ll | 2 +- test/Analysis/ScalarEvolution/trip-count3.ll | 6 +- test/Analysis/ScalarEvolution/trip-count4.ll | 2 +- test/Analysis/ScalarEvolution/trip-count5.ll | 4 +- test/Analysis/ScalarEvolution/trip-count6.ll | 2 +- test/Analysis/ScalarEvolution/trip-count7.ll | 20 +- .../Analysis/ScopedNoAliasAA/basic-domains.ll | 6 +- test/Analysis/ScopedNoAliasAA/basic.ll | 4 +- test/Analysis/ScopedNoAliasAA/basic2.ll | 6 +- .../TypeBasedAliasAnalysis/dynamic-indices.ll | 30 +- test/Analysis/TypeBasedAliasAnalysis/licm.ll | 2 +- .../TypeBasedAliasAnalysis/placement-tbaa.ll | 8 +- .../TypeBasedAliasAnalysis/precedence.ll | 2 +- .../TypeBasedAliasAnalysis/tbaa-path.ll | 92 +- .../ValueTracking/memory-dereferenceable.ll | 4 +- test/Assembler/2002-08-19-BytecodeReader.ll | 4 +- .../2004-04-04-GetElementPtrIndexTypes.ll | 8 +- test/Assembler/2004-06-07-VerifierBug.ll | 2 +- test/Assembler/2007-01-05-Cmp-ConstExpr.ll | 2 +- test/Assembler/flags.ll | 8 +- test/Assembler/getelementptr.ll | 8 +- test/Assembler/getelementptr_struct.ll | 2 +- test/Assembler/getelementptr_vec_idx1.ll | 2 +- test/Assembler/getelementptr_vec_idx2.ll | 2 +- test/Assembler/getelementptr_vec_idx3.ll | 2 +- test/Assembler/getelementptr_vec_struct.ll | 2 +- .../invalid-gep-mismatched-explicit-type.ll | 6 + .../invalid-gep-missing-explicit-type.ll | 7 + test/Bitcode/constantsTest.3.2.ll | 8 +- .../Bitcode/function-encoding-rel-operands.ll | 2 +- test/Bitcode/memInstructions.3.2.ll | 12 +- test/BugPoint/compile-custom.ll | 0 test/CodeGen/AArch64/128bit_load_store.ll | 2 +- test/CodeGen/AArch64/PBQP-chain.ll | 42 +- test/CodeGen/AArch64/PBQP-coalesce-benefit.ll | 2 +- test/CodeGen/AArch64/PBQP-csr.ll | 36 +- test/CodeGen/AArch64/Redundantstore.ll | 4 +- ...aarch64-2014-08-11-MachineCombinerCrash.ll | 4 +- .../AArch64/aarch64-a57-fp-load-balancing.ll | 80 +- ...arch64-address-type-promotion-assertion.ll | 10 +- .../AArch64/aarch64-address-type-promotion.ll | 6 +- test/CodeGen/AArch64/aarch64-gep-opt.ll | 32 +- test/CodeGen/AArch64/and-mask-removal.ll | 4 +- .../arm64-2011-03-21-Unaligned-Frame-Index.ll | 2 +- .../AArch64/arm64-2012-05-22-LdStOptBug.ll | 8 +- .../arm64-2012-07-11-InstrEmitterBug.ll | 2 +- test/CodeGen/AArch64/arm64-abi-varargs.ll | 4 +- test/CodeGen/AArch64/arm64-abi_align.ll | 16 +- .../AArch64/arm64-addr-mode-folding.ll | 28 +- .../AArch64/arm64-addr-type-promotion.ll | 12 +- test/CodeGen/AArch64/arm64-addrmode.ll | 14 +- test/CodeGen/AArch64/arm64-atomic.ll | 64 +- test/CodeGen/AArch64/arm64-bcc.ll | 4 +- .../AArch64/arm64-big-endian-varargs.ll | 10 +- test/CodeGen/AArch64/arm64-big-stack.ll | 2 +- .../CodeGen/AArch64/arm64-bitfield-extract.ll | 12 +- test/CodeGen/AArch64/arm64-cast-opt.ll | 4 +- test/CodeGen/AArch64/arm64-ccmp-heuristics.ll | 34 +- test/CodeGen/AArch64/arm64-ccmp.ll | 4 +- .../arm64-collect-loh-garbage-crash.ll | 2 +- .../AArch64/arm64-complex-copy-noneon.ll | 8 +- test/CodeGen/AArch64/arm64-const-addr.ll | 6 +- test/CodeGen/AArch64/arm64-cse.ll | 4 +- .../arm64-dagcombiner-dead-indexed-load.ll | 2 +- .../AArch64/arm64-dagcombiner-load-slicing.ll | 24 +- test/CodeGen/AArch64/arm64-early-ifcvt.ll | 4 +- test/CodeGen/AArch64/arm64-elf-globals.ll | 2 +- test/CodeGen/AArch64/arm64-extend.ll | 2 +- test/CodeGen/AArch64/arm64-extern-weak.ll | 2 +- .../AArch64/arm64-fast-isel-addr-offset.ll | 2 +- .../CodeGen/AArch64/arm64-fast-isel-alloca.ll | 2 +- .../AArch64/arm64-fast-isel-indirectbr.ll | 2 +- .../AArch64/arm64-fast-isel-intrinsic.ll | 2 +- test/CodeGen/AArch64/arm64-fast-isel.ll | 8 +- .../arm64-fastisel-gep-promote-before-add.ll | 2 +- test/CodeGen/AArch64/arm64-fold-address.ll | 16 +- test/CodeGen/AArch64/arm64-fold-lsl.ll | 12 +- test/CodeGen/AArch64/arm64-indexed-memory.ll | 64 +- .../AArch64/arm64-indexed-vector-ldst-2.ll | 2 +- .../AArch64/arm64-indexed-vector-ldst.ll | 1220 +- test/CodeGen/AArch64/arm64-inline-asm.ll | 2 +- test/CodeGen/AArch64/arm64-large-frame.ll | 6 +- test/CodeGen/AArch64/arm64-ldp.ll | 62 +- test/CodeGen/AArch64/arm64-ldur.ll | 14 +- test/CodeGen/AArch64/arm64-memset-inline.ll | 2 +- .../AArch64/arm64-misched-basic-A53.ll | 6 +- .../AArch64/arm64-misched-basic-A57.ll | 4 +- test/CodeGen/AArch64/arm64-prefetch.ll | 24 +- .../arm64-register-offset-addressing.ll | 4 +- test/CodeGen/AArch64/arm64-rev.ll | 2 +- test/CodeGen/AArch64/arm64-scaled_iv.ll | 6 +- test/CodeGen/AArch64/arm64-scvt.ll | 66 +- test/CodeGen/AArch64/arm64-spill-lr.ll | 4 +- test/CodeGen/AArch64/arm64-st1.ll | 40 +- test/CodeGen/AArch64/arm64-stp.ll | 24 +- test/CodeGen/AArch64/arm64-stur.ll | 12 +- test/CodeGen/AArch64/arm64-this-return.ll | 10 +- .../AArch64/arm64-triv-disjoint-mem-access.ll | 4 +- test/CodeGen/AArch64/arm64-trunc-store.ll | 6 +- test/CodeGen/AArch64/arm64-vector-ldst.ll | 96 +- test/CodeGen/AArch64/arm64-virtual_base.ll | 4 +- test/CodeGen/AArch64/arm64-volatile.ll | 8 +- .../AArch64/arm64-zextload-unscaled.ll | 6 +- test/CodeGen/AArch64/assertion-rc-mismatch.ll | 2 +- test/CodeGen/AArch64/cmpwithshort.ll | 6 +- .../AArch64/combine-comparisons-by-cse.ll | 4 +- test/CodeGen/AArch64/complex-copy-noneon.ll | 8 +- test/CodeGen/AArch64/eliminate-trunc.ll | 4 +- test/CodeGen/AArch64/extern-weak.ll | 2 +- test/CodeGen/AArch64/f16-convert.ll | 32 +- test/CodeGen/AArch64/fast-isel-gep.ll | 12 +- test/CodeGen/AArch64/func-argpassing.ll | 16 +- test/CodeGen/AArch64/global-merge-3.ll | 4 +- test/CodeGen/AArch64/i128-align.ll | 4 +- .../AArch64/intrinsics-memory-barrier.ll | 6 +- test/CodeGen/AArch64/ldst-opt.ll | 180 +- test/CodeGen/AArch64/ldst-regoffset.ll | 28 +- test/CodeGen/AArch64/ldst-unscaledimm.ll | 42 +- test/CodeGen/AArch64/ldst-unsignedimm.ll | 16 +- test/CodeGen/AArch64/paired-load.ll | 4 +- test/CodeGen/AArch64/ragreedy-csr.ll | 56 +- test/CodeGen/AArch64/stack_guard_remat.ll | 2 +- test/CodeGen/AArch64/zero-reg.ll | 2 +- test/CodeGen/ARM/2006-11-10-CycleInDAG.ll | 4 +- test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll | 8 +- test/CodeGen/ARM/2007-03-07-CombinerCrash.ll | 4 +- test/CodeGen/ARM/2007-03-13-InstrSched.ll | 12 +- .../ARM/2007-03-21-JoinIntervalsCrash.ll | 4 +- .../ARM/2007-03-27-RegScavengerAssert.ll | 2 +- .../ARM/2007-04-02-RegScavengerAssert.ll | 2 +- .../CodeGen/ARM/2007-04-03-UndefinedSymbol.ll | 28 +- .../ARM/2007-05-03-BadPostIndexedLd.ll | 4 +- .../ARM/2007-05-23-BadPreIndexedStore.ll | 6 +- test/CodeGen/ARM/2007-08-15-ReuseBug.ll | 10 +- test/CodeGen/ARM/2008-02-29-RegAllocLocal.ll | 2 +- .../CodeGen/ARM/2008-04-10-ScavengerAssert.ll | 16 +- .../ARM/2008-05-19-LiveIntervalsBug.ll | 2 +- test/CodeGen/ARM/2009-03-09-AddrModeBug.ll | 2 +- test/CodeGen/ARM/2009-04-08-AggregateAddr.ll | 4 +- test/CodeGen/ARM/2009-06-22-CoalescerBug.ll | 2 +- .../ARM/2009-06-30-RegScavengerAssert.ll | 2 +- .../ARM/2009-06-30-RegScavengerAssert2.ll | 2 +- .../ARM/2009-06-30-RegScavengerAssert3.ll | 4 +- .../ARM/2009-06-30-RegScavengerAssert4.ll | 8 +- test/CodeGen/ARM/2009-07-01-CommuteBug.ll | 4 +- test/CodeGen/ARM/2009-07-18-RewriterBug.ll | 424 +- .../CodeGen/ARM/2009-07-22-SchedulerAssert.ll | 2 +- .../2009-08-15-RegScavenger-EarlyClobber.ll | 2 +- test/CodeGen/ARM/2009-08-21-PostRAKill.ll | 4 +- test/CodeGen/ARM/2009-08-21-PostRAKill2.ll | 2 +- test/CodeGen/ARM/2009-08-21-PostRAKill3.ll | 4 +- test/CodeGen/ARM/2009-08-31-LSDA-Name.ll | 4 +- test/CodeGen/ARM/2009-09-13-InvalidSubreg.ll | 2 +- test/CodeGen/ARM/2009-09-28-LdStOptiBug.ll | 4 +- test/CodeGen/ARM/2009-11-01-NeonMoves.ll | 2 +- .../CodeGen/ARM/2009-11-13-ScavengerAssert.ll | 2 +- .../ARM/2009-11-13-ScavengerAssert2.ll | 16 +- .../CodeGen/ARM/2009-11-13-VRRewriterCrash.ll | 12 +- test/CodeGen/ARM/2009-12-02-vtrn-undef.ll | 8 +- test/CodeGen/ARM/2010-03-04-eabi-fp-spill.ll | 8 +- test/CodeGen/ARM/2010-03-04-stm-undef-addr.ll | 8 +- test/CodeGen/ARM/2010-05-17-FastAllocCrash.ll | 2 +- test/CodeGen/ARM/2010-05-18-PostIndexBug.ll | 2 +- test/CodeGen/ARM/2010-05-21-BuildVector.ll | 8 +- .../CodeGen/ARM/2010-06-21-LdStMultipleBug.ll | 14 +- test/CodeGen/ARM/2010-06-21-nondarwin-tc.ll | 18 +- .../ARM/2010-06-25-Thumb2ITInvalidIterator.ll | 2 +- test/CodeGen/ARM/2010-07-26-GlobalMerge.ll | 2 +- test/CodeGen/ARM/2010-08-04-StackVariable.ll | 18 +- .../ARM/2010-11-15-SpillEarlyClobber.ll | 6 +- test/CodeGen/ARM/2010-12-15-elf-lcomm.ll | 2 +- .../ARM/2010-12-17-LocalStackSlotCrash.ll | 2 +- .../CodeGen/ARM/2011-02-04-AntidepMultidef.ll | 2 +- test/CodeGen/ARM/2011-02-07-AntidepClobber.ll | 2 +- .../CodeGen/ARM/2011-03-10-DAGCombineCrash.ll | 4 +- .../CodeGen/ARM/2011-03-15-LdStMultipleBug.ll | 6 +- test/CodeGen/ARM/2011-04-07-schediv.ll | 4 +- test/CodeGen/ARM/2011-04-11-MachineLICMBug.ll | 2 +- test/CodeGen/ARM/2011-08-29-ldr_pre_imm.ll | 4 +- .../2011-10-26-ExpandUnalignedLoadCrash.ll | 4 +- test/CodeGen/ARM/2011-11-14-EarlyClobber.ll | 10 +- .../ARM/2012-08-27-CopyPhysRegCrash.ll | 6 +- .../ARM/2012-10-04-AAPCS-byval-align8.ll | 2 +- .../ARM/2012-10-04-FixedFrame-vs-byval.ll | 2 +- test/CodeGen/ARM/2013-01-21-PR14992.ll | 6 +- .../ARM/2013-04-18-load-overlap-PR14824.ll | 10 +- .../ARM/2013-05-07-ByteLoadSameAddress.ll | 20 +- .../ARM/2014-07-18-earlyclobber-str-post.ll | 6 +- .../ARM/2015-01-21-thumbv4t-ldstr-opt.ll | 16 +- test/CodeGen/ARM/MergeConsecutiveStores.ll | 30 +- .../ARM/Windows/chkstk-movw-movt-isel.ll | 2 +- .../ARM/Windows/stack-probe-non-default.ll | 4 +- test/CodeGen/ARM/Windows/vla.ll | 2 +- test/CodeGen/ARM/a15-partial-update.ll | 4 +- test/CodeGen/ARM/arm-and-tst-peephole.ll | 12 +- test/CodeGen/ARM/arm-negative-stride.ll | 4 +- test/CodeGen/ARM/avoid-cpsr-rmw.ll | 26 +- test/CodeGen/ARM/bfx.ll | 6 +- test/CodeGen/ARM/bx_fold.ll | 2 +- test/CodeGen/ARM/call.ll | 2 +- test/CodeGen/ARM/call_nolink.ll | 20 +- test/CodeGen/ARM/coalesce-subregs.ll | 20 +- test/CodeGen/ARM/code-placement.ll | 4 +- test/CodeGen/ARM/commute-movcc.ll | 2 +- test/CodeGen/ARM/compare-call.ll | 2 +- test/CodeGen/ARM/crash-greedy-v6.ll | 12 +- test/CodeGen/ARM/crash.ll | 2 +- test/CodeGen/ARM/debug-frame-vararg.ll | 2 +- test/CodeGen/ARM/debug-info-blocks.ll | 28 +- test/CodeGen/ARM/debug-info-d16-reg.ll | 2 +- test/CodeGen/ARM/debug-info-s16-reg.ll | 2 +- test/CodeGen/ARM/divmod.ll | 6 +- test/CodeGen/ARM/dyn-stackalloc.ll | 4 +- test/CodeGen/ARM/fast-isel-align.ll | 4 +- test/CodeGen/ARM/fast-isel-ldr-str-arm.ll | 12 +- .../ARM/fast-isel-ldr-str-thumb-neg-index.ll | 36 +- test/CodeGen/ARM/fast-isel-ldrh-strh-arm.ll | 30 +- test/CodeGen/ARM/fast-isel-pred.ll | 4 +- test/CodeGen/ARM/fast-isel-redefinition.ll | 2 +- .../ARM/fastisel-gep-promote-before-add.ll | 2 +- test/CodeGen/ARM/flag-crash.ll | 6 +- test/CodeGen/ARM/fpmem.ll | 4 +- test/CodeGen/ARM/ifconv-kills.ll | 2 +- test/CodeGen/ARM/ifcvt-branch-weight-bug.ll | 2 +- test/CodeGen/ARM/ifcvt-branch-weight.ll | 4 +- test/CodeGen/ARM/ifcvt11.ll | 6 +- test/CodeGen/ARM/indirect-reg-input.ll | 2 +- test/CodeGen/ARM/indirectbr-2.ll | 2 +- test/CodeGen/ARM/indirectbr.ll | 2 +- test/CodeGen/ARM/inline-diagnostics.ll | 2 +- test/CodeGen/ARM/inlineasm-64bit.ll | 2 +- test/CodeGen/ARM/intrinsics-memory-barrier.ll | 6 +- test/CodeGen/ARM/ldr.ll | 4 +- test/CodeGen/ARM/ldr_frame.ll | 8 +- test/CodeGen/ARM/ldr_pre.ll | 2 +- test/CodeGen/ARM/ldrd.ll | 6 +- test/CodeGen/ARM/ldst-f32-2-i32.ll | 4 +- test/CodeGen/ARM/ldstrex.ll | 6 +- test/CodeGen/ARM/lsr-code-insertion.ll | 12 +- test/CodeGen/ARM/lsr-icmp-imm.ll | 2 +- test/CodeGen/ARM/lsr-scale-addr-mode.ll | 2 +- test/CodeGen/ARM/lsr-unfolded-offset.ll | 8 +- test/CodeGen/ARM/machine-cse-cmp.ll | 2 +- test/CodeGen/ARM/machine-licm.ll | 2 +- test/CodeGen/ARM/memset-inline.ll | 2 +- test/CodeGen/ARM/misched-copy-arm.ll | 4 +- test/CodeGen/ARM/negative-offset.ll | 4 +- test/CodeGen/ARM/no-tail-call.ll | 40 +- test/CodeGen/ARM/phi.ll | 4 +- test/CodeGen/ARM/pr13249.ll | 4 +- test/CodeGen/ARM/prefetch.ll | 6 +- test/CodeGen/ARM/reg_sequence.ll | 14 +- test/CodeGen/ARM/saxpy10-a9.ll | 36 +- test/CodeGen/ARM/shifter_operand.ll | 2 +- .../CodeGen/ARM/sjlj-prepare-critical-edge.ll | 2 +- test/CodeGen/ARM/ssp-data-layout.ll | 128 +- test/CodeGen/ARM/stack-alignment.ll | 60 +- .../ARM/stack-protector-bmovpcb_call.ll | 2 +- test/CodeGen/ARM/stack_guard_remat.ll | 2 +- test/CodeGen/ARM/str_pre.ll | 4 +- test/CodeGen/ARM/struct-byval-frame-index.ll | 20 +- test/CodeGen/ARM/struct_byval.ll | 4 +- test/CodeGen/ARM/swift-vldm.ll | 6 +- test/CodeGen/ARM/tail-dup.ll | 8 +- test/CodeGen/ARM/test-sharedidx.ll | 24 +- test/CodeGen/ARM/this-return.ll | 10 +- test/CodeGen/ARM/thumb1-varalloc.ll | 2 +- test/CodeGen/ARM/trunc_ldr.ll | 4 +- .../ARM/unaligned_load_store_vector.ll | 108 +- test/CodeGen/ARM/undef-sext.ll | 2 +- test/CodeGen/ARM/vector-load.ll | 30 +- test/CodeGen/ARM/vector-spilling.ll | 8 +- test/CodeGen/ARM/vector-store.ll | 30 +- test/CodeGen/ARM/vfp.ll | 2 +- test/CodeGen/ARM/vld1.ll | 6 +- test/CodeGen/ARM/vld2.ll | 4 +- test/CodeGen/ARM/vld3.ll | 6 +- test/CodeGen/ARM/vld4.ll | 6 +- test/CodeGen/ARM/vlddup.ll | 6 +- test/CodeGen/ARM/vldlane.ll | 6 +- test/CodeGen/ARM/vldm-liveness.ll | 8 +- test/CodeGen/ARM/vldm-sched-a9.ll | 2 +- test/CodeGen/ARM/vmov.ll | 4 +- test/CodeGen/ARM/vmul.ll | 4 +- test/CodeGen/ARM/vrev.ll | 2 +- test/CodeGen/ARM/vst1.ll | 4 +- test/CodeGen/ARM/vst2.ll | 8 +- test/CodeGen/ARM/vst3.ll | 6 +- test/CodeGen/ARM/vst4.ll | 6 +- test/CodeGen/ARM/vstlane.ll | 10 +- test/CodeGen/ARM/warn-stack.ll | 4 +- test/CodeGen/ARM/wrong-t2stmia-size-opt.ll | 4 +- test/CodeGen/ARM/zextload_demandedbits.ll | 4 +- test/CodeGen/BPF/basictest.ll | 2 +- test/CodeGen/BPF/byval.ll | 8 +- test/CodeGen/BPF/ex1.ll | 8 +- test/CodeGen/BPF/load.ll | 2 +- test/CodeGen/BPF/loops.ll | 10 +- test/CodeGen/BPF/sanity.ll | 2 +- test/CodeGen/Generic/2003-05-28-ManyArgs.ll | 94 +- test/CodeGen/Generic/2003-05-30-BadFoldGEP.ll | 8 +- .../Generic/2003-07-29-BadConstSbyte.ll | 2 +- .../Generic/2006-03-01-dagcombineinfloop.ll | 8 +- .../Generic/2006-05-06-GEP-Cast-Sink-Crash.ll | 2 +- .../2006-06-13-ComputeMaskedBitsCrash.ll | 4 +- .../Generic/2006-09-02-LocalAllocCrash.ll | 10 +- test/CodeGen/Generic/2008-01-30-LoadCrash.ll | 4 +- .../CodeGen/Generic/2008-02-20-MatchingMem.ll | 2 +- .../Generic/2014-02-05-OpaqueConstants.ll | 2 +- test/CodeGen/Generic/badFoldGEP.ll | 4 +- test/CodeGen/Generic/cast-fp.ll | 10 +- test/CodeGen/Generic/constindices.ll | 20 +- test/CodeGen/Generic/crash.ll | 8 +- test/CodeGen/Generic/hello.ll | 2 +- test/CodeGen/Generic/negintconst.ll | 4 +- test/CodeGen/Generic/print-add.ll | 2 +- test/CodeGen/Generic/print-arith-fp.ll | 26 +- test/CodeGen/Generic/print-arith-int.ll | 36 +- test/CodeGen/Generic/print-int.ll | 2 +- test/CodeGen/Generic/print-mul-exp.ll | 4 +- test/CodeGen/Generic/print-mul.ll | 6 +- test/CodeGen/Generic/print-shift.ll | 6 +- test/CodeGen/Generic/select.ll | 2 +- test/CodeGen/Generic/undef-phi.ll | 4 +- test/CodeGen/Generic/vector.ll | 2 +- test/CodeGen/Hexagon/always-ext.ll | 2 +- test/CodeGen/Hexagon/cext-check.ll | 8 +- test/CodeGen/Hexagon/cext-valid-packet2.ll | 14 +- test/CodeGen/Hexagon/combine_ir.ll | 4 +- test/CodeGen/Hexagon/hwloop-cleanup.ll | 6 +- test/CodeGen/Hexagon/hwloop-const.ll | 4 +- test/CodeGen/Hexagon/hwloop-dbg.ll | 4 +- test/CodeGen/Hexagon/hwloop-le.ll | 30 +- test/CodeGen/Hexagon/hwloop-lt.ll | 30 +- test/CodeGen/Hexagon/hwloop-lt1.ll | 8 +- test/CodeGen/Hexagon/hwloop-ne.ll | 30 +- test/CodeGen/Hexagon/i16_VarArg.ll | 12 +- test/CodeGen/Hexagon/i1_VarArg.ll | 12 +- test/CodeGen/Hexagon/i8_VarArg.ll | 12 +- .../Hexagon/idxload-with-zero-offset.ll | 12 +- test/CodeGen/Hexagon/memops.ll | 168 +- test/CodeGen/Hexagon/memops1.ll | 6 +- test/CodeGen/Hexagon/memops2.ll | 4 +- test/CodeGen/Hexagon/memops3.ll | 4 +- test/CodeGen/Hexagon/postinc-load.ll | 4 +- test/CodeGen/Hexagon/postinc-store.ll | 4 +- test/CodeGen/Hexagon/remove_lsr.ll | 20 +- test/CodeGen/Hexagon/union-1.ll | 2 +- .../CodeGen/MSP430/2009-11-08-InvalidResNo.ll | 2 +- test/CodeGen/MSP430/2009-12-22-InlineAsm.ll | 2 +- test/CodeGen/MSP430/AddrMode-bis-rx.ll | 8 +- test/CodeGen/MSP430/AddrMode-bis-xr.ll | 8 +- test/CodeGen/MSP430/AddrMode-mov-rx.ll | 8 +- test/CodeGen/MSP430/AddrMode-mov-xr.ll | 8 +- test/CodeGen/MSP430/byval.ll | 2 +- test/CodeGen/MSP430/indirectbr.ll | 2 +- test/CodeGen/MSP430/indirectbr2.ll | 2 +- test/CodeGen/MSP430/postinc.ll | 10 +- test/CodeGen/Mips/2008-07-03-SRet.ll | 6 +- test/CodeGen/Mips/2008-10-13-LegalizerBug.ll | 2 +- test/CodeGen/Mips/2008-11-10-xint_to_fp.ll | 8 +- test/CodeGen/Mips/Fast-ISel/overflt.ll | 4 +- test/CodeGen/Mips/addressing-mode.ll | 4 +- test/CodeGen/Mips/align16.ll | 4 +- test/CodeGen/Mips/alloca.ll | 18 +- test/CodeGen/Mips/alloca16.ll | 14 +- test/CodeGen/Mips/brdelayslot.ll | 2 +- test/CodeGen/Mips/brind.ll | 2 +- test/CodeGen/Mips/cconv/arguments-float.ll | 46 +- test/CodeGen/Mips/cconv/arguments-fp128.ll | 10 +- .../cconv/arguments-hard-float-varargs.ll | 8 +- .../Mips/cconv/arguments-hard-float.ll | 44 +- .../Mips/cconv/arguments-hard-fp128.ll | 10 +- .../arguments-varargs-small-structs-byte.ll | 20 +- ...ents-varargs-small-structs-combinations.ll | 10 +- ...nts-varargs-small-structs-multiple-args.ll | 18 +- test/CodeGen/Mips/cconv/arguments-varargs.ll | 36 +- test/CodeGen/Mips/cconv/arguments.ll | 38 +- test/CodeGen/Mips/cmplarge.ll | 2 +- test/CodeGen/Mips/dsp-patterns.ll | 6 +- test/CodeGen/Mips/fp-indexed-ls.ll | 16 +- test/CodeGen/Mips/fp-spill-reload.ll | 14 +- test/CodeGen/Mips/hfptrcall.ll | 8 +- test/CodeGen/Mips/largeimm1.ll | 2 +- test/CodeGen/Mips/largeimmprinting.ll | 2 +- test/CodeGen/Mips/memcpy.ll | 4 +- test/CodeGen/Mips/micromips-delay-slot-jr.ll | 4 +- test/CodeGen/Mips/micromips-sw-lw-16.ll | 4 +- test/CodeGen/Mips/mips16_fpret.ll | 8 +- test/CodeGen/Mips/misha.ll | 4 +- test/CodeGen/Mips/mno-ldc1-sdc1.ll | 4 +- test/CodeGen/Mips/msa/frameindex.ll | 12 +- test/CodeGen/Mips/msa/spill.ll | 264 +- test/CodeGen/Mips/nacl-align.ll | 2 +- test/CodeGen/Mips/o32_cc_byval.ll | 24 +- test/CodeGen/Mips/prevent-hoisting.ll | 18 +- test/CodeGen/Mips/sr1.ll | 8 +- test/CodeGen/Mips/stackcoloring.ll | 4 +- test/CodeGen/Mips/swzero.ll | 2 +- test/CodeGen/NVPTX/access-non-generic.ll | 4 +- test/CodeGen/NVPTX/bug21465.ll | 2 +- test/CodeGen/NVPTX/bug22322.ll | 6 +- test/CodeGen/NVPTX/call-with-alloca-buffer.ll | 14 +- test/CodeGen/NVPTX/ldu-reg-plus-offset.ll | 4 +- test/CodeGen/NVPTX/load-sext-i1.ll | 2 +- test/CodeGen/NVPTX/noduplicate-syncthreads.ll | 4 +- test/CodeGen/NVPTX/nounroll.ll | 4 +- test/CodeGen/NVPTX/pr17529.ll | 6 +- test/CodeGen/NVPTX/sched1.ll | 8 +- test/CodeGen/NVPTX/sched2.ll | 8 +- .../PowerPC/2006-05-12-rlwimi-crash.ll | 14 +- .../PowerPC/2006-07-07-ComputeMaskedBits.ll | 4 +- .../CodeGen/PowerPC/2006-12-07-LargeAlloca.ll | 2 +- .../PowerPC/2007-01-31-InlineAsmAddrMode.ll | 4 +- .../PowerPC/2007-03-30-SpillerCrash.ll | 1352 +- .../2007-05-14-InlineAsmSelectCrash.ll | 2 +- test/CodeGen/PowerPC/2007-06-28-BCCISelBug.ll | 2 +- .../PowerPC/2007-08-04-CoalescerAssert.ll | 2 +- test/CodeGen/PowerPC/2007-09-08-unaligned.ll | 14 +- .../PowerPC/2007-11-16-landingpad-split.ll | 2 +- .../PowerPC/2008-03-17-RegScavengerCrash.ll | 2 +- .../PowerPC/2008-03-24-AddressRegImm.ll | 2 +- .../PowerPC/2008-04-23-CoalescerCrash.ll | 2 +- test/CodeGen/PowerPC/2008-07-15-Bswap.ll | 58 +- .../PowerPC/2008-09-12-CoalescerBug.ll | 40 +- test/CodeGen/PowerPC/2009-03-17-LSRBug.ll | 6 +- ...009-08-17-inline-asm-addr-mode-breakage.ll | 2 +- .../PowerPC/2009-11-15-ProcImpDefsBug.ll | 2 +- .../PowerPC/2011-12-05-NoSpillDupCR.ll | 20 +- .../PowerPC/2011-12-06-SpillAndRestoreCR.ll | 32 +- .../CodeGen/PowerPC/2013-05-15-preinc-fold.ll | 8 +- test/CodeGen/PowerPC/2013-07-01-PHIElimBug.ll | 2 +- test/CodeGen/PowerPC/a2-fp-basic.ll | 16 +- test/CodeGen/PowerPC/add-fi.ll | 4 +- test/CodeGen/PowerPC/addi-licm.ll | 4 +- test/CodeGen/PowerPC/addi-reassoc.ll | 4 +- test/CodeGen/PowerPC/anon_aggr.ll | 8 +- test/CodeGen/PowerPC/atomics-indexed.ll | 16 +- test/CodeGen/PowerPC/bdzlr.ll | 2 +- test/CodeGen/PowerPC/bswap-load-store.ll | 12 +- test/CodeGen/PowerPC/byval-aliased.ll | 2 +- test/CodeGen/PowerPC/code-align.ll | 6 +- test/CodeGen/PowerPC/complex-return.ll | 24 +- test/CodeGen/PowerPC/cr-spills.ll | 72 +- test/CodeGen/PowerPC/ctrloop-cpsgn.ll | 2 +- test/CodeGen/PowerPC/ctrloop-fp64.ll | 6 +- test/CodeGen/PowerPC/ctrloop-i64.ll | 8 +- test/CodeGen/PowerPC/ctrloop-le.ll | 30 +- test/CodeGen/PowerPC/ctrloop-lt.ll | 30 +- test/CodeGen/PowerPC/ctrloop-ne.ll | 30 +- test/CodeGen/PowerPC/ctrloop-s000.ll | 64 +- test/CodeGen/PowerPC/ctrloop-sums.ll | 8 +- test/CodeGen/PowerPC/delete-node.ll | 2 +- test/CodeGen/PowerPC/dyn-alloca-aligned.ll | 6 +- .../CodeGen/PowerPC/fast-isel-redefinition.ll | 2 +- .../fastisel-gep-promote-before-add.ll | 2 +- test/CodeGen/PowerPC/flt-preinc.ll | 8 +- test/CodeGen/PowerPC/glob-comp-aa-crash.ll | 8 +- test/CodeGen/PowerPC/ia-mem-r0.ll | 38 +- test/CodeGen/PowerPC/indexed-load.ll | 2 +- test/CodeGen/PowerPC/indirectbr.ll | 2 +- test/CodeGen/PowerPC/lbzux.ll | 4 +- test/CodeGen/PowerPC/ld-st-upd.ll | 2 +- test/CodeGen/PowerPC/ldtoc-inv.ll | 4 +- test/CodeGen/PowerPC/loop-data-prefetch.ll | 4 +- test/CodeGen/PowerPC/lsa.ll | 8 +- test/CodeGen/PowerPC/lsr-postinc-pos.ll | 4 +- test/CodeGen/PowerPC/mcm-8.ll | 2 +- test/CodeGen/PowerPC/mem-rr-addr-mode.ll | 4 +- test/CodeGen/PowerPC/mem_update.ll | 16 +- .../PowerPC/misched-inorder-latency.ll | 2 +- test/CodeGen/PowerPC/misched.ll | 2 +- test/CodeGen/PowerPC/post-ra-ec.ll | 2 +- test/CodeGen/PowerPC/ppc440-fp-basic.ll | 16 +- .../PowerPC/ppc64-align-long-double.ll | 2 +- test/CodeGen/PowerPC/ppc64-byval-align.ll | 4 +- test/CodeGen/PowerPC/ppc64-gep-opt.ll | 32 +- test/CodeGen/PowerPC/ppc64-toc.ll | 2 +- test/CodeGen/PowerPC/pr15031.ll | 14 +- test/CodeGen/PowerPC/pr16556-2.ll | 2 +- test/CodeGen/PowerPC/pr17354.ll | 2 +- test/CodeGen/PowerPC/pr20442.ll | 6 +- test/CodeGen/PowerPC/preincprep-invoke.ll | 2 +- test/CodeGen/PowerPC/qpx-unalperm.ll | 12 +- test/CodeGen/PowerPC/reg-coalesce-simple.ll | 2 +- test/CodeGen/PowerPC/resolvefi-basereg.ll | 78 +- test/CodeGen/PowerPC/resolvefi-disp.ll | 8 +- test/CodeGen/PowerPC/s000-alias-misched.ll | 16 +- test/CodeGen/PowerPC/split-index-tc.ll | 2 +- test/CodeGen/PowerPC/stack-realign.ll | 24 +- test/CodeGen/PowerPC/stdux-constuse.ll | 10 +- test/CodeGen/PowerPC/stfiwx.ll | 4 +- test/CodeGen/PowerPC/store-update.ll | 28 +- test/CodeGen/PowerPC/structsinmem.ll | 28 +- test/CodeGen/PowerPC/structsinregs.ll | 28 +- test/CodeGen/PowerPC/stwu8.ll | 2 +- test/CodeGen/PowerPC/stwux.ll | 2 +- test/CodeGen/PowerPC/subreg-postra-2.ll | 2 +- test/CodeGen/PowerPC/subreg-postra.ll | 4 +- test/CodeGen/PowerPC/tls-cse.ll | 4 +- test/CodeGen/PowerPC/toc-load-sched-bug.ll | 90 +- test/CodeGen/PowerPC/trampoline.ll | 38 +- test/CodeGen/PowerPC/unal-altivec-wint.ll | 4 +- test/CodeGen/PowerPC/unal-altivec.ll | 8 +- test/CodeGen/PowerPC/unal-altivec2.ll | 64 +- test/CodeGen/PowerPC/varargs-struct-float.ll | 4 +- test/CodeGen/PowerPC/vec-abi-align.ll | 8 +- test/CodeGen/PowerPC/vec_misaligned.ll | 10 +- test/CodeGen/PowerPC/vsx-fma-m.ll | 36 +- test/CodeGen/PowerPC/vsx-infl-copy1.ll | 32 +- test/CodeGen/PowerPC/vsx-infl-copy2.ll | 16 +- test/CodeGen/PowerPC/vsx-ldst-builtin-le.ll | 24 +- test/CodeGen/PowerPC/zext-free.ll | 4 +- .../R600/32-bit-local-address-space.ll | 14 +- test/CodeGen/R600/add.ll | 6 +- test/CodeGen/R600/add_i64.ll | 8 +- test/CodeGen/R600/address-space.ll | 4 +- test/CodeGen/R600/and.ll | 4 +- test/CodeGen/R600/array-ptr-calc-i32.ll | 10 +- test/CodeGen/R600/array-ptr-calc-i64.ll | 4 +- test/CodeGen/R600/atomic_cmp_swap_local.ll | 10 +- test/CodeGen/R600/atomic_load_add.ll | 4 +- test/CodeGen/R600/atomic_load_sub.ll | 4 +- test/CodeGen/R600/call.ll | 4 +- .../R600/codegen-prepare-addrmode-sext.ll | 2 +- test/CodeGen/R600/combine_vloads.ll | 2 +- test/CodeGen/R600/commute_modifiers.ll | 34 +- test/CodeGen/R600/copy-to-reg.ll | 4 +- test/CodeGen/R600/ctpop.ll | 4 +- test/CodeGen/R600/ctpop64.ll | 2 +- .../dagcombiner-bug-illegal-vec4-int-to-fp.ll | 4 +- .../R600/disconnected-predset-break-bug.ll | 2 +- ...ds-negative-offset-addressing-mode-loop.ll | 12 +- test/CodeGen/R600/ds_read2.ll | 130 +- test/CodeGen/R600/ds_read2_offset_order.ll | 14 +- test/CodeGen/R600/ds_read2st64.ll | 78 +- test/CodeGen/R600/ds_write2.ll | 138 +- test/CodeGen/R600/ds_write2st64.ll | 36 +- test/CodeGen/R600/endcf-loop-header.ll | 2 +- test/CodeGen/R600/extract_vector_elt_i16.ll | 4 +- test/CodeGen/R600/fabs.f64.ll | 2 +- test/CodeGen/R600/fadd.ll | 2 +- test/CodeGen/R600/fcmp.ll | 4 +- test/CodeGen/R600/fdiv.f64.ll | 6 +- test/CodeGen/R600/fdiv.ll | 2 +- test/CodeGen/R600/flat-address-space.ll | 2 +- test/CodeGen/R600/fma-combine.ll | 124 +- test/CodeGen/R600/fma.ll | 12 +- test/CodeGen/R600/fmax_legacy.f64.ll | 16 +- test/CodeGen/R600/fmax_legacy.ll | 20 +- test/CodeGen/R600/fmin_legacy.f64.ll | 16 +- test/CodeGen/R600/fmin_legacy.ll | 20 +- test/CodeGen/R600/fmul.ll | 2 +- test/CodeGen/R600/fmuladd.ll | 48 +- test/CodeGen/R600/fp_to_sint.f64.ll | 2 +- test/CodeGen/R600/fp_to_uint.f64.ll | 2 +- test/CodeGen/R600/frem.ll | 10 +- test/CodeGen/R600/fsub.ll | 4 +- test/CodeGen/R600/fsub64.ll | 2 +- test/CodeGen/R600/gep-address-space.ll | 8 +- test/CodeGen/R600/global-directive.ll | 2 +- test/CodeGen/R600/global-zero-initializer.ll | 2 +- test/CodeGen/R600/global_atomics.ll | 160 +- test/CodeGen/R600/gv-const-addrspace-fail.ll | 8 +- test/CodeGen/R600/gv-const-addrspace.ll | 10 +- .../R600/icmp-select-sete-reverse-args.ll | 2 +- test/CodeGen/R600/indirect-private-64.ll | 8 +- test/CodeGen/R600/insert_vector_elt.ll | 2 +- test/CodeGen/R600/large-alloca.ll | 4 +- test/CodeGen/R600/lds-initializer.ll | 2 +- test/CodeGen/R600/lds-output-queue.ll | 6 +- test/CodeGen/R600/lds-zero-initializer.ll | 2 +- .../R600/legalizedag-bug-expand-setcc.ll | 2 +- .../R600/llvm.AMDGPU.barrier.global.ll | 4 +- .../CodeGen/R600/llvm.AMDGPU.barrier.local.ll | 4 +- test/CodeGen/R600/llvm.AMDGPU.class.ll | 48 +- test/CodeGen/R600/llvm.AMDGPU.div_fmas.ll | 16 +- test/CodeGen/R600/llvm.AMDGPU.div_scale.ll | 44 +- test/CodeGen/R600/llvm.AMDGPU.umad24.ll | 6 +- test/CodeGen/R600/llvm.SI.imageload.ll | 10 +- test/CodeGen/R600/llvm.SI.load.dword.ll | 2 +- test/CodeGen/R600/llvm.round.f64.ll | 4 +- test/CodeGen/R600/load.ll | 10 +- test/CodeGen/R600/local-64.ll | 18 +- test/CodeGen/R600/local-atomics.ll | 56 +- test/CodeGen/R600/local-atomics64.ll | 48 +- test/CodeGen/R600/local-memory-two-objects.ll | 12 +- test/CodeGen/R600/local-memory.ll | 6 +- test/CodeGen/R600/loop-address.ll | 2 +- test/CodeGen/R600/loop-idiom.ll | 6 +- test/CodeGen/R600/m0-spill.ll | 2 +- test/CodeGen/R600/mad-combine.ll | 148 +- test/CodeGen/R600/mad-sub.ll | 68 +- test/CodeGen/R600/madak.ll | 46 +- test/CodeGen/R600/madmk.ll | 48 +- test/CodeGen/R600/max.ll | 24 +- test/CodeGen/R600/max3.ll | 16 +- test/CodeGen/R600/min.ll | 32 +- test/CodeGen/R600/min3.ll | 48 +- test/CodeGen/R600/missing-store.ll | 2 +- test/CodeGen/R600/mubuf.ll | 32 +- test/CodeGen/R600/mul.ll | 6 +- test/CodeGen/R600/no-shrink-extloads.ll | 32 +- test/CodeGen/R600/operand-folding.ll | 2 +- test/CodeGen/R600/or.ll | 4 +- test/CodeGen/R600/private-memory-atomics.ll | 12 +- test/CodeGen/R600/private-memory-broken.ll | 6 +- test/CodeGen/R600/private-memory.ll | 106 +- test/CodeGen/R600/register-count-comments.ll | 6 +- test/CodeGen/R600/rsq.ll | 8 +- test/CodeGen/R600/salu-to-valu.ll | 14 +- test/CodeGen/R600/schedule-global-loads.ll | 4 +- test/CodeGen/R600/scratch-buffer.ll | 18 +- test/CodeGen/R600/sdiv.ll | 6 +- test/CodeGen/R600/sdivrem24.ll | 24 +- test/CodeGen/R600/selectcc-opt.ll | 4 +- test/CodeGen/R600/setcc.ll | 14 +- test/CodeGen/R600/sext-in-reg.ll | 24 +- test/CodeGen/R600/sgpr-control-flow.ll | 4 +- test/CodeGen/R600/sgpr-copy.ll | 22 +- test/CodeGen/R600/shl.ll | 10 +- test/CodeGen/R600/shl_add_constant.ll | 6 +- test/CodeGen/R600/shl_add_ptr.ll | 38 +- test/CodeGen/R600/si-lod-bias.ll | 6 +- test/CodeGen/R600/si-sgpr-spill.ll | 88 +- .../R600/si-triv-disjoint-mem-access.ll | 44 +- test/CodeGen/R600/si-vector-hang.ll | 42 +- .../R600/simplify-demanded-bits-build-pair.ll | 10 +- test/CodeGen/R600/sint_to_fp.f64.ll | 2 +- test/CodeGen/R600/smrd.ll | 14 +- test/CodeGen/R600/split-scalar-i64-add.ll | 2 +- test/CodeGen/R600/sra.ll | 10 +- test/CodeGen/R600/srem.ll | 12 +- test/CodeGen/R600/srl.ll | 12 +- test/CodeGen/R600/store-barrier.ll | 14 +- test/CodeGen/R600/store-vector-ptrs.ll | 2 +- test/CodeGen/R600/store.ll | 10 +- test/CodeGen/R600/sub.ll | 18 +- test/CodeGen/R600/trunc.ll | 4 +- test/CodeGen/R600/tti-unroll-prefs.ll | 2 +- test/CodeGen/R600/udiv.ll | 6 +- test/CodeGen/R600/udivrem24.ll | 24 +- test/CodeGen/R600/uint_to_fp.f64.ll | 2 +- test/CodeGen/R600/unaligned-load-store.ll | 8 +- .../unhandled-loop-condition-assertion.ll | 30 +- test/CodeGen/R600/unroll.ll | 4 +- test/CodeGen/R600/urem.ll | 12 +- test/CodeGen/R600/v_cndmask.ll | 2 +- test/CodeGen/R600/valu-i1.ll | 20 +- test/CodeGen/R600/vector-alloca.ll | 34 +- test/CodeGen/R600/vop-shrink.ll | 2 +- test/CodeGen/R600/wait.ll | 4 +- test/CodeGen/R600/wrong-transalu-pos-fix.ll | 2 +- test/CodeGen/SPARC/2011-01-22-SRet.ll | 12 +- test/CodeGen/SPARC/64abi.ll | 2 +- test/CodeGen/SPARC/64bit.ll | 14 +- test/CodeGen/SPARC/basictest.ll | 2 +- test/CodeGen/SPARC/leafproc.ll | 6 +- test/CodeGen/SPARC/setjmp.ll | 8 +- test/CodeGen/SPARC/spillsize.ll | 2 +- test/CodeGen/SPARC/varargs.ll | 2 +- test/CodeGen/SystemZ/alloca-01.ll | 8 +- test/CodeGen/SystemZ/alloca-02.ll | 8 +- test/CodeGen/SystemZ/and-01.ll | 32 +- test/CodeGen/SystemZ/and-03.ll | 28 +- test/CodeGen/SystemZ/and-05.ll | 14 +- test/CodeGen/SystemZ/and-08.ll | 34 +- test/CodeGen/SystemZ/asm-18.ll | 28 +- test/CodeGen/SystemZ/atomicrmw-add-05.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-add-06.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-and-05.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-and-06.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-minmax-03.ll | 14 +- test/CodeGen/SystemZ/atomicrmw-minmax-04.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-or-05.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-or-06.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-sub-05.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-sub-06.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-xchg-03.ll | 14 +- test/CodeGen/SystemZ/atomicrmw-xchg-04.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-xor-05.ll | 8 +- test/CodeGen/SystemZ/atomicrmw-xor-06.ll | 8 +- test/CodeGen/SystemZ/branch-06.ll | 4 +- test/CodeGen/SystemZ/bswap-02.ll | 10 +- test/CodeGen/SystemZ/bswap-03.ll | 10 +- test/CodeGen/SystemZ/bswap-04.ll | 10 +- test/CodeGen/SystemZ/bswap-05.ll | 10 +- test/CodeGen/SystemZ/cmpxchg-03.ll | 14 +- test/CodeGen/SystemZ/cmpxchg-04.ll | 10 +- test/CodeGen/SystemZ/cond-load-01.ll | 8 +- test/CodeGen/SystemZ/cond-load-02.ll | 8 +- test/CodeGen/SystemZ/cond-store-01.ll | 12 +- test/CodeGen/SystemZ/cond-store-02.ll | 12 +- test/CodeGen/SystemZ/cond-store-03.ll | 12 +- test/CodeGen/SystemZ/cond-store-04.ll | 8 +- test/CodeGen/SystemZ/cond-store-05.ll | 12 +- test/CodeGen/SystemZ/cond-store-06.ll | 12 +- test/CodeGen/SystemZ/cond-store-07.ll | 8 +- test/CodeGen/SystemZ/cond-store-08.ll | 8 +- test/CodeGen/SystemZ/fp-add-01.ll | 30 +- test/CodeGen/SystemZ/fp-add-02.ll | 30 +- test/CodeGen/SystemZ/fp-cmp-01.ll | 30 +- test/CodeGen/SystemZ/fp-cmp-02.ll | 30 +- test/CodeGen/SystemZ/fp-conv-02.ll | 10 +- test/CodeGen/SystemZ/fp-conv-03.ll | 10 +- test/CodeGen/SystemZ/fp-conv-04.ll | 10 +- test/CodeGen/SystemZ/fp-div-01.ll | 30 +- test/CodeGen/SystemZ/fp-div-02.ll | 30 +- test/CodeGen/SystemZ/fp-move-03.ll | 14 +- test/CodeGen/SystemZ/fp-move-04.ll | 14 +- test/CodeGen/SystemZ/fp-move-06.ll | 14 +- test/CodeGen/SystemZ/fp-move-07.ll | 14 +- test/CodeGen/SystemZ/fp-mul-01.ll | 30 +- test/CodeGen/SystemZ/fp-mul-02.ll | 30 +- test/CodeGen/SystemZ/fp-mul-03.ll | 30 +- test/CodeGen/SystemZ/fp-mul-04.ll | 30 +- test/CodeGen/SystemZ/fp-mul-06.ll | 12 +- test/CodeGen/SystemZ/fp-mul-07.ll | 12 +- test/CodeGen/SystemZ/fp-mul-08.ll | 12 +- test/CodeGen/SystemZ/fp-mul-09.ll | 12 +- test/CodeGen/SystemZ/fp-sqrt-01.ll | 10 +- test/CodeGen/SystemZ/fp-sqrt-02.ll | 10 +- test/CodeGen/SystemZ/fp-sub-01.ll | 30 +- test/CodeGen/SystemZ/fp-sub-02.ll | 30 +- test/CodeGen/SystemZ/frame-01.ll | 12 +- test/CodeGen/SystemZ/frame-05.ll | 8 +- test/CodeGen/SystemZ/frame-06.ll | 8 +- test/CodeGen/SystemZ/frame-07.ll | 4 +- test/CodeGen/SystemZ/frame-08.ll | 12 +- test/CodeGen/SystemZ/frame-09.ll | 6 +- test/CodeGen/SystemZ/frame-13.ll | 44 +- test/CodeGen/SystemZ/frame-14.ll | 44 +- test/CodeGen/SystemZ/frame-15.ll | 88 +- test/CodeGen/SystemZ/frame-16.ll | 48 +- test/CodeGen/SystemZ/insert-01.ll | 22 +- test/CodeGen/SystemZ/insert-02.ll | 22 +- test/CodeGen/SystemZ/int-add-01.ll | 14 +- test/CodeGen/SystemZ/int-add-02.ll | 32 +- test/CodeGen/SystemZ/int-add-03.ll | 28 +- test/CodeGen/SystemZ/int-add-04.ll | 28 +- test/CodeGen/SystemZ/int-add-05.ll | 28 +- test/CodeGen/SystemZ/int-add-08.ll | 8 +- test/CodeGen/SystemZ/int-add-10.ll | 10 +- test/CodeGen/SystemZ/int-add-11.ll | 8 +- test/CodeGen/SystemZ/int-add-12.ll | 8 +- test/CodeGen/SystemZ/int-cmp-01.ll | 14 +- test/CodeGen/SystemZ/int-cmp-02.ll | 14 +- test/CodeGen/SystemZ/int-cmp-03.ll | 14 +- test/CodeGen/SystemZ/int-cmp-04.ll | 10 +- test/CodeGen/SystemZ/int-cmp-05.ll | 28 +- test/CodeGen/SystemZ/int-cmp-06.ll | 28 +- test/CodeGen/SystemZ/int-cmp-07.ll | 10 +- test/CodeGen/SystemZ/int-cmp-08.ll | 10 +- test/CodeGen/SystemZ/int-cmp-15.ll | 14 +- test/CodeGen/SystemZ/int-cmp-22.ll | 6 +- test/CodeGen/SystemZ/int-cmp-23.ll | 6 +- test/CodeGen/SystemZ/int-cmp-32.ll | 6 +- test/CodeGen/SystemZ/int-cmp-33.ll | 6 +- test/CodeGen/SystemZ/int-cmp-34.ll | 6 +- test/CodeGen/SystemZ/int-cmp-35.ll | 6 +- test/CodeGen/SystemZ/int-cmp-48.ll | 14 +- test/CodeGen/SystemZ/int-const-03.ll | 14 +- test/CodeGen/SystemZ/int-const-04.ll | 6 +- test/CodeGen/SystemZ/int-const-05.ll | 6 +- test/CodeGen/SystemZ/int-const-06.ll | 6 +- test/CodeGen/SystemZ/int-conv-01.ll | 10 +- test/CodeGen/SystemZ/int-conv-02.ll | 10 +- test/CodeGen/SystemZ/int-conv-03.ll | 10 +- test/CodeGen/SystemZ/int-conv-04.ll | 10 +- test/CodeGen/SystemZ/int-conv-05.ll | 14 +- test/CodeGen/SystemZ/int-conv-06.ll | 10 +- test/CodeGen/SystemZ/int-conv-07.ll | 10 +- test/CodeGen/SystemZ/int-conv-08.ll | 10 +- test/CodeGen/SystemZ/int-conv-09.ll | 10 +- test/CodeGen/SystemZ/int-conv-10.ll | 10 +- test/CodeGen/SystemZ/int-div-01.ll | 28 +- test/CodeGen/SystemZ/int-div-02.ll | 28 +- test/CodeGen/SystemZ/int-div-03.ll | 10 +- test/CodeGen/SystemZ/int-div-04.ll | 30 +- test/CodeGen/SystemZ/int-div-05.ll | 30 +- test/CodeGen/SystemZ/int-move-02.ll | 14 +- test/CodeGen/SystemZ/int-move-03.ll | 10 +- test/CodeGen/SystemZ/int-move-04.ll | 14 +- test/CodeGen/SystemZ/int-move-05.ll | 14 +- test/CodeGen/SystemZ/int-move-06.ll | 14 +- test/CodeGen/SystemZ/int-move-07.ll | 10 +- test/CodeGen/SystemZ/int-move-08.ll | 8 +- test/CodeGen/SystemZ/int-mul-01.ll | 14 +- test/CodeGen/SystemZ/int-mul-02.ll | 32 +- test/CodeGen/SystemZ/int-mul-03.ll | 28 +- test/CodeGen/SystemZ/int-mul-04.ll | 28 +- test/CodeGen/SystemZ/int-mul-08.ll | 28 +- test/CodeGen/SystemZ/int-sub-01.ll | 32 +- test/CodeGen/SystemZ/int-sub-02.ll | 28 +- test/CodeGen/SystemZ/int-sub-03.ll | 28 +- test/CodeGen/SystemZ/int-sub-04.ll | 28 +- test/CodeGen/SystemZ/int-sub-05.ll | 20 +- test/CodeGen/SystemZ/int-sub-06.ll | 10 +- test/CodeGen/SystemZ/int-sub-07.ll | 14 +- test/CodeGen/SystemZ/loop-01.ll | 2 +- test/CodeGen/SystemZ/memcpy-01.ll | 16 +- test/CodeGen/SystemZ/memcpy-02.ll | 40 +- test/CodeGen/SystemZ/or-01.ll | 32 +- test/CodeGen/SystemZ/or-03.ll | 28 +- test/CodeGen/SystemZ/or-05.ll | 14 +- test/CodeGen/SystemZ/or-08.ll | 8 +- test/CodeGen/SystemZ/prefetch-01.ll | 8 +- test/CodeGen/SystemZ/spill-01.ll | 112 +- test/CodeGen/SystemZ/unaligned-01.ll | 6 +- test/CodeGen/SystemZ/xor-01.ll | 32 +- test/CodeGen/SystemZ/xor-03.ll | 28 +- test/CodeGen/SystemZ/xor-05.ll | 14 +- test/CodeGen/SystemZ/xor-08.ll | 8 +- .../Thumb/2009-08-12-ConstIslandAssert.ll | 282 +- .../CodeGen/Thumb/2009-08-12-RegInfoAssert.ll | 6 +- test/CodeGen/Thumb/2009-08-20-ISelBug.ll | 4 +- .../Thumb/2009-12-17-pre-regalloc-taildup.ll | 12 +- .../CodeGen/Thumb/2010-07-15-debugOrdering.ll | 4 +- test/CodeGen/Thumb/2011-05-11-DAGLegalizer.ll | 16 +- .../Thumb/2014-06-10-thumb1-ldst-opt-bug.ll | 2 +- test/CodeGen/Thumb/PR17309.ll | 2 +- test/CodeGen/Thumb/asmprinter-bug.ll | 28 +- test/CodeGen/Thumb/dyn-stackalloc.ll | 4 +- test/CodeGen/Thumb/ldm-merge-call.ll | 2 +- .../Thumb/ldm-stm-base-materialization.ll | 4 +- test/CodeGen/Thumb/ldr_frame.ll | 8 +- test/CodeGen/Thumb/stack_guard_remat.ll | 2 +- test/CodeGen/Thumb/vargs.ll | 2 +- .../Thumb2/2009-07-17-CrossRegClassCopy.ll | 4 +- test/CodeGen/Thumb2/2009-07-21-ISelBug.ll | 6 +- test/CodeGen/Thumb2/2009-07-30-PEICrash.ll | 48 +- .../CodeGen/Thumb2/2009-08-01-WrongLDRBOpc.ll | 12 +- .../CodeGen/Thumb2/2009-08-02-CoalescerBug.ll | 6 +- .../CodeGen/Thumb2/2009-08-04-CoalescerBug.ll | 6 +- .../Thumb2/2009-08-04-ScavengerAssert.ll | 58 +- test/CodeGen/Thumb2/2009-08-07-NeonFPBug.ll | 2 +- test/CodeGen/Thumb2/2009-08-10-ISelBug.ll | 2 +- .../CodeGen/Thumb2/2009-09-01-PostRAProlog.ll | 4 +- test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll | 10 +- .../Thumb2/2009-11-11-ScavengerAssert.ll | 8 +- test/CodeGen/Thumb2/2009-12-01-LoopIVUsers.ll | 2 +- .../Thumb2/2010-01-06-TailDuplicateLabels.ll | 6 +- .../Thumb2/2010-01-19-RemovePredicates.ll | 2 +- .../CodeGen/Thumb2/2010-03-08-addi12-ccout.ll | 8 +- .../CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll | 24 +- .../Thumb2/2010-08-10-VarSizedAllocaBug.ll | 2 +- .../Thumb2/2011-06-07-TwoAddrEarlyClobber.ll | 4 +- .../Thumb2/2011-12-16-T2SizeReduceAssert.ll | 2 +- test/CodeGen/Thumb2/2012-01-13-CBNZBug.ll | 12 +- .../2013-02-19-tail-call-register-hint.ll | 6 +- test/CodeGen/Thumb2/constant-islands.ll | 346 +- test/CodeGen/Thumb2/crash.ll | 8 +- test/CodeGen/Thumb2/cross-rc-coalescing-2.ll | 4 +- test/CodeGen/Thumb2/frameless2.ll | 2 +- test/CodeGen/Thumb2/lsr-deficiency.ll | 2 +- test/CodeGen/Thumb2/machine-licm.ll | 6 +- test/CodeGen/Thumb2/pic-load.ll | 4 +- test/CodeGen/Thumb2/stack_guard_remat.ll | 2 +- test/CodeGen/Thumb2/thumb2-cbnz.ll | 2 +- test/CodeGen/Thumb2/thumb2-ldr.ll | 4 +- test/CodeGen/Thumb2/thumb2-ldr_pre.ll | 4 +- test/CodeGen/Thumb2/thumb2-ldrb.ll | 2 +- test/CodeGen/Thumb2/thumb2-ldrh.ll | 4 +- test/CodeGen/Thumb2/thumb2-str.ll | 6 +- test/CodeGen/Thumb2/thumb2-str_pre.ll | 4 +- test/CodeGen/Thumb2/thumb2-strb.ll | 6 +- test/CodeGen/Thumb2/thumb2-strh.ll | 6 +- test/CodeGen/X86/2006-04-27-ISelFoldingBug.ll | 2 +- test/CodeGen/X86/2006-05-02-InstrSched1.ll | 4 +- test/CodeGen/X86/2006-05-08-InstrSched.ll | 2 +- test/CodeGen/X86/2006-05-11-InstrSched.ll | 10 +- test/CodeGen/X86/2006-08-16-CycleInDAG.ll | 2 +- test/CodeGen/X86/2006-09-01-CycleInDAG.ll | 10 +- .../X86/2006-10-10-FindModifiedNodeSlotBug.ll | 2 +- test/CodeGen/X86/2006-10-12-CycleInDAG.ll | 2 +- test/CodeGen/X86/2006-11-12-CSRetCC.ll | 30 +- test/CodeGen/X86/2006-12-16-InlineAsmCrash.ll | 2 +- test/CodeGen/X86/2007-01-08-X86-64-Pointer.ll | 2 +- test/CodeGen/X86/2007-01-13-StackPtrIndex.ll | 52 +- test/CodeGen/X86/2007-02-04-OrAddrMode.ll | 2 +- test/CodeGen/X86/2007-02-16-BranchFold.ll | 6 +- test/CodeGen/X86/2007-03-15-GEP-Idx-Sink.ll | 36 +- .../X86/2007-04-17-LiveIntervalAssert.ll | 2 +- .../X86/2007-06-04-X86-64-CtorAsmBugs.ll | 2 +- .../X86/2007-06-29-VecFPConstantCSEBug.ll | 2 +- test/CodeGen/X86/2007-07-18-Vector-Extract.ll | 4 +- .../X86/2007-08-09-IllegalX86-64Asm.ll | 48 +- test/CodeGen/X86/2007-09-05-InvalidAsm.ll | 12 +- test/CodeGen/X86/2007-10-12-SpillerUnfold1.ll | 8 +- test/CodeGen/X86/2007-10-12-SpillerUnfold2.ll | 4 +- test/CodeGen/X86/2007-10-30-LSRCrash.ll | 2 +- test/CodeGen/X86/2007-11-06-InstrSched.ll | 4 +- test/CodeGen/X86/2007-12-16-BURRSchedCrash.ll | 2 +- test/CodeGen/X86/2007-12-18-LoadCSEBug.ll | 2 +- test/CodeGen/X86/2008-01-08-SchedulerCrash.ll | 2 +- .../X86/2008-01-16-InvalidDAGCombineXform.ll | 14 +- test/CodeGen/X86/2008-02-06-LoadFoldingBug.ll | 8 +- test/CodeGen/X86/2008-02-18-TailMergingBug.ll | 14 +- .../X86/2008-02-20-InlineAsmClobber.ll | 2 +- .../X86/2008-02-22-LocalRegAllocBug.ll | 16 +- test/CodeGen/X86/2008-02-25-InlineAsmBug.ll | 14 +- .../X86/2008-02-25-X86-64-CoalescerBug.ll | 2 +- .../CodeGen/X86/2008-02-27-DeadSlotElimBug.ll | 10 +- test/CodeGen/X86/2008-03-07-APIntBug.ll | 48 +- .../X86/2008-03-12-ThreadLocalAlias.ll | 4 +- test/CodeGen/X86/2008-03-14-SpillerCrash.ll | 4 +- .../X86/2008-03-23-DarwinAsmComments.ll | 12 +- .../X86/2008-03-31-SpillerFoldingBug.ll | 2 +- test/CodeGen/X86/2008-04-16-ReMatBug.ll | 2 +- test/CodeGen/X86/2008-05-09-PHIElimBug.ll | 2 +- test/CodeGen/X86/2008-05-12-tailmerge-5.ll | 22 +- test/CodeGen/X86/2008-05-21-CoalescerBug.ll | 4 +- .../X86/2008-07-07-DanglingDeadInsts.ll | 8 +- test/CodeGen/X86/2008-09-18-inline-asm-2.ll | 6 +- test/CodeGen/X86/2008-09-29-ReMatBug.ll | 2 +- test/CodeGen/X86/2008-11-06-testb.ll | 2 +- .../2008-12-01-loop-iv-used-outside-loop.ll | 4 +- test/CodeGen/X86/2008-12-02-dagcombine-1.ll | 2 +- test/CodeGen/X86/2008-12-02-dagcombine-2.ll | 2 +- test/CodeGen/X86/2008-12-23-crazy-address.ll | 10 +- .../X86/2009-02-09-ivs-different-sizes.ll | 2 +- .../X86/2009-02-11-codegenprepare-reuse.ll | 4 +- test/CodeGen/X86/2009-02-12-DebugInfoVLA.ll | 4 +- test/CodeGen/X86/2009-02-26-MachineLICMBug.ll | 4 +- test/CodeGen/X86/2009-03-03-BTHang.ll | 6 +- .../CodeGen/X86/2009-03-05-burr-list-crash.ll | 2 +- test/CodeGen/X86/2009-04-12-picrel.ll | 2 +- test/CodeGen/X86/2009-04-14-IllegalRegs.ll | 14 +- test/CodeGen/X86/2009-04-16-SpillerUnfold.ll | 10 +- .../CodeGen/X86/2009-04-27-CoalescerAssert.ll | 140 +- .../X86/2009-04-29-IndirectDestOperands.ll | 16 +- test/CodeGen/X86/2009-04-29-LinearScanBug.ll | 6 +- test/CodeGen/X86/2009-04-29-RegAllocAssert.ll | 10 +- test/CodeGen/X86/2009-04-scale.ll | 6 +- test/CodeGen/X86/2009-05-30-ISelBug.ll | 4 +- test/CodeGen/X86/2009-06-02-RewriterBug.ll | 12 +- test/CodeGen/X86/2009-06-04-VirtualLiveIn.ll | 2 +- test/CodeGen/X86/2009-07-20-CoalescerBug.ll | 10 +- test/CodeGen/X86/2009-08-06-inlineasm.ll | 12 +- .../X86/2009-08-14-Win64MemoryIndirectArg.ll | 8 +- test/CodeGen/X86/2009-09-10-LoadFoldingBug.ll | 2 +- test/CodeGen/X86/2009-09-10-SpillComments.ll | 26 +- .../X86/2009-09-21-NoSpillLoopCount.ll | 4 +- test/CodeGen/X86/2009-10-19-EmergencySpill.ll | 10 +- test/CodeGen/X86/2009-10-25-RewriterBug.ll | 12 +- test/CodeGen/X86/2009-11-16-MachineLICM.ll | 8 +- test/CodeGen/X86/2009-11-16-UnfoldMemOpBug.ll | 2 +- .../X86/2009-11-17-UpdateTerminator.ll | 4 +- test/CodeGen/X86/2009-12-11-TLSNoRedZone.ll | 4 +- test/CodeGen/X86/2010-01-13-OptExtBug.ll | 12 +- .../X86/2010-01-15-SelectionDAGCycle.ll | 2 +- test/CodeGen/X86/2010-01-18-DbgValue.ll | 4 +- test/CodeGen/X86/2010-02-04-SchedulerBug.ll | 4 +- .../X86/2010-02-19-TailCallRetAddrBug.ll | 18 +- .../CodeGen/X86/2010-03-05-ConstantFoldCFG.ll | 2 +- test/CodeGen/X86/2010-03-17-ISelBug.ll | 14 +- test/CodeGen/X86/2010-04-08-CoalescerBug.ll | 4 +- .../X86/2010-04-30-LocalAlloc-LandingPad.ll | 6 +- test/CodeGen/X86/2010-05-26-DotDebugLoc.ll | 2 +- .../X86/2010-06-25-CoalescerSubRegDefDead.ll | 6 +- test/CodeGen/X86/2010-08-04-StackVariable.ll | 18 +- test/CodeGen/X86/2010-09-16-asmcrash.ll | 2 +- .../X86/2010-09-17-SideEffectsInChain.ll | 4 +- test/CodeGen/X86/2010-11-09-MOVLPS.ll | 10 +- .../2011-02-21-VirtRegRewriter-KillSubReg.ll | 4 +- test/CodeGen/X86/2011-03-02-DAGCombiner.ll | 4 +- .../X86/2011-03-09-Physreg-Coalescing.ll | 2 +- test/CodeGen/X86/2011-04-13-SchedCmpJmp.ll | 2 +- .../X86/2011-05-26-UnreachableBlockElim.ll | 2 +- .../X86/2011-05-27-CrossClassCoalescing.ll | 2 +- test/CodeGen/X86/2011-06-03-x87chain.ll | 2 +- test/CodeGen/X86/2011-06-12-FastAllocSpill.ll | 4 +- .../X86/2011-06-19-QuicksortCoalescerBug.ll | 2 +- .../2011-07-13-BadFrameIndexDisplacement.ll | 2 +- test/CodeGen/X86/2011-10-12-MachineCSE.ll | 58 +- .../X86/2012-01-10-UndefExceptionEdge.ll | 8 +- test/CodeGen/X86/2012-03-26-PostRALICMBug.ll | 8 +- test/CodeGen/X86/2012-04-26-sdglue.ll | 2 +- test/CodeGen/X86/2012-09-28-CGPBug.ll | 4 +- test/CodeGen/X86/2012-10-02-DAGCycle.ll | 6 +- test/CodeGen/X86/2012-10-03-DAGCycle.ll | 8 +- test/CodeGen/X86/2012-10-18-crash-dagco.ll | 6 +- .../X86/2012-11-28-merge-store-alias.ll | 20 +- test/CodeGen/X86/2012-11-30-handlemove-dbg.ll | 4 +- test/CodeGen/X86/2012-11-30-misched-dbg.ll | 4 +- test/CodeGen/X86/2012-11-30-regpres-dbg.ll | 2 +- .../X86/2012-12-06-python27-miscompile.ll | 4 +- test/CodeGen/X86/2012-12-1-merge-multiple.ll | 16 +- .../CodeGen/X86/2012-12-19-NoImplicitFloat.ll | 4 +- test/CodeGen/X86/2014-08-29-CompactUnwind.ll | 2 +- test/CodeGen/X86/GC/badreadproto.ll | 2 +- test/CodeGen/X86/GC/badwriteproto.ll | 4 +- test/CodeGen/X86/GC/inline.ll | 2 +- test/CodeGen/X86/GC/inline2.ll | 2 +- test/CodeGen/X86/MachineSink-eflags.ll | 16 +- test/CodeGen/X86/MergeConsecutiveStores.ll | 190 +- test/CodeGen/X86/StackColoring-dbg.ll | 2 +- test/CodeGen/X86/StackColoring.ll | 2 +- test/CodeGen/X86/SwitchLowering.ll | 4 +- test/CodeGen/X86/abi-isel.ll | 180 +- test/CodeGen/X86/addr-mode-matcher.ll | 6 +- test/CodeGen/X86/aligned-variadic.ll | 6 +- test/CodeGen/X86/atom-cmpb.ll | 4 +- test/CodeGen/X86/atom-fixup-lea1.ll | 2 +- test/CodeGen/X86/atom-fixup-lea2.ll | 12 +- test/CodeGen/X86/atom-fixup-lea3.ll | 4 +- test/CodeGen/X86/atom-fixup-lea4.ll | 2 +- test/CodeGen/X86/atom-lea-sp.ll | 2 +- test/CodeGen/X86/atomic-dagsched.ll | 12 +- test/CodeGen/X86/avoid-loop-align-2.ll | 2 +- test/CodeGen/X86/avoid-loop-align.ll | 4 +- test/CodeGen/X86/avoid_complex_am.ll | 6 +- test/CodeGen/X86/avx-basic.ll | 2 +- test/CodeGen/X86/avx-splat.ll | 2 +- test/CodeGen/X86/avx-vextractf128.ll | 6 +- test/CodeGen/X86/avx-vinsertf128.ll | 4 +- test/CodeGen/X86/avx.ll | 6 +- test/CodeGen/X86/avx512-i1test.ll | 0 test/CodeGen/X86/avx512er-intrinsics.ll | 2 +- test/CodeGen/X86/block-placement.ll | 50 +- test/CodeGen/X86/break-false-dep.ll | 10 +- test/CodeGen/X86/byval-align.ll | 2 +- test/CodeGen/X86/byval.ll | 2 +- test/CodeGen/X86/byval2.ll | 6 +- test/CodeGen/X86/byval3.ll | 12 +- test/CodeGen/X86/byval4.ll | 12 +- test/CodeGen/X86/byval5.ll | 12 +- test/CodeGen/X86/byval7.ll | 2 +- test/CodeGen/X86/call-push.ll | 2 +- test/CodeGen/X86/chain_order.ll | 6 +- test/CodeGen/X86/change-compare-stride-1.ll | 20 +- test/CodeGen/X86/cmp.ll | 2 +- test/CodeGen/X86/coalesce-esp.ll | 4 +- test/CodeGen/X86/coalescer-commute1.ll | 2 +- test/CodeGen/X86/coalescer-commute4.ll | 4 +- test/CodeGen/X86/coalescer-cross.ll | 8 +- test/CodeGen/X86/code_placement.ll | 42 +- .../X86/codegen-prepare-addrmode-sext.ll | 86 +- test/CodeGen/X86/codegen-prepare-cast.ll | 4 +- test/CodeGen/X86/codegen-prepare-crash.ll | 2 +- test/CodeGen/X86/codegen-prepare.ll | 10 +- test/CodeGen/X86/combiner-aa-0.ll | 2 +- test/CodeGen/X86/combiner-aa-1.ll | 2 +- test/CodeGen/X86/compact-unwind.ll | 8 +- test/CodeGen/X86/complex-asm.ll | 4 +- test/CodeGen/X86/const-base-addr.ll | 6 +- test/CodeGen/X86/constant-combines.ll | 4 +- .../X86/convert-2-addr-3-addr-inc64.ll | 2 +- test/CodeGen/X86/cppeh-catch-all.ll | 2 +- test/CodeGen/X86/cppeh-catch-scalar.ll | 6 +- test/CodeGen/X86/cppeh-frame-vars.ll | 38 +- test/CodeGen/X86/crash-O0.ll | 2 +- test/CodeGen/X86/crash.ll | 10 +- test/CodeGen/X86/dagcombine-cse.ll | 4 +- .../X86/dbg-changes-codegen-branch-folding.ll | 4 +- test/CodeGen/X86/dbg-changes-codegen.ll | 2 +- test/CodeGen/X86/dbg-combine.ll | 10 +- test/CodeGen/X86/dynamic-alloca-lifetime.ll | 4 +- test/CodeGen/X86/early-ifcvt.ll | 4 +- test/CodeGen/X86/extract-extract.ll | 2 +- test/CodeGen/X86/fast-isel-gep.ll | 16 +- test/CodeGen/X86/fast-isel-x86-64.ll | 2 +- test/CodeGen/X86/fast-isel.ll | 4 +- test/CodeGen/X86/fastcc-byval.ll | 2 +- test/CodeGen/X86/fastcc-sret.ll | 8 +- .../X86/fastisel-gep-promote-before-add.ll | 4 +- test/CodeGen/X86/fold-add.ll | 2 +- test/CodeGen/X86/fold-and-shift.ll | 8 +- test/CodeGen/X86/fold-call-3.ll | 8 +- test/CodeGen/X86/fold-call-oper.ll | 2 +- test/CodeGen/X86/fold-call.ll | 2 +- test/CodeGen/X86/fold-load-vec.ll | 8 +- test/CodeGen/X86/fold-mul-lohi.ll | 6 +- test/CodeGen/X86/fold-tied-op.ll | 8 +- test/CodeGen/X86/full-lsr.ll | 12 +- test/CodeGen/X86/gather-addresses.ll | 8 +- test/CodeGen/X86/gs-fold.ll | 2 +- test/CodeGen/X86/h-register-addressing-32.ll | 14 +- test/CodeGen/X86/h-register-addressing-64.ll | 14 +- test/CodeGen/X86/h-registers-2.ll | 2 +- test/CodeGen/X86/huge-stack-offset.ll | 6 +- test/CodeGen/X86/i128-mul.ll | 4 +- test/CodeGen/X86/inalloca-ctor.ll | 6 +- test/CodeGen/X86/inalloca-invoke.ll | 4 +- test/CodeGen/X86/inalloca-stdcall.ll | 4 +- test/CodeGen/X86/inalloca.ll | 12 +- test/CodeGen/X86/ins_subreg_coalesce-3.ll | 8 +- test/CodeGen/X86/insert-positions.ll | 2 +- test/CodeGen/X86/isel-optnone.ll | 8 +- test/CodeGen/X86/isel-sink.ll | 2 +- test/CodeGen/X86/isel-sink2.ll | 4 +- test/CodeGen/X86/isel-sink3.ll | 4 +- test/CodeGen/X86/jump_sign.ll | 2 +- test/CodeGen/X86/large-gep-chain.ll | 50536 ++++++++-------- test/CodeGen/X86/large-gep-scale.ll | 2 +- test/CodeGen/X86/lea-5.ll | 4 +- test/CodeGen/X86/legalize-sub-zero-2.ll | 2 +- test/CodeGen/X86/licm-nested.ll | 8 +- test/CodeGen/X86/liveness-local-regalloc.ll | 2 +- test/CodeGen/X86/load-slice.ll | 12 +- test/CodeGen/X86/loop-hoist.ll | 2 +- test/CodeGen/X86/loop-strength-reduce-2.ll | 4 +- test/CodeGen/X86/loop-strength-reduce-3.ll | 4 +- test/CodeGen/X86/loop-strength-reduce.ll | 4 +- test/CodeGen/X86/loop-strength-reduce2.ll | 2 +- test/CodeGen/X86/loop-strength-reduce4.ll | 16 +- test/CodeGen/X86/loop-strength-reduce7.ll | 4 +- test/CodeGen/X86/loop-strength-reduce8.ll | 8 +- test/CodeGen/X86/lsr-delayed-fold.ll | 2 +- test/CodeGen/X86/lsr-i386.ll | 2 +- test/CodeGen/X86/lsr-interesting-step.ll | 2 +- test/CodeGen/X86/lsr-loop-exit-cond.ll | 44 +- test/CodeGen/X86/lsr-normalization.ll | 12 +- test/CodeGen/X86/lsr-quadratic-expand.ll | 2 +- test/CodeGen/X86/lsr-redundant-addressing.ll | 14 +- test/CodeGen/X86/lsr-reuse-trunc.ll | 4 +- test/CodeGen/X86/lsr-reuse.ll | 138 +- test/CodeGen/X86/lsr-static-addr.ll | 2 +- test/CodeGen/X86/machine-cse.ll | 6 +- test/CodeGen/X86/masked-iv-safe.ll | 48 +- test/CodeGen/X86/masked-iv-unsafe.ll | 78 +- test/CodeGen/X86/mem-intrin-base-reg.ll | 6 +- test/CodeGen/X86/memset-3.ll | 2 +- test/CodeGen/X86/memset.ll | 2 +- test/CodeGen/X86/merge_store.ll | 8 +- test/CodeGen/X86/mingw-alloca.ll | 2 +- test/CodeGen/X86/misched-aa-colored.ll | 4 +- test/CodeGen/X86/misched-aa-mmos.ll | 4 +- test/CodeGen/X86/misched-balance.ll | 82 +- test/CodeGen/X86/misched-crash.ll | 2 +- test/CodeGen/X86/misched-fusion.ll | 8 +- test/CodeGen/X86/misched-matmul.ll | 94 +- test/CodeGen/X86/misched-matrix.ll | 48 +- test/CodeGen/X86/mmx-arith.ll | 4 +- test/CodeGen/X86/movmsk.ll | 12 +- test/CodeGen/X86/ms-inline-asm.ll | 6 +- test/CodeGen/X86/mul128_sext_loop.ll | 2 +- test/CodeGen/X86/muloti.ll | 8 +- test/CodeGen/X86/multiple-loop-post-inc.ll | 50 +- test/CodeGen/X86/musttail-indirect.ll | 14 +- test/CodeGen/X86/musttail-thiscall.ll | 8 +- test/CodeGen/X86/musttail-varargs.ll | 6 +- test/CodeGen/X86/nancvt.ll | 52 +- test/CodeGen/X86/negate-add-zero.ll | 56 +- test/CodeGen/X86/nosse-varargs.ll | 10 +- test/CodeGen/X86/optimize-max-0.ll | 48 +- test/CodeGen/X86/optimize-max-1.ll | 8 +- test/CodeGen/X86/optimize-max-2.ll | 2 +- test/CodeGen/X86/optimize-max-3.ll | 2 +- test/CodeGen/X86/or-address.ll | 16 +- test/CodeGen/X86/peep-test-0.ll | 2 +- test/CodeGen/X86/peep-test-1.ll | 2 +- test/CodeGen/X86/peephole-fold-movsd.ll | 4 +- test/CodeGen/X86/phi-bit-propagation.ll | 2 +- test/CodeGen/X86/phielim-split.ll | 2 +- test/CodeGen/X86/phys_subreg_coalesce-3.ll | 4 +- test/CodeGen/X86/postra-licm.ll | 12 +- test/CodeGen/X86/pr13899.ll | 18 +- test/CodeGen/X86/pr14333.ll | 4 +- test/CodeGen/X86/pr15309.ll | 4 +- test/CodeGen/X86/pr18162.ll | 4 +- test/CodeGen/X86/pr18846.ll | 8 +- test/CodeGen/X86/pr20020.ll | 14 +- test/CodeGen/X86/pr2177.ll | 2 +- test/CodeGen/X86/pr21792.ll | 12 +- test/CodeGen/X86/pr2656.ll | 4 +- test/CodeGen/X86/pr2849.ll | 6 +- test/CodeGen/X86/pr3154.ll | 26 +- test/CodeGen/X86/pr3317.ll | 8 +- test/CodeGen/X86/pre-ra-sched.ll | 14 +- test/CodeGen/X86/private-2.ll | 2 +- test/CodeGen/X86/psubus.ll | 24 +- test/CodeGen/X86/ragreedy-bug.ll | 56 +- test/CodeGen/X86/ragreedy-hoist-spill.ll | 16 +- .../X86/ragreedy-last-chance-recoloring.ll | 18 +- test/CodeGen/X86/rd-mod-wr-eflags.ll | 20 +- test/CodeGen/X86/rdrand.ll | 2 +- .../X86/regalloc-reconcile-broken-hints.ll | 10 +- test/CodeGen/X86/regpressure.ll | 54 +- test/CodeGen/X86/remat-fold-load.ll | 14 +- test/CodeGen/X86/remat-invalid-liveness.ll | 6 +- test/CodeGen/X86/remat-scalar-zero.ll | 64 +- test/CodeGen/X86/reverse_branches.ll | 10 +- test/CodeGen/X86/rip-rel-lea.ll | 2 +- test/CodeGen/X86/scalar_widen_div.ll | 10 +- test/CodeGen/X86/seh-finally.ll | 0 test/CodeGen/X86/select.ll | 2 +- test/CodeGen/X86/sext-load.ll | 2 +- test/CodeGen/X86/shift-combine.ll | 2 +- test/CodeGen/X86/shift-folding.ll | 8 +- test/CodeGen/X86/shl-i64.ll | 4 +- test/CodeGen/X86/sibcall-4.ll | 2 +- test/CodeGen/X86/sibcall.ll | 4 +- test/CodeGen/X86/sink-hoist.ll | 6 +- test/CodeGen/X86/sink-out-of-loop.ll | 2 +- test/CodeGen/X86/slow-incdec.ll | 4 +- test/CodeGen/X86/soft-fp.ll | 2 +- test/CodeGen/X86/sse-domains.ll | 2 +- test/CodeGen/X86/sse2.ll | 2 +- test/CodeGen/X86/sse41.ll | 6 +- test/CodeGen/X86/ssp-data-layout.ll | 118 +- test/CodeGen/X86/stack-align.ll | 2 +- .../X86/stack-protector-vreg-to-vreg-copy.ll | 2 +- test/CodeGen/X86/stack-protector-weight.ll | 4 +- test/CodeGen/X86/stack-protector.ll | 240 +- test/CodeGen/X86/stack-update-frame-opcode.ll | 2 +- test/CodeGen/X86/stack_guard_remat.ll | 2 +- test/CodeGen/X86/stdarg.ll | 2 +- test/CodeGen/X86/store_op_load_fold2.ll | 2 +- test/CodeGen/X86/stride-nine-with-base-reg.ll | 8 +- test/CodeGen/X86/stride-reuse.ll | 6 +- test/CodeGen/X86/subreg-to-reg-2.ll | 2 +- test/CodeGen/X86/sunkaddr-ext.ll | 4 +- test/CodeGen/X86/tail-opts.ll | 20 +- test/CodeGen/X86/tailcall-64.ll | 6 +- test/CodeGen/X86/tailcall-returndup-void.ll | 4 +- test/CodeGen/X86/tailcall-ri64.ll | 2 +- test/CodeGen/X86/tailcallbyval.ll | 2 +- test/CodeGen/X86/tailcallbyval64.ll | 2 +- test/CodeGen/X86/this-return-64.ll | 12 +- test/CodeGen/X86/twoaddr-pass-sink.ll | 8 +- test/CodeGen/X86/unaligned-32-byte-memops.ll | 36 +- test/CodeGen/X86/unaligned-load.ll | 2 +- test/CodeGen/X86/unaligned-spill-folding.ll | 2 +- test/CodeGen/X86/unwindraise.ll | 30 +- test/CodeGen/X86/vaargs.ll | 6 +- test/CodeGen/X86/vec_align.ll | 8 +- test/CodeGen/X86/vec_ins_extract.ll | 4 +- test/CodeGen/X86/vec_loadsingles.ll | 40 +- test/CodeGen/X86/vec_setcc-2.ll | 8 +- test/CodeGen/X86/vector-gep.ll | 16 +- test/CodeGen/X86/vortex-bug.ll | 2 +- test/CodeGen/X86/vselect-avx.ll | 2 +- test/CodeGen/X86/vselect-minmax.ll | 768 +- test/CodeGen/X86/warn-stack.ll | 4 +- test/CodeGen/X86/widen_arith-1.ll | 4 +- test/CodeGen/X86/widen_arith-2.ll | 8 +- test/CodeGen/X86/widen_arith-3.ll | 4 +- test/CodeGen/X86/widen_arith-4.ll | 4 +- test/CodeGen/X86/widen_arith-5.ll | 4 +- test/CodeGen/X86/widen_arith-6.ll | 4 +- test/CodeGen/X86/widen_cast-1.ll | 4 +- test/CodeGen/X86/widen_cast-2.ll | 4 +- test/CodeGen/X86/widen_cast-4.ll | 8 +- test/CodeGen/X86/widen_load-1.ll | 2 +- test/CodeGen/X86/win32_sret.ll | 8 +- test/CodeGen/X86/win64_frame.ll | 6 +- test/CodeGen/X86/x32-lea-1.ll | 2 +- test/CodeGen/X86/x86-64-disp.ll | 2 +- test/CodeGen/X86/x86-64-jumps.ll | 4 +- test/CodeGen/X86/x86-64-sret-return.ll | 40 +- test/CodeGen/X86/x86-64-static-relo-movl.ll | 2 +- test/CodeGen/X86/zext-sext.ll | 4 +- test/CodeGen/X86/zlib-longest-match.ll | 82 +- test/CodeGen/XCore/2009-01-08-Crash.ll | 2 +- test/CodeGen/XCore/2010-02-25-LSR-Crash.ll | 2 +- test/CodeGen/XCore/codemodel.ll | 4 +- test/CodeGen/XCore/epilogue_prologue.ll | 8 +- test/CodeGen/XCore/indirectbr.ll | 2 +- test/CodeGen/XCore/load.ll | 8 +- test/CodeGen/XCore/offset_folding.ll | 8 +- test/CodeGen/XCore/scavenging.ll | 14 +- test/CodeGen/XCore/store.ll | 8 +- test/CodeGen/XCore/trampoline.ll | 8 +- test/DebugInfo/2010-05-03-OriginDIE.ll | 8 +- test/DebugInfo/AArch64/cfi-eof-prologue.ll | 8 +- test/DebugInfo/AArch64/frameindices.ll | 20 +- test/DebugInfo/AArch64/struct_by_value.ll | 2 +- test/DebugInfo/ARM/cfi-eof-prologue.ll | 8 +- test/DebugInfo/ARM/lowerbdgdeclare_vla.ll | 4 +- test/DebugInfo/ARM/selectiondag-deadcode.ll | 2 +- test/DebugInfo/SystemZ/variable-loc.ll | 4 +- test/DebugInfo/X86/2011-12-16-BadStructRef.ll | 8 +- test/DebugInfo/X86/DW_AT_byte_size.ll | 2 +- test/DebugInfo/X86/DW_AT_object_pointer.ll | 4 +- test/DebugInfo/X86/arguments.ll | 2 +- test/DebugInfo/X86/array.ll | 2 +- test/DebugInfo/X86/array2.ll | 6 +- test/DebugInfo/X86/block-capture.ll | 4 +- test/DebugInfo/X86/cu-ranges-odr.ll | 2 +- test/DebugInfo/X86/dbg-byval-parameter.ll | 4 +- test/DebugInfo/X86/dbg-declare-arg.ll | 4 +- test/DebugInfo/X86/dbg-value-dag-combine.ll | 2 +- .../X86/dbg-value-inlined-parameter.ll | 4 +- test/DebugInfo/X86/dbg-value-range.ll | 2 +- .../X86/debug-info-block-captured-self.ll | 4 +- test/DebugInfo/X86/debug-info-blocks.ll | 28 +- .../DebugInfo/X86/debug-info-static-member.ll | 2 +- test/DebugInfo/X86/debug-loc-offset.ll | 2 +- test/DebugInfo/X86/decl-derived-member.ll | 4 +- test/DebugInfo/X86/earlydup-crash.ll | 2 +- test/DebugInfo/X86/elf-names.ll | 24 +- .../DebugInfo/X86/empty-and-one-elem-array.ll | 8 +- test/DebugInfo/X86/instcombine-instrinsics.ll | 2 +- test/DebugInfo/X86/misched-dbg-value.ll | 12 +- test/DebugInfo/X86/nodebug_with_debug_loc.ll | 2 +- test/DebugInfo/X86/op_deref.ll | 2 +- test/DebugInfo/X86/pieces-2.ll | 4 +- test/DebugInfo/X86/pr12831.ll | 4 +- test/DebugInfo/X86/recursive_inlining.ll | 8 +- test/DebugInfo/X86/sret.ll | 12 +- test/DebugInfo/X86/sroasplit-1.ll | 6 +- test/DebugInfo/X86/sroasplit-2.ll | 10 +- test/DebugInfo/X86/sroasplit-3.ll | 4 +- test/DebugInfo/X86/sroasplit-4.ll | 14 +- test/DebugInfo/X86/subregisters.ll | 2 +- test/DebugInfo/X86/vla.ll | 4 +- test/DebugInfo/block-asan.ll | 12 +- test/DebugInfo/debug-info-always-inline.ll | 2 +- test/DebugInfo/incorrect-variable-debugloc.ll | 4 +- test/DebugInfo/inheritance.ll | 6 +- .../MCJIT/2002-12-16-ArgTest.ll | 2 +- .../MCJIT/2003-05-07-ArgumentTest.ll | 2 +- .../MCJIT/2008-06-05-APInt-OverAShr.ll | 2 +- test/ExecutionEngine/MCJIT/fpbitcast.ll | 2 +- test/ExecutionEngine/MCJIT/pr13727.ll | 10 +- .../remote/test-common-symbols-remote.ll | 10 +- .../MCJIT/test-common-symbols.ll | 10 +- .../OrcJIT/2002-12-16-ArgTest.ll | 2 +- .../OrcJIT/2003-05-07-ArgumentTest.ll | 2 +- .../OrcJIT/2008-06-05-APInt-OverAShr.ll | 2 +- test/ExecutionEngine/OrcJIT/fpbitcast.ll | 2 +- test/ExecutionEngine/OrcJIT/pr13727.ll | 10 +- .../remote/test-common-symbols-remote.ll | 10 +- .../OrcJIT/test-common-symbols.ll | 10 +- test/ExecutionEngine/fma3-jit.ll | 2 +- .../test-interp-vec-loadstore.ll | 6 +- test/Feature/globalvars.ll | 2 +- test/Feature/memorymarkers.ll | 4 +- test/Feature/recursivetype.ll | 4 +- test/Feature/testalloca.ll | 8 +- test/Feature/testconstants.ll | 2 +- test/Feature/weak_constant.ll | 4 +- .../AddressSanitizer/X86/bug_11395.ll | 6 +- .../AddressSanitizer/stack-poisoning.ll | 2 +- .../Instrumentation/AddressSanitizer/ubsan.ll | 2 +- test/Instrumentation/BoundsChecking/phi.ll | 12 +- .../BoundsChecking/simple-32.ll | 4 +- test/Instrumentation/BoundsChecking/simple.ll | 22 +- .../DataFlowSanitizer/abilist.ll | 10 +- .../Instrumentation/DataFlowSanitizer/load.ll | 6 +- .../DataFlowSanitizer/store.ll | 28 +- .../MemorySanitizer/msan_basic.ll | 4 +- .../MemorySanitizer/store-long-origin.ll | 12 +- .../SanitizerCoverage/coverage-dbg.ll | 2 +- .../ThreadSanitizer/read_from_global.ll | 2 +- test/Integer/2007-01-19-TruncSext.ll | 6 +- .../X86/keep-used-puts-during-instcombine.ll | 2 +- .../X86/no-undefined-puts-when-implemented.ll | 2 +- test/Linker/2004-05-07-TypeResolution2.ll | 2 +- test/Linker/AppendingLinkage.ll | 2 +- test/Linker/DbgDeclare2.ll | 2 +- test/Linker/Inputs/PR11464.b.ll | 2 +- test/Linker/Inputs/opaque.ll | 2 +- test/Linker/Inputs/testlink.ll | 2 +- test/Linker/opaque.ll | 2 +- test/Linker/partial-type-refinement-link.ll | 2 +- test/Linker/testlink.ll | 2 +- test/Linker/type-unique-src-type.ll | 4 +- test/Linker/type-unique-type-array-a.ll | 6 +- test/Linker/type-unique-type-array-b.ll | 6 +- test/MC/ARM/elf-reloc-03.ll | 2 +- test/MC/COFF/linker-options.ll | 0 test/Other/2008-06-04-FieldSizeInPacked.ll | 4 +- test/Other/constant-fold-gep.ll | 4 +- test/Other/lint.ll | 8 +- .../ADCE/2002-05-23-ZeroArgPHITest.ll | 2 +- test/Transforms/ADCE/2002-05-28-Crash.ll | 4 +- .../ADCE/2003-06-24-BadSuccessor.ll | 2 +- .../ADCE/2003-06-24-BasicFunctionality.ll | 4 +- test/Transforms/ADCE/basictest1.ll | 22 +- test/Transforms/ADCE/basictest2.ll | 22 +- .../AlignmentFromAssumptions/simple.ll | 12 +- .../AlignmentFromAssumptions/simple32.ll | 12 +- .../AlignmentFromAssumptions/start-unk.ll | 4 +- .../2008-07-02-array-indexing.ll | 2 +- .../ArgumentPromotion/aggregate-promote.ll | 4 +- test/Transforms/ArgumentPromotion/attrs.ll | 6 +- test/Transforms/ArgumentPromotion/byval-2.ll | 6 +- test/Transforms/ArgumentPromotion/byval.ll | 6 +- test/Transforms/ArgumentPromotion/crash.ll | 4 +- test/Transforms/ArgumentPromotion/fp80.ll | 6 +- test/Transforms/ArgumentPromotion/inalloca.ll | 8 +- test/Transforms/BBVectorize/X86/loop1.ll | 6 +- test/Transforms/BBVectorize/X86/pr15289.ll | 20 +- test/Transforms/BBVectorize/X86/sh-rec.ll | 18 +- test/Transforms/BBVectorize/X86/sh-rec2.ll | 48 +- test/Transforms/BBVectorize/X86/sh-rec3.ll | 82 +- .../BBVectorize/X86/simple-ldstr.ll | 6 +- test/Transforms/BBVectorize/X86/wr-aliases.ll | 50 +- test/Transforms/BBVectorize/func-alias.ll | 32 +- test/Transforms/BBVectorize/ld1.ll | 6 +- test/Transforms/BBVectorize/loop1.ll | 18 +- test/Transforms/BBVectorize/metadata.ll | 12 +- test/Transforms/BBVectorize/no-ldstr-conn.ll | 6 +- .../BBVectorize/simple-ldstr-ptrs.ll | 40 +- test/Transforms/BBVectorize/simple-ldstr.ll | 34 +- .../CodeGenPrepare/X86/sink-addrspacecast.ll | 4 +- .../CodeGenPrepare/statepoint-relocate.ll | 42 +- .../ConstProp/2009-09-01-GEP-Crash.ll | 2 +- .../ConstantHoisting/AArch64/const-addr.ll | 12 +- .../PowerPC/const-base-addr.ll | 8 +- .../ConstantHoisting/X86/const-base-addr.ll | 8 +- .../X86/delete-dead-cast-inst.ll | 12 +- .../2008-01-16-VarargsParamAttrs.ll | 2 +- .../2011-03-25-DSEMiscompile.ll | 4 +- .../2011-09-06-EndOfFunction.ll | 4 +- .../DeadStoreElimination/2011-09-06-MemCpy.ll | 8 +- .../DeadStoreElimination/OverwriteStoreEnd.ll | 18 +- .../DeadStoreElimination/PartialStore.ll | 8 +- .../DeadStoreElimination/const-pointers.ll | 2 +- test/Transforms/DeadStoreElimination/crash.ll | 16 +- .../DeadStoreElimination/cs-cs-aliasing.ll | 16 +- .../DeadStoreElimination/dominate.ll | 2 +- test/Transforms/DeadStoreElimination/free.ll | 4 +- .../DeadStoreElimination/libcalls.ll | 14 +- .../DeadStoreElimination/lifetime.ll | 2 +- .../DeadStoreElimination/no-targetdata.ll | 2 +- .../DeadStoreElimination/pr11390.ll | 6 +- .../Transforms/DeadStoreElimination/simple.ll | 26 +- test/Transforms/FunctionAttrs/nocapture.ll | 4 +- test/Transforms/GCOVProfiling/linezero.ll | 2 +- test/Transforms/GVN/2007-07-25-NestedLoop.ll | 6 +- .../GVN/2007-07-25-SinglePredecessor.ll | 4 +- .../Transforms/GVN/2007-07-31-NoDomInherit.ll | 58 +- test/Transforms/GVN/2008-02-12-UndefLoad.ll | 4 +- test/Transforms/GVN/2008-12-09-SelfRemove.ll | 4 +- test/Transforms/GVN/2008-12-12-RLE-Crash.ll | 4 +- .../GVN/2008-12-14-rle-reanalyze.ll | 2 +- .../Transforms/GVN/2008-12-15-CacheVisited.ll | 4 +- .../GVN/2009-01-22-SortInvalidation.ll | 6 +- .../Transforms/GVN/2009-02-17-LoadPRECrash.ll | 18 +- test/Transforms/GVN/2009-06-17-InvalidPRE.ll | 18 +- test/Transforms/GVN/2010-05-08-OneBit.ll | 4 +- .../2011-06-01-NonLocalMemdepMiscompile.ll | 2 +- test/Transforms/GVN/calls-readonly.ll | 2 +- test/Transforms/GVN/cond_br2.ll | 22 +- test/Transforms/GVN/crash-no-aa.ll | 4 +- test/Transforms/GVN/crash.ll | 20 +- test/Transforms/GVN/load-constant-mem.ll | 2 +- test/Transforms/GVN/load-pre-licm.ll | 4 +- test/Transforms/GVN/load-pre-nonlocal.ll | 8 +- test/Transforms/GVN/lpre-call-wrap-2.ll | 4 +- test/Transforms/GVN/lpre-call-wrap.ll | 4 +- test/Transforms/GVN/non-local-offset.ll | 4 +- test/Transforms/GVN/nonescaping-malloc.ll | 24 +- test/Transforms/GVN/null-aliases-nothing.ll | 2 +- .../GVN/phi-translate-partial-alias.ll | 2 +- test/Transforms/GVN/phi-translate.ll | 4 +- test/Transforms/GVN/pr17852.ll | 28 +- test/Transforms/GVN/pre-gep-load.ll | 8 +- test/Transforms/GVN/pre-load.ll | 40 +- test/Transforms/GVN/rle-must-alias.ll | 6 +- test/Transforms/GVN/rle-phi-translate.ll | 14 +- test/Transforms/GVN/rle.ll | 48 +- test/Transforms/GlobalDCE/indirectbr.ll | 2 +- test/Transforms/GlobalOpt/2005-09-27-Crash.ll | 2 +- test/Transforms/GlobalOpt/2007-05-13-Crash.ll | 2 +- .../GlobalOpt/2007-11-09-GEP-GEP-Crash.ll | 2 +- .../GlobalOpt/2008-01-13-OutOfRangeSROA.ll | 4 +- .../GlobalOpt/2008-12-16-HeapSRACrash-2.ll | 4 +- .../GlobalOpt/2008-12-16-HeapSRACrash.ll | 2 +- .../GlobalOpt/2009-01-13-phi-user.ll | 4 +- ...2009-11-16-MallocSingleStoreToGlobalVar.ll | 2 +- .../GlobalOpt/constantfold-initializers.ll | 2 +- test/Transforms/GlobalOpt/crash.ll | 2 +- .../GlobalOpt/ctor-list-opt-constexpr.ll | 4 +- test/Transforms/GlobalOpt/ctor-list-opt.ll | 6 +- test/Transforms/GlobalOpt/deadfunction.ll | 2 +- test/Transforms/GlobalOpt/deadglobal-2.ll | 2 +- .../Transforms/GlobalOpt/globalsra-partial.ll | 4 +- .../GlobalOpt/globalsra-unknown-index.ll | 12 +- test/Transforms/GlobalOpt/heap-sra-1.ll | 2 +- test/Transforms/GlobalOpt/heap-sra-2.ll | 4 +- test/Transforms/GlobalOpt/heap-sra-3.ll | 2 +- test/Transforms/GlobalOpt/heap-sra-4.ll | 2 +- test/Transforms/GlobalOpt/heap-sra-phi.ll | 6 +- .../Transforms/GlobalOpt/load-store-global.ll | 2 +- test/Transforms/GlobalOpt/malloc-promote-2.ll | 2 +- test/Transforms/GlobalOpt/malloc-promote-3.ll | 2 +- test/Transforms/GlobalOpt/memcpy.ll | 2 +- test/Transforms/GlobalOpt/unnamed-addr.ll | 2 +- .../GlobalOpt/zeroinitializer-gep-load.ll | 2 +- .../IPConstantProp/2009-09-24-byval-ptr.ll | 8 +- .../IPConstantProp/dangling-block-address.ll | 4 +- test/Transforms/IRCE/decrementing-loop.ll | 2 +- test/Transforms/IRCE/low-becount.ll | 2 +- .../IRCE/multiple-access-no-preloop.ll | 4 +- test/Transforms/IRCE/not-likely-taken.ll | 4 +- .../IRCE/single-access-no-preloop.ll | 6 +- .../IRCE/single-access-with-preloop.ll | 2 +- test/Transforms/IRCE/unhandled.ll | 2 +- test/Transforms/IRCE/with-parent-loops.ll | 18 +- .../IndVarSimplify/2005-11-18-Crash.ll | 2 +- .../IndVarSimplify/2007-01-06-TripCount.ll | 2 +- .../IndVarSimplify/2008-09-02-IVType.ll | 8 +- .../2009-04-14-shorten_iv_vars.ll | 36 +- .../2009-04-15-shorten-iv-vars-2.ll | 42 +- .../IndVarSimplify/2011-09-27-hoistsext.ll | 2 +- .../IndVarSimplify/2011-10-27-lftrnull.ll | 2 +- .../IndVarSimplify/2011-11-01-lftrptr.ll | 12 +- .../IndVarSimplify/2011-11-15-multiexit.ll | 4 +- .../NVPTX/no-widen-expensive.ll | 2 +- test/Transforms/IndVarSimplify/ada-loops.ll | 12 +- .../IndVarSimplify/ashr-tripcount.ll | 28 +- .../IndVarSimplify/backedge-on-min-max.ll | 32 +- .../IndVarSimplify/casted-argument.ll | 6 +- .../Transforms/IndVarSimplify/dangling-use.ll | 6 +- test/Transforms/IndVarSimplify/elim-extend.ll | 22 +- .../IndVarSimplify/eliminate-comparison.ll | 10 +- .../IndVarSimplify/eliminate-rem.ll | 8 +- test/Transforms/IndVarSimplify/indirectbr.ll | 2 +- test/Transforms/IndVarSimplify/iv-fold.ll | 8 +- test/Transforms/IndVarSimplify/iv-sext.ll | 14 +- test/Transforms/IndVarSimplify/iv-widen.ll | 2 +- test/Transforms/IndVarSimplify/iv-zext.ll | 6 +- .../lftr-address-space-pointers.ll | 12 +- .../Transforms/IndVarSimplify/lftr-promote.ll | 4 +- test/Transforms/IndVarSimplify/lftr-reuse.ll | 24 +- test/Transforms/IndVarSimplify/lftr-zext.ll | 4 +- .../IndVarSimplify/loop_evaluate7.ll | 2 +- .../IndVarSimplify/loop_evaluate8.ll | 2 +- test/Transforms/IndVarSimplify/masked-iv.ll | 2 +- .../IndVarSimplify/no-iv-rewrite.ll | 24 +- .../IndVarSimplify/overflowcheck.ll | 2 +- .../IndVarSimplify/polynomial-expand.ll | 2 +- .../IndVarSimplify/preserve-signed-wrap.ll | 2 +- .../promote-iv-to-eliminate-casts.ll | 8 +- .../IndVarSimplify/sharpen-range.ll | 2 +- .../IndVarSimplify/signed-trip-count.ll | 2 +- test/Transforms/IndVarSimplify/sink-alloca.ll | 2 +- test/Transforms/IndVarSimplify/udiv.ll | 10 +- test/Transforms/IndVarSimplify/uglygep.ll | 2 +- .../IndVarSimplify/ult-sub-to-eq.ll | 4 +- .../IndVarSimplify/variable-stride-ivs-0.ll | 8 +- .../IndVarSimplify/widen-loop-comp.ll | 10 +- test/Transforms/IndVarSimplify/widen-nsw.ll | 2 +- .../Inline/2009-01-13-RecursiveInlineCrash.ll | 42 +- test/Transforms/Inline/align.ll | 26 +- test/Transforms/Inline/alloca-bonus.ll | 14 +- test/Transforms/Inline/alloca-dbgdeclare.ll | 2 +- test/Transforms/Inline/alloca-in-scc.ll | 2 +- .../Inline/alloca-merge-align-nodl.ll | 24 +- test/Transforms/Inline/alloca-merge-align.ll | 32 +- test/Transforms/Inline/basictest.ll | 4 +- test/Transforms/Inline/byval.ll | 14 +- test/Transforms/Inline/byval_lifetime.ll | 4 +- test/Transforms/Inline/devirtualize-3.ll | 26 +- test/Transforms/Inline/devirtualize.ll | 22 +- test/Transforms/Inline/inline-byval-bonus.ll | 40 +- .../Inline/inline-fast-math-flags.ll | 2 +- .../Inline/inline-musttail-varargs.ll | 2 +- test/Transforms/Inline/inline-vla.ll | 2 +- test/Transforms/Inline/inline_dbg_declare.ll | 4 +- test/Transforms/Inline/inline_minisize.ll | 20 +- test/Transforms/Inline/noalias-cs.ll | 18 +- test/Transforms/Inline/noalias.ll | 20 +- test/Transforms/Inline/noalias2.ll | 24 +- test/Transforms/Inline/ptr-diff.ll | 8 +- .../2006-12-08-Phi-ICmp-Op-Fold.ll | 12 +- .../InstCombine/2006-12-08-Select-ICmp.ll | 12 +- .../InstCombine/2006-12-15-Range-Test.ll | 2 +- .../InstCombine/2007-02-07-PointerCast.ll | 2 +- .../InstCombine/2007-03-25-BadShiftMask.ll | 6 +- .../InstCombine/2007-05-14-Crash.ll | 2 +- .../InstCombine/2007-10-10-EliminateMemCpy.ll | 2 +- .../InstCombine/2007-10-12-Crash.ll | 2 +- .../InstCombine/2007-10-28-stacksave.ll | 2 +- .../InstCombine/2007-12-12-GEPScale.ll | 2 +- .../2008-01-14-VarArgTrampoline.ll | 6 +- .../InstCombine/2008-05-08-LiveStoreDelete.ll | 6 +- .../InstCombine/2008-05-08-StrLenSink.ll | 6 +- .../InstCombine/2008-05-09-SinkOfInvoke.ll | 2 +- .../InstCombine/2008-06-24-StackRestore.ll | 2 +- test/Transforms/InstCombine/2008-08-05-And.ll | 2 +- .../InstCombine/2009-01-08-AlignAlloca.ll | 8 +- .../InstCombine/2009-01-24-EmptyStruct.ll | 2 +- .../2009-02-20-InstCombine-SROA.ll | 112 +- .../2009-02-25-CrashZeroSizeArray.ll | 4 +- .../InstCombine/2009-12-17-CmpSelectNull.ll | 2 +- .../InstCombine/2010-11-21-SizeZeroTypeGEP.ll | 4 +- .../InstCombine/2011-05-13-InBoundsGEP.ll | 4 +- .../InstCombine/2011-09-03-Trampoline.ll | 4 +- .../InstCombine/2012-09-17-ZeroSizedAlloca.ll | 4 +- .../2012-09-24-MemcpyFromGlobalCrash.ll | 2 +- .../2012-10-25-vector-of-pointers.ll | 2 +- ...013-03-05-Combine-BitcastTy-Into-Alloca.ll | 4 +- test/Transforms/InstCombine/add3.ll | 2 +- test/Transforms/InstCombine/addrspacecast.ll | 4 +- test/Transforms/InstCombine/align-2d-gep.ll | 4 +- test/Transforms/InstCombine/align-addr.ll | 2 +- .../Transforms/InstCombine/aligned-altivec.ll | 16 +- test/Transforms/InstCombine/aligned-qpx.ll | 20 +- test/Transforms/InstCombine/alloca.ll | 20 +- .../InstCombine/assume-loop-align.ll | 4 +- .../InstCombine/assume-redundant.ll | 6 +- test/Transforms/InstCombine/cast.ll | 88 +- .../constant-fold-address-space-pointer.ll | 12 +- .../InstCombine/constant-fold-gep.ll | 4 +- test/Transforms/InstCombine/crash.ll | 16 +- test/Transforms/InstCombine/descale-zero.ll | 4 +- .../InstCombine/disable-simplify-libcalls.ll | 50 +- .../Transforms/InstCombine/div-shift-crash.ll | 2 +- .../InstCombine/enforce-known-alignment.ll | 20 +- test/Transforms/InstCombine/extractvalue.ll | 4 +- test/Transforms/InstCombine/fp-ret-bitcast.ll | 2 +- test/Transforms/InstCombine/fprintf-1.ll | 16 +- test/Transforms/InstCombine/fputs-1.ll | 6 +- test/Transforms/InstCombine/fwrite-1.ll | 10 +- test/Transforms/InstCombine/gep-addrspace.ll | 10 +- test/Transforms/InstCombine/gep-sext.ll | 20 +- test/Transforms/InstCombine/gepphigep.ll | 50 +- test/Transforms/InstCombine/getelementptr.ll | 264 +- test/Transforms/InstCombine/icmp.ll | 58 +- test/Transforms/InstCombine/load-cmp.ll | 74 +- test/Transforms/InstCombine/load.ll | 12 +- test/Transforms/InstCombine/load3.ll | 4 +- .../InstCombine/loadstore-alignment.ll | 18 +- .../InstCombine/loadstore-metadata.ll | 6 +- test/Transforms/InstCombine/lshr-phi.ll | 4 +- test/Transforms/InstCombine/mem-gep-zidx.ll | 8 +- test/Transforms/InstCombine/memcmp-1.ll | 12 +- .../InstCombine/memcpy-from-global.ll | 10 +- test/Transforms/InstCombine/memmove.ll | 8 +- test/Transforms/InstCombine/memset.ll | 2 +- test/Transforms/InstCombine/memset2.ll | 2 +- .../multi-size-address-space-pointer.ll | 36 +- test/Transforms/InstCombine/objsize.ll | 12 +- test/Transforms/InstCombine/phi-merge-gep.ll | 48 +- test/Transforms/InstCombine/phi.ll | 10 +- test/Transforms/InstCombine/pr2645-0.ll | 4 +- test/Transforms/InstCombine/pr2645-1.ll | 4 +- test/Transforms/InstCombine/printf-1.ll | 20 +- test/Transforms/InstCombine/printf-2.ll | 8 +- test/Transforms/InstCombine/puts-1.ll | 4 +- test/Transforms/InstCombine/select-cmp-br.ll | 34 +- .../InstCombine/shufflemask-undef.ll | 2 +- .../InstCombine/signed-comparison.ll | 2 +- .../InstCombine/simplify-libcalls.ll | 8 +- test/Transforms/InstCombine/sprintf-1.ll | 16 +- test/Transforms/InstCombine/sqrt.ll | 2 +- .../Transforms/InstCombine/stack-overalign.ll | 2 +- .../InstCombine/stacksaverestore.ll | 2 +- test/Transforms/InstCombine/store.ll | 2 +- test/Transforms/InstCombine/stpcpy-1.ll | 12 +- test/Transforms/InstCombine/stpcpy-2.ll | 4 +- test/Transforms/InstCombine/stpcpy_chk-1.ll | 28 +- test/Transforms/InstCombine/stpcpy_chk-2.ll | 4 +- test/Transforms/InstCombine/strcat-1.ll | 8 +- test/Transforms/InstCombine/strcat-2.ll | 8 +- test/Transforms/InstCombine/strcat-3.ll | 4 +- test/Transforms/InstCombine/strchr-1.ll | 12 +- test/Transforms/InstCombine/strchr-2.ll | 2 +- test/Transforms/InstCombine/strcmp-1.ll | 18 +- test/Transforms/InstCombine/strcmp-2.ll | 4 +- test/Transforms/InstCombine/strcpy-1.ll | 10 +- test/Transforms/InstCombine/strcpy-2.ll | 4 +- test/Transforms/InstCombine/strcpy_chk-1.ll | 26 +- test/Transforms/InstCombine/strcpy_chk-2.ll | 4 +- test/Transforms/InstCombine/strcpy_chk-64.ll | 2 +- test/Transforms/InstCombine/strcspn-1.ll | 8 +- test/Transforms/InstCombine/strcspn-2.ll | 2 +- test/Transforms/InstCombine/strlen-1.ll | 20 +- test/Transforms/InstCombine/strlen-2.ll | 2 +- test/Transforms/InstCombine/strncat-1.ll | 8 +- test/Transforms/InstCombine/strncat-2.ll | 16 +- test/Transforms/InstCombine/strncat-3.ll | 4 +- test/Transforms/InstCombine/strncmp-1.ll | 16 +- test/Transforms/InstCombine/strncmp-2.ll | 4 +- test/Transforms/InstCombine/strncpy-1.ll | 28 +- test/Transforms/InstCombine/strncpy-2.ll | 4 +- test/Transforms/InstCombine/strncpy_chk-1.ll | 20 +- test/Transforms/InstCombine/strncpy_chk-2.ll | 4 +- test/Transforms/InstCombine/strpbrk-1.ll | 10 +- test/Transforms/InstCombine/strpbrk-2.ll | 4 +- test/Transforms/InstCombine/strrchr-1.ll | 10 +- test/Transforms/InstCombine/strrchr-2.ll | 2 +- test/Transforms/InstCombine/strspn-1.ll | 8 +- test/Transforms/InstCombine/strstr-1.ll | 8 +- test/Transforms/InstCombine/strstr-2.ll | 2 +- .../InstCombine/struct-assign-tbaa.ll | 2 +- test/Transforms/InstCombine/sub.ll | 30 +- .../Transforms/InstCombine/vec_phi_extract.ll | 2 +- test/Transforms/InstCombine/vector-casts.ll | 2 +- test/Transforms/InstCombine/vector_gep1.ll | 12 +- test/Transforms/InstCombine/vector_gep2.ll | 4 +- test/Transforms/InstCombine/weak-symbols.ll | 8 +- test/Transforms/InstCombine/zext-or-icmp.ll | 8 +- test/Transforms/InstMerge/ld_hoist1.ll | 12 +- test/Transforms/InstMerge/ld_hoist_st_sink.ll | 26 +- .../InstMerge/st_sink_barrier_call.ll | 6 +- .../InstMerge/st_sink_bugfix_22613.ll | 6 +- .../InstMerge/st_sink_no_barrier_call.ll | 6 +- .../InstMerge/st_sink_no_barrier_load.ll | 8 +- .../InstMerge/st_sink_no_barrier_store.ll | 8 +- .../InstMerge/st_sink_two_stores.ll | 10 +- .../InstMerge/st_sink_with_barrier.ll | 8 +- test/Transforms/InstSimplify/call.ll | 6 +- test/Transforms/InstSimplify/compare.ll | 92 +- test/Transforms/InstSimplify/gep.ll | 14 +- test/Transforms/InstSimplify/noalias-ptr.ll | 18 +- test/Transforms/InstSimplify/past-the-end.ll | 12 +- test/Transforms/InstSimplify/ptr_diff.ll | 32 +- test/Transforms/InstSimplify/vector_gep.ll | 12 +- .../JumpThreading/2010-08-26-and.ll | 2 +- test/Transforms/JumpThreading/landing-pad.ll | 28 +- test/Transforms/JumpThreading/lvi-load.ll | 2 +- test/Transforms/JumpThreading/phi-eq.ll | 18 +- .../LCSSA/2006-06-03-IncorrectIDFPhis.ll | 2 +- .../LCSSA/2006-07-09-NoDominator.ll | 2 +- .../LICM/2003-02-26-LoopExitNotDominated.ll | 2 +- .../LICM/2004-11-17-UndefIndexCrash.ll | 4 +- .../LICM/2007-05-22-VolatileSink.ll | 4 +- test/Transforms/LICM/2007-07-30-AliasSet.ll | 4 +- .../LICM/2007-09-17-PromoteValue.ll | 6 +- .../LICM/2008-07-22-LoadGlobalConstant.ll | 4 +- test/Transforms/LICM/2011-07-06-Alignment.ll | 2 +- test/Transforms/LICM/PR21582.ll | 2 +- test/Transforms/LICM/crash.ll | 4 +- test/Transforms/LICM/hoist-bitcast-load.ll | 24 +- test/Transforms/LICM/hoist-deref-load.ll | 20 +- test/Transforms/LICM/scalar_promote.ll | 10 +- test/Transforms/LICM/sinking.ll | 8 +- test/Transforms/LICM/speculate.ll | 20 +- .../Transforms/LoadCombine/load-combine-aa.ll | 4 +- .../LoadCombine/load-combine-assume.ll | 4 +- test/Transforms/LoadCombine/load-combine.ll | 40 +- .../Transforms/LoopDeletion/2008-05-06-Phi.ll | 10 +- .../LoopIdiom/basic-address-space.ll | 8 +- test/Transforms/LoopIdiom/basic.ll | 46 +- test/Transforms/LoopIdiom/crash.ll | 4 +- test/Transforms/LoopIdiom/debug-line.ll | 2 +- test/Transforms/LoopIdiom/memset_noidiom.ll | 2 +- .../LoopIdiom/non-canonical-loop.ll | 2 +- .../Transforms/LoopIdiom/scev-invalidation.ll | 8 +- test/Transforms/LoopReroll/basic.ll | 122 +- test/Transforms/LoopReroll/nonconst_lb.ll | 40 +- test/Transforms/LoopReroll/reduction.ll | 28 +- test/Transforms/LoopRotate/PhiRename-1.ll | 10 +- .../LoopRotate/PhiSelfReference-1.ll | 2 +- test/Transforms/LoopRotate/basic.ll | 2 +- test/Transforms/LoopRotate/crash.ll | 2 +- test/Transforms/LoopRotate/dbgvalue.ll | 2 +- test/Transforms/LoopRotate/multiple-exits.ll | 2 +- test/Transforms/LoopRotate/nosimplifylatch.ll | 2 +- test/Transforms/LoopRotate/phi-duplicate.ll | 6 +- test/Transforms/LoopRotate/pr22337.ll | 4 +- test/Transforms/LoopRotate/simplifylatch.ll | 8 +- .../LoopSimplify/2003-08-15-PreheadersFail.ll | 4 +- test/Transforms/LoopSimplify/merge-exits.ll | 4 +- test/Transforms/LoopSimplify/notify-scev.ll | 2 +- .../LoopSimplify/phi-node-simplify.ll | 10 +- .../LoopStrengthReduce/2005-08-15-AddRecIV.ll | 2 +- .../2007-04-23-UseIterator.ll | 2 +- .../2009-04-28-no-reduce-mul.ll | 2 +- .../2011-07-19-CritEdgeBreakCrash.ll | 2 +- .../2011-10-03-CritEdgeMerge.ll | 4 +- .../LoopStrengthReduce/2011-10-06-ReusePhi.ll | 8 +- .../2011-10-13-SCEVChain.ll | 6 +- .../LoopStrengthReduce/2011-10-14-IntPtr.ll | 2 +- .../2011-12-19-PostincQuadratic.ll | 4 +- .../2012-01-02-nopreheader.ll | 4 +- .../2012-01-16-nopreheader.ll | 4 +- .../2012-03-15-nopreheader.ll | 2 +- .../2012-03-26-constexpr.ll | 18 +- .../2012-07-13-ExpandUDiv.ll | 4 +- .../2012-07-18-LimitReassociate.ll | 14 +- .../2013-01-14-ReuseCast.ll | 2 +- .../LoopStrengthReduce/AArch64/lsr-memcpy.ll | 4 +- .../LoopStrengthReduce/AArch64/lsr-memset.ll | 6 +- .../ARM/2012-06-15-lsr-noaddrmode.ll | 6 +- .../LoopStrengthReduce/ARM/ivchain-ARM.ll | 94 +- .../X86/2011-12-04-loserreg.ll | 20 +- .../X86/2012-01-13-phielim.ll | 12 +- .../LoopStrengthReduce/X86/ivchain-X86.ll | 70 +- .../X86/ivchain-stress-X86.ll | 24 +- .../X86/no_superflous_induction_vars.ll | 2 +- .../addrec-gep-address-space.ll | 8 +- .../LoopStrengthReduce/addrec-gep.ll | 6 +- .../LoopStrengthReduce/address-space-loop.ll | 10 +- .../LoopStrengthReduce/dominate-assert.ll | 12 +- .../dont-hoist-simple-loop-constants.ll | 2 +- .../dont_insert_redundant_ops.ll | 8 +- .../LoopStrengthReduce/dont_reduce_bytes.ll | 2 +- .../hoist-parent-preheader.ll | 2 +- .../invariant_value_first.ll | 2 +- .../invariant_value_first_arg.ll | 2 +- test/Transforms/LoopStrengthReduce/ivchain.ll | 4 +- .../LoopStrengthReduce/ops_after_indvar.ll | 2 +- .../phi_node_update_multiple_preds.ll | 4 +- .../LoopStrengthReduce/post-inc-icmpzero.ll | 18 +- test/Transforms/LoopStrengthReduce/pr12018.ll | 6 +- test/Transforms/LoopStrengthReduce/pr12048.ll | 6 +- test/Transforms/LoopStrengthReduce/pr3086.ll | 2 +- .../preserve-gep-loop-variant.ll | 2 +- .../LoopStrengthReduce/related_indvars.ll | 4 +- .../LoopStrengthReduce/remove_indvar.ll | 2 +- .../scaling_factor_cost_crash.ll | 2 +- .../share_code_in_preheader.ll | 4 +- .../uglygep-address-space.ll | 10 +- test/Transforms/LoopStrengthReduce/uglygep.ll | 10 +- .../use_postinc_value_outside_loop.ll | 2 +- .../var_stride_used_by_compare.ll | 2 +- .../LoopUnroll/2007-05-05-UnrollMiscomp.ll | 8 +- .../LoopUnroll/2011-08-08-PhiUpdate.ll | 2 +- .../LoopUnroll/2011-08-09-IVSimplify.ll | 8 +- .../LoopUnroll/2011-10-01-NoopTrunc.ll | 2 +- .../LoopUnroll/PowerPC/a2-unrolling.ll | 2 +- test/Transforms/LoopUnroll/X86/partial.ll | 18 +- test/Transforms/LoopUnroll/ephemeral.ll | 2 +- .../LoopUnroll/full-unroll-heuristics.ll | 12 +- .../ignore-annotation-intrinsic-cost.ll | 2 +- test/Transforms/LoopUnroll/runtime-loop.ll | 6 +- test/Transforms/LoopUnroll/runtime-loop1.ll | 2 +- test/Transforms/LoopUnroll/runtime-loop2.ll | 2 +- test/Transforms/LoopUnroll/runtime-loop3.ll | 2 +- test/Transforms/LoopUnroll/scevunroll.ll | 10 +- .../LoopUnroll/shifted-tripcount.ll | 4 +- .../LoopUnroll/unroll-pragmas-disabled.ll | 10 +- test/Transforms/LoopUnroll/unroll-pragmas.ll | 18 +- .../LoopUnswitch/2007-07-18-DomInfo.ll | 2 +- .../LoopUnswitch/2011-09-26-EHCrash.ll | 4 +- .../2012-04-30-LoopUnswitch-LPad-Crash.ll | 2 +- test/Transforms/LoopUnswitch/basictest.ll | 2 +- .../LoopUnswitch/preserve-analyses.ll | 2 +- .../LoopVectorize/12-12-11-if-conv.ll | 2 +- .../LoopVectorize/2012-10-22-isconsec.ll | 4 +- .../LoopVectorize/AArch64/aarch64-unroll.ll | 6 +- .../AArch64/arbitrary-induction-step.ll | 8 +- .../LoopVectorize/AArch64/arm64-unroll.ll | 6 +- .../LoopVectorize/AArch64/gather-cost.ll | 14 +- .../LoopVectorize/AArch64/sdiv-pow2.ll | 4 +- .../LoopVectorize/ARM/arm-unroll.ll | 4 +- .../LoopVectorize/ARM/gather-cost.ll | 14 +- .../LoopVectorize/ARM/gcc-examples.ll | 10 +- .../LoopVectorize/ARM/width-detect.ll | 4 +- .../LoopVectorize/PowerPC/small-loop-rdx.ll | 2 +- .../LoopVectorize/PowerPC/vsx-tsvc-s173.ll | 6 +- .../LoopVectorize/X86/already-vectorized.ll | 2 +- test/Transforms/LoopVectorize/X86/assume.ll | 12 +- test/Transforms/LoopVectorize/X86/avx1.ll | 4 +- test/Transforms/LoopVectorize/X86/avx512.ll | 2 +- .../X86/constant-vector-operand.ll | 4 +- .../LoopVectorize/X86/conversion-cost.ll | 4 +- .../LoopVectorize/X86/cost-model.ll | 8 +- .../X86/fp32_to_uint32-cost-model.ll | 4 +- .../X86/fp64_to_uint32-cost-model.ll | 4 +- .../X86/fp_to_sint8-cost-model.ll | 4 +- .../LoopVectorize/X86/gather-cost.ll | 14 +- .../LoopVectorize/X86/gcc-examples.ll | 10 +- .../illegal-parallel-loop-uniform-write.ll | 6 +- .../LoopVectorize/X86/masked_load_store.ll | 46 +- .../LoopVectorize/X86/metadata-enable.ll | 12 +- .../X86/min-trip-count-switch.ll | 2 +- .../Transforms/LoopVectorize/X86/no-vector.ll | 2 +- .../X86/parallel-loops-after-reg2mem.ll | 8 +- .../LoopVectorize/X86/parallel-loops.ll | 24 +- .../Transforms/LoopVectorize/X86/powof2div.ll | 4 +- .../LoopVectorize/X86/reduction-crash.ll | 4 +- .../LoopVectorize/X86/small-size.ll | 30 +- .../LoopVectorize/X86/struct-store.ll | 2 +- .../Transforms/LoopVectorize/X86/tripcount.ll | 2 +- .../X86/uint64_to_fp64-cost-model.ll | 4 +- .../Transforms/LoopVectorize/X86/unroll-pm.ll | 2 +- .../LoopVectorize/X86/unroll-small-loops.ll | 8 +- .../LoopVectorize/X86/unroll_selection.ll | 4 +- .../LoopVectorize/X86/vect.omp.force.ll | 8 +- .../X86/vect.omp.force.small-tc.ll | 8 +- .../X86/vector-scalar-select-cost.ll | 12 +- .../X86/vector_ptr_load_store.ll | 12 +- .../X86/vectorization-remarks-missed.ll | 10 +- .../X86/vectorization-remarks.ll | 4 +- .../X86/x86_fp80-vector-store.ll | 2 +- .../XCore/no-vector-registers.ll | 2 +- test/Transforms/LoopVectorize/align.ll | 6 +- test/Transforms/LoopVectorize/bsd_regex.ll | 2 +- .../LoopVectorize/bzip_reverse_loops.ll | 4 +- test/Transforms/LoopVectorize/calloc.ll | 4 +- .../LoopVectorize/cast-induction.ll | 2 +- .../LoopVectorize/conditional-assignment.ll | 2 +- test/Transforms/LoopVectorize/control-flow.ll | 2 +- .../Transforms/LoopVectorize/cpp-new-array.ll | 6 +- test/Transforms/LoopVectorize/dbg.value.ll | 6 +- test/Transforms/LoopVectorize/debugloc.ll | 4 +- .../LoopVectorize/duplicated-metadata.ll | 2 +- test/Transforms/LoopVectorize/ee-crash.ll | 4 +- test/Transforms/LoopVectorize/exact.ll | 2 +- test/Transforms/LoopVectorize/flags.ll | 6 +- .../LoopVectorize/float-reduction.ll | 4 +- test/Transforms/LoopVectorize/funcall.ll | 2 +- test/Transforms/LoopVectorize/gcc-examples.ll | 138 +- test/Transforms/LoopVectorize/global_alias.ll | 156 +- test/Transforms/LoopVectorize/hoist-loads.ll | 8 +- .../LoopVectorize/if-conversion-edgemasks.ll | 8 +- .../LoopVectorize/if-conversion-nest.ll | 4 +- .../LoopVectorize/if-conversion-reduction.ll | 2 +- .../Transforms/LoopVectorize/if-conversion.ll | 6 +- .../LoopVectorize/if-pred-stores.ll | 8 +- .../LoopVectorize/incorrect-dom-info.ll | 4 +- test/Transforms/LoopVectorize/increment.ll | 6 +- test/Transforms/LoopVectorize/induction.ll | 6 +- .../LoopVectorize/induction_plus.ll | 2 +- test/Transforms/LoopVectorize/intrinsic.ll | 210 +- test/Transforms/LoopVectorize/lifetime.ll | 8 +- test/Transforms/LoopVectorize/loop-form.ll | 2 +- .../LoopVectorize/loop-vect-memdep.ll | 4 +- test/Transforms/LoopVectorize/memdep.ll | 36 +- .../LoopVectorize/metadata-unroll.ll | 2 +- .../LoopVectorize/metadata-width.ll | 2 +- test/Transforms/LoopVectorize/metadata.ll | 4 +- .../LoopVectorize/minmax_reduction.ll | 68 +- .../LoopVectorize/multiple-address-spaces.ll | 4 +- .../LoopVectorize/no_array_bounds.ll | 8 +- .../LoopVectorize/no_idiv_reduction.ll | 2 +- .../LoopVectorize/no_int_induction.ll | 8 +- test/Transforms/LoopVectorize/no_switch.ll | 2 +- test/Transforms/LoopVectorize/nofloat.ll | 2 +- test/Transforms/LoopVectorize/non-const-n.ll | 6 +- test/Transforms/LoopVectorize/nsw-crash.ll | 2 +- test/Transforms/LoopVectorize/opt.ll | 2 +- test/Transforms/LoopVectorize/ptr_loops.ll | 12 +- test/Transforms/LoopVectorize/read-only.ll | 4 +- test/Transforms/LoopVectorize/reduction.ll | 46 +- .../LoopVectorize/reverse_induction.ll | 10 +- test/Transforms/LoopVectorize/reverse_iter.ll | 2 +- .../runtime-check-address-space.ll | 28 +- .../runtime-check-readonly-address-space.ll | 30 +- .../LoopVectorize/runtime-check-readonly.ll | 6 +- .../Transforms/LoopVectorize/runtime-check.ll | 8 +- .../Transforms/LoopVectorize/runtime-limit.ll | 26 +- test/Transforms/LoopVectorize/safegep.ll | 8 +- .../LoopVectorize/same-base-access.ll | 8 +- .../Transforms/LoopVectorize/scalar-select.ll | 6 +- .../LoopVectorize/scev-exitlim-crash.ll | 6 +- .../Transforms/LoopVectorize/simple-unroll.ll | 2 +- test/Transforms/LoopVectorize/small-loop.ll | 6 +- .../LoopVectorize/start-non-zero.ll | 2 +- .../LoopVectorize/store-shuffle-bug.ll | 6 +- .../Transforms/LoopVectorize/struct_access.ll | 4 +- test/Transforms/LoopVectorize/tbaa-nodep.ll | 10 +- .../LoopVectorize/undef-inst-bug.ll | 2 +- test/Transforms/LoopVectorize/unroll_novec.ll | 2 +- .../LoopVectorize/unsized-pointee-crash.ll | 4 +- .../Transforms/LoopVectorize/value-ptr-bug.ll | 8 +- .../LoopVectorize/vect.omp.persistence.ll | 6 +- test/Transforms/LoopVectorize/vect.stats.ll | 8 +- .../LoopVectorize/vectorize-once.ll | 8 +- .../LoopVectorize/version-mem-access.ll | 10 +- test/Transforms/LoopVectorize/write-only.ll | 2 +- test/Transforms/LowerBitSets/simple.ll | 4 +- .../Mem2Reg/2005-06-30-ReadBeforeWrite.ll | 2 +- test/Transforms/Mem2Reg/ignore-lifetime.ll | 2 +- .../MemCpyOpt/2008-02-24-MultipleUseofSRet.ll | 4 +- .../MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll | 2 +- .../2011-06-02-CallSlotOverwritten.ll | 6 +- test/Transforms/MemCpyOpt/align.ll | 8 +- test/Transforms/MemCpyOpt/atomic.ll | 4 +- test/Transforms/MemCpyOpt/callslot_deref.ll | 4 +- test/Transforms/MemCpyOpt/crash.ll | 32 +- test/Transforms/MemCpyOpt/form-memset.ll | 146 +- test/Transforms/MemCpyOpt/loadstore-sret.ll | 4 +- test/Transforms/MemCpyOpt/memcpy-to-memset.ll | 2 +- test/Transforms/MemCpyOpt/memcpy-undef.ll | 8 +- test/Transforms/MemCpyOpt/memcpy.ll | 6 +- test/Transforms/MemCpyOpt/memmove.ll | 6 +- test/Transforms/MemCpyOpt/smaller.ll | 2 +- test/Transforms/MemCpyOpt/sret.ll | 8 +- .../MergeFunc/2011-02-08-RemoveEqual.ll | 40 +- test/Transforms/MergeFunc/address-spaces.ll | 6 +- test/Transforms/MergeFunc/crash.ll | 6 +- .../MergeFunc/inttoptr-address-space.ll | 4 +- test/Transforms/MergeFunc/inttoptr.ll | 6 +- .../MergeFunc/mergefunc-struct-return.ll | 8 +- test/Transforms/MergeFunc/vector-GEP-crash.ll | 4 +- test/Transforms/MetaRenamer/metarenamer.ll | 10 +- test/Transforms/ObjCARC/allocas.ll | 64 +- test/Transforms/ObjCARC/basic.ll | 22 +- .../ObjCARC/contract-storestrong-ivar.ll | 2 +- test/Transforms/ObjCARC/escape.ll | 60 +- .../move-and-form-retain-autorelease.ll | 2 +- test/Transforms/ObjCARC/nested.ll | 74 +- .../ObjCARC/retain-block-side-effects.ll | 10 +- test/Transforms/ObjCARC/weak-copies.ll | 12 +- .../2010-03-22-empty-baseclass.ll | 6 +- test/Transforms/PhaseOrdering/PR6627.ll | 12 +- test/Transforms/PhaseOrdering/basic.ll | 8 +- test/Transforms/PhaseOrdering/scev.ll | 8 +- .../Reassociate/2011-01-26-UseAfterFree.ll | 2 +- test/Transforms/Reassociate/looptest.ll | 2 +- .../RewriteStatepointsForGC/basics.ll | 2 +- .../SCCP/2002-08-30-GetElementPtrTest.ll | 2 +- .../SCCP/2003-06-24-OverdefinedPHIValue.ll | 4 +- .../SCCP/2006-10-23-IPSCCP-Crash.ll | 2 +- test/Transforms/SCCP/2006-12-04-PackedType.ll | 4 +- test/Transforms/SCCP/apint-array.ll | 4 +- test/Transforms/SCCP/apint-bigarray.ll | 2 +- test/Transforms/SCCP/apint-bigint2.ll | 4 +- test/Transforms/SCCP/apint-ipsccp4.ll | 4 +- test/Transforms/SCCP/apint-load.ll | 4 +- test/Transforms/SCCP/apint-select.ll | 2 +- test/Transforms/SCCP/loadtest.ll | 4 +- .../SLPVectorizer/AArch64/commute.ll | 16 +- .../SLPVectorizer/AArch64/load-store-q.ll | 8 +- .../SLPVectorizer/AArch64/sdiv-pow2.ll | 18 +- test/Transforms/SLPVectorizer/ARM/memory.ll | 4 +- test/Transforms/SLPVectorizer/ARM/sroa.ll | 4 +- .../Transforms/SLPVectorizer/R600/simplebb.ll | 18 +- test/Transforms/SLPVectorizer/X86/addsub.ll | 8 +- test/Transforms/SLPVectorizer/X86/align.ll | 20 +- .../Transforms/SLPVectorizer/X86/bad_types.ll | 2 +- .../SLPVectorizer/X86/barriercall.ll | 6 +- test/Transforms/SLPVectorizer/X86/call.ll | 30 +- test/Transforms/SLPVectorizer/X86/cast.ll | 12 +- test/Transforms/SLPVectorizer/X86/cmp_sel.ll | 6 +- .../SLPVectorizer/X86/compare-reduce.ll | 4 +- .../SLPVectorizer/X86/consecutive-access.ll | 40 +- .../SLPVectorizer/X86/continue_vectorizing.ll | 6 +- .../SLPVectorizer/X86/crash_7zip.ll | 4 +- .../SLPVectorizer/X86/crash_bullet.ll | 8 +- .../SLPVectorizer/X86/crash_bullet3.ll | 4 +- .../SLPVectorizer/X86/crash_cmpop.ll | 4 +- .../SLPVectorizer/X86/crash_dequeue.ll | 8 +- .../Transforms/SLPVectorizer/X86/crash_gep.ll | 4 +- .../SLPVectorizer/X86/crash_lencod.ll | 10 +- .../SLPVectorizer/X86/crash_mandeltext.ll | 8 +- .../SLPVectorizer/X86/crash_scheduling.ll | 4 +- .../SLPVectorizer/X86/crash_sim4b1.ll | 4 +- .../SLPVectorizer/X86/crash_smallpt.ll | 12 +- .../SLPVectorizer/X86/crash_vectorizeTree.ll | 12 +- .../SLPVectorizer/X86/cross_block_slp.ll | 4 +- test/Transforms/SLPVectorizer/X86/cse.ll | 44 +- .../Transforms/SLPVectorizer/X86/cycle_dup.ll | 8 +- .../SLPVectorizer/X86/debug_info.ll | 8 +- test/Transforms/SLPVectorizer/X86/diamond.ll | 36 +- .../SLPVectorizer/X86/external_user.ll | 4 +- test/Transforms/SLPVectorizer/X86/extract.ll | 12 +- .../SLPVectorizer/X86/extract_in_tree_user.ll | 24 +- .../SLPVectorizer/X86/extractcost.ll | 6 +- test/Transforms/SLPVectorizer/X86/flag.ll | 16 +- test/Transforms/SLPVectorizer/X86/gep.ll | 24 +- test/Transforms/SLPVectorizer/X86/hoist.ll | 8 +- .../SLPVectorizer/X86/horizontal.ll | 94 +- .../SLPVectorizer/X86/implicitfloat.ll | 6 +- .../SLPVectorizer/X86/in-tree-user.ll | 4 +- .../Transforms/SLPVectorizer/X86/intrinsic.ll | 150 +- .../SLPVectorizer/X86/long_chains.ll | 4 +- .../SLPVectorizer/X86/loopinvariant.ll | 16 +- test/Transforms/SLPVectorizer/X86/metadata.ll | 12 +- .../SLPVectorizer/X86/multi_block.ll | 6 +- .../SLPVectorizer/X86/multi_user.ll | 8 +- .../Transforms/SLPVectorizer/X86/odd_store.ll | 10 +- .../SLPVectorizer/X86/operandorder.ll | 88 +- test/Transforms/SLPVectorizer/X86/opt.ll | 6 +- test/Transforms/SLPVectorizer/X86/phi.ll | 32 +- .../SLPVectorizer/X86/phi_overalignedtype.ll | 8 +- .../Transforms/SLPVectorizer/X86/powof2div.ll | 18 +- test/Transforms/SLPVectorizer/X86/pr16899.ll | 2 +- test/Transforms/SLPVectorizer/X86/pr19657.ll | 32 +- .../SLPVectorizer/X86/propagate_ir_flags.ll | 104 +- .../Transforms/SLPVectorizer/X86/reduction.ll | 4 +- .../SLPVectorizer/X86/reduction2.ll | 4 +- test/Transforms/SLPVectorizer/X86/return.ll | 6 +- test/Transforms/SLPVectorizer/X86/rgb_phi.ll | 10 +- test/Transforms/SLPVectorizer/X86/saxpy.ll | 24 +- .../SLPVectorizer/X86/scheduling.ll | 26 +- .../SLPVectorizer/X86/simple-loop.ll | 32 +- test/Transforms/SLPVectorizer/X86/simplebb.ll | 24 +- .../Transforms/SLPVectorizer/X86/tiny-tree.ll | 56 +- .../SLPVectorizer/X86/unreachable.ll | 14 +- .../XCore/no-vector-registers.ll | 6 +- test/Transforms/SROA/address-spaces.ll | 2 +- test/Transforms/SROA/alignment.ll | 36 +- test/Transforms/SROA/basictest.ll | 460 +- test/Transforms/SROA/big-endian.ll | 20 +- test/Transforms/SROA/fca.ll | 8 +- test/Transforms/SROA/phi-and-select.ll | 38 +- .../SROA/slice-order-independence.ll | 4 +- test/Transforms/SROA/slice-width.ll | 6 +- test/Transforms/SROA/vector-promotion.ll | 126 +- test/Transforms/SampleProfile/branch.ll | 2 +- .../ScalarRepl/2003-05-29-ArrayFail.ll | 4 +- .../ScalarRepl/2003-09-12-IncorrectPromote.ll | 4 +- .../ScalarRepl/2003-10-29-ArrayProblem.ll | 4 +- .../2006-11-07-InvalidArrayPromote.ll | 6 +- .../ScalarRepl/2007-05-29-MemcpyPreserve.ll | 8 +- .../ScalarRepl/2007-11-03-bigendian_apint.ll | 6 +- .../ScalarRepl/2008-01-29-PromoteBug.ll | 4 +- .../2008-02-28-SubElementExtractCrash.ll | 6 +- .../ScalarRepl/2008-06-05-loadstore-agg.ll | 4 +- .../2008-08-22-out-of-range-array-promote.ll | 2 +- .../ScalarRepl/2008-09-22-vector-gep.ll | 4 +- .../2009-02-02-ScalarPromoteOutOfRange.ll | 4 +- .../ScalarRepl/2009-03-04-MemCpyAlign.ll | 2 +- .../ScalarRepl/2009-12-11-NeonTypes.ll | 22 +- .../ScalarRepl/2011-05-06-CapturedAlloca.ll | 2 +- .../2011-06-08-VectorExtractValue.ll | 16 +- .../2011-06-17-VectorPartialMemset.ll | 2 +- .../ScalarRepl/2011-10-22-VectorCrash.ll | 2 +- .../ScalarRepl/2011-11-11-EmptyStruct.ll | 2 +- .../Transforms/ScalarRepl/AggregatePromote.ll | 14 +- test/Transforms/ScalarRepl/address-space.ll | 8 +- test/Transforms/ScalarRepl/arraytest.ll | 2 +- test/Transforms/ScalarRepl/badarray.ll | 6 +- test/Transforms/ScalarRepl/basictest.ll | 2 +- test/Transforms/ScalarRepl/bitfield-sroa.ll | 2 +- test/Transforms/ScalarRepl/copy-aggregate.ll | 16 +- test/Transforms/ScalarRepl/crash.ll | 22 +- test/Transforms/ScalarRepl/inline-vector.ll | 2 +- test/Transforms/ScalarRepl/lifetime.ll | 54 +- .../ScalarRepl/load-store-aggregate.ll | 6 +- .../memset-aggregate-byte-leader.ll | 4 +- .../Transforms/ScalarRepl/memset-aggregate.ll | 16 +- test/Transforms/ScalarRepl/negative-memset.ll | 2 +- .../ScalarRepl/nonzero-first-index.ll | 12 +- test/Transforms/ScalarRepl/not-a-vector.ll | 4 +- test/Transforms/ScalarRepl/phi-cycle.ll | 4 +- test/Transforms/ScalarRepl/phi-select.ll | 18 +- test/Transforms/ScalarRepl/sroa_two.ll | 6 +- test/Transforms/ScalarRepl/union-pointer.ll | 12 +- test/Transforms/ScalarRepl/vector_promote.ll | 12 +- test/Transforms/ScalarRepl/volatile.ll | 4 +- test/Transforms/Scalarizer/basic.ll | 82 +- test/Transforms/Scalarizer/dbginfo.ll | 18 +- .../NVPTX/split-gep-and-gvn.ll | 64 +- .../NVPTX/split-gep.ll | 86 +- .../SimplifyCFG/2005-08-01-PHIUpdateFail.ll | 2 +- .../2005-12-03-IncorrectPHIFold.ll | 8 +- .../SimplifyCFG/2006-08-03-Crash.ll | 18 +- .../SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll | 12 +- .../SimplifyCFG/X86/switch-covered-bug.ll | 2 +- .../SimplifyCFG/X86/switch-table-bug.ll | 2 +- .../SimplifyCFG/X86/switch_to_lookup_table.ll | 14 +- .../SimplifyCFG/attr-noduplicate.ll | 4 +- .../Transforms/SimplifyCFG/branch-fold-dbg.ll | 2 +- test/Transforms/SimplifyCFG/indirectbr.ll | 2 +- test/Transforms/SimplifyCFG/multiple-phis.ll | 2 +- .../SimplifyCFG/phi-undef-loadstore.ll | 2 +- test/Transforms/SimplifyCFG/select-gep.ll | 2 +- .../Transforms/SimplifyCFG/speculate-store.ll | 24 +- .../SimplifyCFG/speculate-with-offset.ll | 8 +- test/Transforms/SimplifyCFG/switch_create.ll | 2 +- .../SimplifyCFG/unreachable-blocks.ll | 2 +- .../SimplifyCFG/volatile-phioper.ll | 2 +- test/Transforms/Sink/basic.ll | 12 +- .../StructurizeCFG/branch-on-argument.ll | 2 +- .../StructurizeCFG/loop-multiple-exits.ll | 4 +- .../post-order-traversal-bug.ll | 8 +- .../2002-11-05-GetelementptrPointers.ll | 2 +- test/Verifier/2010-08-07-PointerIntrinsic.ll | 4 +- ...onstant-inttoptr-inside-gep-instruction.ll | 2 +- test/Verifier/inalloca-vararg.ll | 0 test/tools/gold/slp-vectorize.ll | 6 +- test/tools/gold/vectorize.ll | 2 +- unittests/IR/ConstantsTest.cpp | 4 +- 2277 files changed, 41849 insertions(+), 41819 deletions(-) create mode 100644 test/Assembler/invalid-gep-mismatched-explicit-type.ll create mode 100644 test/Assembler/invalid-gep-missing-explicit-type.ll mode change 100755 => 100644 test/BugPoint/compile-custom.ll mode change 100755 => 100644 test/CodeGen/X86/avx512-i1test.ll mode change 100755 => 100644 test/CodeGen/X86/seh-finally.ll mode change 100755 => 100644 test/MC/COFF/linker-options.ll mode change 100755 => 100644 test/Verifier/inalloca-vararg.ll diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index 9e7354e02f7..4244679c814 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -5440,7 +5440,19 @@ int LLParser::ParseGetElementPtr(Instruction *&Inst, PerFunctionState &PFS) { bool InBounds = EatIfPresent(lltok::kw_inbounds); - if (ParseTypeAndValue(Ptr, Loc, PFS)) return true; + Type *Ty = nullptr; + LocTy ExplicitTypeLoc = Lex.getLoc(); + if (ParseType(Ty) || + ParseToken(lltok::comma, "expected comma after getelementptr's type") || + ParseTypeAndValue(Ptr, Loc, PFS)) + return true; + + Type *PtrTy = Ptr->getType(); + if (VectorType *VT = dyn_cast(PtrTy)) + PtrTy = VT->getElementType(); + if (Ty != cast(PtrTy)->getElementType()) + return Error(ExplicitTypeLoc, + "explicit pointee type doesn't match operand's pointee type"); Type *BaseType = Ptr->getType(); PointerType *BasePointerType = dyn_cast(BaseType->getScalarType()); diff --git a/lib/IR/AsmWriter.cpp b/lib/IR/AsmWriter.cpp index de0e614c876..8f3e5ec9229 100644 --- a/lib/IR/AsmWriter.cpp +++ b/lib/IR/AsmWriter.cpp @@ -2898,6 +2898,11 @@ void AssemblyWriter::printInstruction(const Instruction &I) { Out << ", "; TypePrinter.print(I.getType(), Out); } else if (Operand) { // Print the normal way. + if (const GetElementPtrInst *GEP = dyn_cast(&I)) { + Out << ' '; + TypePrinter.print(GEP->getSourceElementType(), Out); + Out << ','; + } // PrintAllTypes - Instructions who have operands of all the same type // omit the type from all but the first operand. If the instruction has diff --git a/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll b/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll index 45f6088eaf0..b597ff89eb5 100644 --- a/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll +++ b/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll @@ -11,7 +11,7 @@ define i32 @test() { store i32 0, i32* %A %X = load i32* %A %B = bitcast i32* %A to i8* - %C = getelementptr i8* %B, i64 1 + %C = getelementptr i8, i8* %B, i64 1 store i8 1, i8* %C ; Aliases %A %Y.DONOTREMOVE = load i32* %A %Z = sub i32 %X, %Y.DONOTREMOVE diff --git a/test/Analysis/BasicAA/2003-03-04-GEPCrash.ll b/test/Analysis/BasicAA/2003-03-04-GEPCrash.ll index 4f8eabb7930..5a93b3da054 100644 --- a/test/Analysis/BasicAA/2003-03-04-GEPCrash.ll +++ b/test/Analysis/BasicAA/2003-03-04-GEPCrash.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -basicaa -aa-eval -disable-output 2>/dev/null ; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2 define void @test({[2 x i32],[2 x i32]}* %A, i64 %X, i64 %Y) { - %P1 = getelementptr {[2 x i32],[2 x i32]}* %A, i64 0, i32 0, i64 %X - %P2 = getelementptr {[2 x i32],[2 x i32]}* %A, i64 0, i32 1, i64 %Y + %P1 = getelementptr {[2 x i32],[2 x i32]}, {[2 x i32],[2 x i32]}* %A, i64 0, i32 0, i64 %X + %P2 = getelementptr {[2 x i32],[2 x i32]}, {[2 x i32],[2 x i32]}* %A, i64 0, i32 1, i64 %Y ret void } diff --git a/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll b/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll index 78f74a0abe5..c72ec817011 100644 --- a/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll +++ b/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll @@ -4,8 +4,8 @@ define i32 @test(i32 *%Ptr, i64 %V) { ; CHECK: sub i32 %X, %Y - %P2 = getelementptr i32* %Ptr, i64 1 - %P1 = getelementptr i32* %Ptr, i64 %V + %P2 = getelementptr i32, i32* %Ptr, i64 1 + %P1 = getelementptr i32, i32* %Ptr, i64 %V %X = load i32* %P1 store i32 5, i32* %P2 %Y = load i32* %P1 diff --git a/test/Analysis/BasicAA/2003-04-25-GEPCrash.ll b/test/Analysis/BasicAA/2003-04-25-GEPCrash.ll index 97bc38eb69b..ea26c220072 100644 --- a/test/Analysis/BasicAA/2003-04-25-GEPCrash.ll +++ b/test/Analysis/BasicAA/2003-04-25-GEPCrash.ll @@ -1,7 +1,7 @@ ; RUN: opt < %s -basicaa -aa-eval -disable-output 2>/dev/null ; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2 define void @test([17 x i16]* %mask_bits) { - %P1 = getelementptr [17 x i16]* %mask_bits, i64 0, i64 0 - %P2 = getelementptr [17 x i16]* %mask_bits, i64 252645134, i64 0 + %P1 = getelementptr [17 x i16], [17 x i16]* %mask_bits, i64 0, i64 0 + %P2 = getelementptr [17 x i16], [17 x i16]* %mask_bits, i64 252645134, i64 0 ret void } diff --git a/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll b/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll index 8ca34698559..dbda9542a9a 100644 --- a/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll +++ b/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll @@ -6,13 +6,13 @@ define void @table_reindex(%struct..apr_table_t* %t.1) { ; No predecessors! br label %loopentry loopentry: ; preds = %0, %no_exit - %tmp.101 = getelementptr %struct..apr_table_t* %t.1, i64 0, i32 0, i32 2 + %tmp.101 = getelementptr %struct..apr_table_t, %struct..apr_table_t* %t.1, i64 0, i32 0, i32 2 %tmp.11 = load i32* %tmp.101 ; [#uses=0] br i1 false, label %no_exit, label %UnifiedExitNode no_exit: ; preds = %loopentry %tmp.25 = sext i32 0 to i64 ; [#uses=1] - %tmp.261 = getelementptr %struct..apr_table_t* %t.1, i64 0, i32 3, i64 %tmp.25 ; [#uses=1] + %tmp.261 = getelementptr %struct..apr_table_t, %struct..apr_table_t* %t.1, i64 0, i32 3, i64 %tmp.25 ; [#uses=1] store i32 0, i32* %tmp.261 br label %loopentry diff --git a/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll b/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll index 0abd3847836..305546ba77f 100644 --- a/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll +++ b/test/Analysis/BasicAA/2003-06-01-AliasCrash.ll @@ -1,11 +1,11 @@ ; RUN: opt < %s -basicaa -aa-eval -disable-output 2>/dev/null define i32 @MTConcat([3 x i32]* %a.1) { - %tmp.961 = getelementptr [3 x i32]* %a.1, i64 0, i64 4 + %tmp.961 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 0, i64 4 %tmp.97 = load i32* %tmp.961 - %tmp.119 = getelementptr [3 x i32]* %a.1, i64 1, i64 0 + %tmp.119 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 1, i64 0 %tmp.120 = load i32* %tmp.119 - %tmp.1541 = getelementptr [3 x i32]* %a.1, i64 0, i64 4 + %tmp.1541 = getelementptr [3 x i32], [3 x i32]* %a.1, i64 0, i64 4 %tmp.155 = load i32* %tmp.1541 ret i32 0 } diff --git a/test/Analysis/BasicAA/2003-07-03-BasicAACrash.ll b/test/Analysis/BasicAA/2003-07-03-BasicAACrash.ll index 3e813fa2ca1..7aaae2a1927 100644 --- a/test/Analysis/BasicAA/2003-07-03-BasicAACrash.ll +++ b/test/Analysis/BasicAA/2003-07-03-BasicAACrash.ll @@ -4,7 +4,7 @@ %struct..RefRect = type { %struct..RefPoint, %struct..RefPoint } define i32 @BMT_CommitPartDrawObj() { - %tmp.19111 = getelementptr %struct..RefRect* null, i64 0, i32 0, i32 1, i32 2 - %tmp.20311 = getelementptr %struct..RefRect* null, i64 0, i32 1, i32 1, i32 2 + %tmp.19111 = getelementptr %struct..RefRect, %struct..RefRect* null, i64 0, i32 0, i32 1, i32 2 + %tmp.20311 = getelementptr %struct..RefRect, %struct..RefRect* null, i64 0, i32 1, i32 1, i32 2 ret i32 0 } diff --git a/test/Analysis/BasicAA/2003-11-04-SimpleCases.ll b/test/Analysis/BasicAA/2003-11-04-SimpleCases.ll index f2b06cb8143..f8d4195c46c 100644 --- a/test/Analysis/BasicAA/2003-11-04-SimpleCases.ll +++ b/test/Analysis/BasicAA/2003-11-04-SimpleCases.ll @@ -11,10 +11,10 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-NOT: MayAlias: define void @test(%T* %P) { - %A = getelementptr %T* %P, i64 0 - %B = getelementptr %T* %P, i64 0, i32 0 - %C = getelementptr %T* %P, i64 0, i32 1 - %D = getelementptr %T* %P, i64 0, i32 1, i64 0 - %E = getelementptr %T* %P, i64 0, i32 1, i64 5 + %A = getelementptr %T, %T* %P, i64 0 + %B = getelementptr %T, %T* %P, i64 0, i32 0 + %C = getelementptr %T, %T* %P, i64 0, i32 1 + %D = getelementptr %T, %T* %P, i64 0, i32 1, i64 0 + %E = getelementptr %T, %T* %P, i64 0, i32 1, i64 5 ret void } diff --git a/test/Analysis/BasicAA/2003-12-11-ConstExprGEP.ll b/test/Analysis/BasicAA/2003-12-11-ConstExprGEP.ll index 42512b8f6bf..52d10d2e056 100644 --- a/test/Analysis/BasicAA/2003-12-11-ConstExprGEP.ll +++ b/test/Analysis/BasicAA/2003-12-11-ConstExprGEP.ll @@ -13,10 +13,10 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-NOT: MayAlias: define void @test() { - %D = getelementptr %T* @G, i64 0, i32 0 - %E = getelementptr %T* @G, i64 0, i32 1, i64 5 - %F = getelementptr i32* getelementptr (%T* @G, i64 0, i32 0), i64 0 - %X = getelementptr [10 x i8]* getelementptr (%T* @G, i64 0, i32 1), i64 0, i64 5 + %D = getelementptr %T, %T* @G, i64 0, i32 0 + %E = getelementptr %T, %T* @G, i64 0, i32 1, i64 5 + %F = getelementptr i32, i32* getelementptr (%T* @G, i64 0, i32 0), i64 0 + %X = getelementptr [10 x i8], [10 x i8]* getelementptr (%T* @G, i64 0, i32 1), i64 0, i64 5 ret void } diff --git a/test/Analysis/BasicAA/2004-07-28-MustAliasbug.ll b/test/Analysis/BasicAA/2004-07-28-MustAliasbug.ll index 578aa5943cb..16573a7f9af 100644 --- a/test/Analysis/BasicAA/2004-07-28-MustAliasbug.ll +++ b/test/Analysis/BasicAA/2004-07-28-MustAliasbug.ll @@ -2,9 +2,9 @@ define void @test({i32,i32 }* %P) { ; CHECK: store i32 0, i32* %X - %Q = getelementptr {i32,i32}* %P, i32 1 - %X = getelementptr {i32,i32}* %Q, i32 0, i32 1 - %Y = getelementptr {i32,i32}* %Q, i32 1, i32 1 + %Q = getelementptr {i32,i32}, {i32,i32}* %P, i32 1 + %X = getelementptr {i32,i32}, {i32,i32}* %Q, i32 0, i32 1 + %Y = getelementptr {i32,i32}, {i32,i32}* %Q, i32 1, i32 1 store i32 0, i32* %X store i32 1, i32* %Y ret void diff --git a/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll b/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll index 06a804c392f..104d2bf350c 100644 --- a/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll +++ b/test/Analysis/BasicAA/2006-03-03-BadArraySubscript.ll @@ -12,11 +12,11 @@ entry: no_exit: ; preds = %no_exit, %entry %i.0.0 = phi i32 [ 0, %entry ], [ %inc, %no_exit ] ; [#uses=2] - %tmp.6 = getelementptr [3 x [3 x i32]]* %X, i32 0, i32 0, i32 %i.0.0 ; [#uses=1] + %tmp.6 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 0, i32 %i.0.0 ; [#uses=1] store i32 1, i32* %tmp.6 - %tmp.8 = getelementptr [3 x [3 x i32]]* %X, i32 0, i32 0, i32 0 ; [#uses=1] + %tmp.8 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 0, i32 0 ; [#uses=1] %tmp.9 = load i32* %tmp.8 ; [#uses=1] - %tmp.11 = getelementptr [3 x [3 x i32]]* %X, i32 0, i32 1, i32 0 ; [#uses=1] + %tmp.11 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 1, i32 0 ; [#uses=1] %tmp.12 = load i32* %tmp.11 ; [#uses=1] %tmp.13 = add i32 %tmp.12, %tmp.9 ; [#uses=1] %inc = add i32 %i.0.0, 1 ; [#uses=2] @@ -25,7 +25,7 @@ no_exit: ; preds = %no_exit, %entry loopexit: ; preds = %no_exit, %entry %Y.0.1 = phi i32 [ 0, %entry ], [ %tmp.13, %no_exit ] ; [#uses=1] - %tmp.4 = getelementptr [3 x [3 x i32]]* %X, i32 0, i32 0 ; <[3 x i32]*> [#uses=1] + %tmp.4 = getelementptr [3 x [3 x i32]], [3 x [3 x i32]]* %X, i32 0, i32 0 ; <[3 x i32]*> [#uses=1] %tmp.15 = call i32 (...)* @foo( [3 x i32]* %tmp.4, i32 %Y.0.1 ) ; [#uses=0] ret void } diff --git a/test/Analysis/BasicAA/2006-11-03-BasicAAVectorCrash.ll b/test/Analysis/BasicAA/2006-11-03-BasicAAVectorCrash.ll index 0db58156547..a331f7e4955 100644 --- a/test/Analysis/BasicAA/2006-11-03-BasicAAVectorCrash.ll +++ b/test/Analysis/BasicAA/2006-11-03-BasicAAVectorCrash.ll @@ -22,7 +22,7 @@ cond_true264.i: ; preds = %bb239.i ret void cond_false277.i: ; preds = %bb239.i - %tmp1062.i = getelementptr [2 x <4 x i32>]* null, i32 0, i32 1 ; <<4 x i32>*> [#uses=1] + %tmp1062.i = getelementptr [2 x <4 x i32>], [2 x <4 x i32>]* null, i32 0, i32 1 ; <<4 x i32>*> [#uses=1] store <4 x i32> zeroinitializer, <4 x i32>* %tmp1062.i br i1 false, label %cond_true1032.i, label %cond_false1063.i85 @@ -33,7 +33,7 @@ bb1013.i: ; preds = %bb205.i ret void cond_true1032.i: ; preds = %cond_false277.i - %tmp1187.i = getelementptr [2 x <4 x i32>]* null, i32 0, i32 0, i32 7 ; [#uses=1] + %tmp1187.i = getelementptr [2 x <4 x i32>], [2 x <4 x i32>]* null, i32 0, i32 0, i32 7 ; [#uses=1] store i32 0, i32* %tmp1187.i br label %bb2037.i diff --git a/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll b/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll index 46b6aaf91ac..14d7f58d38a 100644 --- a/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll +++ b/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll @@ -21,11 +21,11 @@ target triple = "i686-apple-darwin8" ; CHECK: ret i32 %Z define i32 @test(%struct.closure_type* %tmp18169) { - %tmp18174 = getelementptr %struct.closure_type* %tmp18169, i32 0, i32 4, i32 0, i32 0 ; [#uses=2] + %tmp18174 = getelementptr %struct.closure_type, %struct.closure_type* %tmp18169, i32 0, i32 4, i32 0, i32 0 ; [#uses=2] %tmp18269 = bitcast i32* %tmp18174 to %struct.STYLE* ; <%struct.STYLE*> [#uses=1] %A = load i32* %tmp18174 ; [#uses=1] - %tmp18272 = getelementptr %struct.STYLE* %tmp18269, i32 0, i32 0, i32 0, i32 2 ; [#uses=1] + %tmp18272 = getelementptr %struct.STYLE, %struct.STYLE* %tmp18269, i32 0, i32 0, i32 0, i32 2 ; [#uses=1] store i16 123, i16* %tmp18272 %Q = load i32* %tmp18174 ; [#uses=1] diff --git a/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll b/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll index d11e75dfb7d..8388d6c97ad 100644 --- a/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll +++ b/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll @@ -8,10 +8,10 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK: 6 partial alias responses define void @foo(i32* noalias %p, i32* noalias %q, i32 %i, i32 %j) { - %Ipointer = getelementptr i32* %p, i32 %i - %qi = getelementptr i32* %q, i32 %i - %Jpointer = getelementptr i32* %p, i32 %j - %qj = getelementptr i32* %q, i32 %j + %Ipointer = getelementptr i32, i32* %p, i32 %i + %qi = getelementptr i32, i32* %q, i32 %i + %Jpointer = getelementptr i32, i32* %p, i32 %j + %qj = getelementptr i32, i32* %q, i32 %j store i32 0, i32* %p store i32 0, i32* %Ipointer store i32 0, i32* %Jpointer diff --git a/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll b/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll index 429160ef6d5..e0e64fb9f93 100644 --- a/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll +++ b/test/Analysis/BasicAA/2007-10-24-ArgumentsGlobals.ll @@ -9,7 +9,7 @@ define i32 @_Z3fooP1A(%struct.A* %b) { ; CHECK: ret i32 %tmp7 entry: store i32 1, i32* getelementptr (%struct.B* @a, i32 0, i32 0, i32 0), align 8 - %tmp4 = getelementptr %struct.A* %b, i32 0, i32 0 ; [#uses=1] + %tmp4 = getelementptr %struct.A, %struct.A* %b, i32 0, i32 0 ; [#uses=1] store i32 0, i32* %tmp4, align 4 %tmp7 = load i32* getelementptr (%struct.B* @a, i32 0, i32 0, i32 0), align 8 ; [#uses=1] ret i32 %tmp7 diff --git a/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll b/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll index 32d9930f427..8014a24ee25 100644 --- a/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll +++ b/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll @@ -14,14 +14,14 @@ target triple = "x86_64-unknown-linux-gnu" define i32 @uhci_suspend(%struct.usb_hcd* %hcd) { entry: - %tmp17 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 2, i64 1 + %tmp17 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 2, i64 1 ; [#uses=1] %tmp1718 = bitcast i64* %tmp17 to i32* ; [#uses=1] %tmp19 = load i32* %tmp1718, align 4 ; [#uses=0] br i1 false, label %cond_true34, label %done_okay cond_true34: ; preds = %entry - %tmp631 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 2, i64 + %tmp631 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 2, i64 2305843009213693950 ; [#uses=1] %tmp70 = bitcast i64* %tmp631 to %struct.device** diff --git a/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll b/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll index cd997ea5251..ceba1d24a7e 100644 --- a/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll +++ b/test/Analysis/BasicAA/2007-12-08-OutOfBoundsCrash.ll @@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux-gnu" define i32 @ehci_pci_setup(%struct.usb_hcd* %hcd) { entry: - %tmp14 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 0, i32 0 ; <%struct.device**> [#uses=1] + %tmp14 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 0, i32 0 ; <%struct.device**> [#uses=1] %tmp15 = load %struct.device** %tmp14, align 8 ; <%struct.device*> [#uses=0] br i1 false, label %bb25, label %return @@ -21,7 +21,7 @@ bb25: ; preds = %entry br i1 false, label %cond_true, label %return cond_true: ; preds = %bb25 - %tmp601 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 1, i64 2305843009213693951 ; [#uses=1] + %tmp601 = getelementptr %struct.usb_hcd, %struct.usb_hcd* %hcd, i32 0, i32 1, i64 2305843009213693951 ; [#uses=1] %tmp67 = bitcast i64* %tmp601 to %struct.device** ; <%struct.device**> [#uses=1] %tmp68 = load %struct.device** %tmp67, align 8 ; <%struct.device*> [#uses=0] ret i32 undef diff --git a/test/Analysis/BasicAA/2008-04-15-Byval.ll b/test/Analysis/BasicAA/2008-04-15-Byval.ll index 2ea0314d5b6..9df12bdd570 100644 --- a/test/Analysis/BasicAA/2008-04-15-Byval.ll +++ b/test/Analysis/BasicAA/2008-04-15-Byval.ll @@ -7,8 +7,8 @@ target triple = "i386-apple-darwin8" define void @foo(%struct.x* byval align 4 %X) nounwind { ; CHECK: store i32 2, i32* %tmp1 entry: - %tmp = getelementptr %struct.x* %X, i32 0, i32 0 ; <[4 x i32]*> [#uses=1] - %tmp1 = getelementptr [4 x i32]* %tmp, i32 0, i32 3 ; [#uses=1] + %tmp = getelementptr %struct.x, %struct.x* %X, i32 0, i32 0 ; <[4 x i32]*> [#uses=1] + %tmp1 = getelementptr [4 x i32], [4 x i32]* %tmp, i32 0, i32 3 ; [#uses=1] store i32 2, i32* %tmp1, align 4 %tmp2 = call i32 (...)* @bar( %struct.x* byval align 4 %X ) nounwind ; [#uses=0] br label %return diff --git a/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll b/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll index add7dee0fe1..643d54dfaf3 100644 --- a/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll +++ b/test/Analysis/BasicAA/2009-03-04-GEPNoalias.ll @@ -6,7 +6,7 @@ define i32 @test(i32 %x) { ; CHECK: load i32* %a %a = call i32* @noalias() store i32 1, i32* %a - %b = getelementptr i32* %a, i32 %x + %b = getelementptr i32, i32* %a, i32 %x store i32 2, i32* %b %c = load i32* %a diff --git a/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll b/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll index 4b6a12e821e..8704d19465c 100644 --- a/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll +++ b/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll @@ -2,8 +2,8 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128" define i8 @foo(i8* %ptr) { - %P = getelementptr i8* %ptr, i32 0 - %Q = getelementptr i8* %ptr, i32 1 + %P = getelementptr i8, i8* %ptr, i32 0 + %Q = getelementptr i8, i8* %ptr, i32 1 ; CHECK: getelementptr %X = load i8* %P %Y = atomicrmw add i8* %Q, i8 1 monotonic diff --git a/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll b/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll index c546d68f425..a2515a61461 100644 --- a/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll +++ b/test/Analysis/BasicAA/2009-10-13-GEP-BaseNoAlias.ll @@ -15,7 +15,7 @@ entry: br i1 %tmp, label %bb, label %bb1 bb: - %b = getelementptr i32* %a, i32 0 + %b = getelementptr i32, i32* %a, i32 0 br label %bb2 bb1: diff --git a/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll b/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll index 66569808fb6..40c65af107d 100644 --- a/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll +++ b/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll @@ -8,7 +8,7 @@ target datalayout = "e-p:32:32:32" define i32 @test(i32* %tab, i32 %indvar) nounwind { %tmp31 = mul i32 %indvar, -2 %tmp32 = add i32 %tmp31, 30 - %t.5 = getelementptr i32* %tab, i32 %tmp32 + %t.5 = getelementptr i32, i32* %tab, i32 %tmp32 %loada = load i32* %tab store i32 0, i32* %t.5 %loadb = load i32* %tab diff --git a/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll b/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll index bc2512eca0c..82e8044635e 100644 --- a/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll +++ b/test/Analysis/BasicAA/2014-03-18-Maxlookup-reached.ll @@ -10,25 +10,25 @@ target datalayout = "e" define i32 @main() { %t = alloca %struct.foo, align 4 - %1 = getelementptr inbounds %struct.foo* %t, i32 0, i32 0 + %1 = getelementptr inbounds %struct.foo, %struct.foo* %t, i32 0, i32 0 store i32 1, i32* %1, align 4 - %2 = getelementptr inbounds %struct.foo* %t, i64 1 + %2 = getelementptr inbounds %struct.foo, %struct.foo* %t, i64 1 %3 = bitcast %struct.foo* %2 to i8* - %4 = getelementptr inbounds i8* %3, i32 -1 + %4 = getelementptr inbounds i8, i8* %3, i32 -1 store i8 0, i8* %4 - %5 = getelementptr inbounds i8* %4, i32 -1 + %5 = getelementptr inbounds i8, i8* %4, i32 -1 store i8 0, i8* %5 - %6 = getelementptr inbounds i8* %5, i32 -1 + %6 = getelementptr inbounds i8, i8* %5, i32 -1 store i8 0, i8* %6 - %7 = getelementptr inbounds i8* %6, i32 -1 + %7 = getelementptr inbounds i8, i8* %6, i32 -1 store i8 0, i8* %7 - %8 = getelementptr inbounds i8* %7, i32 -1 + %8 = getelementptr inbounds i8, i8* %7, i32 -1 store i8 0, i8* %8 - %9 = getelementptr inbounds i8* %8, i32 -1 + %9 = getelementptr inbounds i8, i8* %8, i32 -1 store i8 0, i8* %9 - %10 = getelementptr inbounds i8* %9, i32 -1 + %10 = getelementptr inbounds i8, i8* %9, i32 -1 store i8 0, i8* %10 - %11 = getelementptr inbounds i8* %10, i32 -1 + %11 = getelementptr inbounds i8, i8* %10, i32 -1 store i8 0, i8* %11 %12 = load i32* %1, align 4 ret i32 %12 diff --git a/test/Analysis/BasicAA/byval.ll b/test/Analysis/BasicAA/byval.ll index 673fee01cc8..260aebe2985 100644 --- a/test/Analysis/BasicAA/byval.ll +++ b/test/Analysis/BasicAA/byval.ll @@ -7,7 +7,7 @@ target triple = "i686-apple-darwin8" define i32 @foo(%struct.x* byval %a) nounwind { ; CHECK: ret i32 1 %tmp1 = tail call i32 (...)* @bar( %struct.x* %a ) nounwind ; [#uses=0] - %tmp2 = getelementptr %struct.x* %a, i32 0, i32 0 ; [#uses=2] + %tmp2 = getelementptr %struct.x, %struct.x* %a, i32 0, i32 0 ; [#uses=2] store i32 1, i32* %tmp2, align 4 store i32 2, i32* @g, align 4 %tmp4 = load i32* %tmp2, align 4 ; [#uses=1] diff --git a/test/Analysis/BasicAA/constant-over-index.ll b/test/Analysis/BasicAA/constant-over-index.ll index aeb068b24aa..f5e2c7c1361 100644 --- a/test/Analysis/BasicAA/constant-over-index.ll +++ b/test/Analysis/BasicAA/constant-over-index.ll @@ -11,13 +11,13 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define void @foo([3 x [3 x double]]* noalias %p) { entry: - %p3 = getelementptr [3 x [3 x double]]* %p, i64 0, i64 0, i64 3 + %p3 = getelementptr [3 x [3 x double]], [3 x [3 x double]]* %p, i64 0, i64 0, i64 3 br label %loop loop: %i = phi i64 [ 0, %entry ], [ %i.next, %loop ] - %p.0.i.0 = getelementptr [3 x [3 x double]]* %p, i64 0, i64 %i, i64 0 + %p.0.i.0 = getelementptr [3 x [3 x double]], [3 x [3 x double]]* %p, i64 0, i64 %i, i64 0 store volatile double 0.0, double* %p3 store volatile double 0.1, double* %p.0.i.0 diff --git a/test/Analysis/BasicAA/cs-cs.ll b/test/Analysis/BasicAA/cs-cs.ll index 693634c0414..78670b61ca1 100644 --- a/test/Analysis/BasicAA/cs-cs.ll +++ b/test/Analysis/BasicAA/cs-cs.ll @@ -12,7 +12,7 @@ declare void @a_readonly_func(i8 *) noinline nounwind readonly define <8 x i16> @test1(i8* %p, <8 x i16> %y) { entry: - %q = getelementptr i8* %p, i64 16 + %q = getelementptr i8, i8* %p, i64 16 %a = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind call void @llvm.arm.neon.vst1.v8i16(i8* %q, <8 x i16> %y, i32 16) %b = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind @@ -70,7 +70,7 @@ define void @test2a(i8* noalias %P, i8* noalias %Q) nounwind ssp { define void @test2b(i8* noalias %P, i8* noalias %Q) nounwind ssp { tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %P, i8* %Q, i64 12, i32 1, i1 false) - %R = getelementptr i8* %P, i64 12 + %R = getelementptr i8, i8* %P, i64 12 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %R, i8* %Q, i64 12, i32 1, i1 false) ret void @@ -91,7 +91,7 @@ define void @test2b(i8* noalias %P, i8* noalias %Q) nounwind ssp { define void @test2c(i8* noalias %P, i8* noalias %Q) nounwind ssp { tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %P, i8* %Q, i64 12, i32 1, i1 false) - %R = getelementptr i8* %P, i64 11 + %R = getelementptr i8, i8* %P, i64 11 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %R, i8* %Q, i64 12, i32 1, i1 false) ret void @@ -112,7 +112,7 @@ define void @test2c(i8* noalias %P, i8* noalias %Q) nounwind ssp { define void @test2d(i8* noalias %P, i8* noalias %Q) nounwind ssp { tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %P, i8* %Q, i64 12, i32 1, i1 false) - %R = getelementptr i8* %P, i64 -12 + %R = getelementptr i8, i8* %P, i64 -12 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %R, i8* %Q, i64 12, i32 1, i1 false) ret void @@ -133,7 +133,7 @@ define void @test2d(i8* noalias %P, i8* noalias %Q) nounwind ssp { define void @test2e(i8* noalias %P, i8* noalias %Q) nounwind ssp { tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %P, i8* %Q, i64 12, i32 1, i1 false) - %R = getelementptr i8* %P, i64 -11 + %R = getelementptr i8, i8* %P, i64 -11 tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %R, i8* %Q, i64 12, i32 1, i1 false) ret void diff --git a/test/Analysis/BasicAA/featuretest.ll b/test/Analysis/BasicAA/featuretest.ll index 47d278fab1c..19e9b16b0e2 100644 --- a/test/Analysis/BasicAA/featuretest.ll +++ b/test/Analysis/BasicAA/featuretest.ll @@ -18,10 +18,10 @@ define i32 @different_array_test(i64 %A, i64 %B) { call void @external(i32* %Array1) call void @external(i32* %Array2) - %pointer = getelementptr i32* %Array1, i64 %A + %pointer = getelementptr i32, i32* %Array1, i64 %A %val = load i32* %pointer - %pointer2 = getelementptr i32* %Array2, i64 %B + %pointer2 = getelementptr i32, i32* %Array2, i64 %B store i32 7, i32* %pointer2 %REMOVE = load i32* %pointer ; redundant with above load @@ -38,8 +38,8 @@ define i32 @constant_array_index_test() { %Array = alloca i32, i32 100 call void @external(i32* %Array) - %P1 = getelementptr i32* %Array, i64 7 - %P2 = getelementptr i32* %Array, i64 6 + %P1 = getelementptr i32, i32* %Array, i64 7 + %P2 = getelementptr i32, i32* %Array, i64 6 %A = load i32* %P1 store i32 1, i32* %P2 ; Should not invalidate load @@ -54,7 +54,7 @@ define i32 @constant_array_index_test() { ; they cannot alias. define i32 @gep_distance_test(i32* %A) { %REMOVEu = load i32* %A - %B = getelementptr i32* %A, i64 2 ; Cannot alias A + %B = getelementptr i32, i32* %A, i64 2 ; Cannot alias A store i32 7, i32* %B %REMOVEv = load i32* %A %r = sub i32 %REMOVEu, %REMOVEv @@ -66,9 +66,9 @@ define i32 @gep_distance_test(i32* %A) { ; Test that if two pointers are spaced out by a constant offset, that they ; cannot alias, even if there is a variable offset between them... define i32 @gep_distance_test2({i32,i32}* %A, i64 %distance) { - %A1 = getelementptr {i32,i32}* %A, i64 0, i32 0 + %A1 = getelementptr {i32,i32}, {i32,i32}* %A, i64 0, i32 0 %REMOVEu = load i32* %A1 - %B = getelementptr {i32,i32}* %A, i64 %distance, i32 1 + %B = getelementptr {i32,i32}, {i32,i32}* %A, i64 %distance, i32 1 store i32 7, i32* %B ; B cannot alias A, it's at least 4 bytes away %REMOVEv = load i32* %A1 %r = sub i32 %REMOVEu, %REMOVEv @@ -82,7 +82,7 @@ define i32 @gep_distance_test2({i32,i32}* %A, i64 %distance) { define i32 @gep_distance_test3(i32 * %A) { %X = load i32* %A %B = bitcast i32* %A to i8* - %C = getelementptr i8* %B, i64 4 + %C = getelementptr i8, i8* %B, i64 4 store i8 42, i8* %C %Y = load i32* %A %R = sub i32 %X, %Y @@ -112,12 +112,12 @@ define i32 @constexpr_test() { define i16 @zext_sext_confusion(i16* %row2col, i5 %j) nounwind{ entry: %sum5.cast = zext i5 %j to i64 ; [#uses=1] - %P1 = getelementptr i16* %row2col, i64 %sum5.cast + %P1 = getelementptr i16, i16* %row2col, i64 %sum5.cast %row2col.load.1.2 = load i16* %P1, align 1 ; [#uses=1] %sum13.cast31 = sext i5 %j to i6 ; [#uses=1] %sum13.cast = zext i6 %sum13.cast31 to i64 ; [#uses=1] - %P2 = getelementptr i16* %row2col, i64 %sum13.cast + %P2 = getelementptr i16, i16* %row2col, i64 %sum13.cast %row2col.load.1.6 = load i16* %P2, align 1 ; [#uses=1] %.ret = sub i16 %row2col.load.1.6, %row2col.load.1.2 ; [#uses=1] diff --git a/test/Analysis/BasicAA/full-store-partial-alias.ll b/test/Analysis/BasicAA/full-store-partial-alias.ll index 9699d92ea83..e046e13ad9f 100644 --- a/test/Analysis/BasicAA/full-store-partial-alias.ll +++ b/test/Analysis/BasicAA/full-store-partial-alias.ll @@ -18,12 +18,12 @@ define i32 @signbit(double %x) nounwind { ; CHECK: ret i32 0 entry: %u = alloca %union.anon, align 8 - %tmp9 = getelementptr inbounds %union.anon* %u, i64 0, i32 0 + %tmp9 = getelementptr inbounds %union.anon, %union.anon* %u, i64 0, i32 0 store double %x, double* %tmp9, align 8, !tbaa !0 %tmp2 = load i32* bitcast (i64* @endianness_test to i32*), align 8, !tbaa !3 %idxprom = sext i32 %tmp2 to i64 %tmp4 = bitcast %union.anon* %u to [2 x i32]* - %arrayidx = getelementptr inbounds [2 x i32]* %tmp4, i64 0, i64 %idxprom + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %tmp4, i64 0, i64 %idxprom %tmp5 = load i32* %arrayidx, align 4, !tbaa !3 %tmp5.lobit = lshr i32 %tmp5, 31 ret i32 %tmp5.lobit diff --git a/test/Analysis/BasicAA/gep-alias.ll b/test/Analysis/BasicAA/gep-alias.ll index 2c0d467003f..3f2e88a9459 100644 --- a/test/Analysis/BasicAA/gep-alias.ll +++ b/test/Analysis/BasicAA/gep-alias.ll @@ -6,11 +6,11 @@ target datalayout = "e-p:32:32:32-p1:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:32:32- define i32 @test1(i8 * %P) { entry: %Q = bitcast i8* %P to {i32, i32}* - %R = getelementptr {i32, i32}* %Q, i32 0, i32 1 + %R = getelementptr {i32, i32}, {i32, i32}* %Q, i32 0, i32 1 %S = load i32* %R %q = bitcast i8* %P to {i32, i32}* - %r = getelementptr {i32, i32}* %q, i32 0, i32 1 + %r = getelementptr {i32, i32}, {i32, i32}* %q, i32 0, i32 1 %s = load i32* %r %t = sub i32 %S, %s @@ -22,10 +22,10 @@ entry: define i32 @test2(i8 * %P) { entry: %Q = bitcast i8* %P to {i32, i32, i32}* - %R = getelementptr {i32, i32, i32}* %Q, i32 0, i32 1 + %R = getelementptr {i32, i32, i32}, {i32, i32, i32}* %Q, i32 0, i32 1 %S = load i32* %R - %r = getelementptr {i32, i32, i32}* %Q, i32 0, i32 2 + %r = getelementptr {i32, i32, i32}, {i32, i32, i32}* %Q, i32 0, i32 2 store i32 42, i32* %r %s = load i32* %R @@ -40,11 +40,11 @@ entry: ; This was a miscompilation. define i32 @test3({float, {i32, i32, i32}}* %P) { entry: - %P2 = getelementptr {float, {i32, i32, i32}}* %P, i32 0, i32 1 - %R = getelementptr {i32, i32, i32}* %P2, i32 0, i32 1 + %P2 = getelementptr {float, {i32, i32, i32}}, {float, {i32, i32, i32}}* %P, i32 0, i32 1 + %R = getelementptr {i32, i32, i32}, {i32, i32, i32}* %P2, i32 0, i32 1 %S = load i32* %R - %r = getelementptr {i32, i32, i32}* %P2, i32 0, i32 2 + %r = getelementptr {i32, i32, i32}, {i32, i32, i32}* %P2, i32 0, i32 2 store i32 42, i32* %r %s = load i32* %R @@ -62,9 +62,9 @@ entry: define i32 @test4(%SmallPtrSet64* %P) { entry: - %tmp2 = getelementptr inbounds %SmallPtrSet64* %P, i64 0, i32 0, i32 1 + %tmp2 = getelementptr inbounds %SmallPtrSet64, %SmallPtrSet64* %P, i64 0, i32 0, i32 1 store i32 64, i32* %tmp2, align 8 - %tmp3 = getelementptr inbounds %SmallPtrSet64* %P, i64 0, i32 0, i32 4, i64 64 + %tmp3 = getelementptr inbounds %SmallPtrSet64, %SmallPtrSet64* %P, i64 0, i32 0, i32 4, i64 64 store i8* null, i8** %tmp3, align 8 %tmp4 = load i32* %tmp2, align 8 ret i32 %tmp4 @@ -74,9 +74,9 @@ entry: ; P[i] != p[i+1] define i32 @test5(i32* %p, i64 %i) { - %pi = getelementptr i32* %p, i64 %i + %pi = getelementptr i32, i32* %p, i64 %i %i.next = add i64 %i, 1 - %pi.next = getelementptr i32* %p, i64 %i.next + %pi.next = getelementptr i32, i32* %p, i64 %i.next %x = load i32* %pi store i32 42, i32* %pi.next %y = load i32* %pi @@ -87,9 +87,9 @@ define i32 @test5(i32* %p, i64 %i) { } define i32 @test5_as1_smaller_size(i32 addrspace(1)* %p, i8 %i) { - %pi = getelementptr i32 addrspace(1)* %p, i8 %i + %pi = getelementptr i32, i32 addrspace(1)* %p, i8 %i %i.next = add i8 %i, 1 - %pi.next = getelementptr i32 addrspace(1)* %p, i8 %i.next + %pi.next = getelementptr i32, i32 addrspace(1)* %p, i8 %i.next %x = load i32 addrspace(1)* %pi store i32 42, i32 addrspace(1)* %pi.next %y = load i32 addrspace(1)* %pi @@ -101,9 +101,9 @@ define i32 @test5_as1_smaller_size(i32 addrspace(1)* %p, i8 %i) { } define i32 @test5_as1_same_size(i32 addrspace(1)* %p, i16 %i) { - %pi = getelementptr i32 addrspace(1)* %p, i16 %i + %pi = getelementptr i32, i32 addrspace(1)* %p, i16 %i %i.next = add i16 %i, 1 - %pi.next = getelementptr i32 addrspace(1)* %p, i16 %i.next + %pi.next = getelementptr i32, i32 addrspace(1)* %p, i16 %i.next %x = load i32 addrspace(1)* %pi store i32 42, i32 addrspace(1)* %pi.next %y = load i32 addrspace(1)* %pi @@ -116,9 +116,9 @@ define i32 @test5_as1_same_size(i32 addrspace(1)* %p, i16 %i) { ; P[i] != p[(i*4)|1] define i32 @test6(i32* %p, i64 %i1) { %i = shl i64 %i1, 2 - %pi = getelementptr i32* %p, i64 %i + %pi = getelementptr i32, i32* %p, i64 %i %i.next = or i64 %i, 1 - %pi.next = getelementptr i32* %p, i64 %i.next + %pi.next = getelementptr i32, i32* %p, i64 %i.next %x = load i32* %pi store i32 42, i32* %pi.next %y = load i32* %pi @@ -130,9 +130,9 @@ define i32 @test6(i32* %p, i64 %i1) { ; P[1] != P[i*4] define i32 @test7(i32* %p, i64 %i) { - %pi = getelementptr i32* %p, i64 1 + %pi = getelementptr i32, i32* %p, i64 1 %i.next = shl i64 %i, 2 - %pi.next = getelementptr i32* %p, i64 %i.next + %pi.next = getelementptr i32, i32* %p, i64 %i.next %x = load i32* %pi store i32 42, i32* %pi.next %y = load i32* %pi @@ -146,10 +146,10 @@ define i32 @test7(i32* %p, i64 %i) { ; PR1143 define i32 @test8(i32* %p, i16 %i) { %i1 = zext i16 %i to i32 - %pi = getelementptr i32* %p, i32 %i1 + %pi = getelementptr i32, i32* %p, i32 %i1 %i.next = add i16 %i, 1 %i.next2 = zext i16 %i.next to i32 - %pi.next = getelementptr i32* %p, i32 %i.next2 + %pi.next = getelementptr i32, i32* %p, i32 %i.next2 %x = load i32* %pi store i32 42, i32* %pi.next %y = load i32* %pi @@ -163,12 +163,12 @@ define i8 @test9([4 x i8] *%P, i32 %i, i32 %j) { %i2 = shl i32 %i, 2 %i3 = add i32 %i2, 1 ; P2 = P + 1 + 4*i - %P2 = getelementptr [4 x i8] *%P, i32 0, i32 %i3 + %P2 = getelementptr [4 x i8], [4 x i8] *%P, i32 0, i32 %i3 %j2 = shl i32 %j, 2 ; P4 = P + 4*j - %P4 = getelementptr [4 x i8]* %P, i32 0, i32 %j2 + %P4 = getelementptr [4 x i8], [4 x i8]* %P, i32 0, i32 %j2 %x = load i8* %P2 store i8 42, i8* %P4 @@ -183,10 +183,10 @@ define i8 @test10([4 x i8] *%P, i32 %i) { %i2 = shl i32 %i, 2 %i3 = add i32 %i2, 4 ; P2 = P + 4 + 4*i - %P2 = getelementptr [4 x i8] *%P, i32 0, i32 %i3 + %P2 = getelementptr [4 x i8], [4 x i8] *%P, i32 0, i32 %i3 ; P4 = P + 4*i - %P4 = getelementptr [4 x i8]* %P, i32 0, i32 %i2 + %P4 = getelementptr [4 x i8], [4 x i8]* %P, i32 0, i32 %i2 %x = load i8* %P2 store i8 42, i8* %P4 @@ -201,10 +201,10 @@ define i8 @test10([4 x i8] *%P, i32 %i) { define float @test11(i32 %indvar, [4 x [2 x float]]* %q) nounwind ssp { %tmp = mul i32 %indvar, -1 %dec = add i32 %tmp, 3 - %scevgep = getelementptr [4 x [2 x float]]* %q, i32 0, i32 %dec + %scevgep = getelementptr [4 x [2 x float]], [4 x [2 x float]]* %q, i32 0, i32 %dec %scevgep35 = bitcast [2 x float]* %scevgep to i64* - %arrayidx28 = getelementptr inbounds [4 x [2 x float]]* %q, i32 0, i32 0 - %y29 = getelementptr inbounds [2 x float]* %arrayidx28, i32 0, i32 1 + %arrayidx28 = getelementptr inbounds [4 x [2 x float]], [4 x [2 x float]]* %q, i32 0, i32 0 + %y29 = getelementptr inbounds [2 x float], [2 x float]* %arrayidx28, i32 0, i32 1 store float 1.0, float* %y29, align 4 store i64 0, i64* %scevgep35, align 4 %tmp30 = load float* %y29, align 4 @@ -216,9 +216,9 @@ define float @test11(i32 %indvar, [4 x [2 x float]]* %q) nounwind ssp { ; (This was a miscompilation.) define i32 @test12(i32 %x, i32 %y, i8* %p) nounwind { %a = bitcast i8* %p to [13 x i8]* - %b = getelementptr [13 x i8]* %a, i32 %x + %b = getelementptr [13 x i8], [13 x i8]* %a, i32 %x %c = bitcast [13 x i8]* %b to [15 x i8]* - %d = getelementptr [15 x i8]* %c, i32 %y, i32 8 + %d = getelementptr [15 x i8], [15 x i8]* %c, i32 %y, i32 8 %castd = bitcast i8* %d to i32* %castp = bitcast i8* %p to i32* store i32 1, i32* %castp diff --git a/test/Analysis/BasicAA/global-size.ll b/test/Analysis/BasicAA/global-size.ll index f081cb1e072..6d06698d8ae 100644 --- a/test/Analysis/BasicAA/global-size.ll +++ b/test/Analysis/BasicAA/global-size.ll @@ -35,9 +35,9 @@ define i16 @test1_as1(i32 addrspace(1)* %P) { ; CHECK-LABEL: @test2( define i8 @test2(i32 %tmp79, i32 %w.2, i32 %indvar89) nounwind { %tmp92 = add i32 %tmp79, %indvar89 - %arrayidx412 = getelementptr [0 x i8]* @window, i32 0, i32 %tmp92 + %arrayidx412 = getelementptr [0 x i8], [0 x i8]* @window, i32 0, i32 %tmp92 %tmp93 = add i32 %w.2, %indvar89 - %arrayidx416 = getelementptr [0 x i8]* @window, i32 0, i32 %tmp93 + %arrayidx416 = getelementptr [0 x i8], [0 x i8]* @window, i32 0, i32 %tmp93 %A = load i8* %arrayidx412, align 1 store i8 4, i8* %arrayidx416, align 1 diff --git a/test/Analysis/BasicAA/intrinsics.ll b/test/Analysis/BasicAA/intrinsics.ll index c1cf587204c..8c05587ce23 100644 --- a/test/Analysis/BasicAA/intrinsics.ll +++ b/test/Analysis/BasicAA/intrinsics.ll @@ -21,13 +21,13 @@ entry: ; CHECK: define <8 x i16> @test1(i8* %p, <8 x i16> %y) { ; CHECK-NEXT: entry: -; CHECK-NEXT: %q = getelementptr i8* %p, i64 16 +; CHECK-NEXT: %q = getelementptr i8, i8* %p, i64 16 ; CHECK-NEXT: %a = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) [[ATTR]] ; CHECK-NEXT: call void @llvm.arm.neon.vst1.v8i16(i8* %q, <8 x i16> %y, i32 16) ; CHECK-NEXT: %c = add <8 x i16> %a, %a define <8 x i16> @test1(i8* %p, <8 x i16> %y) { entry: - %q = getelementptr i8* %p, i64 16 + %q = getelementptr i8, i8* %p, i64 16 %a = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind call void @llvm.arm.neon.vst1.v8i16(i8* %q, <8 x i16> %y, i32 16) %b = call <8 x i16> @llvm.arm.neon.vld1.v8i16(i8* %p, i32 16) nounwind diff --git a/test/Analysis/BasicAA/modref.ll b/test/Analysis/BasicAA/modref.ll index 0d8bf71d42f..39747f933cd 100644 --- a/test/Analysis/BasicAA/modref.ll +++ b/test/Analysis/BasicAA/modref.ll @@ -36,7 +36,7 @@ define i8 @test1() { define i8 @test2(i8* %P) { ; CHECK-LABEL: @test2 - %P2 = getelementptr i8* %P, i32 127 + %P2 = getelementptr i8, i8* %P, i32 127 store i8 1, i8* %P2 ;; Not dead across memset call void @llvm.memset.p0i8.i8(i8* %P, i8 2, i8 127, i32 0, i1 false) %A = load i8* %P2 @@ -46,7 +46,7 @@ define i8 @test2(i8* %P) { define i8 @test2a(i8* %P) { ; CHECK-LABEL: @test2 - %P2 = getelementptr i8* %P, i32 126 + %P2 = getelementptr i8, i8* %P, i32 126 ;; FIXME: DSE isn't zapping this dead store. store i8 1, i8* %P2 ;; Dead, clobbered by memset. @@ -64,7 +64,7 @@ define void @test3(i8* %P, i8 %X) { ; CHECK-NOT: %Y %Y = add i8 %X, 1 ;; Dead, because the only use (the store) is dead. - %P2 = getelementptr i8* %P, i32 2 + %P2 = getelementptr i8, i8* %P, i32 2 store i8 %Y, i8* %P2 ;; Not read by lifetime.end, should be removed. ; CHECK: store i8 2, i8* %P2 call void @llvm.lifetime.end(i64 1, i8* %P) @@ -78,7 +78,7 @@ define void @test3a(i8* %P, i8 %X) { ; CHECK-LABEL: @test3a %Y = add i8 %X, 1 ;; Dead, because the only use (the store) is dead. - %P2 = getelementptr i8* %P, i32 2 + %P2 = getelementptr i8, i8* %P, i32 2 store i8 %Y, i8* %P2 ; CHECK-NEXT: call void @llvm.lifetime.end call void @llvm.lifetime.end(i64 10, i8* %P) @@ -135,7 +135,7 @@ define i32 @test7() nounwind uwtable ssp { entry: %x = alloca i32, align 4 store i32 0, i32* %x, align 4 - %add.ptr = getelementptr inbounds i32* %x, i64 1 + %add.ptr = getelementptr inbounds i32, i32* %x, i64 1 call void @test7decl(i32* %add.ptr) %tmp = load i32* %x, align 4 ret i32 %tmp diff --git a/test/Analysis/BasicAA/must-and-partial.ll b/test/Analysis/BasicAA/must-and-partial.ll index 58139ff30ec..e8dc1debb78 100644 --- a/test/Analysis/BasicAA/must-and-partial.ll +++ b/test/Analysis/BasicAA/must-and-partial.ll @@ -9,7 +9,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 ; CHECK: PartialAlias: i16* %bigbase0, i8* %phi define i8 @test0(i8* %base, i1 %x) { entry: - %baseplusone = getelementptr i8* %base, i64 1 + %baseplusone = getelementptr i8, i8* %base, i64 1 br i1 %x, label %red, label %green red: br label %green @@ -27,7 +27,7 @@ green: ; CHECK: PartialAlias: i16* %bigbase1, i8* %sel define i8 @test1(i8* %base, i1 %x) { entry: - %baseplusone = getelementptr i8* %base, i64 1 + %baseplusone = getelementptr i8, i8* %base, i64 1 %sel = select i1 %x, i8* %baseplusone, i8* %base store i8 0, i8* %sel diff --git a/test/Analysis/BasicAA/no-escape-call.ll b/test/Analysis/BasicAA/no-escape-call.ll index b93db6e0ee7..072575cb2b3 100644 --- a/test/Analysis/BasicAA/no-escape-call.ll +++ b/test/Analysis/BasicAA/no-escape-call.ll @@ -8,12 +8,12 @@ define i1 @foo(i32 %i) nounwind { entry: %arr = alloca [10 x i8*] ; <[10 x i8*]*> [#uses=1] %tmp2 = call i8* @getPtr( ) nounwind ; [#uses=2] - %tmp4 = getelementptr [10 x i8*]* %arr, i32 0, i32 %i ; [#uses=2] + %tmp4 = getelementptr [10 x i8*], [10 x i8*]* %arr, i32 0, i32 %i ; [#uses=2] store i8* %tmp2, i8** %tmp4, align 4 - %tmp10 = getelementptr i8* %tmp2, i32 10 ; [#uses=1] + %tmp10 = getelementptr i8, i8* %tmp2, i32 10 ; [#uses=1] store i8 42, i8* %tmp10, align 1 %tmp14 = load i8** %tmp4, align 4 ; [#uses=1] - %tmp16 = getelementptr i8* %tmp14, i32 10 ; [#uses=1] + %tmp16 = getelementptr i8, i8* %tmp14, i32 10 ; [#uses=1] %tmp17 = load i8* %tmp16, align 1 ; [#uses=1] %tmp19 = icmp eq i8 %tmp17, 42 ; [#uses=1] ret i1 %tmp19 diff --git a/test/Analysis/BasicAA/noalias-bugs.ll b/test/Analysis/BasicAA/noalias-bugs.ll index 2bcc14fd939..2ae7660989d 100644 --- a/test/Analysis/BasicAA/noalias-bugs.ll +++ b/test/Analysis/BasicAA/noalias-bugs.ll @@ -12,12 +12,12 @@ target triple = "x86_64-unknown-linux-gnu" define i64 @testcase(%nested * noalias %p1, %nested * noalias %p2, i32 %a, i32 %b) { - %ptr = getelementptr inbounds %nested* %p1, i64 -1, i32 0 - %ptr.64 = getelementptr inbounds %nested.i64* %ptr, i64 0, i32 0 - %ptr2= getelementptr inbounds %nested* %p2, i64 0, i32 0 + %ptr = getelementptr inbounds %nested, %nested* %p1, i64 -1, i32 0 + %ptr.64 = getelementptr inbounds %nested.i64, %nested.i64* %ptr, i64 0, i32 0 + %ptr2= getelementptr inbounds %nested, %nested* %p2, i64 0, i32 0 %cmp = icmp ult i32 %a, %b %either_ptr = select i1 %cmp, %nested.i64* %ptr2, %nested.i64* %ptr - %either_ptr.64 = getelementptr inbounds %nested.i64* %either_ptr, i64 0, i32 0 + %either_ptr.64 = getelementptr inbounds %nested.i64, %nested.i64* %either_ptr, i64 0, i32 0 ; Because either_ptr.64 and ptr.64 can alias (we used to return noalias) ; elimination of the first store is not valid. diff --git a/test/Analysis/BasicAA/noalias-geps.ll b/test/Analysis/BasicAA/noalias-geps.ll index f9ec7134573..cdec9889ca8 100644 --- a/test/Analysis/BasicAA/noalias-geps.ll +++ b/test/Analysis/BasicAA/noalias-geps.ll @@ -5,26 +5,26 @@ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f3 ; Check that geps with equal base offsets of noalias base pointers stay noalias. define i32 @test(i32* %p, i16 %i) { ; CHECK-LABEL: Function: test: - %pi = getelementptr i32* %p, i32 0 - %pi.next = getelementptr i32* %p, i32 1 + %pi = getelementptr i32, i32* %p, i32 0 + %pi.next = getelementptr i32, i32* %p, i32 1 %b = icmp eq i16 %i, 0 br i1 %b, label %bb1, label %bb2 bb1: - %f = getelementptr i32* %pi, i32 1 - %g = getelementptr i32* %pi.next, i32 1 + %f = getelementptr i32, i32* %pi, i32 1 + %g = getelementptr i32, i32* %pi.next, i32 1 br label %bb3 bb2: - %f2 = getelementptr i32* %pi, i32 1 - %g2 = getelementptr i32* %pi.next, i32 1 + %f2 = getelementptr i32, i32* %pi, i32 1 + %g2 = getelementptr i32, i32* %pi.next, i32 1 br label %bb3 bb3: %ptr_phi = phi i32* [ %f, %bb1 ], [ %f2, %bb2 ] %ptr_phi2 = phi i32* [ %g, %bb1 ], [ %g2, %bb2 ] ; CHECK: NoAlias: i32* %f1, i32* %g1 - %f1 = getelementptr i32* %ptr_phi , i32 1 - %g1 = getelementptr i32* %ptr_phi2 , i32 1 + %f1 = getelementptr i32, i32* %ptr_phi , i32 1 + %g1 = getelementptr i32, i32* %ptr_phi2 , i32 1 ret i32 0 } @@ -32,25 +32,25 @@ ret i32 0 ; Check that geps with equal indices of noalias base pointers stay noalias. define i32 @test2([2 x i32]* %p, i32 %i) { ; CHECK-LABEL: Function: test2: - %pi = getelementptr [2 x i32]* %p, i32 0 - %pi.next = getelementptr [2 x i32]* %p, i32 1 + %pi = getelementptr [2 x i32], [2 x i32]* %p, i32 0 + %pi.next = getelementptr [2 x i32], [2 x i32]* %p, i32 1 %b = icmp eq i32 %i, 0 br i1 %b, label %bb1, label %bb2 bb1: - %f = getelementptr [2 x i32]* %pi, i32 1 - %g = getelementptr [2 x i32]* %pi.next, i32 1 + %f = getelementptr [2 x i32], [2 x i32]* %pi, i32 1 + %g = getelementptr [2 x i32], [2 x i32]* %pi.next, i32 1 br label %bb3 bb2: - %f2 = getelementptr [2 x i32]* %pi, i32 1 - %g2 = getelementptr [2 x i32]* %pi.next, i32 1 + %f2 = getelementptr [2 x i32], [2 x i32]* %pi, i32 1 + %g2 = getelementptr [2 x i32], [2 x i32]* %pi.next, i32 1 br label %bb3 bb3: %ptr_phi = phi [2 x i32]* [ %f, %bb1 ], [ %f2, %bb2 ] %ptr_phi2 = phi [2 x i32]* [ %g, %bb1 ], [ %g2, %bb2 ] ; CHECK: NoAlias: i32* %f1, i32* %g1 - %f1 = getelementptr [2 x i32]* %ptr_phi , i32 1, i32 %i - %g1 = getelementptr [2 x i32]* %ptr_phi2 , i32 1, i32 %i + %f1 = getelementptr [2 x i32], [2 x i32]* %ptr_phi , i32 1, i32 %i + %g1 = getelementptr [2 x i32], [2 x i32]* %ptr_phi2 , i32 1, i32 %i ret i32 0 } diff --git a/test/Analysis/BasicAA/phi-aa.ll b/test/Analysis/BasicAA/phi-aa.ll index c1100f1d36f..1b3341ef109 100644 --- a/test/Analysis/BasicAA/phi-aa.ll +++ b/test/Analysis/BasicAA/phi-aa.ll @@ -54,7 +54,7 @@ codeRepl: for.body: %1 = load i32* %jj7, align 4 %idxprom4 = zext i32 %1 to i64 - %arrayidx5 = getelementptr inbounds [100 x i32]* %oa5, i64 0, i64 %idxprom4 + %arrayidx5 = getelementptr inbounds [100 x i32], [100 x i32]* %oa5, i64 0, i64 %idxprom4 %2 = load i32* %arrayidx5, align 4 %sub6 = sub i32 %2, 6 store i32 %sub6, i32* %arrayidx5, align 4 @@ -63,7 +63,7 @@ for.body: store i32 %3, i32* %arrayidx5, align 4 %sub11 = add i32 %1, -1 %idxprom12 = zext i32 %sub11 to i64 - %arrayidx13 = getelementptr inbounds [100 x i32]* %oa5, i64 0, i64 %idxprom12 + %arrayidx13 = getelementptr inbounds [100 x i32], [100 x i32]* %oa5, i64 0, i64 %idxprom12 call void @inc(i32* %jj7) br label %codeRepl diff --git a/test/Analysis/BasicAA/phi-spec-order.ll b/test/Analysis/BasicAA/phi-spec-order.ll index 4172d0963f3..0d1a6f44ec5 100644 --- a/test/Analysis/BasicAA/phi-spec-order.ll +++ b/test/Analysis/BasicAA/phi-spec-order.ll @@ -23,23 +23,23 @@ for.body4: ; preds = %for.body4, %for.con %lsr.iv = phi i32 [ %lsr.iv.next, %for.body4 ], [ 16000, %for.cond2.preheader ] %lsr.iv46 = bitcast [16000 x double]* %lsr.iv4 to <4 x double>* %lsr.iv12 = bitcast [16000 x double]* %lsr.iv1 to <4 x double>* - %scevgep11 = getelementptr <4 x double>* %lsr.iv46, i64 -2 + %scevgep11 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 -2 %i6 = load <4 x double>* %scevgep11, align 32 %add = fadd <4 x double> %i6, store <4 x double> %add, <4 x double>* %lsr.iv12, align 32 - %scevgep10 = getelementptr <4 x double>* %lsr.iv46, i64 -1 + %scevgep10 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 -1 %i7 = load <4 x double>* %scevgep10, align 32 %add.4 = fadd <4 x double> %i7, - %scevgep9 = getelementptr <4 x double>* %lsr.iv12, i64 1 + %scevgep9 = getelementptr <4 x double>, <4 x double>* %lsr.iv12, i64 1 store <4 x double> %add.4, <4 x double>* %scevgep9, align 32 %i8 = load <4 x double>* %lsr.iv46, align 32 %add.8 = fadd <4 x double> %i8, - %scevgep8 = getelementptr <4 x double>* %lsr.iv12, i64 2 + %scevgep8 = getelementptr <4 x double>, <4 x double>* %lsr.iv12, i64 2 store <4 x double> %add.8, <4 x double>* %scevgep8, align 32 - %scevgep7 = getelementptr <4 x double>* %lsr.iv46, i64 1 + %scevgep7 = getelementptr <4 x double>, <4 x double>* %lsr.iv46, i64 1 %i9 = load <4 x double>* %scevgep7, align 32 %add.12 = fadd <4 x double> %i9, - %scevgep3 = getelementptr <4 x double>* %lsr.iv12, i64 3 + %scevgep3 = getelementptr <4 x double>, <4 x double>* %lsr.iv12, i64 3 store <4 x double> %add.12, <4 x double>* %scevgep3, align 32 ; CHECK: NoAlias:{{[ \t]+}}<4 x double>* %scevgep11, <4 x double>* %scevgep7 @@ -50,9 +50,9 @@ for.body4: ; preds = %for.body4, %for.con ; CHECK: NoAlias:{{[ \t]+}}<4 x double>* %scevgep3, <4 x double>* %scevgep9 %lsr.iv.next = add i32 %lsr.iv, -16 - %scevgep = getelementptr [16000 x double]* %lsr.iv1, i64 0, i64 16 + %scevgep = getelementptr [16000 x double], [16000 x double]* %lsr.iv1, i64 0, i64 16 %i10 = bitcast double* %scevgep to [16000 x double]* - %scevgep5 = getelementptr [16000 x double]* %lsr.iv4, i64 0, i64 16 + %scevgep5 = getelementptr [16000 x double], [16000 x double]* %lsr.iv4, i64 0, i64 16 %i11 = bitcast double* %scevgep5 to [16000 x double]* %exitcond.15 = icmp eq i32 %lsr.iv.next, 0 br i1 %exitcond.15, label %for.end, label %for.body4 diff --git a/test/Analysis/BasicAA/phi-speculation.ll b/test/Analysis/BasicAA/phi-speculation.ll index 5e1e118d985..8965056f95d 100644 --- a/test/Analysis/BasicAA/phi-speculation.ll +++ b/test/Analysis/BasicAA/phi-speculation.ll @@ -8,7 +8,7 @@ target datalayout = ; CHECK: NoAlias: i32* %ptr2_phi, i32* %ptr_phi define i32 @test_noalias_1(i32* %ptr2, i32 %count, i32* %coeff) { entry: - %ptr = getelementptr inbounds i32* %ptr2, i64 1 + %ptr = getelementptr inbounds i32, i32* %ptr2, i64 1 br label %while.body while.body: @@ -24,8 +24,8 @@ while.body: %mul = mul nsw i32 %1, %2 %add = add nsw i32 %mul, %result.09 %tobool = icmp eq i32 %dec, 0 - %ptr_inc = getelementptr inbounds i32* %ptr_phi, i64 1 - %ptr2_inc = getelementptr inbounds i32* %ptr2_phi, i64 1 + %ptr_inc = getelementptr inbounds i32, i32* %ptr_phi, i64 1 + %ptr2_inc = getelementptr inbounds i32, i32* %ptr2_phi, i64 1 br i1 %tobool, label %the_exit, label %while.body the_exit: @@ -37,7 +37,7 @@ the_exit: ; CHECK: NoAlias: i32* %ptr2_phi, i32* %ptr_phi define i32 @test_noalias_2(i32* %ptr2, i32 %count, i32* %coeff) { entry: - %ptr = getelementptr inbounds i32* %ptr2, i64 1 + %ptr = getelementptr inbounds i32, i32* %ptr2, i64 1 br label %outer.while.header outer.while.header: @@ -59,13 +59,13 @@ while.body: %mul = mul nsw i32 %1, %2 %add = add nsw i32 %mul, %result.09 %tobool = icmp eq i32 %dec, 0 - %ptr_inc = getelementptr inbounds i32* %ptr_phi, i64 1 - %ptr2_inc = getelementptr inbounds i32* %ptr2_phi, i64 1 + %ptr_inc = getelementptr inbounds i32, i32* %ptr_phi, i64 1 + %ptr2_inc = getelementptr inbounds i32, i32* %ptr2_phi, i64 1 br i1 %tobool, label %outer.while.backedge, label %while.body outer.while.backedge: - %ptr_inc_outer = getelementptr inbounds i32* %ptr_phi, i64 1 - %ptr2_inc_outer = getelementptr inbounds i32* %ptr2_phi, i64 1 + %ptr_inc_outer = getelementptr inbounds i32, i32* %ptr_phi, i64 1 + %ptr2_inc_outer = getelementptr inbounds i32, i32* %ptr2_phi, i64 1 %dec.outer = add nsw i32 %num.outer, -1 %br.cond = icmp eq i32 %dec.outer, 0 br i1 %br.cond, label %the_exit, label %outer.while.header diff --git a/test/Analysis/BasicAA/pr18573.ll b/test/Analysis/BasicAA/pr18573.ll index 1d2a316b6ff..25f9d94d4dc 100644 --- a/test/Analysis/BasicAA/pr18573.ll +++ b/test/Analysis/BasicAA/pr18573.ll @@ -11,7 +11,7 @@ declare <8 x float> @llvm.x86.avx2.gather.d.ps.256(<8 x float>, i8*, <8 x i32>, define <8 x float> @foo1(i8* noalias readonly %arr.ptr, <8 x i32>* noalias readonly %vix.ptr, i8* noalias %t2.ptr) #1 { allocas: %vix = load <8 x i32>* %vix.ptr, align 4 - %t1.ptr = getelementptr i8* %arr.ptr, i8 4 + %t1.ptr = getelementptr i8, i8* %arr.ptr, i8 4 %v1 = tail call <8 x float> @llvm.x86.avx2.gather.d.ps.256(<8 x float> undef, i8* %arr.ptr, <8 x i32> %vix, <8 x float> , i8 1) #2 store i8 1, i8* %t1.ptr, align 4 @@ -32,7 +32,7 @@ allocas: define <8 x float> @foo2(i8* noalias readonly %arr.ptr, <8 x i32>* noalias readonly %vix.ptr, i8* noalias %t2.ptr) #1 { allocas: %vix = load <8 x i32>* %vix.ptr, align 4 - %t1.ptr = getelementptr i8* %arr.ptr, i8 4 + %t1.ptr = getelementptr i8, i8* %arr.ptr, i8 4 %v1 = tail call <8 x float> @llvm.x86.avx2.gather.d.ps.256(<8 x float> undef, i8* %arr.ptr, <8 x i32> %vix, <8 x float> , i8 1) #2 store i8 1, i8* %t2.ptr, align 4 diff --git a/test/Analysis/BasicAA/store-promote.ll b/test/Analysis/BasicAA/store-promote.ll index 0db805c3e21..bb4258ff12f 100644 --- a/test/Analysis/BasicAA/store-promote.ll +++ b/test/Analysis/BasicAA/store-promote.ll @@ -36,10 +36,10 @@ define i32 @test2(i1 %c) { Loop: ; preds = %Loop, %0 %AVal = load i32* @A ; [#uses=2] - %C0 = getelementptr [2 x i32]* @C, i64 0, i64 0 ; [#uses=1] + %C0 = getelementptr [2 x i32], [2 x i32]* @C, i64 0, i64 0 ; [#uses=1] store i32 %AVal, i32* %C0 %BVal = load i32* @B ; [#uses=2] - %C1 = getelementptr [2 x i32]* @C, i64 0, i64 1 ; [#uses=1] + %C1 = getelementptr [2 x i32], [2 x i32]* @C, i64 0, i64 1 ; [#uses=1] store i32 %BVal, i32* %C1 br i1 %c, label %Out, label %Loop diff --git a/test/Analysis/BasicAA/struct-geps.ll b/test/Analysis/BasicAA/struct-geps.ll index 3764d48f803..d63c71a3278 100644 --- a/test/Analysis/BasicAA/struct-geps.ll +++ b/test/Analysis/BasicAA/struct-geps.ll @@ -27,9 +27,9 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-DAG: MustAlias: i32* %y, i80* %y_10 define void @test_simple(%struct* %st, i64 %i, i64 %j, i64 %k) { - %x = getelementptr %struct* %st, i64 %i, i32 0 - %y = getelementptr %struct* %st, i64 %j, i32 1 - %z = getelementptr %struct* %st, i64 %k, i32 2 + %x = getelementptr %struct, %struct* %st, i64 %i, i32 0 + %y = getelementptr %struct, %struct* %st, i64 %j, i32 1 + %z = getelementptr %struct, %struct* %st, i64 %k, i32 2 %y_12 = bitcast i32* %y to %struct* %y_10 = bitcast i32* %y to i80* %y_8 = bitcast i32* %y to i64* @@ -59,9 +59,9 @@ define void @test_simple(%struct* %st, i64 %i, i64 %j, i64 %k) { ; CHECK-DAG: MustAlias: i32* %y, i80* %y_10 define void @test_in_array([1 x %struct]* %st, i64 %i, i64 %j, i64 %k, i64 %i1, i64 %j1, i64 %k1) { - %x = getelementptr [1 x %struct]* %st, i64 %i, i64 %i1, i32 0 - %y = getelementptr [1 x %struct]* %st, i64 %j, i64 %j1, i32 1 - %z = getelementptr [1 x %struct]* %st, i64 %k, i64 %k1, i32 2 + %x = getelementptr [1 x %struct], [1 x %struct]* %st, i64 %i, i64 %i1, i32 0 + %y = getelementptr [1 x %struct], [1 x %struct]* %st, i64 %j, i64 %j1, i32 1 + %z = getelementptr [1 x %struct], [1 x %struct]* %st, i64 %k, i64 %k1, i32 2 %y_12 = bitcast i32* %y to %struct* %y_10 = bitcast i32* %y to i80* %y_8 = bitcast i32* %y to i64* @@ -91,9 +91,9 @@ define void @test_in_array([1 x %struct]* %st, i64 %i, i64 %j, i64 %k, i64 %i1, ; CHECK-DAG: MustAlias: i32* %y, i80* %y_10 define void @test_in_3d_array([1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %j, i64 %k, i64 %i1, i64 %j1, i64 %k1, i64 %i2, i64 %j2, i64 %k2, i64 %i3, i64 %j3, i64 %k3) { - %x = getelementptr [1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %i1, i64 %i2, i64 %i3, i32 0 - %y = getelementptr [1 x [1 x [1 x %struct]]]* %st, i64 %j, i64 %j1, i64 %j2, i64 %j3, i32 1 - %z = getelementptr [1 x [1 x [1 x %struct]]]* %st, i64 %k, i64 %k1, i64 %k2, i64 %k3, i32 2 + %x = getelementptr [1 x [1 x [1 x %struct]]], [1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %i1, i64 %i2, i64 %i3, i32 0 + %y = getelementptr [1 x [1 x [1 x %struct]]], [1 x [1 x [1 x %struct]]]* %st, i64 %j, i64 %j1, i64 %j2, i64 %j3, i32 1 + %z = getelementptr [1 x [1 x [1 x %struct]]], [1 x [1 x [1 x %struct]]]* %st, i64 %k, i64 %k1, i64 %k2, i64 %k3, i32 2 %y_12 = bitcast i32* %y to %struct* %y_10 = bitcast i32* %y to i80* %y_8 = bitcast i32* %y to i64* @@ -116,13 +116,13 @@ define void @test_in_3d_array([1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %j, i6 ; CHECK-DAG: PartialAlias: i32* %y2, i32* %z define void @test_same_underlying_object_same_indices(%struct* %st, i64 %i, i64 %j, i64 %k) { - %st2 = getelementptr %struct* %st, i32 10 - %x2 = getelementptr %struct* %st2, i64 %i, i32 0 - %y2 = getelementptr %struct* %st2, i64 %j, i32 1 - %z2 = getelementptr %struct* %st2, i64 %k, i32 2 - %x = getelementptr %struct* %st, i64 %i, i32 0 - %y = getelementptr %struct* %st, i64 %j, i32 1 - %z = getelementptr %struct* %st, i64 %k, i32 2 + %st2 = getelementptr %struct, %struct* %st, i32 10 + %x2 = getelementptr %struct, %struct* %st2, i64 %i, i32 0 + %y2 = getelementptr %struct, %struct* %st2, i64 %j, i32 1 + %z2 = getelementptr %struct, %struct* %st2, i64 %k, i32 2 + %x = getelementptr %struct, %struct* %st, i64 %i, i32 0 + %y = getelementptr %struct, %struct* %st, i64 %j, i32 1 + %z = getelementptr %struct, %struct* %st, i64 %k, i32 2 ret void } @@ -142,13 +142,13 @@ define void @test_same_underlying_object_same_indices(%struct* %st, i64 %i, i64 ; CHECK-DAG: PartialAlias: i32* %y2, i32* %z define void @test_same_underlying_object_different_indices(%struct* %st, i64 %i1, i64 %j1, i64 %k1, i64 %i2, i64 %k2, i64 %j2) { - %st2 = getelementptr %struct* %st, i32 10 - %x2 = getelementptr %struct* %st2, i64 %i2, i32 0 - %y2 = getelementptr %struct* %st2, i64 %j2, i32 1 - %z2 = getelementptr %struct* %st2, i64 %k2, i32 2 - %x = getelementptr %struct* %st, i64 %i1, i32 0 - %y = getelementptr %struct* %st, i64 %j1, i32 1 - %z = getelementptr %struct* %st, i64 %k1, i32 2 + %st2 = getelementptr %struct, %struct* %st, i32 10 + %x2 = getelementptr %struct, %struct* %st2, i64 %i2, i32 0 + %y2 = getelementptr %struct, %struct* %st2, i64 %j2, i32 1 + %z2 = getelementptr %struct, %struct* %st2, i64 %k2, i32 2 + %x = getelementptr %struct, %struct* %st, i64 %i1, i32 0 + %y = getelementptr %struct, %struct* %st, i64 %j1, i32 1 + %z = getelementptr %struct, %struct* %st, i64 %k1, i32 2 ret void } @@ -158,7 +158,7 @@ define void @test_same_underlying_object_different_indices(%struct* %st, i64 %i1 ; CHECK-LABEL: test_struct_in_array ; CHECK-DAG: MustAlias: i32* %x, i32* %y define void @test_struct_in_array(%struct2* %st, i64 %i, i64 %j, i64 %k) { - %x = getelementptr %struct2* %st, i32 0, i32 1, i32 1, i32 0 - %y = getelementptr %struct2* %st, i32 0, i32 0, i32 1, i32 1 + %x = getelementptr %struct2, %struct2* %st, i32 0, i32 1, i32 1, i32 0 + %y = getelementptr %struct2, %struct2* %st, i32 0, i32 0, i32 1, i32 1 ret void } diff --git a/test/Analysis/BasicAA/underlying-value.ll b/test/Analysis/BasicAA/underlying-value.ll index 0671c825068..b0d22612e98 100644 --- a/test/Analysis/BasicAA/underlying-value.ll +++ b/test/Analysis/BasicAA/underlying-value.ll @@ -14,9 +14,9 @@ for.cond2: ; preds = %for.body5, %for.con br i1 false, label %for.body5, label %for.cond for.body5: ; preds = %for.cond2 - %arrayidx = getelementptr inbounds [2 x i64]* undef, i32 0, i64 0 + %arrayidx = getelementptr inbounds [2 x i64], [2 x i64]* undef, i32 0, i64 0 %tmp7 = load i64* %arrayidx, align 8 - %arrayidx9 = getelementptr inbounds [2 x i64]* undef, i32 0, i64 undef + %arrayidx9 = getelementptr inbounds [2 x i64], [2 x i64]* undef, i32 0, i64 undef %tmp10 = load i64* %arrayidx9, align 8 br label %for.cond2 diff --git a/test/Analysis/BasicAA/unreachable-block.ll b/test/Analysis/BasicAA/unreachable-block.ll index 1ca1e66f894..551d18e3e0f 100644 --- a/test/Analysis/BasicAA/unreachable-block.ll +++ b/test/Analysis/BasicAA/unreachable-block.ll @@ -11,6 +11,6 @@ bb: %t = select i1 undef, i32* %t, i32* undef %p = select i1 undef, i32* %p, i32* %p %q = select i1 undef, i32* undef, i32* %p - %a = getelementptr i8* %a, i32 0 + %a = getelementptr i8, i8* %a, i32 0 unreachable } diff --git a/test/Analysis/BasicAA/zext.ll b/test/Analysis/BasicAA/zext.ll index b59d16cc5f5..bf35a520574 100644 --- a/test/Analysis/BasicAA/zext.ll +++ b/test/Analysis/BasicAA/zext.ll @@ -7,10 +7,10 @@ target triple = "x86_64-unknown-linux-gnu" define void @test_with_zext() { %1 = tail call i8* @malloc(i64 120) - %a = getelementptr inbounds i8* %1, i64 8 - %2 = getelementptr inbounds i8* %1, i64 16 + %a = getelementptr inbounds i8, i8* %1, i64 8 + %2 = getelementptr inbounds i8, i8* %1, i64 16 %3 = zext i32 3 to i64 - %b = getelementptr inbounds i8* %2, i64 %3 + %b = getelementptr inbounds i8, i8* %2, i64 %3 ret void } @@ -19,10 +19,10 @@ define void @test_with_zext() { define void @test_with_lshr(i64 %i) { %1 = tail call i8* @malloc(i64 120) - %a = getelementptr inbounds i8* %1, i64 8 - %2 = getelementptr inbounds i8* %1, i64 16 + %a = getelementptr inbounds i8, i8* %1, i64 8 + %2 = getelementptr inbounds i8, i8* %1, i64 16 %3 = lshr i64 %i, 2 - %b = getelementptr inbounds i8* %2, i64 %3 + %b = getelementptr inbounds i8, i8* %2, i64 %3 ret void } @@ -34,10 +34,10 @@ define void @test_with_a_loop(i8* %mem) { for.loop: %i = phi i32 [ 0, %0 ], [ %i.plus1, %for.loop ] - %a = getelementptr inbounds i8* %mem, i64 8 - %a.plus1 = getelementptr inbounds i8* %mem, i64 16 + %a = getelementptr inbounds i8, i8* %mem, i64 8 + %a.plus1 = getelementptr inbounds i8, i8* %mem, i64 16 %i.64 = zext i32 %i to i64 - %b = getelementptr inbounds i8* %a.plus1, i64 %i.64 + %b = getelementptr inbounds i8, i8* %a.plus1, i64 %i.64 %i.plus1 = add nuw nsw i32 %i, 1 %cmp = icmp eq i32 %i.plus1, 10 br i1 %cmp, label %for.loop.exit, label %for.loop @@ -55,12 +55,12 @@ define void @test_with_varying_base_pointer_in_loop(i8* %mem.orig) { for.loop: %mem = phi i8* [ %mem.orig, %0 ], [ %mem.plus1, %for.loop ] %i = phi i32 [ 0, %0 ], [ %i.plus1, %for.loop ] - %a = getelementptr inbounds i8* %mem, i64 8 - %a.plus1 = getelementptr inbounds i8* %mem, i64 16 + %a = getelementptr inbounds i8, i8* %mem, i64 8 + %a.plus1 = getelementptr inbounds i8, i8* %mem, i64 16 %i.64 = zext i32 %i to i64 - %b = getelementptr inbounds i8* %a.plus1, i64 %i.64 + %b = getelementptr inbounds i8, i8* %a.plus1, i64 %i.64 %i.plus1 = add nuw nsw i32 %i, 1 - %mem.plus1 = getelementptr inbounds i8* %mem, i64 8 + %mem.plus1 = getelementptr inbounds i8, i8* %mem, i64 8 %cmp = icmp eq i32 %i.plus1, 10 br i1 %cmp, label %for.loop.exit, label %for.loop @@ -74,10 +74,10 @@ for.loop.exit: define void @test_sign_extension(i32 %p) { %1 = tail call i8* @malloc(i64 120) %p.64 = zext i32 %p to i64 - %a = getelementptr inbounds i8* %1, i64 %p.64 + %a = getelementptr inbounds i8, i8* %1, i64 %p.64 %p.minus1 = add i32 %p, -1 %p.minus1.64 = zext i32 %p.minus1 to i64 - %b.i8 = getelementptr inbounds i8* %1, i64 %p.minus1.64 + %b.i8 = getelementptr inbounds i8, i8* %1, i64 %p.minus1.64 %b.i64 = bitcast i8* %b.i8 to i64* ret void } @@ -91,13 +91,13 @@ define void @test_fe_tools([8 x i32]* %values) { for.loop: %i = phi i32 [ 0, %reorder ], [ %i.next, %for.loop ] %idxprom = zext i32 %i to i64 - %b = getelementptr inbounds [8 x i32]* %values, i64 0, i64 %idxprom + %b = getelementptr inbounds [8 x i32], [8 x i32]* %values, i64 0, i64 %idxprom %i.next = add nuw nsw i32 %i, 1 %1 = icmp eq i32 %i.next, 10 br i1 %1, label %for.loop.exit, label %for.loop reorder: - %a = getelementptr inbounds [8 x i32]* %values, i64 0, i64 1 + %a = getelementptr inbounds [8 x i32], [8 x i32]* %values, i64 0, i64 1 br label %for.loop for.loop.exit: @@ -123,13 +123,13 @@ define void @test_spec2006() { ;