This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Apr 06, 2022
-
-
Sam McCall authored
Differential Revision: https://reviews.llvm.org/D116514
-
LLVM GN Syncbot authored
-
Sam McCall authored
Fixes https://github.com/clangd/clangd/issues/973 Differential Revision: https://reviews.llvm.org/D116490
-
Shengchen Kan authored
``` {"MMX_MOVD64grr", "MMX_MOVD64mr"} ``` This pair has different opcodes.
-
chenglin.bi authored
In tryBitfieldInsertOpFromOr, if the new created LSR Node's source is LSR with Imm shift, try to fold them. Fixes https://github.com/llvm/llvm-project/issues/54696 Reviewed By: efriedma, benshi001 Differential Revision: https://reviews.llvm.org/D122915
-
Nikita Popov authored
Use helper APIs for isNonNegative() and getMaxValue() instead of flipping the zero value and having a long comment explaining why that is necessary.
-
Paul Robinson authored
-
Augie Fackler authored
This has been true since dba73135, but didn't matter until now because clang wasn't emitting allocalign attributes. Differential Revision: https://reviews.llvm.org/D121640
-
Jay Foad authored
-
Jean Perier authored
Unit numbers must fit on a default integer. It is however possible that the user provides the unit number in UNIT with a wider integer type. In such case, lowering was previously silently narrowing the value and passing the result to the BeginXXX runtime entry points. Cases where the conversion caused overflow were not reported/caught. Most existing compilers catch these errors and raise an IO error. Add a CheckUnitNumberInRange runtime API to do the same in f18. This runtime API has its own error management interface (i.e., does not use GetIoMsg, EndIo, and EnableHandlers) because the usual error management requires BeginXXX to be called to set up the error management. But in this case, the BeginXXX cannot be called since the bad unit number that would be provided to it overflew (and in the worst case scenario, the narrowed value could point to a different valid unit already in use). Hence I decided to make an API that must be called before the BeginXXX and should trigger the whole BeginXXX/.../EndIoStatement to be skipped in case the unit number is too big and the user enabled error recovery. Note that CheckUnitNumberInRange accepts negative numbers (as long as they can fit on a default integer), because unit numbers may be negative if they were created by NEWUNIT. Differential Revision: https://reviews.llvm.org/D123157
-
Shengchen Kan authored
[X86] Fold MMX_MOVD64from64rr + store to MMX_MOVQ64mr instead of MMX_MOVD64from64mr in auto-generated table This is a follow-up patch for D122241.
-
zhongyunde authored
WHILELO/LS insn is used very important for SVE loop, and itself is a flag-setting operation, so add it. Reviewed By: paulwalker-arm, david-arm Differential Revision: https://reviews.llvm.org/D122796
-
Hansang Bae authored
This change adds support for ompt_callback_dispatch with the new dispatch chunk type introduced in 5.2. Definitions of the new ompt_work_loop types were also added in the header file. Differential Revision: https://reviews.llvm.org/D122107
-
zhongyunde authored
Accord the discussion in D122281, we missing an ISD::AND combine for MLOAD because it relies on BuildVectorSDNode is fails for scalable vectors. This patch is intend to handle that, so we can circle back the type MVT::nxv2i32 Reviewed By: paulwalker-arm Differential Revision: https://reviews.llvm.org/D122703
-
Louis Dionne authored
This patch implements P0674R1, i.e. support for arrays in std::make_shared and std::allocate_shared. Co-authored-by:
Zoe Carver <z.zoelec2@gmail.com> Differential Revision: https://reviews.llvm.org/D62641
-
Shengchen Kan authored
``` {X86::MOVLHPSrr,X86::MOVHPSrm} {X86::VMOVLHPSZrr,X86::VMOVHPSZ128rm} {X86::VMOVLHPSrr,X86::VMOVHPSrm} ``` Each of the three pairs has different mnemonic, so we have to add it manually. This is a follow-up patch for D122477.
-
Nico Weber authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Roman Lebedev authored
[TLI] `TargetLowering::SimplifyDemandedVectorElts()`: narrowing bitcast: fill known zero elts from known src bits E.g. in ``` %i0 = zext <2 x i8> to <2 x i16> %i1 = bitcast <2 x i16> to <4 x i8> ``` the `%i0`'s zero bits are known to be `0xFF00` (upper half of every element is known zero), but no elements are known to be zero, and for `%i1`, we don't know anything about zero bits, but the elements under `0b1010` mask are known to be zero (i.e. the odd elements). But, we didn't perform such a propagation. Noticed while investigating more aggressive `vpmaddwd` formation. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D123163
-
Daniil Kovalev authored
Place PersistentId declaration under #if LLVM_ENABLE_ABI_BREAKING_CHECKS to reduce memory usage when it is not needed. Differential Revision: https://reviews.llvm.org/D120714
-
Alex Zinenko authored
It appears that the DialectRegistry::addExtension template was never instantiated because it contains an obvious compilation error. Fix it. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D123199
-
Nathan Sidwell authored
Add specific dates and versions to note about source_location handling. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D123119
-
Jeremy Morse authored
Variable locations now come in two modes, instruction referencing and DBG_VALUE. At -O0 we pick DBG_VALUE to allow fast construction of variable information. Unfortunately, SelectionDAG edits the optimisation level in the presence of opt-bisect-limit, meaning different passes have different views of what variable location mode we should use. That causes assertions when they're mixed. This patch plumbs through a boolean in SelectionDAG from start to instruction emission, so that we don't rely on the current optimisation level for correctness. Differential Revision: https://reviews.llvm.org/D123033
-
Sven van Haastregt authored
This simplifies completeness comparisons against OpenCLBuiltins.td and also makes the header no longer "claim" the argument name identifiers. Continues the direction set out in D119560.
-
Alexander Belyaev authored
This reverts commit 96e9b6c9.
-
Jay Foad authored
-
Wei Xiao authored
-
Simon Pilgrim authored
-
Jay Foad authored
-
Antonio Frighetto authored
Add support for i386, s390x in Triple::getArchTypeForLLVMName. Differential Revision: https://reviews.llvm.org/D122003
-
Roman Sokolkov authored
* replace virtual with override * use default like in full code example Differential Revision: https://reviews.llvm.org/D123110
-
Simon Pilgrim authored
As raised on PR52267, XOR(X,MIN_SIGNED_VALUE) can be treated as ADD(X,MIN_SIGNED_VALUE), so let these cases use the 'AddLike' folds, similar to how we perform no-common-bits OR(X,Y) cases. define i8 @src(i8 %x) { %r = xor i8 %x, 128 ret i8 %r } => define i8 @tgt(i8 %x) { %r = add i8 %x, 128 ret i8 %r } Transformation seems to be correct! https://alive2.llvm.org/ce/z/qV46E2 Differential Revision: https://reviews.llvm.org/D122754
-
Matthias Springer authored
* Store bbArg indices instead of BlockArguments, so that args can be changed during bufferizationn. * Use type aliases for better readability. Differential Revision: https://reviews.llvm.org/D123191
-
Shengchen Kan authored
``` X86::MMX_MOVD64from64rr -> X86::MMX_MOVQ64mr X86::MMX_MOVD64grr -> X86::MMX_MOVD64mr ``` These two entries were added in llvm-svn: 372770. I think these two should be reversable. Reviewed By: RKSimon, pengfei Differential Revision: https://reviews.llvm.org/D122217
-
Nicolas Vasilache authored
https://reviews.llvm.org/D122641 introduced fixes to the ExpandShapeOp verifier but also introduced an artificial layout limitation that prevents the consideration of transposed layouts. This revision fixes the omissions and reimplements the logic using saturated arithmetic which is more idiomatic and avoids leaking internal implementation details. Tests cases are added for transposed layouts. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D122845
-
Simon Pilgrim authored
https://alive2.llvm.org/ce/z/A_auBq Remove limitation that wouldn't perform the fold if all the inverted bits are known zero The thumb2 changes look to be benign, although it does show that the TEQ/TST isel patterns could probably be improved. Fixes movmsk regression in D122754 Differential Revision: https://reviews.llvm.org/D123023
-
Nikita Popov authored
Or rather, error out if it is set to something other than ON. This removes the ability to enable the legacy pass manager by default, but does not remove the ability to explicitly enable it through various flags like -flegacy-pass-manager or -enable-new-pm=0. I checked, and our test suite definitely doesn't pass with LLVM_ENABLE_NEW_PASS_MANAGER=OFF anymore. Differential Revision: https://reviews.llvm.org/D123126
-
Petr Hosek authored
This is useful when building a complete toolchain to ensure that CRT is built after builtins but before the rest of the compiler-rt. Differential Revision: https://reviews.llvm.org/D120682
-
Zi Xuan Wu authored
For now, just support atomic operations by libcall. Further, should investigate atomic implementation in CSKY target and codegen with atomic and fence related instructions.
-