- Apr 01, 2024
-
-
Pengcheng Wang authored
This suppresses warning `unused variable 'MRI' [-Wunused-variable]` for those fusions that don't need `MRI`.
-
Victor Perez authored
Add rounding mode attribute to `arith`. This attribute can be used in different FP `arith` operations to control rounding mode. Rounding modes correspond to IEEE 754-specified rounding modes. Use in `arith.truncf` folding. As this is not supported in dialects other than LLVM, conversion should fail for now in case this attribute is present. --------- Signed-off-by:Victor Perez <victor.perez@codeplay.com>
-
superZWT123 authored
1. Remove 'AllModes' and 'DefaultMode' suffixes for DecoderTables under default HwMode. 2. Introduce a less aggressive suppression for HwMode DecoderTable, only reduce necessary tables duplications. This allows encodings under different HwModes to retain the original DecoderNamespace. 3. Change 'suppress-per-hwmode-duplicates' command option from bool type to enum type, allowing users to choose what level of suppression to use.
-
Chuanqi Xu authored
This patch reorder the lexical block for the translation unit, visible update block for the TU and the viisble upaete block for the extern C context after the type decl offsets block. This should be a NFC patch. This is helpful for later optimizations for eliding unreachable declarations in the global module fragment. See the comments in https://github.com/llvm/llvm-project/pull/76930. Simply, if we want to get the reachable sets of declaratins during the writing process, we need to write the file-level context later than the process of writing declarations (which is the main process to determine the reachable set).
-
Ryotaro KASUGA authored
`RegisterClassInfo::getRegPressureSetLimit` has been changed to return a smaller value than before so the limit may become negative in later calculations. As a workaround, change to use `TargetRegisterInfo::getRegPressureSetLimit`. Also improve tests.
-
Congcong Cai authored
Fixes: #85243.
-
Prashant Kumar authored
-- Convert `math.fpowi` to a series of `arith.mulf` operations. -- If the power is negative, we divide the result by 1.
-
Vitaly Buka authored
-
Vitaly Buka authored
Intrinsic declared to have sideeffects, but it's done only to prevent moving it. Removing unused ones is OK. Exacted from #84850 for easier review.
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Nikolas Klauser authored
The exposition-only type trait `pair-like` includes `ranges::subrange`, but in every single case excludes `ranges::subrange` from the list. This patch introduces two new traits `__tuple_like_no_subrange` and `__pair_like_no_subrange`, which exclude `ranges::subrange` from the possible matches. `__pair_like` is no longer required, and thus removed. `__tuple_like` is implemented as `__tuple_like_no_subrange` or a `ranges::subrange` specialization.
-
Shih-Po Hung authored
This is recommitted as the test and fix for llvm.vector.reduce.fmaximum/fminimum are covered in #80553 and #80697
-
Vitaly Buka authored
Follow up to #86049. clang-armv8-quick build bot can trigger this branch.
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
These intrinsics will not be lowered to code. RFC: https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641
-
Sameer Sahasrabuddhe authored
The earlier implementation on AMDGPU used explicit token operands at SI_CALL and SI_CALL_ISEL. This is now replaced with CONVERGENCECTRL_GLUE operands, with the following effects: - The treatment of tokens at call-like operations is now consistent with the treatment at intrinsics. - Support for tail calls using implicit tokens at SI_TCRETURN "just works". - The extra parameter at call-like instructions is eliminated, thus restoring those instructions and their handling to the original state. The new glue node is placed after the existing glue node for the outgoing call parameters, which seems to not interfere with selection of the call-like nodes.
-
Vitaly Buka authored
`RHS` can be shorter than `LHS`. Reported by asan after #83440.
-
Vitaly Buka authored
The goal is to have ability to change logic compile time based on PGO data. Our primary application is removing UBSAN checks from hot code. Then we'd like to use this for libc++ hardening and regular debug asserts. Previous attempt is #84214. Benefits from special intrinsic vs #84214: 1. Resulting binary is 3% faster than removing traps (on "test-suite/MultiSource/Benchmarks" with PGO+ThinLTO) 2. Intrinsic can be used from source code to change behavior from C/C++ program. E.g. enabling asserts in cold code. 3. Easier to match basic blocks. RFC: https://discourse.llvm.org/t/rfc-add-llvm-experimental-hot-intrinsic-or-llvm-hot/77641 --------- Co-authored-by:
Nikita Popov <npopov@redhat.com>
-
Yingchi Long authored
Fixes: https://github.com/llvm/llvm-project/issues/62252 Depends on: #73667
-
Vitaly Buka authored
Reverts llvm/llvm-project#79489 We know that the issues was with asan/annotations. We can revert it.
-
Amir Ayupov authored
-
Thurston Dang authored
[msan] Nit: use init_origins parameter instead of __msan_get_track_origins() in InitShadowWithReExec (#86994) This fixes a nit I had accidentally introduced in https://github.com/llvm/llvm-project/pull/85142 I don't think the value of __msan_get_track_origins() will change between the start and end of InitShadowWithReExec, but it's cleaner to use the parameter.
-
Ruiling, Song authored
-
Mingming Liu authored
- The raw profile format change is in https://github.com/llvm/llvm-project/pull/82711
-
Jon Chesterfield authored
This reverts commit d2b63ed0. CI again. Leading theory is bad interaction between cmake and buildbot, some guesses at PR86737
-
Philip Lassen authored
Both `Transpose` and `Broadcast` specify the `SameVariadicOperandSize` trait. However neither has a variadic operand let alone more than one. This is likely a relic from copying the boilerplate of the `Reduce` definition.
-
Mehdi Amini authored
Reverts llvm/llvm-project#86991 Some bots are broken with a leak being detected now.
-
Mehdi Amini authored
This speeds up registered op creation by 10-11% by allowing lookup by TypeID instead of StringRef. This can break your build/tests at runtime with an error that you're creating an unregistered operation that you have registered. If so you are likely using a class inheriting from the "real" operation. See for example in this patch the case of: class ConstantIndexOp : public arith::ConstantOp { If one is using `builder.create<ConstantIndexOp>()` they actually create an `arith.constant` operation, but the builder will fetch the TypeID for the `ConstantIndexOp` class which does not correspond to any registered operation. To fix it the `ConstantIndexOp` class got this addition: static ::mlir::TypeID resolveTypeID() { return TypeID::get<ConstantOp>(); } -
Greg Clayton authored
We have the ability to load .dwp files with a .debug_info.dwo section that exceeds 4GB. There were 4 locations that were using 32 bit offsets and lengths to extract variable locations, and if a DIE was over the 4GB barrier, we would truncate the block offset for the variable locations and the variable expression would be garbage. This fixes the issues. It isn't possible to add a test for this as we don't want to create a 4GB .dwp file on test machines.
-
Jakub Kuderski authored
For more context on isa predicates, see: https://github.com/llvm/llvm-project/pull/83753.
-
Jon Chesterfield authored
This reverts commit a2982a29. Buildbot failure that motivated the revert looks unrelated.
-
Austin Kerbow authored
-
Austin Kerbow authored
It was shown experimentally that this may have some benefit on newer HW.
-
Jacek Caban authored
Fixes BUILD_SHARED_LIBS builds after #87191 made helpers non-inline.
-
Pablo Busse authored
An inverted condition causes `SymbolFileDWARFDebugMap::FindTypes` to bail out after inspecting the first .o file in each module. The same kind of bug is found in `SymbolFileDWARFDebugMap::ParseDeclsForContext`. Correct both early exit conditions and add a regression test for lookup of up a type defined in a secondary compilation unit. Fixes #87176
-