[PATCH] D22405: [PM] Add a generic 'repeat N times' pass wrapper to the new pass manager.

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 03:25:00 PDT 2016


chandlerc created this revision.
chandlerc added a subscriber: llvm-commits.
Herald added subscribers: mcrosier, mehdi_amini.

While this has some utility for debugging and testing on its own, it is
primarily intended to demonstrate the technique for adding custom
wrappers that can provide more interesting interation behavior in
a nice, orthogonal, and composable layer.

Being able to write these kinds of very dynamic and customized controls
for running passes was one of the motivating use cases of the new pass
manager design, and this gives a hint at how they might look. The actual
logic is tiny here, and most of this is just wiring in the pipeline
parsing so that this can be widely used.

I'm adding this now to show the wiring without a lot of business logic.
This is a precursor patch for showing how a "iterate up to N times as
long as we devirtualize a call" utility can be added as a separable and
composable component along side the CGSCC pass management.

https://reviews.llvm.org/D22405

Files:
  include/llvm/IR/PassManager.h
  lib/Passes/PassBuilder.cpp
  test/Other/new-pass-manager.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22405.64117.patch
Type: text/x-patch
Size: 14027 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160715/59dd31af/attachment.bin>


More information about the llvm-commits mailing list