<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 19, 2014 at 5:52 PM, Quentin Colombet <span dir="ltr"><<a href="mailto:qcolombet@apple.com" target="_blank">qcolombet@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><blockquote type="cite"><div dir="ltr"><div class="gmail_extra">Would it be possible to stop adding this pass from opt and instead have llc (and the target machine) add the pass? I don't think we have any real reason to want to see CGP output from opt…</div>

</div>
</blockquote></div>Well… I do :).<div><br></div><div>CGP is IR to IR pass and I do prefer write unitary test that check against IR =.</div></blockquote><div><br></div><div>We already have a decent number of IR to IR passes in llc. I don't know why CGP is special here. I think all of this is a symptom of the fact that we haven't actually solved the fundamental problems of target-specific IR passes.</div>
<div><br></div><div>If we link lib/CodeGen into the opt tool, we should get rid of llc. It looses all value IMO. Instead, I'm suggesting to give it the actual value it should have had -- the code generator specific testing, including IR-passes that are code generator specific as well as IR -> MI lowering and testing at that layer.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>More over, CGP is doing some stuff even when TargetLowering is not available as demonstrated in some tests.</div>
</blockquote></div><br>Sure. But we could probably stop handling the "unavailable" state and simplify CGP as there is really no need to handle both cases once the layering issues are fully sorted.</div></div>