[PATCH] D23032: Rewrite the use optimizer to be less memory intensive and 50% faster.Fixes PR28670

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 1 13:52:30 PDT 2016


dberlin created this revision.
dberlin added a reviewer: george.burgess.iv.
dberlin added a subscriber: llvm-commits.

Rewrite the use optimizer to be less memory intensive and 50% faster.
Fixes PR28670

The new use optimizer works like a standard SSA renaming pass, storing
all possible versions a MemorySSA use could get in a stack, and just
tracking indexes into the stack.
This uses much less memory than caching N^2 alias query results.
It's also a lot faster.

The current version defers phi node walking to the normal walker.

https://reviews.llvm.org/D23032

Files:
  include/llvm/Transforms/Utils/MemorySSA.h
  lib/Transforms/Utils/MemorySSA.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23032.66376.patch
Type: text/x-patch
Size: 17073 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160801/59da441f/attachment.bin>


More information about the llvm-commits mailing list