Commit Graph

74 Commits

Author SHA1 Message Date
William S. Moses d783d999de minor 2021-12-05 01:49:09 -05:00
William S. Moses 6ea4a343fd Fix upstream build 2021-12-01 14:51:48 -05:00
Morten Borup Petersen a1224cc23f Add a polygeist-opt tool
This commit adds a `polygeist-opt` command line tool. This allows us to drive each of the polygeist passes individually and as such lays the foundation for adding tests of the individual passes.

In doing so, a fair bit of restructuring/modifications of the various namespaces, function names etc. employed in the passes have been done. This was mostly due to inconsistensies in symbol names and namespaces which weren't being caught as errors due to missing inclusion of pass registration.
2021-11-29 11:14:19 -05:00
William S. Moses f579f6ccc2 Fix lowering 2021-11-16 13:03:41 -06:00
William S. Moses e90f4525d3 Add LLVM recursive lowering 2021-11-16 13:03:41 -06:00
William S. Moses 06d2e89a7d Fix build on clang 2021-11-16 13:03:41 -06:00
Lorenzo Chelini 4c2323a4c0 fix clang-format 2021-11-12 11:53:04 +01:00
William S. Moses 56c878e72d Update llvm 2021-11-11 10:40:08 -05:00
William S. Moses 02bd12f11a Bump layout api change 2021-11-11 10:40:08 -05:00
William S. Moses 90c964a30f Cleanup 2021-10-17 10:05:47 -04:00
William S. Moses b715377690 Handle return 2021-10-17 10:05:47 -04:00
William S. Moses d832458d9b Ensure packed 2021-10-17 10:05:47 -04:00
William S. Moses fc19797b2a Fix capture mem2reg 2021-10-17 10:05:47 -04:00
William S. Moses 26bcbec66a Bump LLVM 2021-10-17 10:05:47 -04:00
William Moses 5e918f7e52
Enable nested constructors, and introduce pointer2memref (#91)
* Pointer 2 Memref handling

* Add tests

* Fix mem2reg
2021-10-15 13:32:16 -04:00
William S. Moses 1b373bbdb5 cleanup 2021-10-12 23:49:21 -04:00
William S. Moses b8d3f38614 Handle undef initialization 2021-10-12 23:49:21 -04:00
William S. Moses 1bd3675da5 Handle undef initialization 2021-10-09 13:16:04 -04:00
William S. Moses cff309032c Fix format 2021-09-28 00:21:32 -04:00
William S. Moses 972591e103 Correct parallel lower and related codegen 2021-09-28 00:21:32 -04:00
William S. Moses 1f07d68b2a no region 2021-09-28 00:21:32 -04:00
William S. Moses 7a37ea7f00 Don't inline empty region 2021-09-28 00:21:32 -04:00
William S. Moses 0778c08843 Correct cudaMemcpy 2021-09-28 00:21:32 -04:00
Mike Urbach 106ed7a513 [CMake] Add MLIRNVVMIR to LINK_LIBS for MLIRPolygeistTransforms.
This dependency is necessary, e.g. when using BUILD_SHARED_LIBS.
2021-09-24 10:13:39 -04:00
lorenzo chelini 18f319c57e
Silence warnings (NFC) (#80) 2021-09-23 15:41:54 +02:00
William S. Moses 9619d130ee Cleanup code 2021-09-16 10:58:17 -04:00
William S. Moses 199c1e7d1e Fix tests 2021-09-16 10:58:17 -04:00
Alex Zinenko ec4212e126 Fix use-after-free in LoopRestructure
An op was being recreated (i.e., deleted and a new op created) in the
loop iterating its successors. Store the new op to keep visiting
successors.
2021-09-16 10:58:17 -04:00
William S. Moses 4de0646d4d Fixes to barrier continuation 2021-09-16 10:58:17 -04:00
Alex Zinenko acc2bd3f83 make continuation-style barrier removal support nested parallel
Only the innermost scf.parallel is allowed to contain barrier though.
Otherwise, we need a mechanism to recursively create local CFGs and
inline them into parent regions.
2021-09-16 10:58:17 -04:00
Alex Zinenko b570c7b115 skip over function declarations in continuation barrier removal 2021-09-16 10:58:17 -04:00
William S. Moses 09fa8837bc add files 2021-09-16 10:58:17 -04:00
William S. Moses 336bc9b81c Canonicalize for 2021-09-16 10:58:17 -04:00
William S. Moses 6bc6937fe8 select of subindex 2021-09-16 10:58:17 -04:00
William S. Moses 530597cfb7 Add cast of subindex canonicalization 2021-09-16 10:58:17 -04:00
William S. Moses eade58498b Fix affine subindex bug 2021-09-16 10:58:17 -04:00
Alex Zinenko 2f73a8622e Only consider immediately-nested barriers in hasNestedBarrier
Barriers are active on the first ancestor ParallelOp. When looking for
nested barriers, ignore those that are nested inside ParallelOps, which
are in turn nested in the operation of interest as they are active on
different loops.
2021-09-16 10:58:17 -04:00
William S. Moses 4123d514ea Adding missing file 2021-09-16 10:58:17 -04:00
William S. Moses 1a1a1955b6 Fixup lower 2021-09-16 10:58:17 -04:00
William S. Moses 8b95da86a9 Fix parallel loop distribute 2021-09-16 10:58:17 -04:00
William S. Moses 5799e8f124 Symbol linkage fixes 2021-09-16 10:58:17 -04:00
William S. Moses d6c7fe0d55 Simplify loop distribute 2021-09-16 10:58:17 -04:00
William S. Moses 4f59718e85 Custom cuda lowering 2021-09-16 10:58:17 -04:00
William S. Moses ba28812f58 Bump LLVM and GPU fixes 2021-09-16 10:58:17 -04:00
Mike Urbach afcba4add7 Add some extra LINK_LIBS that were missing.
These were uncovered during a development build with
BUILD_SHARED_LIBS=ON.
2021-08-24 14:57:54 -04:00
William S. Moses 70b9d5e8a7 cleanup 2021-08-19 11:32:05 -04:00
William S. Moses 9b9e755f39 Fix tuple constructs 2021-08-19 11:32:05 -04:00
William S. Moses df77398f80 Handle switch in mem2reg 2021-08-19 11:32:05 -04:00
Lorenzo Chelini 8fb9ac6429 Bump LLVM 8c50b5fbfef113157d35f74b95c959c20eb37fab 2021-08-16 18:46:26 -04:00
lchelini e9b551c1e7 Use LowerTo pragma to generate a linalg.copyOp
- Refactor pragma lower to handling
2021-07-20 09:20:31 +02:00