[llvm-commits] [llvm] r47545 - in /llvm/trunk: include/llvm/CodeGen/LiveIntervalAnalysis.h lib/CodeGen/LiveIntervalAnalysis.cpp

Chris Lattner clattner at apple.com
Mon Feb 25 11:24:31 PST 2008


On Feb 25, 2008, at 11:21 AM, Evan Cheng wrote:
> We *are* remating other loads.

The case I was thinking of was:

tmp = load P
add
add
use (tmp)
add
add
use (tmp)

to:

add
add
tmp = load P
use (tmp)
add
add
tmp2 = load P
use (tmp2)

Which is safe for an arbitrary non-volatile load as long as there  
isn't a store that might alias P between the original load and the uses.

As long as we can eventually handle this, I'm happy ;-)

-Chris

>
>
> Evan
>
> On Feb 25, 2008, at 11:11 AM, Chris Lattner wrote:
>
>> On Feb 25, 2008, at 10:50 AM, Evan Cheng wrote:
>>> There isn't. However it is assigned a *stack slot* and the remat
>>> logic
>>> was mistaking it for folding a restore / spill. I'll clarify.
>>
>> Ah ok!  At some point we will want to remat other random loads (which
>> might be from stack slots), so please make sure this isn't specific
>> just to argument loads.  I'm thinking of the FFT example in bugzilla.
>>
>> -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