forked from OSchip/llvm-project
![]() If a value is globally mapped (IslNodeBuilder::ValueMap) and referenced in the code that will be put into a subfunction, we hand down the new value to the subfunction. This patch also removes code that handed down all invariant loads to the subfunction. Instead, only needed invariant loads are given to the subfunction. There are two possible reasons for an invariant load to be handed down: 1) The invariant load is used in a block that is placed in the subfunction but which is not the parent of the load. In this case, the scalar access that will read the loaded value, will cause its base pointer (the preloaded value) to be handed down to the subfunction. 2) The invariant load is defined and used in a block that is placed in the subfunction. With this patch we will hand down the preloaded value to the subfunction as the invariant load is globally mapped to that value. llvm-svn: 249126 |
||
---|---|---|
.. | ||
BlockGenerators.cpp | ||
CodeGeneration.cpp | ||
IRBuilder.cpp | ||
IslAst.cpp | ||
IslExprBuilder.cpp | ||
IslNodeBuilder.cpp | ||
LoopGenerators.cpp | ||
RuntimeDebugBuilder.cpp | ||
Utils.cpp |