[llvm] r174904 - Extend Hexagon hardware loop generation to handle various additional cases:
Krzysztof Parzyszek
kparzysz at codeaurora.org
Sat Apr 27 10:05:43 PDT 2013
On 4/26/2013 10:53 PM, Hal Finkel wrote:
>
> I'd found from working with the first version of this pass, ported to PPC, that I needed to add the counter register as live-in to all non-preheader loop blocks (or at least to LastMBB). Do you need to do something similar here? [for machine-code verification.]
Hi Hal,
Thanks for the additional comments---I just read them and I haven't
thought about them in detail yet, but just to comment on the liveness
remark above: the registers (SAn and LCn, n=0,1) that control hardware
loop execution on Hexagon are marked as reserved, which (IIRC) exempts
them from the liveness tracking.
On the other comments---you're most likely right. The code has evolved
from a simpler version, and some pieces of it that were needed earlier
may no longer be necessary. In the long run it should be refactored to
common out the functionality that could be shared between architectures.
Unfortunately, the way the code is currently written is
Hexagon-centric, and so each time you have to go through the porting
process.
-Krzysztof
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-commits
mailing list