summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-10-18 12:39:19 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-10-18 12:39:19 +0000
commitaf3e301a6709346e4571911c6782ddf746837919 (patch)
tree32d09292da74f64947be725d54c05b6d109d7aaf /clang/lib/Driver/Tools.cpp
parentd8b6ad255f5a3e1ad1653477654e053292283785 (diff)
downloadbcm5719-llvm-af3e301a6709346e4571911c6782ddf746837919.tar.gz
bcm5719-llvm-af3e301a6709346e4571911c6782ddf746837919.zip
[FIX] Restructure invariant load equivalence classes
Sorting is replaced by a demand driven code generation that will pre-load a value when it is needed or, if it was not needed before, at some point determined by the order of invariant accesses in the program. Only in very little cases this demand driven pre-loading will kick in, though it will prevent us from generating faulty code. An example where it is needed is shown in: test/ScopInfo/invariant_loads_complicated_dependences.ll Invariant loads that appear in parameters but are not on the top-level (e.g., the parameter is not a SCEVUnknown) will now be treated correctly. Differential Revision: http://reviews.llvm.org/D13831 llvm-svn: 250655
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud