- Jun 12, 2023
-
-
Kazu Hirata authored
-
Akash Banerjee authored
This patch migrates the emitOffloadingArrays and EmitNonContiguousDescriptor functions from Clang codegen to OpenMPIRBuilder. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D149872
-
Jie Fu authored
/data/llvm-project/llvm/lib/Target/X86/X86LegalizerInfo.cpp:470:13: error: unused variable 's32' [-Werror,-Wunused-variable] const LLT s32 = LLT::scalar(32); ^ 1 error generated. -
Simon Pilgrim authored
[GlobalIsel][X86] Move G_SITOFP/G_FPTOSI getActionDefinitionsBuilder out of setLegalizerInfo64bit and add basic 32-bit support We were using x86_64-only support as a SSE2 proxy - vector support is still missing.
-
Andrzej Warzynski authored
This patch extends the Linalg vectoriser so that scalar loads are correctly identified as scalar rather than gather loads. Below is an example of a scalar load (note that both indices are loop invariant): ``` func.func @example(%arg0: tensor<80x16xf32>, %arg2: tensor<1x4xf32>) -> tensor<1x4xf32> { %c8 = arith.constant 8 : index %c16 = arith.constant 16 : index %1 = linalg.generic { indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>], iterator_types = ["parallel", "parallel"] } outs(%arg2 : tensor<1x4xf32>) { ^bb0(%out: f32): %2 = linalg.index 0 : index %extracted = tensor.extract %arg0[%2, %c16] : tensor<80x16xf32> linalg.yield %extracted : f32 } -> tensor<1x4xf32> return %1 : tensor<1x4xf32> } ``` This patch also makes sure that these scalar loads are indeed lowered to a scalar load followed by a broadcast: ``` %extracted = tensor.extract %arg0[%1, %c16] : tensor<80x16xf32> %2 = vector.broadcast %extracted : f32 to vector<1x4xf32> ``` Differential Revision: https://reviews.llvm.org/D149678 -
Baptiste authored
There is no need to set a big default stack size for PAL code object indirect calls. The driver knows the max recursion depth, so it can compute a more accurate value from the minimum scratch size. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D150609
-
Leonard Grey authored
Differential Revision: https://reviews.llvm.org/D152591
-
Guillaume Chatelet authored
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector operations when wide types are available. We also get rid of byte reloads and serializing '__builtin_ctzll'. I did not include the suggestion to replace comparisons of 'uint16_t' with two 'uint8_t' as it did not seem to help the codegen. This can be revisited in sub-sequent patches. The code been rewritten to reduce nested function calls, making the job of the inliner easier and preventing harmful code duplication. Reviewed By: nafi3000 Differential Revision: https://reviews.llvm.org/D148717
-
Timm Bäder authored
%clang++ does not work on windows, see e.g.: https://lab.llvm.org/staging/#/builders/204/builds/2141
-
oontvoo authored
Detail: Follow up to D144999, where we emitted DWARF for non-canonical personality. Reviewed By: jyknight Differential Revision: https://reviews.llvm.org/D152540
-
Tue Ly authored
Many math functions need to check for floating point rounding modes to return correct values. Currently most of them use the internal implementation of `fegetround`, which is platform-dependent and blocking math functions to be enabled on platforms with unimplemented `fegetround`. In this change, we add platform independent rounding mode checks and switching math functions to use them instead. https://github.com/llvm/llvm-project/issues/63016 Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D152280
-
Nikita Popov authored
Fix the verification failure reported in https://reviews.llvm.org/D141712#4413647. We need to remove the load from the VN table as well, not just the leader table. Also make sure that this verification always runs when assertions are enabled, rather than only when -debug is passed.
-
Nikita Popov authored
I'm keeping the bitcast in the input here, because without it we end up introducing a stride 1 assumption and end up testing a different case.
-
Nikita Popov authored
-
Nikita Popov authored
-
indev authored
Forward `warnings-as-errors` argument to clang-tidy. Reviewed By: PiotrZSL Differential Revision: https://reviews.llvm.org/D152625
-
Martin Braenne authored
This fixes a false positive in the Crubit nullability verification. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D152683
-
Ivan Kosarev authored
Other such tests, of which there are many, are to be updated with separate patches. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D152557
-
Kugan Vivekanandarajah authored
We would like to move the preamble index out of the critical path. This patch is an RFC to get feedback on the correct implementation and potential pitfalls to keep into consideration. I am not entirely sure if the lazy AST initialisation would create using Preamble AST in parallel. I tried with tsan enabled clangd but it seems to work OK (at least for the cases I tried) Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D148088
-
Francesco Petrogalli authored
Fixes failure at https://lab.llvm.org/buildbot/#/builders/124/builds/7472: ``` llc: Unknown command line argument '-debug-only=machine-scheduler'. Try: '/home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/llc --help' ``` Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D152703
-
Simon Pilgrim authored
x86_64 was being used as shorthand for SSE2
-
Sergio Afonso authored
This patch introduces an MLIR attribute to the OpenMP dialect representing the clauses that a 'requires' directive can define. The `OffloadModuleInterface` is also updated to provide methods to get and set a new dialect attribute `omp.requires`, to allow storing and using this information during the lowering stages to LLVM IR. Differential Revision: https://reviews.llvm.org/D147214
-
rikhuijzer authored
This patch fixes the equations on the Quantization page (https://mlir.llvm.org/docs/Quantization/). I don't know what caused the equations to be broken, it might be https://github.com/llvm/mlir-www/pull/152, but I'm not sure. Irregardless, let's just fix it and be done with it. I've fixed the equations by moving some subscripts to the text. For some reason, the large number of subscripts caused Mathjax to fail. I've also tried KaTeX, which failed at exactly the same number of subscripts. The workflow to inspect the fix is as follows: ``` $ git clone --depth=1 https://github.com/llvm/mlir-www.git /some/path/mlir-www $ git clone --depth=1 https://github.com/llvm/llvm-project.git /some/path/llvm-project $ cp /some/path/llvm-project/mlir/docs/Quantization.md \ /some/path/mlir-www/website/content/Quantization.md $ cd /some/path/mlir-www/website $ hugo serve [...] Web Server is available at http://localhost:1313/ (bind address 127.0.0.1) Press Ctrl+C to stop ``` and view the page at http://localhost:1313/Quantization/. Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D152651
-
Jie Fu authored
/data/llvm-project/llvm/lib/Target/X86/X86LegalizerInfo.cpp:443:13: error: unused variable 's8' [-Werror,-Wunused-variable] const LLT s8 = LLT::scalar(8); ^ 1 error generated. -
Simon Pilgrim authored
[GlobalIsel][X86] Move G_FCMP getActionDefinitionsBuilder out of setLegalizerInfo64bit and add 32-bit support We were using x86_64-only support as a SSE2 proxy
-
Simon Pilgrim authored
-
Simon Pilgrim authored
32-bit support will be added shortly - x86_64 was being used a shorthand for SSE2
-
Nikita Popov authored
The unsized-pointee-crash.ll and zero-sized-pointee-crash.ll tests have been removed, because these issues are not relevant for opaque pointers.
-
Timm Bäder authored
Since https://reviews.llvm.org/D147875 landed, setting different values (or reverting to the old default of 1) is more important than before, so promote this option to a driver flag. Differential Revision: https://reviews.llvm.org/D152090
-
Nikita Popov authored
No longer relevant with opaque pointers.
-
Adrian Kuegel authored
-
Nikita Popov authored
This fold goes against the usual approach of pushing freeze into operands. The idea behind the fold is that if the setcc feeds into a brcond, the freeze can be dropped entirely. Move the fold to brcond, where we can remove the freeze directly. This ensures that there can be no infinite combine loops due to conflicting transforms. Differential Revision: https://reviews.llvm.org/D152544
-
Kadir Cetinkaya authored
Depends on D152685 Differential Revision: https://reviews.llvm.org/D152686
-
Kadir Cetinkaya authored
This should help managing tests as we change defaults in configs. Differential Revision: https://reviews.llvm.org/D152685
-
Luke Lau authored
If we have a load/store with an illegal fixed length vector result type that needs widened, e.g. `x:v6i32 = load p` Instead of just widening it to: `x:v8i32 = load p` We can widen it to the equivalent VP operation and set the EVL to the exact number of elements needed: `x:v8i32 = vp_load a, b, mask=true, evl=6` Provided that the target supports vp_load/vp_store on the widened type. Scalable vectors are already widened this way where possible, so this largely reuses the same logic. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D148713
-
Martin Braenne authored
While working on the ongoing migration to strict handling of value categories (see https://discourse.llvm.org/t/70086), I ran into issues related to losing the value associated with an optional. This issue is hinted at in the existing comments, but the issue didn't become sufficiently clear to me from those, so I thought it would be worth capturing more details, along with ideas for how this issue might be fixed. Reviewed By: ymandel Differential Revision: https://reviews.llvm.org/D152369
-
Guillaume Chatelet authored
This broke aarch64 debug buildbot https://lab.llvm.org/buildbot/#/builders/223/builds/21703 This reverts commit bd4f9787.
-
David Carlier authored
Reviewed By: melver Differential Revision: https://reviews.llvm.org/D152609
-
Guillaume Chatelet authored
This is based on ideas from @nafi to: - use a branchless version of 'cmp' for 'uint32_t', - completely resolve the lexicographic comparison through vector operations when wide types are available. We also get rid of byte reloads and serializing '__builtin_ctzll'. I did not include the suggestion to replace comparisons of 'uint16_t' with two 'uint8_t' as it did not seem to help the codegen. This can be revisited in sub-sequent patches. The code been rewritten to reduce nested function calls, making the job of the inliner easier and preventing harmful code duplication. Reviewed By: nafi3000 Differential Revision: https://reviews.llvm.org/D148717
-
Francesco Petrogalli authored
This commit re-work the methods that dump traces with resource usage to take into account the StartAtCycle value added by https://reviews.llvm.org/D150310. For each i, the values of the lists StartAtCycle and ReservedCycles is are printed with the interval [StartAtCycle[i], ReservedCycles[i]) ``` ... | StartAtCycle[i] | ... | ReservedCycles[i] - 1 | ReservedCycles[i] | ... | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | | ``` Reviewed By: andreadb Differential Revision: https://reviews.llvm.org/D150311
-