Commit Graph

351 Commits

Author SHA1 Message Date
gysit
58d0da885e [mlir][linalg] Use arrays to pass padding options.
Pass the padding options using arrays instead of lambdas. In particular pass the padding value as string and use the argument parser to create the padding value. Arrays are a more natural choice that matches the current use cases and avoids converting arrays to lambdas.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D122309
2022-03-28 13:49:05 +00:00
Emilio Cota
0e1e3ccc98 [bazel] add missing targets since 3be7c28917 2022-03-25 15:41:29 -04:00
Benjamin Kramer
8639bc1e5d [bazel] Add missing dependency after a75a46db89 2022-03-25 12:04:43 +01:00
Benjamin Kramer
12bd1ef37c [bazel] Add missing dependency after a75a46db89 2022-03-25 12:02:36 +01:00
Fangrui Song
8e9c7f716a [Bazel] Add BLAKE3 files to llvm:Support
Hope someone can figure out how to leverage SSE42/AVE2/Arm Neon.
2022-03-24 15:26:40 -07:00
Benjamin Kramer
9ed466e359 [bazel] glob LLVMCoroutines headers to make the build rule less fragile 2022-03-24 11:01:08 +01:00
Benjamin Kramer
38d248aadd [bazel] Set the default of LLVM_UNREACHABLE_OPTIMIZE to 1
This matches the CMake default. LLVM_UNREACHABLE_OPTIMIZE=0 doesn't
build with gcc
2022-03-24 10:56:43 +01:00
Benjamin Kramer
fdaf9ed884 [bazel] Make extract_api compatible with bazel 2022-03-23 11:01:04 +01:00
Alexander Belyaev
5bcc90ee61 [clang] Update BUILD.bazel after 89f6b26f1b. 2022-03-23 09:46:40 +01:00
Alex Zinenko
b9959590d4 [mlir][bazel] filegroups for Python CF, PDL, Tensor dialects
These dialects have Python bindings and are tested, but were not
previously exposed through Bazel filegroups.

Differential Revision: https://reviews.llvm.org/D122138
2022-03-21 15:46:36 +01:00
Adrian Kuegel
96353d6f6f [clang][Bazel] Add missing dependency from symbol_graph to llvm:support.
This did not show up as build error because the build also works if the
dependency is transitively available. But there should be a direct
dependency anyway.
2022-03-21 08:43:06 +01:00
Jacques Pienaar
374208ea15 [bazel][mlir] Add MLIR PDLL LSP server target
Add targets for PDLL LSP server.
2022-03-19 18:08:36 -07:00
Sterling Augustine
61d5d12ca9 Update llvm-config.h.cmake for 7b983917d4 2022-03-18 12:59:15 -07:00
Benjamin Kramer
9816fada16 [bazel] Port a954ade8ed 2022-03-18 10:50:55 +01:00
Benjamin Kramer
d3f4562cbd [bazel] Sync llvm-config.h after 112aafcaf4 2022-03-18 10:45:54 +01:00
Sterling Augustine
07998f6d75 Correct and complete dependency sets after 74b411d38c
Prior to this change the __support_cpp_array_ref target's only dependency was libc_root.
but it #includes "TypeTraits.h" and Array.h for that matter.

These dependencies matter when building in distributed build systems and the relevant
files must be know for the distributed build to ship them to the executor.

Differential Revision: https://reviews.llvm.org/D121974
2022-03-17 19:52:49 -07:00
Sterling Augustine
9065dd1439 Fix invalid preprocessor directive. 2022-03-17 19:12:48 -07:00
Sterling Augustine
6f958b6ff5 Update llvm-config.h.cmake for LLVM_UNREACHABLE_OPTIMIZE 2022-03-17 19:04:42 -07:00
Alex Zinenko
6864d27088 [mlir][bazel] make .pyi files available to Bazel
These files are necessary for various type checking and autocompletion
tooling to work.

Differential Revision: https://reviews.llvm.org/D121810
2022-03-17 11:02:17 +01:00
Adrian Kuegel
0e694e1426 [Bazel] Update Bazel build to add symbol_graph.
Differential Revision: https://reviews.llvm.org/D121886
2022-03-17 10:53:04 +01:00
Adrian Kuegel
d8740912dd [mlir][Bazel] Add missing dependency.
Differential Revision: https://reviews.llvm.org/D121893
2022-03-17 10:25:20 +01:00
Adrian Kuegel
bd0bf9674b [mlir][Bazel] Adapt BUILD.bazel for move of lsp-server support files.
Differential Revision: https://reviews.llvm.org/D121891
2022-03-17 10:04:11 +01:00
Adrian Kuegel
7733a61fbc [mlir][Bazel] Also fix mlir/unittests/BUILD.bazel. 2022-03-17 09:42:06 +01:00
Adrian Kuegel
2f1d918c0b [mlir][Bazel] Adapt to move of FuncOp. 2022-03-17 09:25:30 +01:00
Benjamin Kramer
0c4e9fbf41 [bazel] Port 50f82e6847 2022-03-16 23:46:46 +01:00
Jakub Kuderski
7c285b78cf [bazel] Add build rule for llvm-remark-size-diff
This binary is used in LIT tests.

Test: `bazel run --config=generic_clang -c opt @llvm-project//llvm:llvm-remark-size-diff -- --help`

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D121742
2022-03-16 14:07:07 -04:00
Sterling Augustine
103f23d63d Updated mlir-tablegen dependencies for f96a8675cd
Differential Revision: https://reviews.llvm.org/D121764
2022-03-15 19:41:42 -07:00
Michael Jones
74b411d38c [libc][bazel] split support_standalone_cpp target
previously the support_standalone_cpp target contained all of the files
in the __support/cpp folder. This change splits these out so that only
what is needed is included. In addition, this change adds the new
support files that previously didn't have targets.

