- May 20, 2024
-
-
mingmingl authored
-
- May 18, 2024
- May 16, 2024
-
-
mingmingl authored
-
- May 15, 2024
-
-
mingmingl authored
-
mingmingl authored
-
mingmingl authored
-
mingmingl authored
-
mingmingl authored
-
Mingming Liu authored
[NFC][CallPromotionUtils]Extract a helper function versionCallSiteWithCond from versionCallSite (#81181) * This is to be used by https://github.com/llvm/llvm-project/pull/81378 to implement a variant of versionCallSite that compares vtables. * The parent patch is https://github.com/llvm/llvm-project/pull/81051
-
Palmer Dabbelt authored
These larger SEWs aren't in the ratified V spec. Thanks to dzaima and sorear on IRC for pointing this one out. Signed-off-by:Palmer Dabbelt <palmer@rivosinc.com>
-
Abid Qadeer authored
Currently, only those global variables which are at compile unit scope are added to the 'globals' list of the DICompileUnit. This does not work for languages which support modules (e.g. Fortran) where hierarchy can be variable -> module -> compile unit. To fix this, if a variable scope points to a module, we walk one level up and see if module is in the compile unit scope. This was initially part of #91582 which adds debug information for Fortran module variables. @kiranchandramohan pointed out that MLIR changes should go in separate PRs.
-
quanwanandy authored
-
Fangrui Song authored
Most diagnostics obey https://llvm.org/docs/CodingStandards.html#error-and-warning-messages but some diverge. Fix them. While here, adjust some diagnostics. Pull Request: https://github.com/llvm/llvm-project/pull/92024
-
Dmitri Gribenko authored
-
Jeremy Kun authored
#91137 reverted in #92001 A build error fix added in 28d5ece8ca93ef04fee9b0258b70b750b66c05ca --------- Co-authored-by:Jeremy Kun <j2kun@users.noreply.github.com>
-
Krystian Stasiowski authored
Currently, clang postpones all semantic analysis of unary operators with operands of pointer/pointer to member/array/function type until instantiation whenever that type is dependent (e.g. `T*` where `T` is a type template parameter). Consequently, the uninstantiated AST nodes all have the type `ASTContext::DependentTy` (which, for the purposes of #90152, is undesirable as that type may be the current instantiation! (e.g. `*this`)) This patch moves the point at which we perform semantic analysis for such expression to be prior to instantiation.
-
Min-Yih Hsu authored
The cost of `experimental.cttz.elts` in RISC-V equals to the cost of vfirst when the zero_is_poison argument is true. Otherwise, we add additional costs of cmp + select to convert the -1 result from vfirst to EVL.
-
Dmitry Vasilyev authored
self.wait_for_running_event(process) is always called after self.runCmd("continue"). It is strange to expect eStateConnected here. This test failed in case of a remote target. The correct state is eStateRunning. Removed incorrect checking.
-
- May 14, 2024
-
-
Simon Pilgrim authored
-
Sander de Smalen authored
The target combine is no longer required because InstCombine will transform the DIV by a power of 2 into a multiply, so in practice this case will never trigger. Additionally, the generated code would have been incorrect for streaming(-compatible) functions, because it assumed NEON was available.
-
Ramkumar Ramachandra authored
tryToCreateDiffCheck has one caller, and exits early if CanUseDiffCheck is false. Hence, we can get/set CanUseDiffCheck in the caller to avoid wastefully calling tryToCreateDiffCheck. This patch is an NFC simplification of program logic.
-
WANG Rui authored
[LoongArch] Add test cases for div/mod to cover various extended combinations of 32-bit integers. NFC
-
Ben Langmuir authored
Allow mixing objects with/without signed class ro data and category class properties as long as it happens before we register the metadata. These combinations are a warning in ld, not a hard error. The only case that is ABI-breaking is if we already registered with the feature enabled but later try to load an object that doesn't support it. rdar://127336061
-
Craig Topper authored
cm.push can't save X26 without also saving X27. This removes two other checks for this case. This causes CFI to be emitted since X27 is now explicitly a callee saved register. The affected tests use inline assembly to clobber X26 rather than the whole range of s0-s10.
-
Krzysztof Drewniak authored
Now that we've got (minus some issues around datatypes and invariant loads) working lowerings for address space 7, update the table in the AMDGPU usage guide to properly indicate the nature of these address spaces.
-
Nathan Gauër authored
PR #80680 added bits in the codegen to lazily add convergence intrinsics when required. This logic relied on the LoopStack. The issue is when parsing the condition, the loopstack doesn't yet reflect the correct values, as expected since we are not yet in the loop. However, convergence tokens should sometimes already be available. The solution which seemed the simplest is to greedily generate the tokens when we generate SPIR-V. Fixes #88144 --------- Signed-off-by:Nathan Gauër <brioche@google.com>
-
Artem Chikin authored
[Support] Add option to print SMDiagnostic into a buffer without the filename and location info (#92050)
-
Younan Zhang authored
Clangd uses it to determine whether the argument is within the selection range. Fixes https://github.com/clangd/clangd/issues/2033
-
Jake Egan authored
This makes the `vc-rev-enabled` feature unsupported if we fail to retrieve the git revision for any reason, such as if git is not installed.
-
Graham Hunter authored
A buildbot with expensive checks enabled flagged some problems with my patch. There was also a post-commit nit on the langref changes.
-
Benjamin Maxwell authored
This patch rewrites the ArmSME tile allocator to use liveness information to make better tile allocation decisions and improve the correctness of the ArmSME dialect. This algorithm used here is a linear scan over live ranges, where live ranges are assigned to tiles as they appear in the program (chronologically). Live ranges release their assigned tile ID when the current program point is passed their end. This is a greedy algorithm (which is mainly to keep the implementation relatively straightforward), and because it seems to be sufficient for most kernels (e.g. matmuls) that use ArmSME. The general steps of this are roughly from https://link.springer.com/content/pdf/10.1007/3-540-45937-5_17.pdf, though there have been a few simplifications and assumptions made for our use case. Hopefully, the only changes needed for a user of the ArmSME dialect is that: - `-allocate-arm-sme-tiles` will no longer be a standalone pass - `-test-arm-sme-tile-allocation` is only for unit tests - `-convert-arm-sme-to-llvm` must happen after `-convert-scf-to-cf` - SME tile allocation is now part of the LLVM conversion By integrating this into the `ArmSME -> LLVM` conversion we can allow high-level (value-based) ArmSME operations to be side-effect-free, as we can guarantee nothing will rearrange ArmSME operations before we emit intrinsics (which could invalidate the tile allocation). The hope is for ArmSME operations to have no hidden state/side effects and allow easily lowering dialects such as `vector` and `arith` to SME, without making assumptions about how the input IR looks, as the semantics of the operations will be the same. That is no (new) side effects and the IR follows the rules of SSA (a value will never change). The aim is correctness, so we have a base for working on optimizations.
-
Thorsten Schütt authored
Fixes https://github.com/llvm/llvm-project/issues/92062
-
Youngsuk Kim authored
Closes #91188
-
erichkeane authored
When writing the test for this I seemingly forgot to put 'CHECK' on the lines, so I didn't notice that I was printing the identifiers as pointers rather than their names. This patch corrects the tests and the print behavior.
-
Nathan Sidwell authored
Remove excess parentheses and use `boolean ? true-case : false-case` idiom.
-
cor3ntin authored
Given `foo...[idx]` if idx is value dependent, the expression is type dependent. Fixes #91885 Fixes #91884
-
Nathan Sidwell authored
Remove 'Valid' local boolean that has a single use, and return directly instead.
-
Nathan Sidwell authored
MCOperand has a constructor that permits a nullptr MCInst, and BOLT makes use of that. Adjust MCOperand's dumper to permit such use.
-
Mubashar Ahmad authored
Adds the LLVM vector.deinterleave2 intrinsic to the MLIR LLVM dialect. The deinterleave2 intrinsic takes a vector and returns two vectors with the first having even elements and the second with odd elements from the input vector. The inverse of vector.interleave2.
-