Displaying 4 results from an estimated 4 matches for "isreallytriviallyrematerializable".
2008 Jul 22
3
[LLVMdev] LICM/store-aliasing of global loads
...ter here.
Could you expand on this a bit (or point me to past discussions/...)?
This can be pretty important on architectures like Cell SPU.
> 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....
2008 Jul 22
0
[LLVMdev] LICM/store-aliasing of global loads
...e AliasAnalysis
queries and do a pretty good job, but aren't very efficient and not
very widely tested. Ideally we'd like to do something better here.
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.
Dan
2008 Jul 21
6
[LLVMdev] LICM/store-aliasing of global loads
Our frontend can guarantee that loads from globals are
rematerializable and do not alias with any stores in any function in
the given module. We'd like the optimization passes (and ideally the
register allocator as well) to be able to use this fact. The globals
are not constant "forever" but are constant during the calling of any
given function in the module.
There seem to
2008 Jul 23
0
[LLVMdev] LICM/store-aliasing of global loads
...at it's an important capability. We're gradually working
on adding the requisite pieces, and we welcome help :-).
>
>
>> 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::pointsToConstant...