<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></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 Nov 16, 2015, at 12:19 PM, Krzysztof Parzyszek <<a href="mailto:kparzysz@codeaurora.org" class="">kparzysz@codeaurora.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">kparzysz added a comment.<br class=""><br class="">How do you prevent the scavenger from clobbering YMM0 then?</div></div></blockquote><div><br class=""></div><div>IIRC the scavenger runs on RegUnit.</div><br class=""><blockquote type="cite" class=""><div class=""><div class=""> Do you think that a similar problem could also happen on X86 in some circumstances?<br class=""></div></div></blockquote><div><br class=""></div><div>Theoretically that should be possible, but right now the CSRs are set by indirectly set by <span style="font-family: Menlo; font-size: 11px;" class="">TargetFrameLowering::determineCalleeSaves</span></div><div>for x86, which calls MachineRegisterInfo::isPhysRegModified for all registers. And that method checks for aliases.</div><div><br class=""></div><div>I.e., even if getCalleeSavedRegister represents only the minimal set, getCalleeSavedInfo gets all.</div><div><br class=""></div><div>Hope that helps.</div><div><br class=""></div><div>Q.</div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><br class=""><br class="">Repository:<br class=""> rL LLVM<br class=""><br class=""><a href="http://reviews.llvm.org/D14719" class="">http://reviews.llvm.org/D14719</a><br class=""><br class=""><br class=""><br class=""></div></div></blockquote></div><br class=""></body></html>