[PATCH] Add a case to LiveIntervalAnalysis::HandleMoveUp

Jakob Stoklund Olesen stoklund at 2pi.dk
Sun Feb 10 08:32:42 PST 2013


On Feb 9, 2013, at 4:14 PM, Vincent Lejeune <vljn at ovi.com> wrote:

> I'd like to reorder subregisters as part of pre RA scheduling machine instruction, in order to maximise bundling opportunities later.
> In R600 there are 128 bits registers, Tn_XYZW, and 4 more times 32 bits registers, Tn_X, Tn_Y, TnZ and Tn_W,  with n between 0 and 127 in both case.
> The Tn_X, Tn_Y, Tn_Z and Tn_W register are also subregister of the Tn_XYZW register. They map to what the R600 doc calls "channel", that is T1_X is 
> channel Y of register 1.

That's fine, but when a VNInfo is live out of a basic block, it can have a very complicated live ranges with multiple discontiguous segments. Your patch didn't account for that.

This is why I suggested that you work through an example with a live-out value number.

/jakob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130210/8e013311/attachment.html>


More information about the llvm-commits mailing list