[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