summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/modernize-loop-convert-uppercase.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-10-02 13:11:27 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-10-02 13:11:27 +0000
commit911951f4f85487df14c9b8e87921e1fb96539b7c (patch)
tree22348c42c42369861ae21f5874aa61b9cb05b1ab /clang-tools-extra/test/clang-tidy/modernize-loop-convert-uppercase.cpp
parent478a7de18b9a65c47c2c7ae46e873c8638b45a9b (diff)
downloadbcm5719-llvm-911951f4f85487df14c9b8e87921e1fb96539b7c.tar.gz
bcm5719-llvm-911951f4f85487df14c9b8e87921e1fb96539b7c.zip
Hand down referenced & globally mapped values to the subfunction
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
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/modernize-loop-convert-uppercase.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud