<div class="gmail_quote">On Mon, May 14, 2012 at 1:52 PM, Andrew Trick <span dir="ltr"><<a href="mailto:atrick@apple.com" target="_blank">atrick@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div>None of these are issues for prototyping your pass. I'm just clarifying the high-level direction of CFG analysis in LLVM as I understand it.</div></div></blockquote><div><br></div><div>It would be better to have such clarification in documentation, ideally in the header files of these passes. This is a very "meta" point, but it is frustrating to contributors to have arbitrary restrictions materialize only after designing an optimization. I would rather that people are aware of the constraints they need to work within if they want to implement a particular optimization pass.</div>
<div><br></div><div>Essentially, if there are analyses or passes which are known to be unacceptable for the normal compilation pipeline, I think that would be an important thing to mention in the high-level comments for the pass. (It is possible that I missed such comments, or that I never looked in the right place, but I feel like the fact that dom-frontier and region-info is essentially on the chopping block should be more clear than it currently is... ;]</div>
<div><br></div><div>Anyways, this isn't hugely relevant to me (i probably should have been aware of this honestly), its something I worry about in general.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Maybe you just want a neat Region iterator API utility that could be used by anyone doing region discovery, including RegionInfo. But you wouldn't need to pull in RegionInfo analysis.</div></blockquote></div><br>
<div>This does indeed seem more like what I want. I'll look more into whether I can use the existing domtree information and an iteration strategy when I get another bit of free time to work on this (no clue when that'll happen).</div>