[llvm-commits] [PATCH] Make SimplifyCFGPass preserve the dominator tree

Peter Cooper peter_cooper at apple.com
Fri Jun 8 15:04:43 PDT 2012


On Jun 8, 2012, at 3:00 PM, Chandler Carruth wrote:

> On Fri, Jun 8, 2012 at 10:47 AM, Peter Cooper <peter_cooper at apple.com> wrote:
> Hi all
> 
> Attached is a pass to make the SimplifyCFGPass preserve the dominator tree.  Currently we see lots of recalculations of the dom tree right after simplify cfg runs, regardless of whether simplify cfg actually did anything.
> 
> This pass explicitly recalculates the dom tree if simplify cfg did anything, but otherwise just leaves it preserved so we recalculate less often.
> 
> Also, i'm open to suggestions for a better way to do this.  Ideally the pass manager could track this but not all passes return true from their run functions when they actually make a change.
> 
> Can we just go fix these passes and then teach the pass manager to preserve analyses across passes that claim they didn't change anything? There aren't *that* many optimization passes.
Yeah, that would be possible.  Like you say, there aren't that many passes.  As I just replied to John, passes like simplify lib calls need fixed but its trivial to see how its return value would need to be fixed.

Thanks,
Pete
> 
> Anyways, I'm also interested in incrementally updating domtree, just wanted to see if we could get the heavy hammer part in a more general way. 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120608/8ae157ed/attachment.html>


More information about the llvm-commits mailing list