search for: isreallytriviallyrematerializable

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...