- Jan 02, 2022
-
-
Kazu Hirata authored
Identified by misc-unused-using-decls.
-
Kazu Hirata authored
-
Philip Reames authored
-
Philip Reames authored
This is in advance of a following change which needs to the non-icmp API.
-
Florian Hahn authored
VPWidenCanonicalIVRecipe does not create PHI instructions, so it does not need to be placed in the phi section of a VPBasicBlock. Also tidies the code so the WidenCanonicalIV recipe and the compare/lane-masks are created in the header. Discussed D113223. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D116473
-
Kazu Hirata authored
hasInterestingContent was introduced without a use on Sep 15, 2015 in commit e5162dba.
-
Kazu Hirata authored
-
Craig Topper authored
For .vf instructions, we don't need MF8 pseudos for f16. We don't need MF8 or MF4 pseudos for f32. Or MF8, MF4, MF2 for f64. Reviewed By: khchen Differential Revision: https://reviews.llvm.org/D116437
-
Kazu Hirata authored
Identified with readability-redundant-member-init.
-
- Jan 01, 2022
-
-
Kazu Hirata authored
Identified by readability-redundant-string-init.
-
David Green authored
This adds at extra check into ARMBaseInstrInfo::verifyInstruction to verify the offsets used in addressing mode immediates using isLegalAddressImm. Some tests needed fixing up as a result, adjusting the opcode created from CMSE stack adjustments. Differential Revision: https://reviews.llvm.org/D114939
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
The function is declared in AArch64.h. Identified with readability-redundant-declaration.
-
Florian Hahn authored
This was suggested as a separate cleanup in recent reviews.
-
Craig Topper authored
This matches what is done in ValueTracking.cpp Reviewed By: RKSimon, foad Differential Revision: https://reviews.llvm.org/D116423
-
Craig Topper authored
[RISCV][LegalizeIntegerTypes] Teach PromoteSetCCOperands not to sext i32 comparisons for RV64 if the promoted values are already zero extended. This is similar to what is done for targets that prefer zero extend where we avoid using a zero extend if the promoted values are sign extended. We'll also check for zero extended operands for ugt, ult, uge, and ule when the target prefers sign extend. This is different than preferring zero extend, where we only check for sign bits on equality comparisons. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D116421
-
Kazu Hirata authored
-
Kazu Hirata authored
The function was introduced without any use on Aug 11, 2017 in commit 7f37794e.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
- Dec 31, 2021
-
-
Kazu Hirata authored
InitializePasses.h contains the proper declaration. Identified with readability-redundant-declaration.
-
Sanjay Patel authored
~(A & B) | (A ^ B) --> ~(A & B) https://alive2.llvm.org/ce/z/hXQucg
-
Simon Tatham authored
This is the first commit in a series that implements support for "armv8.8-a" architecture. This should contain all the necessary boilerplate to make the 8.8-A architecture exist from LLVM and Clang's point of view: it adds the new arch as a subtarget feature, a definition in TargetParser, a name on the command line, an appropriate set of predefined macros, and adds appropriate tests. The new architecture name is supported in both AArch32 and AArch64. However, in this commit, no actual _functionality_ is added as part of the new architecture. If you specify -march=armv8.8a, the compiler will accept it and set the right predefines, but generate no code any differently. Differential Revision: https://reviews.llvm.org/D115694
-
Paul Walker authored
-
Florian Hahn authored
VF should always be non-zero in widenIntOrFpInduction. Turn check into assertion.
-
Random authored
Early revisions of the VR4300 have a hardware bug where two consecutive multiplications can produce an incorrect result in the second multiply. This revision adds the `-mfix4300` flag to llvm (and clang) which, when passed, provides a software fix for this issue. More precise description of the "mulmul" bug: ``` mul.[s,d] fd,fs,ft mul.[s,d] fd,fs,ft or [D]MULT[U] rs,rt ``` When the above sequence is executed by the CPU, if at least one of the source operands of the first mul instruction happens to be `sNaN`, `0` or `Infinity`, then the second mul instruction may produce an incorrect result. This can happen both if the two mul instructions are next to each other and if the first one is in a delay slot and the second is the first instruction of the branch target. Description of the fix: This fix adds a backend pass to llvm which scans for mul instructions in each basic block and inserts a nop whenever the following conditions are met: - The current instruction is a single or double-precision floating-point mul instruction. - The next instruction is either a mul instruction (any kind) or a branch instruction. Differential Revision: https://reviews.llvm.org/D116238
-
Craig Topper authored
Better to use the named list instead of assuming the size of MxList.
-
Craig Topper authored
Rather than wrapping a def around a list, we can just make a defvar of the list.
-
wangpc authored
For large integers (for example, magic numbers generated by TargetLowering::BuildSDIV when dividing by constant), we may need about 4~8 instructions to build them. In the same time, it just takes two instructions to load constants (with extra cycles to access memory), so it may be profitable to put these integers into constant pool. Reviewed By: asb, craig.topper Differential Revision: https://reviews.llvm.org/D114950
-
jacquesguan authored
Fix incorrect cases of vmv.s.f and add test cases for it. Differential Revision: https://reviews.llvm.org/D116432
-
Craig Topper authored
[LegalizeIntegerTypes] Rename NewLHS/NewRHS arguments to DAGTypeLegalizer::PromoteSetCCOperands. NFC The 'New' only makes sense in the context of these being output arguments, but they are also used as inputs first. Drop the 'New' and just call them LHS/RHS. Factored out of D116421.
-
- Dec 30, 2021
-
-
Ellis Hoag authored
In debug info correlation mode we do not emit the data globals so we need to explicitly mark the counter globals as used so they don't get stripped. Reviewed By: kyulee Differential Revision: https://reviews.llvm.org/D115981
-
Alexey Bataev authored
Need to clear CurrentOrder order mask if it is determined that extractelements form identity order and need to use a vector-like construct when iterating over ordered entries in the reorderTopToBottom function.
-
Krzysztof Parzyszek authored
Co-authored-by:
Anirudh Sundar Subramaniam <quic_sanirudh@quicinc.com> Co-authored-by:
Sumanth Gundapaneni <sgundapa@quicinc.com> Co-authored-by:
Joshua Herrera <joshherr@quicinc.com>
-
Krzysztof Parzyszek authored
Co-authored-by:
Anirudh Sundar Subramaniam <quic_sanirudh@quicinc.com>
-
Craig Topper authored
This patch adds isel support for STRICT_LRINT/LLRINT/LROUND/LLROUND. It also adds test cases for f32 and f64 constrained intrinsics that correspond to the intrinsics in float-intrinsics.ll and double-intrinsics.ll. Support for promoting the integer argument of STRICT_FPOWI was added. I've skipped adding tests for f16 intrinsics, since we don't have libcalls for them and we have inconsistent support for promoting them in LegalizeDAG. This will need to be examined more closely. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D116323
-
Benjamin Kramer authored
This moves the only string function out of the big list of math funcs. And let's us CSE strnlen calls.
-
Jack Andersen authored
Extends response file expansion to recognize `<CFGDIR>` and expand to the current file's directory. This makes it much easier to author clang config files rooted in portable, potentially not-installed SDK directories. A typical use case may be something like the following: ``` # sample_sdk.cfg --target=sample -isystem <CFGDIR>/include -L <CFGDIR>/lib -T <CFGDIR>/ldscripts/link.ld ``` Reviewed By: sepavloff Differential Revision: https://reviews.llvm.org/D115604
-
Fangrui Song authored
On *NIX systems, this API calls madvise(MADV_DONTNEED) on read-only file mappings. It should not be used on a writable buffer. The API is used to implement ld.lld LTO memory saving trick (D116367). Note: on read-only file mappings, Linux's MADV_DONTNEED semantics match POSIX POSIX_MADV_DONTNEED and BSD systems' MADV_DONTNEED. On Windows, VirtualAllocEx MEM_COMMIT/MEM_RESET have similar semantics but are unfortunately not drop-in replacements. dontNeedIfMmap is currently a no-op. Reviewed By: aganea Differential Revision: https://reviews.llvm.org/D116366
-