[PATCH] Loop Versioning for LICM

Ashutosh Nema ashutosh.nema at amd.com
Mon May 25 06:17:39 PDT 2015


Thanks for the code review Hal.

I have incorporated your comments.

Changes in this patch:

1. Added Pass description
2. Added metadata in loop to avoid recursive multi versioning when this pass scheduled multiple times.
3. Earlier this pass is only targeted for promoteLoopAccessesToScalars, now calling sinkRegion, hoistRegion and promoteLoopAccessesToScalars.
4. For handling call instruction, reusing vectorizer logic.
5. Code re-factoring.

Thanks,
Ashutosh


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D9151

Files:
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Transforms/Scalar.h
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/Scalar/CMakeLists.txt
  lib/Transforms/Scalar/LoopVersioning.cpp
  lib/Transforms/Scalar/Scalar.cpp
  test/Transforms/LoopVersioning/loopversioning1.ll
  test/Transforms/LoopVersioning/loopversioning2.ll
  test/Transforms/LoopVersioning/loopversioning3.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9151.26426.patch
Type: text/x-patch
Size: 50854 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150525/f39ded6b/attachment.bin>


More information about the llvm-commits mailing list