- Jan 31, 2022
-
-
Sanjoy Das authored
This addresses a TODO in BuiltinOps.h. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D118574
-
Fangrui Song authored
The work is more balanced.
-
Craig Topper authored
These are special versions of the more general shfli/unshfli instructions. We can use the general ISD opcodes with the correct immediates.
-
Markus Böck authored
Both IDFCalculatorBase and its accompanying DominatorTreeBase only supports pointer nodes. The template argument is the block type itself and any uses of GraphTraits is therefore done via a pointer to the node type. However, the ChildrenGetterTy type of IDFCalculatorBase has a use on just the node type instead of a pointer to the node type. Various parts of the monorepo has worked around this issue by providing specializations of GraphTraits for the node type directly, or not been affected by using specializations instead of the generic case. These are unnecessary however and instead the generic code should be fixed instead. An example from within Tree is eg. A use of IDFCalculatorBase in InstrRefBasedImpl.cpp. It basically instantiates a IDFCalculatorBase<MachineBasicBlock, false> but due to the bug above then goes on to specialize GraphTraits<MachineBasicBlock> although GraphTraits<MachineBasicBlock*> exists (and should be used instead). Similar dead code exists in clang which defines redundant GraphTraits to work around this bug. This patch fixes both the original issue and removes the dead code that was used to work around the issue. Differential Revision: https://reviews.llvm.org/D118386
-
Craig Topper authored
We can use the RISCVISD::GREV encoding that swaps the bits in each byte. This allows it to use the existing computeKnownBits support for RISCVISD::GREV.
-
Kazu Hirata authored
Identified with modernize-use-nullptr.
-
Kazu Hirata authored
Identified with readability-string-compare.
-
Kazu Hirata authored
Identified with readability-redundant-string-init.
-
Kazu Hirata authored
ClangUserExpression.h is relying on the forward declaration of ClangExpressionParser in ClangFunctionCaller.h. This patch moves the forward declaration to ClangUserExpression.h.
-
Kazu Hirata authored
Identified with modernize-use-default-member-init.
-
Simon Pilgrim authored
Limit this to SSE41 - AVX1 targets to avoid UNPCKL(PSHUFB,PSHUFB), pre-SSE41 we don't have PACKUSDW/BLENDW and with AVX2 we can perform this as PERMQ(PSHUFB()).
-
Anatoly Trosinenko authored
`__builtin_c[tl]z` accepts `unsigned int` argument that is not always the same as uint32_t. For example, `unsigned int` is uint16_t on MSP430. Reviewed By: aykevl Differential Revision: https://reviews.llvm.org/D86547
-
Matthias Springer authored
-
Philip Sigillito authored
Reviewed By: MyDeveloperDay, curdeius, HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D117416
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Anatoly Trosinenko authored
Use s[iu]_int instead of `(unsigned) int` and d[ui]_int instead of `(unsigned) long long` for LibCall arguments. Note: the `*vfp` LibCall versions were NOT touched. Reviewed By: aykevl Differential Revision: https://reviews.llvm.org/D86546
-
Keith Smiley authored
This is a ld64 option equivalent to `-sectcreate seg sect /dev/null` that's useful for creating sections like the RESTRICT section. Differential Revision: https://reviews.llvm.org/D117749
-
Simon Pilgrim authored
Don't extract the ANY/ZERO_EXTEND_VECTOR_INREG subvector source until we're definitely combining to a new node.
-
Keith Smiley authored
Previously functions that aren't included in the symtab were also excluded from the function starts. Symbols missing from function starts degrades the debugger experience in the case you don't have debug info for them. Differential Revision: https://reviews.llvm.org/D114275
-
- Jan 30, 2022
-
-
Simon Pilgrim authored
Allows pow2 mask tests to avoid an unnecessary constant load. Noticed while investigating how to extend MatchVectorAllZeroTest to support more allof/anyof patterns.
-
Simon Pilgrim authored
This would allow pow2 mask tests to avoid an unnecessary constant load. Noticed while investigating how to extend MatchVectorAllZeroTest to support more allof/anyof patterns.
-
Ricky Zhou authored
Before this change, InstCombine was willing to fold atomic and non-atomic loads through a PHI node as long as the first PHI argument is not an atomic load. The combined load would be non-atomic, which is incorrect. Fix this by only combining the loads in a PHI node when all of the arguments are non-atomic loads. Thanks to Eli Friedman for pointing out the bug at https://github.com/llvm/llvm-project/issues/50777#issuecomment-981045342! Fixes #50777 Differential Revision: https://reviews.llvm.org/D115113
-
Ricky Zhou authored
Baseline test for D115113 Differential Revision: https://reviews.llvm.org/D118554
-
Sanjay Patel authored
This reverts commit a2bb7313. The baseline test was not pre-committed as expected.
-
Ricky Zhou authored
Before this change, InstCombine was willing to fold atomic and non-atomic loads through a PHI node as long as the first PHI argument is not an atomic load. The combined load would be non-atomic, which is incorrect. Fix this by only combining the loads in a PHI node when all of the arguments are non-atomic loads. Thanks to Eli Friedman for pointing out the bug at https://github.com/llvm/llvm-project/issues/50777#issuecomment-981045342! Fixes #50777 Differential Revision: https://reviews.llvm.org/D115113
-
Ricky Zhou authored
Preliminary clean-up for D115113 Differential Revision: https://reviews.llvm.org/D116086
-
Ricky Zhou authored
Uppercase some variable names, per LLVM coding standards. This change intentionally does not rename every miscased variable, as a follow-up change ( D116086 ) intends to eliminate many of those by switching loops to range for loops. Differential Revision: https://reviews.llvm.org/D118553
-
Matthias Springer authored
There was a bug where some of the OpOperands needed in the replacement op were not in scope. It does not matter where the replacement op is inserted. Any insertion point is OK as long as there are no dominance errors. In the worst case, the newly inserted op will bufferize out-of-place. This is no worse than not eliminating the InitTensorOp at all. Differential Revision: https://reviews.llvm.org/D117685
-
Mark de Wever authored
The formatter specialization tests were placed in the wrong subdirectory. This moves them to the proper place.
-
Mark de Wever authored
I had a look at the changes since the last release and updated the release notes with interesting changes. It seems this time the release notes were already rather up to date :-) If there are more interesting changes, please let me know and I'll update the patch. I'd like to commit these changes latest next weekend so they land before branching the 14.0 release. I've added most active libc++ contributors. If I forgot anybody please add them. Reviewed By: Quuxplusone, ldionne, philnik, #libc Differential Revision: https://reviews.llvm.org/D117948
-
Matthias Springer authored
Also reimplement `std-bufferize` in terms of BufferizableOpInterface-based bufferization. The old `std.select` bufferization pattern is no longer needed and deleted. Differential Revision: https://reviews.llvm.org/D118559
-
Florian Hahn authored
This removes the remaining dependence on LoopVectorizationCostModel from buildScalarSteps and is required so it can be moved out of ILV. It also improves allows us to remove a few unneeded instructions. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D116554
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D118557
-
Matthias Springer authored
This should have been done as part of D118483.
-