<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 20, 2015 at 9:35 PM, Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<br><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"><div dir="ltr">Hi all,<div><br></div><div>As of r232885 I've removed the argument-less TargetMachine::getSubtarget and TargetMachine::getSubtargetImpl. For the targets that aren't completely independent of this I've gone ahead and left a non-virtual version of the function in the target specific TargetMachine. What this means in practice is that those targets can only use a bare getSubtarget call in their target specific code, and should probably clean that up as soon as they can. They'll definitely be unable to use any of the function multiversioning support when it goes in and they'll be unable to LTO binaries that have functions with different subtarget features/cpus.</div><div><br></div></div></blockquote><div><br></div><div>Thanks!</div><div> </div><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"><div dir="ltr"><div></div><div>Updating out of tree ports should be fairly straightforward for now. Updating out of tree code otherwise should be ok, but given I've been removing this stuff for some time you've probably been working on it anyways. Do file bugs if there's anything I've missed or send me a message if you run into a problem (I know of a couple off hand that need investigating).</div><div><br></div></div></blockquote><div><br></div><div>I noticed LLVMTargetMachine::addPassesToEmitFile is passing the default MCSubtargetInfo to createMCInstPrinter. Since there are cases where AArch64's InstPrinter looks at the target cpu to print an operand (see AArch64SysReg::SysRegMapper::toString, which is called from AArch64InstPrinter::printMRSSystemRegister), should we make changes in AArch64AsmPrinter to pass down the per-function subtarget? You can compile the attached IR with llc and see it doesn't output cyclone's system register unless "-mcpu cyclone" is specified on the command line, even thought the IR has "target-cpu"="cyclone" on the function. I don't think this affects correctness, but I thought I should point out the difference.<br></div><div><br></div><div><br></div><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"><div dir="ltr"><div></div><div>Thanks!</div><span class=""><font color="#888888"><div><br></div><div>-eric</div></font></span></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div></div>