[LLVMdev] LICM/store-aliasing of global loads

Evan Cheng evan.cheng at apple.com
Tue Jul 22 18:16:39 PDT 2008


On Jul 22, 2008, at 2:51 PM, Stefanus Du Toit wrote:

> \
>
>> For register allocation, LLVM currently has some simple hooks which
>> individual targets use to specify which loads are rematerializable.
>> See isReallyTriviallyReMaterializable. Currently this code is all
>> target-specific and doesn't use AliasAnalysis information, but I
>> think it could be reasonably generalized to use the new
>> MachineMemOperand information to be less target-dependent and to
>> make at least AliasAnalysis::pointsToConstantMemory queries.
>
> OK, I will have a look. I assume the reference to M_REMATERIALIZABLE
> in the comment for it should really be TID::Rematerializable? I also
> noticed that the documentation for
> TargetInstrDesc::isRematerializable() says "This flag is deprecated,
> please don't use it anymore" -- could you explain what replaces it?

It's not *yet* deprecated. The intent is to replace it with  
hasSideEffects, mayHaveSideEffects, neverHasSideEffects, and more  
analysis. It hasn't happened yet.

Evan

>
>
> Stefanus
>
> --
> Stefanus Du Toit <stefanus.dutoit at rapidmind.com>
>   RapidMind Inc.
>   phone: +1 519 885 5455 x116 -- fax: +1 519 885 1463
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list