[PATCH] D78861: [Attributor] [WIP] Track AA dependency using dependency graph

Luofan Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 01:50:48 PDT 2020


bbn updated this revision to Diff 270057.
bbn added a comment.
Herald added a subscriber: mgrang.

- Added new printer function for abstract attribute
- Added `getName()` function to each abstract attribute which simply gets the name of the AA.
- Added `print()` function for dependency graph.

  The `AADepMap::print()` function iterates through the `AllAbstractAttributes` set in the attributor and prints out the dependencies for each AA. To test the correctness of the dependency graph, we need to find a way to iterate through all nodes in the dependency graph instead of the `AllAbstractAttribute` set

- Added initial test case

__Benchmark__

- Before the patch

  total runtime: 4.56s.
  bytes allocated in total (ignoring deallocations): 24.15MB (5.29MB/s)
  calls to allocation functions: 84730 (18564/s)
  temporary memory allocations: 4003 (877/s)
  peak heap memory consumption: 6.30MB
  peak RSS (including heaptrack overhead): 609.44MB
  total memory leaked: 163.25KB



- After the patch

  total runtime: 4.57s.
  bytes allocated in total (ignoring deallocations): 24.16MB (5.28MB/s)
  calls to allocation functions: 85034 (18602/s)
  temporary memory allocations: 4003 (875/s)
  peak heap memory consumption: 6.30MB
  peak RSS (including heaptrack overhead): 609.55MB
  total memory leaked: 165.66KB


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78861/new/

https://reviews.llvm.org/D78861

Files:
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/lib/Transforms/IPO/AttributorAttributes.cpp
  llvm/test/Transforms/Attributor/depgraph.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78861.270057.patch
Type: text/x-patch
Size: 35323 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200611/f3817f63/attachment.bin>


More information about the llvm-commits mailing list