[PATCH] D18900: New pre-isel pass SystemZBRCTLoops

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 12 04:39:42 PST 2017


jonpa updated this revision to Diff 84105.
jonpa added a comment.
Herald added a subscriber: mgorny.

After improving on LSR and loop unrolling, this pass has been found beneficial on benchmarks on SystemZ

As a first step, it has therefore been rewritten for the purposes of the SystemZ target, which means an intrinsic is not used for the trip count.

It also now handles loop counters of i8 and i16, by zero extending the trip count in the pre-header.

Once this has come to use, the opportunity is still there for a target independent pre-isel pass.


https://reviews.llvm.org/D18900

Files:
  lib/Target/SystemZ/CMakeLists.txt
  lib/Target/SystemZ/SystemZ.h
  lib/Target/SystemZ/SystemZBRCTLoops.cpp
  lib/Target/SystemZ/SystemZTargetMachine.cpp
  test/CodeGen/SystemZ/loop-brct.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18900.84105.patch
Type: text/x-patch
Size: 15123 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170112/ca4d4683/attachment.bin>


More information about the llvm-commits mailing list