[PATCH] D37353: [SparsePropagation] Enable interprocedural analysis

Matthew Simpson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 31 14:09:59 PDT 2017


mssimpso created this revision.
Herald added a subscriber: mcrosier.

This patch adds IPSCCP-like interprocedural analysis to the generic sparse conditional propagation solver. It allows the tracking of function return values and the values stored in global variables. It also gives clients the ability to mark basic block executable. The patch introduces separate state maps, distinct from the existing value state map, for maintaining function return values and values stored in global variables. This allows clients to distinguish, for example, a global variable from it's in-memory value and a function from the values it returns.


https://reviews.llvm.org/D37353

Files:
  include/llvm/Analysis/SparsePropagation.h
  lib/Analysis/SparsePropagation.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37353.113460.patch
Type: text/x-patch
Size: 17460 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170831/f0d28773/attachment.bin>


More information about the llvm-commits mailing list