[PATCH] Add a case to LiveIntervalAnalysis::HandleMoveUp

Jakob Stoklund Olesen stoklund at 2pi.dk
Sat Feb 9 09:19:25 PST 2013


On Feb 8, 2013, at 2:31 PM, Vincent Lejeune <vljn at ovi.com> wrote:

> Some target like R600 may want to swap LiveRange order for a same register.
> This happens for instance if several subregisters can be independantly written
> to ; for instance in the case of R600, a 128 bits register is composed of 4 32
> bits subregisters that have no write order restriction. To maximise VLIW bundle
> size and thus increase parrallelism the R600 target may swap subreg definitions.
> This patch allows LiveIntervals to support such changes.

Hi Vincent,

Thanks for working on this, I think it is a useful feature.

The live intervals maintain an SSA form on the side - all live ranges must be dominated by their VNInfo def. That makes it a bit complicated to move defs across other defs.

Could you give an example of what you're trying to do, including before/after live intervals? Make sure your virtual register is live-out of the basic block.

(And please use proper punctuation in your comments).

Thanks,
/jakob





More information about the llvm-commits mailing list