Reviewed By: lntue, gchatelet

Differential Revision: https://reviews.llvm.org/D121314
2022-03-15 16:40:43 -07:00
Matthias Springer
39ec46bd83 [mlir][bufferize] Extract buffer hoisting into separate function
This improves the modularity of the bufferization.

From now on, all ops that do not implement BufferizableOpInterface are considered hoisting barriers. Previously, all ops that do not implement the interface were not considered barriers and such ops had to be marked as barriers explicitly. This was unsafe because we could've hoisted across unknown ops where it was not safe to hoist.

As a side effect, this allows for cleaning up AffineBufferizableOpInterfaceImpl. This build unit no longer needed and can be deleted.

Differential Revision: https://reviews.llvm.org/D121519
2022-03-15 21:25:03 +09:00
Adrian Kuegel
fd8fe3bab6 [mlir][Bazel] Adjust build file to account for new td files. 2022-03-15 09:05:07 +01:00
Adrian Kuegel
49a29e5c9f [mlir][Bazel] Adjust regarding StandardToLLVM -> FuncToLLVM rename.
Differential Revision: https://reviews.llvm.org/D121185
2022-03-08 09:07:36 +01:00
Matthias Springer
93e663273b [mlir][shape] Migrate bufferization to BufferizableOpInterface
Differential Revision: https://reviews.llvm.org/D121043
2022-03-07 21:54:27 +09:00
Adrian Kuegel
08ba81f520 [mlir][Bazel] Remove unused dependencies (NFC)
Differential Revision: https://reviews.llvm.org/D121106
2022-03-07 13:26:20 +01:00
Christian Sigg
4c3c107b54 [MLIR] Fix bazel BUILD file after Parser.h moved.
See D121024, D121025, D121026.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D121094
2022-03-07 13:19:47 +01:00
Benjamin Kramer
317e6a8077 [bazel] Port 76ec69a911 2022-03-04 20:18:00 +01:00
David Blaikie
03ce383920 More bazel fixes 2022-03-04 04:44:02 +00:00
David Blaikie
115a5a616e More bazel fixes 2022-03-04 04:15:49 +00:00
David Blaikie
61e1581fa3 Bazel fixes for 81f2f4dfb2 2022-03-04 01:02:39 +00:00
Benjamin Kramer
29fe819ed3 Revert "Update bazel build rules to match 169ebf03ab2a6f16bfa32a36305929c7bc8e4784."
This reverts commit f2af453263. The
corresponding LLVM change was reverted in 27712243ab.
2022-03-03 22:15:36 +01:00
David Blaikie
831fa725ef More bazel fixes. 2022-03-03 02:05:32 +00:00
David Blaikie
f6bc0a48cc More attempts at bazel fix 2022-03-03 00:18:54 +00:00
David Blaikie
59262d2d4b Attempt fix for Bazel build from
3ba66435d9
2022-03-02 21:47:25 +00:00
Alex Zinenko
59814a8c99 [mlir] more Bazel changes for 23aa5a7446 2022-03-02 16:16:14 +01:00
Alex Zinenko
ea998709eb [mlir] Add partial support for translating data layout
Add support for translating data layout specifications for integer and float
types between MLIR and LLVM IR. This is a first step towards removing the
string-based LLVM dialect data layout attribute on modules. The latter is still
available and will remain so until the first-class MLIR modeling can fully
replace it.

Depends On D120739

Reviewed By: wsmoses

Differential Revision: https://reviews.llvm.org/D120740
2022-03-02 14:56:50 +01:00
Benjamin Kramer
38406ca9bd [bazel] Add a missing dependency after 1f971e23f0 2022-03-02 00:20:08 +01:00
Benjamin Kramer
6c19bb4040 [bazel] Build fixes for 23aa5a7446 2022-03-02 00:13:57 +01:00
Jorge Gorbe Moya
3de4e6b400 [bazel] add missing dependency 2022-03-01 10:43:27 -08:00
Benjamin Kramer
20517719a9 [bazel] Port g95b4e88b1db3 2022-02-27 00:11:42 +01:00
Nikita Popov
8dcb5e6bf5 Revert "[Driver] Default CLANG_DEFAULT_PIE_ON_LINUX to ON"
See post-commit discussion on https://reviews.llvm.org/D120305.
This change breaks the clang-ppc64le-rhel buildbot, though
there is suspicion that it's an issue with the bot. The change
also had a larger than expected impact on compile-time and
code-size.

This reverts commit 3c4ed02698
and some followup changes.
2022-02-26 15:32:49 +01:00
gysit
51fdd802c7 [mlir][OpDSL] Add type function attributes.
Previously, OpDSL operation used hardcoded type conversion operations (cast or cast_unsigned). Supporting signed and unsigned casts thus meant implementing two different operations. Type function attributes allow us to define a single operation that has a cast type function attribute which at operation instantiation time may be set to cast or cast_unsigned. We may for example, defina a matmul operation with a cast argument:

```
@linalg_structured_op
def matmul(A=TensorDef(T1, S.M, S.K), B=TensorDef(T2, S.K, S.N), C=TensorDef(U, S.M, S.N, output=True),
    cast=TypeFnAttrDef(default=TypeFn.cast)):
  C[D.m, D.n] += cast(U, A[D.m, D.k]) * cast(U, B[D.k, D.n])
```

When instantiating the operation the attribute may be set to the desired cast function:

```
linalg.matmul(lhs, rhs, outs=[out], cast=TypeFn.cast_unsigned)
```

The revsion introduces a enum in the Linalg dialect that maps one-by-one to the type functions defined by OpDSL.

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D119718
2022-02-25 08:25:23 +00:00