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

Chris Lattner clattner at apple.com
Tue Jun 19 10:54:58 PDT 2007


>>> I don't see a better way so I guess this will be a targetinstrinfo
>>> bit (true for those with side-effects).
>>
>> Okay, the tricky thing here is instructions that have "conditional
>> side effects".  For example, all instructions marked isload/isstore/
>> iscall etc should be considered to have side effects (as would
>> anything with implicit definitions), but loads from constant pools
>> and other special cases should not be considered to have side  
>> effects.
>
> Calls should definitely be marked to have side-effects. To me the
> tricky cases are loads / stores. But can't we determine these from
> the operands? So, add one more condition:
> 3. if memory operation, no external symbol or global address inputs.
>
> Then we don't need to mark loads / stores as having side effects.

Ah right, even better.  So you're saying we don't need a new flag at  
all?

I guess this won't work right now though, because we don't model  
things that clobber the condcodes.  Wouldn't it be nice if we did? :)

-Chris



More information about the llvm-commits mailing list