<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span class=""><blockquote type="cite"><p dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">One of the important property of MC is avoiding the need for two code paths in the code generator.<span> </span></p><p dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">If MC cannot support the format you need, we should work on fixing that in a way that maintains the property that most code is shared when writing objects or assembly. This is a need that is shared by Webassembly I think.<span> </span></p><p dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">My suggestion would be to start with just the assembly printing path and work to figure out what needs to happen in MC.<span> </span></p><div><br></div></blockquote><br></span></div><div>It will take a long time to come up with a replacement for emitting BRIG in MC. How blocking of an issue is this to getting this committed? If really necessary, I can strip out the BRIG stuff, but would need to constantly maintain a patch re-adding it on top of trunk which would be a huge hassle so I would rather not.</div></div></blockquote><div><br></div><div>Dan and I have talked to a few folks who have given us the same feedback for WebAssembly: we should consider using MC for virtual ISA emission, even though it isn't quite suitable as it exists in LLVM today. It's an opportunity to fix LLVM. Dan and I don't know much about MC, but we are going to explore this route.</div><div><br></div><div>I have no opinion on how this should affect HSAIL's current patch. Dan and I are willing to take the lead on this, and would be happy to work with other virtual ISAs to make sure architectural changes to MC make sense for their usecases.</div></div></div></div>