<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 10, 2015, at 10:49 AM, Derek Schuff <<a href="mailto:dschuff@google.com" class="">dschuff@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Dec 10, 2015 at 10:13 AM Quentin Colombet <<a href="mailto:qcolombet@apple.com" class="">qcolombet@apple.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""><br class=""></div><div class="">I am tempted to think no, we don’t, but I don’t know the use cases.</div><div class="">What post-RA passes with want to run with virtual regs?</div><div class=""><br class=""></div></div></blockquote><div class="">The immediate one that precipitated this mail was PrologEpilogInserter.</div><div class="">However currently the only other pass we have disabled in WebAssemblyTargetMachine is MachineCopyPropagation.</div><div class="">Several passes (post-RA MachineLICM, StackSlotColoring) already only run if RA runs.</div><div class="">Everything else is running today. Currently that's ShrinkWrap, BranchFolder, ExpandPostRAPseudos, PostRAScheduler, GCMachineCodeAnalysis, MachineBlockPlacement, FuncletLayout, and StackMapLiveness. All of these run after our register coloring pass.<br class=""></div></div></div>
</div></blockquote></div><br class=""><div class="">I don’t know for the other passes, but I don’t think it makes sense to teach PrologEpilogInserter to work on virtual registers, since part of its job is to get rid of any virtual registers created when lowering the frame.</div><div class="">I.e., that would indirectly mean that we would need to teach the scavenger how to recycle virtual registers!</div><div class=""><br class=""></div><div class="">The bottom line is, it feels wrong to me.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Q.</div></body></html>