[PATCH] D37355: Add CalledValuePropagation pass

Matthew Simpson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 15 11:55:30 PDT 2017


mssimpso updated this revision to Diff 115443.
mssimpso marked an inline comment as done.
mssimpso added a comment.

Made untracked values overdefined.

After looking at the generic solver more closely, I found that when a value is initialized to untracked, it's users aren't notified and added to the work list for processing. This is the intended behavior, but when using untracked, I think it's going to be very easy to make a mistake and not see the entire module. It's probably better for us to track all the values, and mark the uninteresting ones overdefined. This update changes the patch to do this.


https://reviews.llvm.org/D37355

Files:
  include/llvm-c/Transforms/IPO.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Transforms/IPO.h
  include/llvm/Transforms/IPO/CalledValuePropagation.h
  lib/Passes/PassBuilder.cpp
  lib/Passes/PassRegistry.def
  lib/Transforms/IPO/CMakeLists.txt
  lib/Transforms/IPO/CalledValuePropagation.cpp
  lib/Transforms/IPO/IPO.cpp
  lib/Transforms/IPO/PassManagerBuilder.cpp
  test/Other/new-pm-defaults.ll
  test/Other/new-pm-lto-defaults.ll
  test/Other/new-pm-thinlto-defaults.ll
  test/Transforms/CalledValuePropagation/simple-arguments.ll
  test/Transforms/CalledValuePropagation/simple-memory.ll
  test/Transforms/CalledValuePropagation/simple-select.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37355.115443.patch
Type: text/x-patch
Size: 31994 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170915/5ac62bc4/attachment.bin>


More information about the llvm-commits mailing list