summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2017-08-01 19:39:11 +0000
committerMichael Kruse <llvm@meinersbur.de>2017-08-01 19:39:11 +0000
commit693ef999356086c09cb28a6f63763eafc46416f6 (patch)
treecd625f4d25b2817d4e2dfb0e407989a1e4fd8fda /llvm/lib/CodeGen
parente327eebccb4c6a92bfb22d2ac383691f7e988235 (diff)
downloadbcm5719-llvm-693ef999356086c09cb28a6f63763eafc46416f6.tar.gz
bcm5719-llvm-693ef999356086c09cb28a6f63763eafc46416f6.zip
[Simplify] Improve scalability.
With a lot of reads and writes to the same array in a statement, some isl sets that capture the state between access can become complex such that isl takes more considerable time and memory for operations on them. The problems identified were: - is_subset() takes considerable time with many disjoints in the arguments. We limit the number of disjoints to 4, any additional information is thrown away. - subtract() can lead to many disjoints. We instead assume that any array element is possibly accessed, which removes all disjoints. - subtract_domain() may lead to considerable processing, even if all elements are are to be removed. Instead, we remove determine and remove the affected spaces manually. No behaviour is changed. llvm-svn: 309728
Diffstat (limited to 'llvm/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud