Commit Graph

234 Commits

Author SHA1 Message Date
William S. Moses c1a4bc3312 Complex datatype 2021-09-16 10:58:17 -04:00
William S. Moses ca6ede9c94 Correct lambda capture 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
Alex Zinenko 4b581a990e Use LLVM_SOURCE_DIR instead of hardcoding relative path
Otherwise the cmake wouldn't work with pre-built LLVM.
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 8252e5b4b2 Primitive debug info 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 5e9ca0bd1f Fix function linking 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 d9e53d30d9 Integrated execution generation 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
William S. Moses fda086eb99 Additional GPU fixes 2021-09-16 10:58:17 -04:00
Lorenzo Chelini 1b94b95e55 Fix memory leak on ModuleOp 2021-09-16 11:43:02 +02:00
Lorenzo Chelini 376fdc0b48 Option to build with address sanitizers
copy from: https://github.com/jmgorius/mlir-standalone-template
2021-09-16 11:42:46 +02:00
Morten Borup Petersen fb130970f1 Fix relative include path for clang lib headers
source-relative include path was used to include the headers in question, leading to an issue if building Polygeist with an out-of-tree llvm/clang build.
The proposed fix uses the "clang/..." based include path as a starting point and locates the lib headers relative to this, which should (hopefully) work for any location of an out-of-tree build.
2021-09-15 12:52:40 -04:00
Lorenzo Chelini 593aad6231 Re-commit "Update LLVM (NFC)" 2021-09-01 15:22:24 +02:00
Lorenzo Chelini 1eccb7f3e7 Revert "Update LLVM (NFC)"
This reverts commit 8d7a4f8d9f.

For some reason I saw these failure only after cleaning and rebulding LLVM.
Revert for now and investigate.
2021-09-01 14:53:49 +02:00
Lorenzo Chelini 8d7a4f8d9f Update LLVM (NFC)
- remove old readme in mlir-clang
2021-09-01 10:15:49 +02:00
mikeurbach 667d3aeae3
Add installation guide for LLVM_EXTERNAL_PROJECTS. (#67) 2021-08-24 21:13:19 +02: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
Mike Urbach 40c887089b Tweaks to support building with LLVM_EXTERNAL_PROJECTS.
This pattern is implemented by Clang itself and CIRCT, for example. It
boils down to settings some variables appropriately and including some
extra directories when we detect Polygeist is built as an external
project of LLVM.
2021-08-23 16:33:48 -04:00
Hanchen Ye e3b66f6940
Add installation guide (#62) 2021-08-23 15:29:12 -05:00
William S. Moses 70b9d5e8a7 cleanup 2021-08-19 11:32:05 -04:00
William S. Moses 2f3a98b131 Restore ref to pointer 2021-08-19 11:32:05 -04:00
William S. Moses d5f446ce54 Fix formatting 2021-08-19 11:32:05 -04:00
William S. Moses 11cf052251 Simplify allocation and cudaMemset 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
William S. Moses 8fb325d427 Correct pair behavior 2021-08-19 11:32:05 -04:00
William S. Moses 020886beda global linkage 2021-08-19 11:32:05 -04:00
William S. Moses ec4726bb17 Fix inline allocation 2021-08-17 11:25:55 -04:00
Lorenzo Chelini 8fb9ac6429 Bump LLVM 8c50b5fbfef113157d35f74b95c959c20eb37fab 2021-08-16 18:46:26 -04:00
Morten Borup Petersen 045d9ec299 Fix typo in CMakeLists.txt 2021-08-11 15:42:07 +02:00
Lorenzo Chelini ee780a392c Bump LLVM 56a6686e0c45798dfda2f1b91ff921536c7c5e33 2021-07-20 11:06:48 -04:00
Lorenzo Chelini fbf4f3f1d8 Add 'Input' and 'Output' to pragma lower_to
Some operations like linalg.copyOp require knowing the input and output buffer.
The function signature is not enough to understand input and output, thus
adding them explicitly on the pragma.
2021-07-20 09:20:31 +02:00
lchelini e9b551c1e7 Use LowerTo pragma to generate a linalg.copyOp
- Refactor pragma lower to handling
2021-07-20 09:20:31 +02:00
lchelini 3b54e6eea4 Move pragma handlers (NFC) 2021-07-20 09:20:31 +02:00
lchelini 1146340bd8 Simplify LowerTo pragma handling 2021-07-20 09:20:31 +02:00
Lorenzo Chelini 3db50fd2b8 Start refactoring of VisitCallExpr
The function is too long and needs to be splitted into multiple smaller
functions.  1st attempt in this direction.
2021-07-20 09:20:31 +02:00
Vincent Zhao 3bc0e591c1 Added funcop -> op by lower_to name 2021-07-20 09:20:31 +02:00
Vincent Zhao 3e7b12a2c4 lower_to pragma handler 2021-07-20 09:20:31 +02:00
William S. Moses 52e9d19c45 Fix format 2021-07-08 20:47:52 -04:00
William S. Moses 777d981276 Fix print 2021-07-08 20:47:52 -04:00
William S. Moses 014817c7e0 Fix address of for array convention 2021-07-08 20:47:52 -04:00
William S. Moses 4be3c5f158 Add optional scf openmp flag 2021-07-08 20:47:52 -04:00
William S. Moses 7e4ddd110f WIP 2021-07-08 20:47:52 -04:00
William S. Moses 3f3ee80cb8 guass 2021-07-08 20:47:52 -04:00