summaryrefslogtreecommitdiffstats
path: root/lld
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2017-02-23 21:58:20 +0000
committerMichael Kruse <llvm@meinersbur.de>2017-02-23 21:58:20 +0000
commite199f285b099a31ed50c303c1d20499b1302fe53 (patch)
tree72b15eefda72542f207473587ba4928c38135797 /lld
parent78468e48cf30317e8db71d4b3e29e3cd9a449190 (diff)
downloadbcm5719-llvm-e199f285b099a31ed50c303c1d20499b1302fe53.tar.gz
bcm5719-llvm-e199f285b099a31ed50c303c1d20499b1302fe53.zip
[DeLICM] Fortify against exceeding isl's max operations counter.
Control flow would flow-through after the check whether the operations quota exceeded, with the intention that it would later be caught by Knowledge::isUsable(). However, the Knowledge constructor has its own assertions to check consistency which would fail if its fields have only been initialized partially because some sets have been computed correctly before the operations quota takes effect. Fix by erroring-out early instead of falling-throught into the code that might expect that everything has been computed correctly. For robustness, also bail-out if any of the fields contain nullptr values instead of relying on isl always setting exactly this error code if something went wrong. This should fix the perf-x86_64-penryn-O3-polly-before-vectorizer-unprofitable (-polly-process-unprofitable -polly-position=before-vectorizer -polly-enable-delicm) buildbot. llvm-svn: 296022
Diffstat (limited to 'lld')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud