- Jun 20, 2023
-
-
Ivan Kosarev authored
Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D153269
-
Francesco Petrogalli authored
The option `-misched-detail-resource-booking` prints the following information every time the method `SchedBoundary::getNextResourceCycle` is invoked: 1. counters of the resources that have already been booked; 2. the values returned by `getNextResourceCycle`, which is the next available cycle in which a resource can be booked. The method is useful to debug low-level checks inside the machine scheduler that make decisions based on the values returned by `getNextResourceCycle`. Reviewed By: andreadb Differential Revision: https://reviews.llvm.org/D153116
-
Francesco Petrogalli authored
Reverting because of https://lab.llvm.org/buildbot#builders/75/builds/32485: llvm-project/llvm/lib/CodeGen/MachineScheduler.cpp:2374:7: error: use of undeclared identifier 'MischedDetailResourceBooking' if (MischedDetailResourceBooking) This reverts commit fc06262c.
-
Francesco Petrogalli authored
The option `-misched-detail-resource-booking` prints the following information every time the method `SchedBoundary::getNextResourceCycle` is invoked: 1. counters of the resources that have already been booked; 2. the values returned by `getNextResourceCycle`, which is the next available cycle in which a resource can be booked. The method is useful to debug low-level checks inside the machine scheduler that make decisions based on the values returned by `getNextResourceCycle`. Reviewed By: andreadb Differential Revision: https://reviews.llvm.org/D153116
-
Matthias Springer authored
All `apply` functions now have a `TransformRewriter &` parameter. This rewriter should be used to modify the IR. It has a `TrackingListener` attached and updates the internal handle-payload mappings based on rewrites. Implementations no longer need to create their own `TrackingListener` and `IRRewriter`. Error checking is integrated into `applyTransform`. Tracking listener errors are reported only for ops with the `ReportTrackingListenerFailuresOpTrait` trait attached, allowing for a gradual migration. Furthermore, errors can be silenced with an op attribute. Additional API will be added to `TransformRewriter` in subsequent revisions. This revision just adds an "empty" `TransformRewriter` class and updates all `apply` implementations. Differential Revision: https://reviews.llvm.org/D152427
-
Nikita Popov authored
If there are no post-inc loops, normalization is a no-op. Don't bother rewriting the SCEV in that case.
-
Diana Picus authored
Co-authored-by:
Nicolai Hähnle <nicolai.haehnle@amd.com> Differential Revision: https://reviews.llvm.org/D151997
-
Diana Picus authored
Add a section to AMDGPUUsage.rst about calling conventions and list the ones from the CallingConv enum. Full descriptions can come later (help appreciated). Differential Revision: https://reviews.llvm.org/D151996
-
serge-sans-paille authored
This makes the new `order` subcommand part of the help. As a side effect, also make llvm::map_range compatible with plain arrays. Differential Revision: https://reviews.llvm.org/D153303
-
Michael Buch authored
Currently we emit `DW_AT_deleted` for `deleted` special-member functions (i.e., ctors/dtors). However, in C++ one can mark any member function as deleted. This patch expands the set of member functions for which we emit `DW_AT_deleted`. The DWARFv5 spec section 5.7.8 says: ``` <non-normative> In C++, a member function may be declared as deleted. This prevents the compiler from generating a default implementation of a special member function such as a constructor or destructor, and can affect overload resolution when used on other member functions. </non-normative> If the member function entry has been declared as deleted, then that entry has a DW_AT_deleted attribute. ``` Thus this change is conforming. Differential Revision: https://reviews.llvm.org/D153282
-
Nuno Lopes authored
-
Ben Shi authored
Try to break a multiplication with a specific immediate to an/a addition/subtraction of left shifts. Reviewed By: zixuan-wu Differential Revision: https://reviews.llvm.org/D153106
-
Ben Shi authored
Reviewed By: zixuan-wu Differential Revision: https://reviews.llvm.org/D153105
-
Diana Picus authored
This reverts commit aa7b127c. ...because I really ought to install sphinx.
-
Martin Braenne authored
This reverts commit dfbcee28. This was causing unit tests to fail on Gentoo, see comments on https://reviews.llvm.org/D152696.
-
Diana Picus authored
-
Diana Picus authored
Add a section to AMDGPUUsage.rst about calling conventions and list the ones from the CallingConv enum. Full descriptions can come later (help appreciated). Differential Revision: https://reviews.llvm.org/D151996
-
Nathan Ridge authored
Fixes https://github.com/clangd/clangd/issues/1666 Differential Revision: https://reviews.llvm.org/D153251
-
Haojian Wu authored
The binary tool only works on working source code, if the source code is not compilable, don't perform any analysis and edits. Differential Revision: https://reviews.llvm.org/D153271
-
Matthias Springer authored
This transform op runs a pass on the target op. Differential Revision: https://reviews.llvm.org/D153143
-
Kazu Hirata authored
-
Fangrui Song authored
Optimize (cmp+beq => cbz), duduplicate code (SAVE_REGISTERS/RESTORE_REGISTERS), improve portability (use ASM_SYMBOL to be compatible with Mach-O), and fix style issues. Also, port D37965 (x86 tail call) to __xray_FunctionTailExit.
-
Jaroslav Sevcik authored
-
Jaroslav Sevcik authored
This removes dependence on the libc abort function.
-
Zhongyunde authored
For simd vector selects, use cmeq + bsl for v2f32/v4f32/v2f64, so their cost are cheep. Fix https://github.com/llvm/llvm-project/issues/63082 Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D152523
-
Bing1 Yu authored
%tile = call x86_amx @llvm.x86.tileloadd64.internal(i16 8, i16 32, i8* %src_ptr, i64 64) %vec = call <256 x i8> @llvm.x86.cast.tile.to.vector.v256i8(x86_amx...%tile) store <256 x i8> %vec, <256 x i8>* %dst_ptr, align 256 => %tile = call x86_amx @llvm.x86.tileloadd64.internal(i16 8, i16 32, i8* %src_ptr, i64 64) %stride = sext i16 32 to i64 call void @llvm.x86.tilestored64.internal(i16 8, i16 32, i8* %dst_ptr, i64 32, x86_amx %tile) Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D153002
-
Fangrui Song authored
The intrinsic has a smaller integer type than the parameter type of builtin-function/API. Fix this similar to commit 3fa3cb40.
-
Fangrui Song authored
The Clang built-in function is void __xray_typedevent(size_t, const void *, size_t), but the LLVM intrinsics has smaller integer types. Since we only allow 64-bit ELF/Mach-O targets, we can change llvm.xray.typedevent to i64/ptr/i64. This allows encoding more information and avoids i16 legalization for many non-X86 targets. fdrLoggingHandleTypedEvent only supports uint16_t event type.
-
Kazu Hirata authored
This patch fixes: bolt/lib/Core/BinarySection.cpp:120:24: error: unused variable 'Relocation' [-Werror,-Wunused-variable]
-
Vladislav Dzhidzhoev authored
Test "local-type-as-template-parameter.ll" is now enabled only for x86_64. Authored-by:
Kristina Bessonova <kbessonova@accesssoftek.com> Differential Revision: https://reviews.llvm.org/D144006 Depends on D144005
-
Vladislav Dzhidzhoev authored
Revert "Reland "[DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (4/7)"" This reverts commit 2da45172. Test local-type-as-template-parameter.ll fails on ppc64-aix.
-
Fangrui Song authored
This is remnant after D140739.
-
Fangrui Song authored
-
Scott Linder authored
The extension codespace for DWARF expressions (DW_OP_LLVM_{lo,hi}_user) has shrunk over time, as no extension is ever "retired" in practice. To facilitate future extensions, this patch reserves one open opcode as an extension point (0xfe), which is followed by a ULEB128-encoded SubOperation, and then by the subop's operands. There is some prior-art, namely DW_OP_AARCH64_operation (see https://github.com/ARM-software/abi-aa/blob/edd7460d87493fff124b8b5713acf71ffc06ee91/aadwarf64/aadwarf64.rst#45dwarf-expression-operations). This version makes some different tradeoffs, opting to use a ULEB128 for the subop encoding for future-proofing. Reviewed By: #debug-info, dblaikie Differential Revision: https://reviews.llvm.org/D147271 -
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D153295
-
Jay Foad authored
-
Fangrui Song authored
and removed unused CC1Option. Also change -whole-archive to the canonical spelling and improve tests.
-
Scott Linder authored
Update DWARFExpression::Operation and LVOperation to support more than 2 operands. Take the opportunity to use a SmallVector, which will handle at least 2 operands without allocation anyway, and removes the static limit completely. As there is no longer the concept of an "unused operand", remove Operation::Encoding::SizeNA. Any use of it is now replaced with explicit checks for how many operands an operation has. There are still places where the limit remains 2, namely in the DWARFLinker and in DIExpressions, but these can be updated in later patches as-needed. There are no explicit tests as this is nearly NFC: no new operation is added which makes use of the additional operand capacity yet. A future patch adding a new DWARF extension point will include operations which require the support. Reviewed By: Orlando, CarlosAlbertoEnciso Differential Revision: https://reviews.llvm.org/D147270
-
Siva Chandra Reddy authored
The libc flush operation is not supposed to trigger a platform level flush operation. See "Notes" on this Linux man page: https://man7.org/linux/man-pages/man3/fflush.3.html Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D153182 -
Vladislav Dzhidzhoev authored
Test "local-type-as-template-parameter.ll" now requires linux-system. Authored-by:
Kristina Bessonova <kbessonova@accesssoftek.com> Differential Revision: https://reviews.llvm.org/D144006 Depends on D144005
-