[LLVMdev] anti-dependency breaking and mask/shift dependencies
Jakob Stoklund Olesen
stoklund at 2pi.dk
Mon Jun 11 10:56:21 CDT 2012
On Jun 11, 2012, at 8:07 AM, Hal Finkel wrote:
> Also, I think the following might work well: If we add a special kind
> of register dependency called a 'remembered' register. This is not a
> real dependency meaning that that the instruction does not actually
> read or write to the register, but it means that if the register
> allocator (or anything else) swaps the referenced register for another
> one (or a new virtual register), then the 'remembered' register needs to
> be swapped as well. Using this I can create a late-expanded pseuso
> which represents the necessary mask/shift operation. This operation has
> real read/write dependencies on the GPRs being used, but also needs to
> 'remember' from which cr the input originally came. On the other
> hand, this might create a bunch of dead-register-dependency
> special cases in CodeGen which would not be worth the effort. What do
> you think?
I am not sure I follow completely, but it sounds like it would be quite fragile?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the LLVMdev