Commit
bcec0f27a2c37b64d5e8b84bbbfa563edae6affe
by Joseph.Nash[AMDGPU] Deduplicate VOP tablegen asm & ins
VOP3 and VOP DPP subroutines to generate input operands and asm strings were essentially copy pasted several times. They are deduplicated to reduce the maintenance burden and allow faster development.
Reviewed By: dp
Differential Revision: https://reviews.llvm.org/D94102
Change-Id: I76225eed3c33239d9573351e0c8a0abfad0146ea
|
 | llvm/lib/Target/AMDGPU/VOP3Instructions.td |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.td |
Commit
74628c43053b482f35f0f1e6b4eac743fbe425e5
by zinenko[mlir] Add Python bindings for AffineExpr
This adds the Python bindings for AffineExpr and a couple of utility functions to the C API. AffineExpr is a top-level context-owned object and is modeled similarly to attributes and types. It is required, e.g., to build layout maps of the built-in memref type.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D94225
|
 | mlir/lib/CAPI/IR/AffineExpr.cpp |
 | mlir/test/CAPI/ir.c |
 | mlir/include/mlir-c/AffineExpr.h |
 | mlir/lib/Bindings/Python/IRModules.cpp |
 | mlir/include/mlir-c/Bindings/Python/Interop.h |
 | mlir/lib/Bindings/Python/IRModules.h |
 | mlir/test/Bindings/Python/ir_affine_expr.py |
Commit
e79bd0b4f25e68130a2ac273d6508ea322028b61
by zinenko[mlir] More Python bindings for AffineMap
Now that the bindings for AffineExpr have been added, add more bindings for constructing and inspecting AffineMap that consists of AffineExprs.
Depends On D94225
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D94297
|
 | mlir/test/CAPI/ir.c |
 | mlir/lib/Bindings/Python/IRModules.cpp |
 | mlir/include/mlir-c/AffineExpr.h |
 | mlir/test/Bindings/Python/ir_affine_map.py |
 | mlir/include/mlir-c/AffineMap.h |
 | mlir/lib/CAPI/IR/AffineMap.cpp |
Commit
547e3eef14a8e75a867dfcc6b45cd1f0547d4e07
by zinenko[mlir] Expose MemRef layout in Python bindings
This wasn't possible before because there was no support for affine expressions as maps. Now that this support is available, provide the mechanism for constructing maps with a layout and inspecting it.
Rework the `get` method on MemRefType in Python to avoid needing an explicit memory space or layout map. Remove the `get_num_maps`, it is too low-level, using the length of the now-avaiable pseudo-list of layout maps is more pythonic.
Depends On D94297
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D94302
|
 | mlir/lib/CAPI/IR/BuiltinTypes.cpp |
 | mlir/lib/Bindings/Python/IRModules.cpp |
 | mlir/test/Bindings/Python/ir_types.py |
 | mlir/include/mlir-c/BuiltinTypes.h |
Commit
47567ca5faca147bcc28bcbbaa6bf448354bb5d4
by clementval[flang][openxx][NFC] Remove duplicated function to check required clauses
Remove duplicated function to check for required clauses on a directive. This was still there from the merging of OpenACC and OpenMP common semantic checks and it can now be removed so we use only one function.
Reviewed By: sameeranjoshi
Differential Revision: https://reviews.llvm.org/D93575
|
 | flang/test/Semantics/omp-device-constructs.f90 |
 | flang/lib/Semantics/check-directive-structure.h |
 | flang/lib/Semantics/check-omp-structure.cpp |
Commit
d8c6d24359f17c55a8966231ef74e8f4b03ad282
by tmsriram-funique-internal-linkage-names appends a hex md5hash suffix to the symbol name which is not demangler friendly, convert it to decimal.
Please see D93747 for more context which tries to make linkage names of internal linkage functions to be the uniqueified names. This causes a problem with gdb because breaking using the demangled function name will not work if the new uniqueified name cannot be demangled. The problem is the generated suffix which is a mix of integers and letters which do not demangle. The demangler accepts either all numbers or all letters. This patch simply converts the hash to decimal.
There is no loss of uniqueness by doing this as the precision is maintained. The symbol names get longer by a few characters though.
Differential Revision: https://reviews.llvm.org/D94154
|
 | llvm/lib/Transforms/Utils/UniqueInternalLinkageNames.cpp |
 | llvm/test/Transforms/UniqueInternalLinkageNames/unique_symbol_names.ll |
 | clang/test/CodeGen/unique-internal-linkage-names.cpp |
Commit
43a830ed94180f72533263bb1c40af29510c017a
by schmeiseIntroduce new quiet mode and new option handling for -print-changed. Summary: Introduce a new mode of operation for -print-changed that only reports after a pass changes the IR with all of the other messages suppressed (ie, no initial IR and no messages about ignored, filtered or non-modifying passes).
The option processing for -print-changed is changed to take an optional string indicating options for print-changed. Initially, the only option supported is quiet (as described above). This new quiet mode is specified with -print-changed=quiet while -print-changed will continue to function in the same way. It is intended that there will be more options in the future.
Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: aeubanks (Arthur Eubanks) Differential Revision: https://reviews.llvm.org/D92589
|
 | llvm/test/Other/change-printer.ll |
 | llvm/include/llvm/Passes/StandardInstrumentations.h |
 | llvm/lib/Passes/StandardInstrumentations.cpp |
Commit
5464baaae8c19997c5b0b76930d2b5ee13f68dfa
by rnkFix minor build issue (NFC)
Change [x86] Fix tile register spill issue was causing problems for our build using gcc-5.4.1
The problem was caused by this line:
for (const MachineInstr &MI : make_range(MIS.begin(), MI))
where MI was previously defined as a MachineBasicBlock iterator.
Differential Revision: https://reviews.llvm.org/D94415
|
 | llvm/lib/CodeGen/InlineSpiller.cpp |
Commit
1027a22ccd72bb127253cf7d27f528712fa21fa0
by Abhina.Sreeskantharajan[SystemZ][z/OS] Fix Permission denied pattern matching
On z/OS, the error message "EDC5111I Permission denied." is not matched correctly in lit tests. This patch updates the check expression to match successfully.
Reviewed By: fanbo-meng
Differential Revision: https://reviews.llvm.org/D94432
|
 | llvm/test/tools/llvm-elfabi/fail-file-write.test |
Commit
195728c75aa41d80254175c5d7ac2f881333b139
by csigg[mlir] Add structural conversion to async dialect lowering.
Lowering of async dialect uses a fixed type converter and therefore does not support lowering non-standard types.
This revision adds a structural conversion so that non-standard types in `!async.value`s can be lowered to LLVM before lowering the async dialect itself.
Reviewed By: ezhulenev
Differential Revision: https://reviews.llvm.org/D94404
|
 | mlir/include/mlir/Conversion/AsyncToLLVM/AsyncToLLVM.h |
 | mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp |