<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 4, 2012, at 2:27 PM, "Madhusudan C.S" <<a href="mailto:madhusudancs@gmail.com">madhusudancs@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "><div style="word-wrap:break-word"><div>Basically, the PrologEpilogInsertion pass will add a bit mask to MachineModuleInfo describing which registers are clobbered by the function being compiled. Later, when compiling the callers, that bit mask is used to initialize the regmask operands on call instructions.</div>
</div></blockquote><div><br>So the idea is to sidestep from the calling convention a bit if we<br>already know that the called function will not be using all the<br>registers required by the convention and instead use those registers<br>
in the caller?<br></div></div></blockquote><div><br></div><div>That's right.</div><br><blockquote type="cite"><div class="gmail_quote"><div>If I am understanding this correctly, is this something desirable for<br>LLVM, even if it is not high priority?</div></div></blockquote><div><br></div><div>Yes.</div><br><blockquote type="cite"><div class="gmail_quote"><div> Would you guys be Ok if I try<br>to implement this without disturbing the project priorities but with<br>
a little help/guidance?</div></div></blockquote><div><br></div><div>Absolutely.</div><div><br></div><div>/jakob</div><div><br></div></div></body></html>