-
Factor out prelowerPhi for 32-bit targets. Disable adv phi lowering for ARM. · 53483691Jan Voung authored
This way, prelowerPhi can be shared between 32-bit targets (split 64-bit values into 32-bit ones, and legalize undef). Suggestions from template experts on how to share prelowerPhi welcome. I'm not particularly happy with the first pass in that legalizeUndef has to be made public (though other methods used are also public). Also the methods required from the template type TargetT aren't clear without looking through the code. The current advanced phi lowering code depends on lowerPhiAssignments. That is a special case of lowerAssign that does some adhoc register allocation. The current adhoc register allocation doesn't work as well when a target may need to spill more than one register. Disable that optimization for ARM for now, until we have a better way that works for ARM, and enable O2 cross testing on ARM. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1223133007 .
53483691
×