aboutsummaryrefslogtreecommitdiff
path: root/utils
AgeCommit message (Collapse)AuthorFilesLines
2024-03-13Update BUILD.bazel for 0ebf511ad011a83022edb171e044c98d9d16b1faSterling Augustine1-0/+1
2024-03-13Add missing dependency after 80ab8234ac309418637488b97e0a62d8377b2ecfSterling Augustine1-0/+1
2024-03-12Update BUILD.bazel for 80ab8234ac309418637488b97e0a62d8377b2ecf (#84908)Danial Klimkin1-0/+1
2024-03-11[bazel] Grab correct version info after 81e20472a0c5a4a8edc5ec38dc345d580681af81Benjamin Kramer1-0/+8
This is a bit awkward.
2024-03-09[bazel] Port test parts of cb6ff746e0c7b9218b6f5c11db44162cacd623a4Benjamin Kramer2-1/+17
2024-03-08[mlir][ArmNeon] Implements LowerVectorToArmNeon Pattern for SMMLA (#81895)Kojo Acquah1-0/+21
This patch adds a the `LowerVectorToArmNeonPattern` patterns to the ArmNeon. This pattern inspects `vector.contract` ops that can be 1-1 mapped to an `arm.neon.smmla` intrinsic. The contract ops must be separated into tiles who's inputs must fit that of a single smmla op (`2x8xi32` inputs and `2x2xi32` output). The `vector.contract` inputs must be sign extended from narrow types (<=i8) to be converted. If all conditions are met, an smmla op is inserted with additional `vector.shape_casts` to handle linearizing the input and output dimension.
2024-03-08[mlir] Add missing build deps for Mesh transforms (#84581)Jakub Kuderski1-0/+2
2024-03-08[libc] Provide `LIBC_TYPES_HAS_INT128` (#84149)Guillaume Chatelet4-0/+9
Umbrella bug #83182
2024-03-08[libc][NFC] Remove integer_utils.h (#84466)Guillaume Chatelet1-12/+0
Its sole user is `BigInt` so moving `full_mul` inside UInt.h.
2024-03-08[bazel] Add support_uint dep in libc unittestDmitry Chernenkov1-0/+1
2024-03-08[clang][bazel] Fix BUILD after da00c60dae0040185dc45039c4397f6e746548e9Christian Sigg1-1/+4
Second attempt. This also reverts 50633868538d4fd6875a7de57804b3dde5c86108.
2024-03-08[clang][bazel] Fix BUILD after da00c60dae0040185dc45039c4397f6e746548e9Christian Sigg1-0/+1
2024-03-08[mlir][bazel] Fix BUILD after 5669660f37ef1800f4a7852577364b024d75e3d8Christian Sigg1-0/+1
Second attempt.
2024-03-08[mlir][bazel] Fix BUILD after 5669660f37ef1800f4a7852577364b024d75e3d8Christian Sigg1-0/+101
2024-03-08[mlir][emitc] Arith to EmitC conversion: constants (#83798)Tina Jung1-1/+0
* Add a conversion from `arith.constant` to `emitc.constant`. * Drop the translation for `arith.constant`s.
2024-03-07[mlir] Implement Mesh's ShardingInterface for Linalg ops (#82284)Boian Petkantchin1-0/+4
Allows linalg structured operations to be handled during spmdization and sharding propagation. There is only support for projected permutation indexing maps.
2024-03-07[bazel] Port 3714f937b835c06c8c32ca4f3f61ba2317db2296Benjamin Kramer1-0/+1
2024-03-07[libc] Fix forward missing `BigInt` specialization of `mask_leading_ones` / ↵Guillaume Chatelet1-1/+5
`mask_trailing_ones` (#84325) #84299 broke the arm32 build, this patch fixes it forward.
2024-03-07[reland][libc] Remove UB specializations of type traits for `BigInt` (#84299)Guillaume Chatelet2-0/+2
Note: This is a reland of #84035. The standard specifies that it it UB to specialize the following traits: - `std::is_integral` - `std::is_unsigned` - `std::make_unsigned` - `std::make_signed` This patch: - Removes specializations for `BigInt` - Transforms SFINAE for `bit.h` functions from template parameter to return type (This makes specialization easier). - Adds `BigInt` specialization for `bit.h` functions. - Fixes code depending on previous specializations.
2024-03-07[mlir][EmitC] Add Arith to EmitC conversions (#84151)Marius Brehler1-0/+27
This adds patterns and a pass to convert the Arith dialect to EmitC. For now, this covers arithemtic binary ops operating on floating point types. It is not checked within the patterns whether the types, such as the Tensor type, are supported in the respective EmitC operations. If unsupported types should be converted, the conversion will fail anyway because no legal EmitC operation can be created. This can clearly be improved in a follow up, also resulting in better error messages. Functions for such checks should not solely be used in the conversions and should also be (re)used in the verifier.
2024-03-07Revert "[libc] Remove UB specializations of type traits for `BigInt`" (#84297)Guillaume Chatelet2-2/+0
Reverts llvm/llvm-project#84035 Several bots are failing: - https://lab.llvm.org/buildbot/#/builders/223/builds/37522 - https://lab.llvm.org/buildbot/#/builders/162/builds/51978 - https://lab.llvm.org/buildbot/#/builders/163/builds/52560 - https://lab.llvm.org/buildbot/#/builders/250/builds/19619
2024-03-07[libc] Remove UB specializations of type traits for `BigInt` (#84035)Guillaume Chatelet2-0/+2
The standard specifies that it it UB to specialize the following traits: - `std::is_integral` - `std::is_unsigned` - `std::make_unsigned` - `std::make_signed` This patch: - Removes specializations for `BigInt` - Transforms SFINAE for `bit.h` functions from template parameter to return type (This makes specialization easier). - Adds `BigInt` specialization for `bit.h` functions. - Fixes code depending on previous specializations.
2024-03-06Revert "Adding missing dependencies to BUILD.bazel" (#84251)mmilanifard1-3/+0
Reverts llvm/llvm-project#84235 With changes in #84238 these dependencies are not required.
2024-03-06[mlir][bazel] Don't set MLIR_ENABLE_NVPTXCOMPILER on if_cuda_available. (#84238)Ingo Müller1-8/+3
was available. However, it turns out that the NVPTX compiler is not part of every CUDA distribution, so `if_cuda_available` may evaluate to true without that compiler being present, which breaks the build. This PR thus sets the macro to 0 always (which was the behavior before #84007).
2024-03-06Adding missing dependencies to BUILD.bazel (#84235)mmilanifard1-0/+3
Build fix after (#84007).
2024-03-06[bazel] Add missing dependencies for 2542d34522784e27850a17a8c39a1ad4b43622abBenjamin Kramer1-0/+2
2024-03-06[mlir][nvvm] Expose MLIR_NVPTXCOMPILER_ENABLED in mlir-config.h. (#84007)Ingo Müller1-2/+8
This is another follow-up of #83004, which made the same change for `MLIR_CUDA_CONVERSIONS_ENABLED`. As the previous PR, this PR commit exposes mentioned CMake variable through `mlir-config.h` and uses the macro that is introduced with the same name. This replaces the macro `MLIR_NVPTXCOMPILER_ENABLED`, which the CMake files previously defined manually.
2024-03-06[mlir][opt] Expose MLIR_ENABLE_DEPRECATED_GPU_SER... in mlir-config.h. (#84006)Ingo Müller1-0/+2
This is another follow-up of #83004, which made the same change for `MLIR_CUDA_CONVERSIONS_ENABLED`. As the previous PR, this PR commit exposes mentioned CMake variable through `mlir-config.h` and uses the macro that is introduced with the same name. This replaces the macro `MLIR_ENABLE_DEPRECATED_GPU_SERIALIZATION`, which the CMake files previously defined manually.
2024-03-06[mlir][nvvm] Add missing include to llvm-config.h. (#83998)Ingo Müller1-0/+1
This is another follow-up of #83004. `NVVM/Target.cpp` uses the macro `MLIR_NVPTXCOMPILER_ENABLED`, which is defined in `llvm-config.h` but did not include that file, yielding a warning when compiled with `-Wundef`. This PR adds the include. ~~This is another follow-up of #83004, which made the same change for `MLIR_CUDA_CONVERSIONS_ENABLED`. As the previous PR, this PR commit exposes mentioned CMake variable through `mlir-config.h` and uses the macro that is introduced with the same name. This replaces the macro `MLIR_NVPTXCOMPILER_ENABLED`, which the CMake files previously defined manually.~~
2024-03-05[mlir] Expose MLIR_ROCM_CONVERSIONS_ENABLED in mlir-config.h. (#83977)Ingo Müller1-0/+1
This is a follow up of #83004, which made the same change for `MLIR_CUDA_CONVERSIONS_ENABLED`. As the previous PR, this PR commit exposes mentioned CMake variable through `mlir-config.h` and uses the macro that is introduced with the same name. This replaces the macro `MLIR_ROCM_CONVERSIONS_ENABLED`, which the CMake files previously defined manually.
2024-03-04[bzl] Remove obsolete `output_to_genfiles = True` (#83944)Jordan Rupprecht2-4/+0
The [bazel docs](https://bazel.build/rules/lib/globals/bzl#rule) discourage setting this. The comments about being necessary for headers or genrules seem to be obsolete, at least for the LLVM tree itself. The effect of this is that generated files will go to `bazel-bin` instead of `bazel-genfiles`. One external use was fixed here: https://github.com/google/jax/commit/32bb3b06132b4256cd8674fb98bce057dc968610.
2024-03-04[libc] Provide an implementation of the 'stdint.h' header (#83353)Joseph Huber1-0/+5
Summary: I've noticed one problem is that the user includes `stdint.h` the compiler will do `#include_next <stdint.h>` potentially into a conflicting implementation on systems with multiple headers installed. The `clang` header is standards compliant and works with `clang` and `gcc` which are both of our targets, so I simply copied it here. This has the effect of including `stdint.h` on clang / LLVM libc behaving the same as `-ffreestanding`.
2024-03-04[mlir][bazel] Remove defines of obsolete MLIR_GPU_TO_CUBIN_PASS_ENABLE. (#83006)Ingo Müller2-5/+0
This macro is obsolete since the landing of #82486 but was forgotten to be removed from the BUILD files.
2024-03-03Removes arcanist and Phabricator information. (#82115)Mark de Wever1-68/+0
Removes old arcanist configuration files and documentation of Phabricator. This only removes the data that seems save to remove.
2024-02-29[libc][NFC] rename `float.h` macro file to `types.h` (#83190)Guillaume Chatelet1-4/+4
2024-02-28[Bazel] Port clangInstallAPI changes #82293 and #82552Fangrui Song1-1/+2
2024-02-28[bazel] Fix breakage from 915fce040271c77df1ff9b2c8797c441cec0d18d.Ingo Müller1-0/+1
That commit (from #82189) introduces a new dependency but does not declare it in the BUILD files.
2024-02-28[mlir] Expose MLIR_CUDA_CONVERSIONS_ENABLED in mlir-config.h. (#83004)Ingo Müller2-21/+9
That macro was not defined in some cases and thus yielded warnings if compiled with `-Wundef`. In particular, they were not defined in the BUILD files, so the GPU targets were broken when built with Bazel. This commit exposes mentioned CMake variable through mlir-config.h and uses the macro that is introduced with the same name. This replaces the macro MLIR_CUDA_CONVERSIONS_ENABLED, which the CMake files previously defined manually.
2024-02-28[bazel] Add "include/" for libc includesMikhail Goncharov1-0/+1
for 04e8653f189bf3d65680c7fb3b3033ad82903ee9 #83199
2024-02-27[libc] Add fixed point support to printf (#82707)Michael Jones1-6/+8
This patch adds the r, R, k, and K conversion specifiers to printf, with accompanying tests. They are guarded behind the LIBC_COPT_PRINTF_DISABLE_FIXED_POINT flag as well as automatic fixed point support detection.
2024-02-26[libc][NFC] Delete unused file (#82980)Guillaume Chatelet1-0/+0
Indentified in https://github.com/llvm/llvm-project/pull/77741#pullrequestreview-1893531270
2024-02-23[mlir][sparse] remove very thin header file from sparse runtime support (#82820)Aart Bik1-1/+0
2024-02-23Users/tsitdikov (#82757)tsitdikov1-0/+2
Fix Test ARM SME library and build rule.
2024-02-23Add TestArmSME dependency to mlir-opt library.tsitdikov1-0/+1
TestArmSME was added in https://github.com/llvm/llvm-project/commit/e1326434742980b03433464dd9435ea66ad5be47, now we need to add dependency on it.
2024-02-23Add build rule for MLIRArmSMETestPassestsitdikov1-0/+17
MLIRArmSMETestPasses was added in https://github.com/llvm/llvm-project/commit/b39f5660a408b47307e57a0882eb8af85d72e283, we need to add a build rule for it as well.
2024-02-22[bazel] add missing dep after 5b079af169cd04b457465fd7ca31714efeefe6d9Jorge Gorbe Moya1-1/+2
2024-02-22[mlir][Bazel] Also remove SerializeToCubin target.Adrian Kuegel1-29/+1
2024-02-22[mlir][Bazel] Remove stub target which is not needed anymore.Adrian Kuegel1-40/+0
2024-02-21[mlir] expose transform interpreter to Python (#82365)Oleksandr "Alex" Zinenko2-0/+24
Transform interpreter functionality can be used standalone without going through the interpreter pass, make it available in Python.
2024-02-20[bazel] fix build after 4c6043de0b837d23699424d875057d00956d80acJorge Gorbe Moya1-0/+1