- Jan 31, 2022
-
-
Amir Ayupov authored
Reviewed By: yota9 Differential Revision: https://reviews.llvm.org/D118556
-
Craig Topper authored
This is a slight change because I'm using the ANY_EXTEND result instead of the original operand, but getNode should constant fold. While there, add a comment about why the code specifically checks for a ConstantSDNode.
-
Uday Bondhugula authored
Update SCF pass cmd line names to prefix `scf`. This is consistent with guidelines/convention on how to name dialect passes. This also avoids ambiguity on the context given the multiple `for` operations in the tree. NFC. Differential Revision: https://reviews.llvm.org/D118564
-
Fangrui Song authored
My x86-64 lld executable is actually smaller.
-
Craig Topper authored
Make sure we cover the encodings use for zext.h and other encodings not used for zext.h.
-
Craig Topper authored
Based on the existing naming "only" tests are used for rv32 instructions that don't exist in rv64. rv32 tests without "only" are for instructions that are in both rv32 and rv64. The rv64 tests are for instructions that are only in rv64. Both of these test files have instruction encodings that are only valid in rv64 so they can be the same file.
-
Craig Topper authored
-
Craig Topper authored
"pack t0, t1, zero" disassembles to "pack t0, t1, zero" with Zbkb not "zext.h t0, t1" Part of the test was using a CHECK prefix that doesn't appear on the RUN line.
-
Kazu Hirata authored
-
Kazu Hirata authored
Identified with readability-const-return-type.
-
Kazu Hirata authored
-
Fangrui Song authored
[mlgo][regalloc] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off builds after a8a7bf92
-
Fangrui Song authored
Previously an InputSectionBase is dead (`partition==0`) by default. SyntheticSection calls markLive and BssSection overrides that with markDead. It is more natural to make InputSectionBase live by default and let --gc-sections mark InputSectionBase dead. When linking a Release build of clang: * --no-gc-sections:, the removed `inputSections` loop decreases markLive time from 4ms to 1ms. * --gc-sections: the extra `inputSections` loop increases markLive time from 0.181296s to 0.188526s. This is as of we lose the removing one `inputSections` loop optimization (4374824c). I believe the loss can be mitigated if we refactor markLive.
-
Mircea Trofin authored
If AllocationOrder has less than 32 elements, we were treating the extra positions as if they were valid. This was detected by a subsequent assert. The fix also tightens the asserts.
-
Alexandre Ganea authored
Differential Revision: https://reviews.llvm.org/D118536
-
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
-