[PATCH] D78729: [Attributor] Merge the query set into AbstractAttribute

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 23 10:16:11 PDT 2020


jdoerfert created this revision.
jdoerfert added reviewers: fhahn, lebedev.ri.
Herald added subscribers: uenoku, bollu, hiraditya.
Herald added a reviewer: sstefan1.
Herald added a reviewer: uenoku.
Herald added a project: LLVM.

The old QuerriedAAs contained two vectors, one for required one for
optional dependences (=queries). We now use a single vector and encode
the kind directly in the pointer.

This reduces memory consumption and makes the connection between
abstract attributes and their dependences clearer.

No functional change is intended.

---

Single run of the Attributor module and then CGSCC pass (oldPM)
for SPASS/clause.c (~10k LLVM-IR loc):

Before:

  calls to allocation functions: 468401 (315846/s)
  temporary memory allocations: 76415 (51527/s)
  peak heap memory consumption: 28.80MB
  peak RSS (including heaptrack overhead): 118.41MB
  total memory leaked: 269.07KB

After:

  calls to allocation functions: 425372 (257801/s)
  temporary memory allocations: 77301 (46849/s)
  peak heap memory consumption: 17.76MB
  peak RSS (including heaptrack overhead): 102.17MB
  total memory leaked: 269.07KB

Difference:

  calls to allocation functions: -43029 (-257658/s)
  temporary memory allocations: 886 (5305/s)
  peak heap memory consumption: -11.04MB
  peak RSS (including heaptrack overhead): 0B
  total memory leaked: 0B


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D78729

Files:
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Transforms/IPO/Attributor.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78729.259617.patch
Type: text/x-patch
Size: 6409 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200423/0fe1765e/attachment.bin>


More information about the llvm-commits mailing list