[PATCH] D27329: AArch64CollectLOH: Rewrite as block-local analysis.

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 1 18:22:42 PST 2016


MatzeB created this revision.
MatzeB added a reviewer: qcolombet.
MatzeB added a subscriber: llvm-commits.
MatzeB set the repository for this revision to rL LLVM.
Herald added subscribers: mcrosier, rengolin, aemerson.

Previously this pass was using up to 5% compiletime in some cases which
is a bit much for what it is doing. The pass featured a full blown
dataflow analysis which in the default configuration was restricted to a
single block.

This rewrites the pass under the assumption that we only ever work on a
single block. It now works in a single pass just maintaining a small state
machines per tracked physreg. This makes the pass 5-10x faster.


Repository:
  rL LLVM

https://reviews.llvm.org/D27329

Files:
  lib/Target/AArch64/AArch64CollectLOH.cpp
  test/CodeGen/AArch64/arm64-collect-loh-garbage-crash.ll
  test/CodeGen/AArch64/arm64-collect-loh-str.ll
  test/CodeGen/AArch64/arm64-collect-loh.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27329.80013.patch
Type: text/x-patch
Size: 51311 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161202/4130b57e/attachment.bin>


More information about the llvm-commits mailing list