[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
Wed Jun 29 19:28:04 PDT 2016


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

Add some more test cases (that already worked), asserts (that caught a bug
where we visit things too often), and the necessary plumbing to correctly
filter these extra visits.

At this point, I think the implementation is getting pretty good. I don't have
a lot of significant ideas of what else to test; Sanjoy's example really hit
the large remaining area that needs to be handled correctly.

I'm going to start working on the next layers (the devirt iteration driver and
the inliner).


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.62329.patch
Type: text/x-patch
Size: 64591 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160630/7ece454d/attachment.bin>


More information about the llvm-commits mailing list