[PATCH] D21464: [PM] WIP: Introduce basic update capabilities to the new PM's CGSCC pass manager, including both plumbing and logic to handle function pass updates.

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 28 17:58:21 PDT 2016


chandlerc updated this revision to Diff 62157.
chandlerc added a comment.

Major update that includes several fixes to correctly respect the call graph
updates as well as the first round of test cases that exercise the update
logic. 'cgscc-iterate-function-mutation.ll' is perhaps especially interesting
because it demonstrates a fundamental property that the old pass manager cannot
handle in its current form and that the new pass manager handles cleanly.

This also adds a lot of asserts and debug logging that helped me debug and fix
many issues.

Still working on more test cases, should be able to move this out of 'WIP'
status really soon though.


http://reviews.llvm.org/D21464

Files:
  include/llvm/Analysis/CGSCCPassManager.h
  include/llvm/Analysis/LazyCallGraph.h
  include/llvm/IR/PassManager.h
  include/llvm/Transforms/IPO/FunctionAttrs.h
  lib/Analysis/CGSCCPassManager.cpp
  lib/Analysis/LazyCallGraph.cpp
  lib/Passes/PassBuilder.cpp
  lib/Transforms/IPO/FunctionAttrs.cpp
  test/Other/cgscc-iterate-function-mutation.ll
  test/Other/cgscc-observe-devirt.ll
  test/Other/new-pass-manager.ll
  test/Other/pass-pipeline-parsing.ll
  unittests/Analysis/CGSCCPassManagerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21464.62157.patch
Type: text/x-patch
Size: 56351 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160629/05d25fb3/attachment-0001.bin>


More information about the llvm-commits mailing list