- Aug 13, 2023
-
-
Simon Pilgrim authored
[X86] combineToExtendBoolVectorInReg - don't use changeVectorElementType to create the bool vector type Converting a (simple) vXf32 type to a vXi1 type isn't guaranteed to be simple, causing the MVT type to be invalid. Fixes #64627
-
Ye Luo authored
-
Lei Zhang authored
-
Douglas Yung authored
This reverts commit a5fe6c7f. This change is causing problems with Windows build bots due to a hanging zombie llvm-symbolizer.exe process.
-
Kai Luo authored
RuntimeDyld has implemented more relocations than JITLink for ppc64. This patch adds relocations missing from JITLink for ppc64. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D157366
-
Lei Zhang authored
This would mean allowing vector type conversion involving sub-byte element types. Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D157791
-
Lei Zhang authored
For integer extension or truncation with type emulation, we need to make sure we perform masking or shifting to discard unwanted bits to avoid pollute consumer ops. Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D157788
-
Fabian Mora authored
Fix a build failure in GCC 7 caused by the function: `std::optional<SmallVector<std::unique_ptr<llvm::Module>>> loadBitcodeFiles` , in `NVVMTarget` & `ROCDLTarget`. The failure is caused because GCC fails to use the move constructor in `std::optional` for constructing the return value, which prompts a call to the deleted copy constructor in `std::unique_ptr`, resulting in a failure. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D157804
-
Lei Zhang authored
This makes the code easier to search and read. Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D157782
-
Koakuma authored
Add support for DONE, RETRY, SAVED, and RESTORED (v9 Section A.11 & Section A.47). Those instructions are used for low-level interrupt handling and register window management by OS kernels. Reviewed By: barannikov88 Differential Revision: https://reviews.llvm.org/D144936
-
Jonas Hahnfeld authored
According to the RISC-V ELF psABI, the relocations perform additions, and this is also what the code implements.
-
Nathan Sidwell authored
The address-space intrinsics need detecting, and all have very similar processing. Refactor to do just that. Differential Revision: https://reviews.llvm.org/D157763 Reviewed By: jroelofs
-
Amara Emerson authored
-
Craig Topper authored
We need a pseudo for each scalar FP register class. Previously we distinquished the pseudos by naming them with F16, F32, F64, or BF16 in place of the F in the normal instruction name. Because these strings can appear in other parts of the name we had to do things like matching "_VBF16" to "_VF". This patch replaces the F16, F32, F64 strings with FPR16, FPR32, and FPR64. We also use FPR16 for BF16 since that is the scalar register class for bf16. Since the FPR16/32/64 string does not anywhere else in the pseudo names, we can use this to simplify the string replacements. This also allows us to simplify some BF16 related code. Reviewed By: wangpc Differential Revision: https://reviews.llvm.org/D157749
-
Craig Topper authored
This avoids needing an FP value to represent LMUL. Reviewed By: 4vtomat Differential Revision: https://reviews.llvm.org/D157651
-
Elliot Goodrich authored
`MachineInstr.h` is a commonly included file and this includes `llvm/ADT/SmallSet.h` for one function `getUsedDebugRegs()`, which is used only in one place. According to `ClangBuildAnalyzer` (run solely on building LLVM, no other projects) the second most expensive template to instantiate is the `SmallSet::insert` method used in the `inline` implementation in `getUsedDebugRegs()`: ``` **** Templates that took longest to instantiate: 554239 ms: std::unordered_map<int, int> (2826 times, avg 196 ms) 521187 ms: llvm::SmallSet<llvm::Register, 4>::insert (930 times, avg 560 ms) ... ``` By removing this method and putting its implementation in the one call site we greatly reduce the template instantiation time and reduce the number of includes. When copying the implementation, I removed a check on `MO.getReg()` as this is checked within `MO.isVirtual()`. Differential Revision: https://reviews.llvm.org/D157720 -
Julian Schmidt authored
Differential https://reviews.llvm.org/D145477 removed the check for `(yaml and args.export_fixes)` in line 303 to skip looking for the `clang-apply-replacements` binary. However, the `tmpdir` variable was set in this true branch when exporting fixes and therefore is `None` when invoking run-clang-tidy with `run-clang-tidy -p . -export-fixes fixes.yaml`. Reviewed By: PiotrZSL Differential Revision: https://reviews.llvm.org/D157773
-
- Aug 12, 2023
-
-
Daniil Kalinin authored
- Changed parameters type in `std::rotr` and `std::rorl` functions from `unsigned int` to `int`. - Implemented behaviour for negative parameter values. Fixes #64544 Reviewed By: #libc, philnik Spies: arichardson, philnik, libcxx-commits Differential Revision: https://reviews.llvm.org/D157569
-
dingfei authored
-
Christudasan Devadasan authored
-
Guray Ozen authored
This work introduces `WGMMATypes` attributes for the `WgmmaMmaSyncOp`. This op, having been recently added to MLIR, previously used `MMATypes`. However, there arises a disparity in supported types between `MmaOp` and `WgmmaMmaSyncOp`. To address this discrepancy more effectively, a new set of attributes is introduced. Furthermore, this patch refines and optimizing the verification mechanisms of `WgmmaMmaSyncOp` Op. It also adds support for f8 types, including `e4m3` and `e5m2`, within the `WgmmaMmaSyncOp`. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D157695
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Serge Pavlov authored
If llvm-symbolizer finds a malformed command, it echoes it to the standard output. New versions of binutils (starting from 2.39) allow to specify an address by a symbols. Implementation of this feature in llvm-symbolizer makes the current reaction on invalid input inappropriate. Almost any invalid command may be treated as a symbol name, so the right reaction should be "symbol not found" in such case. The exception are commands that are recognized but have incorrect syntax, like "FILE:FILE:". The utility must produce descriptive diagnostic for such input and route it to the stderr. This change implements the new reaction on invalid input and is a prerequisite for implementation of symbol lookup in llvm-symbolizer. Differential Revision: https://reviews.llvm.org/D157210
-
Guray Ozen authored
WgmmaMmaSyncOp is asynchronous operation. There was a typo named op. This work fixes that. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D157697
-
Med Ismail Bennani authored
This patch skips images with an empty path or a 0 UUID from loading as a SymbolFileJSON. rdar://112107986 Differential Revision: https://reviews.llvm.org/D157137 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Med Ismail Bennani authored
Prior to this patch, when a user loaded multiple crash report in lldb, they could get in a situation where all the targets would keep the same architecture and executable path as the first one that we've created. The reason behind this was that even if we created a new CrashLog object, which is derived from a Symbolicator class that has a newly constructoted image list as a default argument, because that default argument is only created once when the function is defined, every CrashLog object would share the same list. That will cause use to append newly parsed images to the same Symbolicator image list accross multiple CrashLog objects. To address this, this patch changes the default argument value for the image parameter to `None` and only initialize it as an empty list when no argument was passed. This also removes the image list stored in each CrashLog parsers since they shouldn't have any state and should be re-usable. So now, the only source of truth is stored in the CrashLog object. rdar://84984949 Differential Revision: https://reviews.llvm.org/D157044 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Med Ismail Bennani authored
This patch moves CrashLogParseMode into TextCrashLogParser since it's the only class using it. Signed-off-by:Med Ismail Bennani <ismail@bennani.ma>
-
Med Ismail Bennani authored
This patch changes the parsing logic for the legacy crash report format to avoid interrupting the parsing if there are new lines in the middle of a section. To do, the parser starts to skip all consecutive empty lines. If the number of lines skipped is greater than 1, the parser considers that it reached a new setion of the report and should reset the parsing mode to back to normal. Otherwise, it tries to parse the next line in the current parsing mode. If it succeeds, the parser will also skip that line since it has already been parsed and continue the parsing. rdar://107022595 Differential Revision: https://reviews.llvm.org/D157043 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Med Ismail Bennani authored
This patch changes the way we dump the registers from the legacy crashlog command to make sure that the ordering matches the one from lldb. rdar://109172073 Differential Revision: https://reviews.llvm.org/D156919 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
max authored
add `owner` to OpResultsList. this is useful for when the list is empty and an element can't be used to fetch the owner. Differential Revision: https://reviews.llvm.org/D157769
-
Fangrui Song authored
Constructs such as inline variables, #line, and #include can create lexical blocks with a different filename. GCOVProfiling and llvm-cov gcov currently don't handle such cases (see GCOVLines::writeOut and GCOVFile::readGCNO) and would incorrectly attribute the line number to the current file. For now, ignore such blocks. Missing line execution counts is better than wrong ones.
-
Douglas Yung authored
-
Fabian Mora authored
Adds the passes `nvvm-attach-target` & `rocdl-attach-target for attaching `nvvm.target` & `rocdl.target` attributes to GPU Modules. These passes search GPU Modules in the immediate region of the Op being acted on, attaching the target attribute to the module. Modules can be selected using a regex string, allowing fine grain attachment of targets, see the test `attach-target.mlir` for an example. Depends on D154153 Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D157351
-
Fabian Mora authored
Adds documentation to the GPU dialect docs giving a general overview of the new compilation mechanism introduced in the patch series ending in D154153. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D157461
-