- Feb 05, 2024
-
-
Sheng authored
-
ZijunZhaoCCK authored
Followup for https://github.com/llvm/llvm-project/pull/75373 1. Make this feature not just available for android, but everyone. 2. Correct some target triples. 3. Add opencl to the environment type list.
-
Craig Topper authored
If we have a shifted mask, we may be able to reduce the load width to the width of the non-zero part of the mask and use an offset to the base address to remove the srl. The offset is given by C+trailingzeros(ShiftedMask). Then we add a final shl to restore the trailing zero bits. I've use the ARM test because that's where the existing (and (srl (load))) tests were. The X86 test was modified to keep the H register. -
Craig Topper authored
Replace calls to getShiftAmountTy+getConstant with getShiftAmountContant.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
NAKAMURA Takumi authored
* Revise instructions for regeneration, not to create executables. * Add instructions to regenerate both object files and test vectors (except for `mcdc-general-none.proftext`) * Reformat
-
Craig Topper authored
-
Craig Topper authored
-
rmarker authored
The RTBS_None option in Clang-format avoids breaking after a short return type. However, there was an issue with the behaviour in that it wouldn't take the leading indentation of the line into account. This meant that the behaviour wasn't applying when intended. In order to address this situation without breaking the existing formatting, RTBS_None has been deprecated. In its place are two new options for AlwaysBreakAfterReturnType. The option RTBS_Automatic will break after the return type based on PenaltyReturnTypeOnItsOwnLine. The option RTBS_ExceptShortType will take the leading indentation into account and prevent breaking after short return types. This allows the inconsistent behaviour of RTBS_None to be avoided and users to decide whether they want to allow breaking after short return types or not. Resolves #78010
-
Dave Lee authored
The implementation of `FormatCache::Entry &FormatCache::GetEntry(ConstString)` is effectively a duplication of `std::map::operator[]`. This change deletes `GetEntry` and replaces its use with `operator[]`.
-
Craig Topper authored
-
Marius Brehler authored
To register the conversion the autogenerated function `registerSCFToEmitC()` calls `createSCFToEmitC()`, which itself is also autogenerated. The removed function, however, isn't used in the upstream codebase.
-
- Feb 04, 2024
-
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Freddy Ye authored
This patch will also expand supports for attribute/target, while the priority of newly supported ISAs will be set to zero.
-
Yingwei Zheng authored
This patch replaces min/max intrinsic with one of its operands if possible. Alive2: https://alive2.llvm.org/ce/z/LoHfYf Fixes #75155.
-
Craig Topper authored
Previously we stored MachineInstr which restricted the implementation to only handle operand 0. The TH_LWD instruction has two sign extended destinations.
-
Congcong Cai authored
table.grow is valid with type `[t i32] -> [i32]`. Fixes: #79966.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Tom Stellard authored
Modifying a cherry-picked patch to fix code formatting issues can be risky, so we don't typically do this. Therefore, it's not necessary to run this job on the release branches.
-
Tom Stellard authored
This action is really just a wrapper around cmake and ninja. It doesn't add any value to the builds, and I don't think we need it now that there are reusable workflows.
-
Serge Pavlov authored
Implement handling of get/set floating point environment for ARM in Global Instruction Selector. Lowering of these intrinsics to operations on FPSCR was previously inplemented in DAG selector, in GlobalISel it is reused.
-
Koakuma authored
This adds GCC-compatible names for code model selection on 64-bit SPARC with absolute code. Testing with a 2-stage build then running codegen tests works okay under all of the supported code models. (32-bit target does not have selectable code models) Reviewed By: @brad0, @MaskRay
-
Craig Topper authored
-
Yingwei Zheng authored
According to the C++ standard, `dynamic_cast` of pointers either returns a pointer (7.6.1.7) or results in undefined behavior (11.9.5). This patch marks `__dynamic_cast` as `willreturn` to remove unused calls. Fixes #77606.
-
Craig Topper authored
-
Craig Topper authored
We had the isel patterns, but no tests that used them. We only had sextload and zextload tests. Also reduce the alignment on some of the test cases that were unnecessarily over aligned.
-
Harald van Dijk authored
For the current version of the PR43024 test, we should be able to optimize away the operations but fail to do so. This commit adds a strictfp version of the test where we should not be able to optimize away the operations, as a verification that changes to improve the other effect have no adverse effect.
-
LLVM GN Syncbot authored
-
Nikolas Klauser authored
This reapplies #76657. Non-trivial elements didn't get destroyed previously. This fixes the bug and adds tests for all the vector insertion functions.
-
Yingwei Zheng authored
This patch folds: ``` (icmp eq (and (bitcast X to int), ExponentMask), ExponentMask) --> llvm.is.fpclass(X, fcInf|fcNan) (icmp ne (and (bitcast X to int), ExponentMask), ExponentMask) --> llvm.is.fpclass(X, ~(fcInf|fcNan)) ``` Alive2: https://alive2.llvm.org/ce/z/_hXAAF
-