Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
clock_gettime is much heavier than the others as it depends on vdso.
|
|
This will affect only Bazel configuration for now.
|
|
|
|
|
|
|
|
|
|
This avoids needing to update the rule every time there's a new
directory, e.g. SandboxVectorizer packages.
|
|
|
|
This is a quick fix to unbreak Bazel build. The right solution would
probably add vdso.cpp in the support library which includes circular
dependency and needs more restructuring.
|
|
Fixes
https://github.com/llvm/llvm-project/commit/39f2d2f156ba8af31a15f6df223d3cb57c7a4906
|
|
Similar to https://github.com/llvm/llvm-project/pull/108266
After https://github.com/llvm/llvm-project/pull/102971
It is legal to generate `LLVM::ExpOp` and `LLVM::LogOp` if the type is
is a float16 or float32
|
|
|
|
The wrapper for epoll_pwait2 has been difficult to enable since it
requires a very new version of the linux kernel (5.11). On cmake we
still need to create a mechanism to check if we can build it, but our
current bazel users are all on a new enough kernel version we can just
enable it.
|
|
Currently the nan* functions use nullptr dereferencing to crash with
SIGSEGV if the input is nullptr. Both `nan(nullptr)` and `nullptr`
dereferencing are undefined behaviors according to the C standard.
Employing `nullptr` dereference in the `nan` function implementation is
ok if users only linked against the pre-built library, but it might be
completely removed by the compilers' optimizations if it is built from
source together with the users' code.
See for instance: https://godbolt.org/z/fd8KcM9bx
This PR uses volatile load to prevent the undefined behavior if libc is
built without sanitizers, and leave the current undefined behavior if
libc is built with sanitizers, so that the undefined behavior can be
caught for users' codes.
|
|
|
|
|
|
|
|
This is newly used as of 0f525452896771cc8c579eb362dc7645e38fd0b9.
The bulk of the targets were added earlier in
9bb555688caf6ae4ba89fee5baa3dc29fec6a9b1.
|
|
for 277371943fa48f2550df02870951f5e5a77efef5
|
|
|
|
One more after 277371943fa48f2550df02870951f5e5a77efef5
|
|
After 277371943fa48f2550df02870951f5e5a77efef5
e.g.
```
external/llvm-project/libc/test/src/math/smoke/NextTowardTest.h:12:10: error: module llvm-project//libc/test/src/math/smoke:nexttowardf_test does not depend on a module exporting 'src/__support/CPP/bit.h'
```
|
|
|
|
|
|
FIXME: Move this to the relevant block.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`mlir-vulkan-runner`" (#106457)
Reverts llvm/llvm-project#106426.
This caused failures on nvidia:
https://lab.llvm.org/buildbot/#/builders/138/builds/2853
|
|
This PR adds an integration test for an argmax kernel with
`mlir-vulkan-runner`. This test exercises the `convert-to-spirv` pass
(landed in #95942) and demonstrates that we can use SPIR-V ops as
"intrinsics" among higher-level dialects.
The support for `index` dialect in `mlir-vulkan-runner` is also added.
|
|
* Fix an OOB access
* Add comparison operators
* Add documentation
* Add unit tests
|
|
For 73c3b7337b0a3a8cb447f9801341d5648aebe9b2
|
|
For 016e1eb9c86923bf6a9669697f6be8309d12b78c
|
|
New dep needed for 2bf2468553f69c72680d138b91046d4c00d2c7a6
|
|
**Description**
This PR adds a new option for `convert-to-spirv` pass to clone and
convert only GPU kernel modules for integration testing. The reason for
using pass options instead of two separate passes is that they both
consist of `memref` types conversion and individual dialect patterns,
except they run on different scopes. The PR also replaces the
`gpu-to-spirv` pass with the `convert-to-spirv` pass (with the new
option) in `mlir-vulkan-runner`.
**Future Plan**
Use nesting pass pipelines in `mlir-vulkan-runner` instead of adding
this option.
---------
Co-authored-by: Jakub Kuderski <kubakuderski@gmail.com>
|
|
|
|
On linux lldb-dap uses the location of the lldb-dap binary to search for
lldb-server. Previously these were produced in different directories
corresponding to the BUILD file paths. It's not ideal that the BUILD
file location matters for the binary at runtime but it doesn't hurt to
have this tool here too like the others.
|
|
The cmake config creates two targets, `MLIRTensorMeshShardingExtensions`
and `MLIRTensorAllExtensions`; but for bazel, with the `Func` dialect we
only have a single `FuncExtensions`. Here I am following the `Func`
dialect convension to only create a single `TensorExtensions`.
|
|
|
|
|
|
This PR adds conversion patterns for GPU to the `convert-to-spirv` pass,
introduced in #95942. Now the pass is able to convert each `gpu.module`
and its ops within a `builtin.module` into a `spirv.module`.
**Future Plans**
- Use `gpu.launch_func` to invoke kernel from host functions
- Potentially integrate into the `mlir-vulkan-runner` for e2e testing
|
|
|
|
Add dep on ControlFlowInterfaces for arith td files
|
|
We can remove the variable from https://reviews.llvm.org/D5610 since
link.h is available on Linux (glibc/musl/Bionic), FreeBSD, and NetBSD.
Use `__has_include(<link.h>)` before including it.
Pull Request: https://github.com/llvm/llvm-project/pull/104893
|
|
Similar to https://github.com/llvm/llvm-project/pull/104481. Replace
more "Utility" dependencies with "UtilityHeaders" to avoid cyclic
dependency when building on macos.
|
|
|