[PATCH] D16612: [LoopVersioning] Expose loop versioning as a pass too

Adam Nemet via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 26 16:26:39 PST 2016


anemet created this revision.
anemet added reviewers: hfinkel, ashutosh.nema, sbaranga.
anemet added a subscriber: llvm-commits.
Herald added a subscriber: sanjoy.

LoopVersioning is a transform utility that transform passes can use to
run-time disambiguate may-aliasing accesses. I'd like to also expose as
pass to allow it to be unit-tested.

I am planning to add support for non-aliasing annotation in
LoopVersioning and I'd like to be able to write tests directly using
this pass.

(After that feature is done, the pass could also be used to look for
optimization opportunities that are hidden behind incomplete alias
information at compile time.)

The pass drives LoopVersioning in its default way which is to fully
disambiguate may-aliasing accesses no matter how many checks are
required.

http://reviews.llvm.org/D16612

Files:
  include/llvm/InitializePasses.h
  include/llvm/Transforms/Scalar.h
  lib/Transforms/Scalar/Scalar.cpp
  lib/Transforms/Utils/LoopVersioning.cpp
  test/Transforms/LoopVersioning/basic.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16612.46075.patch
Type: text/x-patch
Size: 5800 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160127/b8e81ccb/attachment.bin>


More information about the llvm-commits mailing list