- Nov 04, 2023
-
-
Chengji Yao authored
Add a pass that propagates sharding information throughout the graph. After this pass, each of the operations' operands and results is annotated with a mesh.shard operation. The pass is driven by a newly added ShardingInterface, and an implementation for element-wise and matmul ops in the TOSA dialect is provided.
-
Teresa Johnson authored
Loosen up the matching so that a missing leaf debug frame in the profile does not prevent matching an allocation context if we can match further up the inlined call context. This relies on the pre-inliner, which was already the default when performing normal PGO feedback along with the MemProf feedback, but to ensure matching is not affected by the presence of PGO, enable the pre-inliner for MemProf feedback as well.
-
Fangrui Song authored
-
long.chen authored
-
Jonas Devlieghere authored
This builds on top of the work started in c3a302d3 to convert LocateSymbolFile to a SymbolLocator plugin. This commit moves LocateExecutableSymbolFile.
-
Lu Weining authored
In g++, empty unions are not ignored like empty structs when flattening structs to examine whether the structs can be passed via FARs in C++. This patch aligns clang++ with g++. Fix https://github.com/llvm/llvm-project/issues/70890.
-
Adrian Prantl authored
I'm assuming that because sys::path::append defaults to native path this fails. Since dsymutil is a Darwin tool, we can just hardcode the UNIX path separator.
-
Jonas Devlieghere authored
This builds on top of the work started in c3a302d3 to convert LocateSymbolFile to a SymbolLocator plugin. This commit moves FindSymbolFileInBundle.
-
Mehdi Amini authored
This reverts commit 9d9400d7. This reverts commit bda763ae. The buildbot is broken and tests are failing.
-
Jie Fu authored
/llvm-project/mlir/lib/Dialect/Mesh/IR/MeshOps.cpp:73:1: error: non-void function does not return a value in all control paths [-Werror,-Wreturn-type] } ^ 1 error generated.
-
Yeting Kuo authored
Since smaia and ssaia are ratified now, we could remove their experimental- prefix.
-
Jie Fu authored
/llvm-project/mlir/lib/Target/LLVM/ROCDL/Target.cpp:181:40: error: unused variable 'targetMachine' [-Werror,-Wunused-variable] std::optional<llvm::TargetMachine *> targetMachine = ^ 1 error generated. -
Chengji Yao authored
Add a pass that propagates sharding information throughout the graph. After this pass, each of the operations' operands and results is annotated with a `mesh.shard` operation, and the operations themselves are added with sharding option attributes. The pass is driven by a newly added `ShardingInterface`, and an implementation for element-wise and matmul ops in the TOSA dialect is provided.
-
Fangrui Song authored
-
michaelrj-google authored
The ErrnoSetterMatcher target was renamed in a previous patch, but not all uses were caught. This patch fixes those that remain.
-
Jorge Gorbe Moya authored
-
Jacques Pienaar authored
Enable passing in MlirAsmState optionally (allow for passing in null) to allow using the more efficient print calling API. The existing print behavior results in a new AsmState is implicitly created by walking the parent op and renumbering values. This makes the cost more explicit and avoidable (by reusing an AsmState).
-
Jason Molenda authored
The current Darwin arm64e ABI on AArch64 systems using ARMv8.3 & newer cores, adds authentication bits to the vtable pointer address. The vtable address must be in addressable memory, so running it through Process::FixDataAddress will be a no-op on other targets. This was originally a downstream change that I hadn't upstreamed yet, and it was surfaced by Greg's changes in https://github.com/llvm/llvm-project/pull/67599 so I needed to update the local patch, and was reminded that I should upstream this.
-
Konstantinos Parasyris authored
-
Aart Bik authored
This prepares actual "direct IR codegen" for loose compressed and 2:4. Also bit of cleanup of stale TODOs
-
spupyrev authored
Edited lld/ELF/Options.td to cdsort as well CDSort function reordering outperforms the existing default heuristic ( hfsort/C^3) in terms of the performance of generated binaries while being (almost) as fast. Thus, the suggestion is to change the default. The speedup is up to 1.5% perf for large front-end binaries, and can be moderate/neutral for "small" benchmarks. High-level **perf impact** on two selected binaries: clang-10 binary (built with LTO+AutoFDO/CSSPGO): wins on top of C^3 in [0.3%..0.8%] rocksDB-8 binary (built with LTO+CSSPGO): wins on top of C^3 in [0.8%..1.5%] More detailed measurements on the clang binary is at [here](https://reviews.llvm.org/D152834#4445042)
-
Mingming Liu authored
The motivating use case is to have type metadata on vtables if IR instrumentation is on (without the requirement of`-fwhole-program-vtables` or `-flto`). A related rfc is in https://discourse.llvm.org/t/rfc-dynamic-type-profiling-and-optimizations-in-llvm/74600
-
Jacques Pienaar authored
Not used in all cases. Shown by python test ops.
-
Jonas Devlieghere authored
This commit contains the initial scaffolding to convert the functionality currently implemented in LocateSymbolFile to a plugin architecture. The plugin approach allows us to easily add new ways to find symbols and fixes some issues with the current implementation. For instance, currently we (ab)use the host OS to include support for querying the DebugSymbols framework on macOS. The plugin approach retains all the benefits (including the ability to compile this out on other platforms) while maintaining a higher level of separation with the platform independent code. To limit the scope of this patch, I've only converted a single function: LocateExecutableObjectFile. Future commits will convert the remaining LocateSymbolFile functions and eventually remove LocateSymbolFile. To make reviewing easier, that will done as follow-ups. -
Jacques Pienaar authored
Previously only unwrapped values were considered for default values in builders, expand to Attributes given the change to populate defaults. To avoid overlap between wrapped and unwrapped, the starting index is incremented depending on if the smallest starting index for default valued args can be materialized in unwrapped form or not. Given the above limitation this is pretty small change. `optional` is unfortunately meant to also represent conditionally set which means we cannot allow nullptr for all Attributes marked optional at the moment. Reviewed By: Mogball Differential Revision: https://reviews.llvm.org/D140705
-
Youngsuk Kim authored
Opaque ptr cleanup effort (NFC)
-
michaelrj-google authored
This patch adjusts the inline function decl check for LLVM libc to ignore implicit functions. For the moment the plan is to ignore these and mark the class with a macro so that it can be given the appropriate properties without explicitly defining all its ctors/dtors.
-
Aart Bik authored
-
Jerry-Ge authored
- The latest TOSA spec for CustomOp is having attributes - operator_name, domain_name, and implementation_attrs - Updated the dialect to align with the spec change Signed-off-by:Jerry Ge <jerry.ge@arm.com>
-
Christian Ulmann authored
This commit removes the no longer required `llvm.ptr<i8>` bitcasts from AMX's legalize-for-llvm-export pass. Typed pointers have been deprecated for a while now and it's planned to soon remove them from the LLVM dialect. Related PSA: https://discourse.llvm.org/t/psa-removal-of-typed-pointers-from-the-llvm-dialect/74502
-
Kirill Stoimenov authored
-
Ramkumar Ramachandra authored
Fix a bug introduced in 98c90a13 (ISel: introduce vector ISD::LRINT, ISD::LLRINT; custom RISCV lowering), where ISD::LRINT and ISD::LLRINT used WidenVecRes_Unary to widen the vector result. This leads to incorrect CodeGen for RISC-V fixed-vectors of length 3, and a crash in SelectionDAG when we try to lower llvm.lrint.vxi32.vxf64 on i686. Fix the bug by implementing a correct WidenVecRes_XRINT. Fixes #71187.
-
Kirill Stoimenov authored
-
Fangrui Song authored
[ELF] Improve undefined symbol message w/ DW_TAG_variable of the enclosing symbol but w/o line number information (#70854) The undefined symbol message suggests the source line when line number information is available (see https://reviews.llvm.org/D31481). When the undefined symbol is from a global variable, we won't get the line information. ``` extern int undef; namespace ns { int *var[] = { &undef }; // DW_TAG_variable(DW_AT_decl_file/DW_AT_decl_line) is available while // line number information is unavailable. } ld.lld: error: undefined symbol: undef >>> referenced by undef-debug2.cc >>> undef-debug2.o:(ns::var) ``` This patch utilizes `getEnclosingSymbol` to locate `var` and find DW_TAG_variable for `var`: ``` ld.lld: error: undefined symbol: undef >>> referenced by undef-debug2.cc:3 (/tmp/c/undef-debug2.cc:3) >>> undef-debug2.o:(ns::var) ```
-
Vladislav Khmelevsky authored
It seems that currently this section is only created by the mold linker if 2 conditions are met: 1. The PLT function was called directly. 2. The indirect access to PLT function was found (e.g. through ADRP relocation). Although mold created symbol for every plt entry I've removed them in yaml file to check that .plt.got was truly disassembled by bolt.
-
Fangrui Song authored
-
Mehdi Amini authored
Some specific implementation of the offload may want more customization, and even avoid using LLVM in-tree to dispatch the ISA translation to a custom solution. This refactoring makes it possible for such implementation to work without even configuring the target backend in LLVM. Reviewers: fabianmcg Reviewed By: fabianmcg Pull Request: https://github.com/llvm/llvm-project/pull/71165
-
Christian Ulmann authored
This commit removes all LLVM dialect typed pointers from the target tests. Typed pointers have been deprecated for a while now and it's planned to soon remove them from the LLVM dialect. Related PSA: https://discourse.llvm.org/t/psa-removal-of-typed-pointers-from-the-llvm-dialect/74502
-
Christian Ulmann authored
This commit removes all LLVM dialect typed pointers from the integration tests. Typed pointers have been deprecated for a while now and it's planned to soon remove them from the LLVM dialect. Related PSA: https://discourse.llvm.org/t/psa-removal-of-typed-pointers-from-the-llvm-dialect/74502
-
Nikita Popov authored
Revert "Port Swift's merge function pass to llvm: merging functions that differ in constants (#68235)" This reverts commit 19b5495b. PR landed without approval, with severe quality issues.
-