| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| tests: Drop -polly-detect-unprofitable and -polly-no-early-exit These flags are now always passed to all tests and need to be disabled if not needed. Disabling these flags, rather than passing them to almost all tests, significantly simplfies our RUN: lines. llvm-svn: 249422 | 10 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| Use SCEV information for the second level aliasing We introduce another level of alias metadata to distinguish the individual non-aliasing accesses that have inter iteration alias-free base pointers marked with "Inter iteration alias-free" mark nodes. To distinguish two accesses, the comparison of raw pointers representing base pointers is used. In case of, for example, ublas's prod function that implements GEMM, and DeLiCM we can get accesses to same location represented by different raw pointers. Consequently, we create different alias sets that can prevent accesses from, for example, being sinked or hoisted. To avoid the issue, we compare the corresponding SCEV information instead of the corresponding raw pointers. Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: https://reviews.llvm.org/D35761 llvm-svn: 310380 | 8 年前 |
| Use SCEV information for the second level aliasing We introduce another level of alias metadata to distinguish the individual non-aliasing accesses that have inter iteration alias-free base pointers marked with "Inter iteration alias-free" mark nodes. To distinguish two accesses, the comparison of raw pointers representing base pointers is used. In case of, for example, ublas's prod function that implements GEMM, and DeLiCM we can get accesses to same location represented by different raw pointers. Consequently, we create different alias sets that can prevent accesses from, for example, being sinked or hoisted. To avoid the issue, we compare the corresponding SCEV information instead of the corresponding raw pointers. Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: https://reviews.llvm.org/D35761 llvm-svn: 310380 | 8 年前 |
| Make the pattern matching work with modified memory accesses Some optimizations (e.g., DeLICM) can modify memory accesses (e.g., change their MemoryKind). Consequently, the pattern matching should take it into the account. Reviewed-by: Tobias Grosser <tobias@grosser.es>, Michael Kruse <llvm@meinersbur.de> Differential Revision: https://reviews.llvm.org/D33138 llvm-svn: 308494 | 8 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [MatMul] Make MatMul detection independent of internal isl representations. The pattern recognition for MatMul is restrictive. The number of "disjuncts" in the isl_map containing constraint information was previously required to be 1 (as per isl_*_coalesce - which should ideally produce a domain map with a single disjunct, but does not under some circumstances). This was changed and made more flexible. Contributed-by: Annanay Agarwal <cs14btech11001@iith.ac.in> Differential Revision: https://reviews.llvm.org/D36460 llvm-svn: 311302 | 8 年前 |
| [MatMul] Make MatMul detection independent of internal isl representations. The pattern recognition for MatMul is restrictive. The number of "disjuncts" in the isl_map containing constraint information was previously required to be 1 (as per isl_*_coalesce - which should ideally produce a domain map with a single disjunct, but does not under some circumstances). This was changed and made more flexible. Contributed-by: Annanay Agarwal <cs14btech11001@iith.ac.in> Differential Revision: https://reviews.llvm.org/D36460 llvm-svn: 311302 | 8 年前 |
| [Polly] Remove -polly-vectorizer=polly. Polly's internal vectorizer is not well maintained and is known to not work in some cases such as region ScopStmts. Unlike LLVM's LoopVectorize pass it also does not have a target-dependent cost heuristics, and we recommend using LoopVectorize instead of -polly-vectorizer=polly. In the future we hope that Polly can collaborate better with LoopVectorize, like Polly marking a loop is safe to vectorize with a specific simd width, instead of replicating its functionality. Reviewed By: grosser Differential Revision: https://reviews.llvm.org/D142640 | 3 年前 |
| [Polly] Remove -polly-vectorizer=polly. Polly's internal vectorizer is not well maintained and is known to not work in some cases such as region ScopStmts. Unlike LLVM's LoopVectorize pass it also does not have a target-dependent cost heuristics, and we recommend using LoopVectorize instead of -polly-vectorizer=polly. In the future we hope that Polly can collaborate better with LoopVectorize, like Polly marking a loop is safe to vectorize with a specific simd width, instead of replicating its functionality. Reviewed By: grosser Differential Revision: https://reviews.llvm.org/D142640 | 3 年前 |
| [Polly] Remove -polly-vectorizer=polly. Polly's internal vectorizer is not well maintained and is known to not work in some cases such as region ScopStmts. Unlike LLVM's LoopVectorize pass it also does not have a target-dependent cost heuristics, and we recommend using LoopVectorize instead of -polly-vectorizer=polly. In the future we hope that Polly can collaborate better with LoopVectorize, like Polly marking a loop is safe to vectorize with a specific simd width, instead of replicating its functionality. Reviewed By: grosser Differential Revision: https://reviews.llvm.org/D142640 | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |
| [Polly] Convert some tests to opaque pointers (NFC) | 3 年前 |