[LLVMdev] anti-dependency breaking and mask/shift dependencies

Jakob Stoklund Olesen stoklund at 2pi.dk
Mon Jun 11 08:56:21 PDT 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?

/jakob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120611/3e22d6b6/attachment.html>


More information about the llvm-dev mailing list