[PATCH] D26869: [LV] Add flag for ignoring target info

Matthew Simpson via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 18 14:14:34 PST 2016


mssimpso created this revision.
mssimpso added reviewers: mkuper, gilr.
mssimpso added subscribers: llvm-commits, mcrosier.
Herald added a subscriber: mzolotukhin.

This patch adds a flag ("loop-vectorize-ignore-target-info") that causes the vectorizer to use the default TTI implementation instead of one based on the target. This is useful for ensuring consistent results across targets when testing. The run lines of all target-independent tests have been updated to use the flag.


https://reviews.llvm.org/D26869

Files:
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Transforms/LoopVectorize/12-12-11-if-conv.ll
  test/Transforms/LoopVectorize/2012-10-20-infloop.ll
  test/Transforms/LoopVectorize/2012-10-22-isconsec.ll
  test/Transforms/LoopVectorize/2016-07-27-loop-vec.ll
  test/Transforms/LoopVectorize/align.ll
  test/Transforms/LoopVectorize/bsd_regex.ll
  test/Transforms/LoopVectorize/bzip_reverse_loops.ll
  test/Transforms/LoopVectorize/calloc.ll
  test/Transforms/LoopVectorize/cast-induction.ll
  test/Transforms/LoopVectorize/conditional-assignment.ll
  test/Transforms/LoopVectorize/consec_no_gep.ll
  test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
  test/Transforms/LoopVectorize/control-flow.ll
  test/Transforms/LoopVectorize/cpp-new-array.ll
  test/Transforms/LoopVectorize/dbg.value.ll
  test/Transforms/LoopVectorize/dead_instructions.ll
  test/Transforms/LoopVectorize/debugloc.ll
  test/Transforms/LoopVectorize/diag-missing-instr-debug-loc.ll
  test/Transforms/LoopVectorize/diag-with-hotness-info-2.ll
  test/Transforms/LoopVectorize/diag-with-hotness-info.ll
  test/Transforms/LoopVectorize/duplicated-metadata.ll
  test/Transforms/LoopVectorize/ee-crash.ll
  test/Transforms/LoopVectorize/exact.ll
  test/Transforms/LoopVectorize/flags.ll
  test/Transforms/LoopVectorize/float-induction.ll
  test/Transforms/LoopVectorize/float-reduction.ll
  test/Transforms/LoopVectorize/funcall.ll
  test/Transforms/LoopVectorize/gcc-examples.ll
  test/Transforms/LoopVectorize/gep_with_bitcast.ll
  test/Transforms/LoopVectorize/global_alias.ll
  test/Transforms/LoopVectorize/hints-trans.ll
  test/Transforms/LoopVectorize/hoist-loads.ll
  test/Transforms/LoopVectorize/i8-induction.ll
  test/Transforms/LoopVectorize/icmp-uniforms.ll
  test/Transforms/LoopVectorize/if-conv-crash.ll
  test/Transforms/LoopVectorize/if-conversion-edgemasks.ll
  test/Transforms/LoopVectorize/if-conversion-nest.ll
  test/Transforms/LoopVectorize/if-conversion-reduction.ll
  test/Transforms/LoopVectorize/if-conversion.ll
  test/Transforms/LoopVectorize/if-pred-non-void.ll
  test/Transforms/LoopVectorize/if-pred-not-when-safe.ll
  test/Transforms/LoopVectorize/if-pred-stores.ll
  test/Transforms/LoopVectorize/incorrect-dom-info.ll
  test/Transforms/LoopVectorize/increment.ll
  test/Transforms/LoopVectorize/induction-step.ll
  test/Transforms/LoopVectorize/induction.ll
  test/Transforms/LoopVectorize/induction_plus.ll
  test/Transforms/LoopVectorize/infiniteloop.ll
  test/Transforms/LoopVectorize/interleaved-accesses-1.ll
  test/Transforms/LoopVectorize/interleaved-accesses-2.ll
  test/Transforms/LoopVectorize/interleaved-accesses-3.ll
  test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
  test/Transforms/LoopVectorize/interleaved-accesses.ll
  test/Transforms/LoopVectorize/intrinsic.ll
  test/Transforms/LoopVectorize/iv_outside_user.ll
  test/Transforms/LoopVectorize/lcssa-crash.ll
  test/Transforms/LoopVectorize/lifetime.ll
  test/Transforms/LoopVectorize/loop-form.ll
  test/Transforms/LoopVectorize/loop-vect-memdep.ll
  test/Transforms/LoopVectorize/memdep.ll
  test/Transforms/LoopVectorize/metadata-unroll.ll
  test/Transforms/LoopVectorize/metadata-width.ll
  test/Transforms/LoopVectorize/metadata.ll
  test/Transforms/LoopVectorize/miniters.ll
  test/Transforms/LoopVectorize/minmax_reduction.ll
  test/Transforms/LoopVectorize/multi-use-reduction-bug.ll
  test/Transforms/LoopVectorize/multiple-address-spaces.ll
  test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
  test/Transforms/LoopVectorize/no_array_bounds.ll
  test/Transforms/LoopVectorize/no_idiv_reduction.ll
  test/Transforms/LoopVectorize/no_int_induction.ll
  test/Transforms/LoopVectorize/no_outside_user.ll
  test/Transforms/LoopVectorize/no_switch.ll
  test/Transforms/LoopVectorize/noalias-md-licm.ll
  test/Transforms/LoopVectorize/noalias-md.ll
  test/Transforms/LoopVectorize/nofloat.ll
  test/Transforms/LoopVectorize/non-const-n.ll
  test/Transforms/LoopVectorize/nontemporal.ll
  test/Transforms/LoopVectorize/nsw-crash.ll
  test/Transforms/LoopVectorize/optsize.ll
  test/Transforms/LoopVectorize/phi-hang.ll
  test/Transforms/LoopVectorize/pr25281.ll
  test/Transforms/LoopVectorize/pr28541.ll
  test/Transforms/LoopVectorize/ptr-induction.ll
  test/Transforms/LoopVectorize/ptr_loops.ll
  test/Transforms/LoopVectorize/read-only.ll
  test/Transforms/LoopVectorize/reduction.ll
  test/Transforms/LoopVectorize/reverse_induction.ll
  test/Transforms/LoopVectorize/reverse_iter.ll
  test/Transforms/LoopVectorize/runtime-check-address-space.ll
  test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll
  test/Transforms/LoopVectorize/runtime-check-readonly.ll
  test/Transforms/LoopVectorize/runtime-check.ll
  test/Transforms/LoopVectorize/runtime-limit.ll
  test/Transforms/LoopVectorize/safegep.ll
  test/Transforms/LoopVectorize/same-base-access.ll
  test/Transforms/LoopVectorize/scalar-select.ll
  test/Transforms/LoopVectorize/scalar_after_vectorization.ll
  test/Transforms/LoopVectorize/scev-exitlim-crash.ll
  test/Transforms/LoopVectorize/simple-unroll.ll
  test/Transforms/LoopVectorize/small-loop.ll
  test/Transforms/LoopVectorize/start-non-zero.ll
  test/Transforms/LoopVectorize/store-shuffle-bug.ll
  test/Transforms/LoopVectorize/struct_access.ll
  test/Transforms/LoopVectorize/tbaa-nodep.ll
  test/Transforms/LoopVectorize/undef-inst-bug.ll
  test/Transforms/LoopVectorize/unroll.ll
  test/Transforms/LoopVectorize/unroll_novec.ll
  test/Transforms/LoopVectorize/unsafe-dep-remark.ll
  test/Transforms/LoopVectorize/unsized-pointee-crash.ll
  test/Transforms/LoopVectorize/value-ptr-bug.ll
  test/Transforms/LoopVectorize/vect.stats.ll
  test/Transforms/LoopVectorize/vectorize-once.ll
  test/Transforms/LoopVectorize/version-mem-access.ll
  test/Transforms/LoopVectorize/write-only.ll
  test/Transforms/LoopVectorize/zero-sized-pointee-crash.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26869.78579.patch
Type: text/x-patch
Size: 82417 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161118/ea3375a8/attachment.bin>


More information about the llvm-commits mailing list