[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

Evan Cheng evan.cheng at apple.com
Tue Jun 19 09:38:15 PDT 2007


On Jun 19, 2007, at 8:06 AM, Chris Lattner wrote:

>>> This achieves two things:
>>>
>>> 1. Just looking at the .td file, you can tell which instructions are
>>> candidates for remat.
>>> 2. The isRematerializable predicate is faster for instructions that
>>> are not remat-able.
>>> 3. The isReallyRematerializable only needs to be implemented by
>>> targets with instructions that are remat-able only in some cases
>>> (like the x86 instructions).
>>
>> I okay'd Dan patch after considering the trade-offs. To me this gets
>> rid of the duplicate instructions so it's worth it.
>
> I think both approaches get rid of the duplicate instructions.

Right, not disputing that.

>
>> If we are really concerned about the speed, then I agree the hybrid
>> approach is the best. Sorry about the confusion.
>
> Speed is something to consider, but I don't think it should override
> maintainability.
>
>> Not to mention I had already considered the "trivial
>> rematerialization"
>> scheme to be temporary.
>
> Okay, how do you think this should work going forward?

Trivial remat will go away when proper remat is implemented. All  
instructions without side-effect will be rematerializable if their  
operands are available so all these will go away. Not that proper  
remat is coming anytime soon though.

Evan


>
> -Chris
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list