summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/SampleProfile.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-09-29 23:47:21 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-09-29 23:47:21 +0000
commitc1db67e218ae22ab626ba75a5f6329786ca84c63 (patch)
treeded107c00f99e63eb1775434621c98be669a8fd4 /llvm/lib/Transforms/IPO/SampleProfile.cpp
parentf6343d74eff61e909e05b3d0fc4ec7483e922e0c (diff)
downloadbcm5719-llvm-c1db67e218ae22ab626ba75a5f6329786ca84c63.tar.gz
bcm5719-llvm-c1db67e218ae22ab626ba75a5f6329786ca84c63.zip
Identify and hoist definitively invariant loads
As a first step in the direction of assumed invariant loads (loads that are not written in some context) we now detect and hoist definitively invariant loads. These invariant loads will be preloaded in the code generation and used in the optimized version of the SCoP. If the load is only conditionally executed the preloaded version will also only be executed under the same condition, hence we will never access memory that wouldn't have been accessed otherwise. This is also the most distinguishing feature to licm. As hoisting can make statements empty we will simplify the SCoP and remove empty statements that would otherwise cause artifacts in the code generation. Differential Revision: http://reviews.llvm.org/D13194 llvm-svn: 248861
Diffstat (limited to 'llvm/lib/Transforms/IPO/SampleProfile.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud