[llvm-commits] [llvm] r51660 - in /llvm/trunk: include/llvm/Target/TargetInstrDesc.h lib/CodeGen/MachineInstr.cpp lib/Target/Target.td utils/TableGen/CodeGenInstruction.cpp utils/TableGen/CodeGenInstruction.h utils/TableGen/InstrInfoEmitter.cpp

Chris Lattner clattner at apple.com
Wed May 28 18:26:37 PDT 2008


On May 28, 2008, at 6:22 PM, Evan Cheng wrote:

> Why do we want another flag? In two-address pass, we want to remat the
> def instead of copying its value if the instruction is *cheap*.
>
> Most of the rematerializable instructions are cheap. But I don't think
> we want to remat load from constantpool here, do we?
>
> In the long run, we want proper cost information for every instruction
> instead of Rematerializable and / or CheapAsMove. Then we can replace
> the whole mess with proper checks. Until then, I don't see something
> like CheapAsAMove buys us.

This is specifically trying to decide if the instruction is as cheap  
as a move.  If the instruction is more expensive (e.g. an add or xor)  
it should not have this.

We want to eventually remat adds and xors when register pressure is  
high... these are very different concepts.  Does that seem reasonable?

-Chris

>
>
> Evan
>
> On May 28, 2008, at 4:56 PM, Chris Lattner wrote:
>
>>
>> On May 28, 2008, at 4:50 PM, Evan Cheng wrote:
>>
>>> Please don't add another flag. For now, please check if an
>>> instruction
>>> is rematerializable && !mayload.
>>
>> Why?
>>
>> -Chris
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> _______________________________________________
> 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