diff options
| author | Michael Kruse <llvm@meinersbur.de> | 2017-08-01 19:39:11 +0000 |
|---|---|---|
| committer | Michael Kruse <llvm@meinersbur.de> | 2017-08-01 19:39:11 +0000 |
| commit | 693ef999356086c09cb28a6f63763eafc46416f6 (patch) | |
| tree | cd625f4d25b2817d4e2dfb0e407989a1e4fd8fda /llvm/lib/CodeGen | |
| parent | e327eebccb4c6a92bfb22d2ac383691f7e988235 (diff) | |
| download | bcm5719-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

