Commit Graph

1604 Commits

Author SHA1 Message Date
Johannes Reifferscheid
9db8f99b61 [Bazel] Fixes for 96e040a. 2023-10-26 13:41:26 +02:00
Johannes Reifferscheid
0c6759b576 [Bazel] Fixes for ec6da06. 2023-10-26 10:33:59 +02:00
Benjamin Kramer
28a8f1b901 [bazel] Add missing dependency 2023-10-25 16:43:23 +02:00
Benjamin Kramer
08e765372e [bazel] Port 078ae8cd64 2023-10-25 16:39:50 +02:00
michaelrj-google
b4e552999d [libc] Fix printf long double inf, bitcast in msan (#70067)
These bugs were found with the new printf long double fuzzing. The long
double inf vs nan bug was introduced when we changed to
get_explicit_exponent. The bitcast msan issue hadn't come up previously,
but isn't a real bug, just a poisoning confusion.
2023-10-24 15:41:54 -07:00
Benjamin Kramer
8edcfa0d00 [bazel] Add missing dependencies for ba8ae9866b 2023-10-24 16:45:50 +02:00
Adrian Kuegel
cdf713cdb9 [mlir][Bazel] Add missing dependency. 2023-10-23 05:30:16 +00:00
Finn Plummer
5aee156b2a Reland: "[mlir][index][spirv] Add conversion for index to spirv" (#69790)
Due to an issue when lowering from scf to spirv as there was no
conversion pass for index to spirv, we are motivated to add a conversion
pass from the Index dialect to the SPIR-V dialect. Furthermore, we add
the new conversion patterns to the scf-to-spirv conversion.

Fixes https://github.com/llvm/llvm-project/issues/63713

---------

Co-authored-by: Jeremy Kun <jkun@google.com>
2023-10-21 20:36:28 -04:00
Adrian Kuegel
08d7d1ef9a [mlir][Bazel] Add missing dependencies after aa0208d1bc 2023-10-20 08:52:14 +00:00
Adrian Kuegel
c7be4e6db9 [mlir][Bazel] Add missing dependency after d871daea81 2023-10-20 06:37:15 +00:00
Emilio Cota
f6818528f7 [bazel][mlir] fixes for a2288a89 2023-10-19 18:35:13 -04:00
Ingo Müller
3517b67ef0 Reapply "[mlir][transform] Support symlinks in module loading. Reorganize tests. (#69329)"
This reverts commit c122b9727a but fixes
tests that were added between submitting #69329 for review and landing
it for the first time.
2023-10-19 09:04:49 +00:00
Ingo Müller
c122b9727a Revert "[mlir][transform] Support symlinks in module loading. Reorganize tests. (#69329)"
This reverts commit f681225700. That
commit changed the organization of the tests of the transform dialect
interpreter but did not take into account some tests that were added in
the meantime.
2023-10-19 08:51:15 +00:00
Ingo Müller
f681225700 [mlir][transform] Support symlinks in module loading. Reorganize tests. (#69329)
A recent commit (#69190) broke the bazel builds. Turns out that Bazel
uses symlinks for providing the test files, which the path expansion of
the module loading mechanism did not handle correctly. This PR fixes
that.

It also reorganizes the tests better: It puts all `.mlir` files that are
included by some other test into a common `include` folder. This greatly
simplifies the definition of the dependencies between the different
`.mlir` files in Bazel's `BUILD` file. The commit also adds a comment to
all included files why these aren't tested themselves direclty and uses
the `%{fs-sep}` expansion for paths more consistently. Finally, it
uncomments all but one of the tests excluded in Bazel because they seem
to run now. (The remaining one includes a file that it itself a test, so
it would have to live *in* and *outside* of the `include` folder.)
2023-10-19 10:45:33 +02:00
Peiming Liu
761c9dd927 [mlir][sparse] implementating stageSparseOpPass as an interface (#69022) 2023-10-17 10:54:44 -07:00
Dmitry Chernenkov
12bf4231eb [Bazel] Fix dependencies for clang codegen 2023-10-17 12:36:11 +00:00
Dmitry Chernenkov
90576084c1 [Bazel] fix typo 2023-10-17 11:58:43 +00:00
Dmitry Chernenkov
4434253f0f [Bazel] disable preload-library.mlir test 2023-10-17 11:54:35 +00:00
Aart Bik
233c3e6c53 [mlir][sparse] remove sparse2sparse path in library (#69247)
This cleans up all external entry points that will have to deal with
non-permutations, making any subsequent refactoring much more local to
the lib files.
2023-10-16 14:45:57 -07:00
Lei Zhang
3049ac44e6 [mlir][vector] Enable transfer op hoisting with dynamic indices (#68500)
Recent changes (https://github.com/llvm/llvm-project/pull/66930)
disabled vector transfer ops hoisting with view-like intermediate ops.
The recommended way is to fold subview ops into transfer op indices
before invoking hoisting. That would mean now we see transfer op indices
involving dynamic values, instead of static constant values before with
subview ops. Therefore hoisting won't kick in anymore. This breaks
downstream users.

To fix it, this commit enables hoisting transfer ops with dynamic
indices by using `ValueBoundsConstraintSet` to prove ranges are disjoint
in `isDisjointTransferIndices`. Given that utility is used in many
places including op folders, right now we introduce a flag to it and
only set as true for "heavy" transforms in hoisting and load-store
forwarding.
2023-10-15 16:37:54 -07:00
Balaji V. Iyer
28b27c1b10 [ArmSVE][NVVM][Bazel] Added Features to BUILD.bazel file (#68949)
Added VectorOps support for ArmSVE in BUILD.bazel
Added BasicPtxBuilderInterface support for NVVM in build.bazel
2023-10-13 07:47:36 +02:00
Mikhail Goncharov
f5c34126d4 [bazel] add llvm/HipStdPar (#68883)
for 0ce6255a50
2023-10-12 14:24:19 +02:00
Mikhail Goncharov
7a18b3ce65 [bazel] update llvm-config.h.cmake
after 28bb2193f6
2023-10-12 10:20:45 +02:00
Mikhail Goncharov
97cd39ff09 [bazel] fix linter complains for libc bazel 2023-10-12 10:00:20 +02:00
Adrian Kuegel
ff16c9878c [mlir][Bazel] Don't duplicate files in data and test attribute.
Followup fix for 1bf0870934
2023-10-12 05:37:33 +00:00
Balaji V. Iyer
e80cdf0ef9 [Affine][Bazel] Added AffineOps to BUILD.bazel file (#68842)
Added AffineOps and correct dependencies to the BUILD.bazel file.
2023-10-12 07:24:42 +02:00
Nicolas Vasilache
1bf0870934 [mlir][Transform] Create a transform interpreter and a preloader pass (#68661)
This revision provides the ability to use an arbitrary named sequence op
as
the entry point to a transform dialect strategy.

It is also a step towards better transform dialect usage in pass
pipelines
that need to preload a transform library rather thanparse it on the fly.

The interpreter itself is significantly simpler than its testing
counterpart
by avoiding payload/debug root tags and multiple shared modules.

In the process, the NamedSequenceOp::apply function is adapted to allow
it
being an entry point.

NamedSequenceOp is **not** extended to take the PossibleTopLevelTrait at
this
time, because the implementation of the trait is specific to allowing
one
top-level dangling op with a region such as SequenceOp or
AlternativesOp.
In particular, the verifier of PossibleTopLevelTrait does not allow for
an
empty body, which is necessary to declare a NamedSequenceOp that gets
linked
in separately before application.

In the future, we should dispense with the PossibleTopLevelTrait
altogether
and always enter the interpreter with a NamedSequenceOp.

Lastly, relevant TD linking utilities are moved to
TransformInterpreterUtils
and reused from there.
2023-10-11 14:56:09 -07:00
Adrian Kuegel
9620053272 [mlir][Bazel] Adjustments for 8c67c48591 2023-10-11 05:39:33 +00:00
Adrian Kuegel
8b3e150bbb [mlir][Bazel] Fix wrong dependency path. 2023-10-11 05:28:33 +00:00
Balaji V. Iyer
e9ca1665c9 [Mesh][Bazel] Added MeshOps to BUILD.bazel file (#68759)
Added MeshOps and correct dependencies to the BUILD.bazel file.
2023-10-11 07:25:17 +02:00
Guillaume Chatelet
0e1481439f [libc][bazel] Define libc namespace in a separate file and drop the release flag (#68563)
The `release` flag is misleading and its semantics are not well defined.
Originally this was meant to allow for different `LIBC_NAMESPACE`
depending on whether the code was considered stabled and released or
unstable. It appears that we may have a canary environment that is
neither released or dev. As a consequence we move the `LIBC_NAMESPACE`
definition to its own file and each environment can override this file
with whatever makes sense.
2023-10-10 15:41:34 +02:00
Mikhail Goncharov
141ca548e3 [bazel] fix build for 479057887f
for real
2023-10-10 10:13:08 +02:00
Mikhail Goncharov
962a049d64 [bazel] fix build for 479057887f 2023-10-10 10:09:14 +02:00
Balaji V. Iyer
3684f6a887 [OpenACC][Bazel] Added OpenACCOpsInterfaces to BUILD.bazel file (#68639)
Added OpenACCOpsInterfaces and correct dependencies to the BUILD.bazel
file.
2023-10-09 15:10:47 -07:00
Juergen Ributzka
eb601430d3 [llvm][objdump] Remove support for printing the embedded Bitcode section in MachO files. (#68457)
It's no longer possible to submit bitcode apps to the Apple App Store.
The tools
used to create xar archived bitcode sections inside MachO files have
been
discontinued. Additionally, the xar APIs have been deprecated since
macOS 12,
so this change removes unnecessary code from objdump and all
dependencies on
libxar.

This fixes rdar://116600767
2023-10-09 15:03:29 -07:00
JoelWee
648046db15 [mlir][bazel] Fix after 7bbfd2a 2023-10-09 11:35:41 +01:00
Benjamin Kramer
2fc5649ccf [bazel] Add missing dependency for 5d2a7101b7 2023-10-07 09:55:23 +02:00
Aart Bik
d3af65358d [mlir][sparse] introduce MapRef, unify conversion/codegen for reader (#68360)
This revision introduces a MapRef, which will support a future
generalization beyond permutations (e.g. block sparsity). This revision
also unifies the conversion/codegen paths for the sparse_tensor.new
operation from file (eg. the readers). Note that more unification is
planned as well as general affine dim2lvl and lvl2dim (all marked with
TODOs).
2023-10-06 13:42:01 -07:00
Christian Sigg
22f81b4cf4 [mlir][bazel] Fix after ef8c26b772 2023-10-06 15:06:53 +02:00
Christian Sigg
79c33d23c3 [mlir][bazel] Fix after ef8c26b772 2023-10-06 15:01:59 +02:00
Christian Sigg
1cd14adb25 [mlir][bazel] Fix after ef8c26b772 2023-10-06 14:43:45 +02:00
Christian Sigg
03bdfcc2ba [mlir][bazel] Fix after 6a2071cc6a
Second try...
2023-10-06 14:04:07 +02:00
Christian Sigg
4e311ea20f [mlir][bazel] Fix after 6a2071cc6a 2023-10-06 14:01:03 +02:00
Christian Sigg
185e16dba2 [mlir][bazel] Disable test added in 787689943d 2023-10-06 11:25:00 +02:00
Christian Sigg
59e75b7df2 [mlir][bazel] Sort targets list. 2023-10-05 11:14:12 +02:00
Christian Sigg
2f1c78014f [mlir][bazel] Fix after d20fbc9007 2023-10-05 11:12:55 +02:00
Guray Ozen
29b33e8397 [bazel] fix typo 2023-10-05 11:08:46 +02:00
Guray Ozen
d20fbc9007 [MLIR][NVGPU] Introduce nvgpu.wargroup.mma.store Op for Hopper GPUs (#65441)
This PR introduces a new Op called `warpgroup.mma.store` to the NVGPU
dialect of MLIR. The purpose of this operation is to facilitate storing
fragmanted result(s) `nvgpu.warpgroup.accumulator` produced by
`warpgroup.mma` to the given memref.

An example of fragmentated matrix is given here :

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#wgmma-64n16-d

The `warpgroup.mma.store` does followings:
1) Takes one or more `nvgpu.warpgroup.accumulator` type (fragmented
results matrix)
2) Calculates indexes per thread in warp-group and stores the data into
give memref.

Here's an example usage:
```
// A warpgroup performs GEMM, results in fragmented matrix
%result1, %result2 = nvgpu.warpgroup.mma ...

// Stores the fragmented result to memref
nvgpu.warpgroup.mma.store [%result1, %result2], %matrixD : 
    !nvgpu.warpgroup.accumulator< fragmented = vector<64x128xf32>>,
    !nvgpu.warpgroup.accumulator< fragmented = vector<64x128xf32>> 
    to memref<128x128xf32,3>
```
2023-10-05 10:54:13 +02:00
Benjamin Kramer
6cbf6f5d37 [bazel] Port 8d6d4f8321 2023-10-04 18:41:43 +02:00
Christian Sigg
73f8ec9edb [mlir][bazel] Fix load() order. 2023-10-04 11:39:13 +02:00