- Mar 01, 2021
-
-
Sam Clegg authored
Also a couple of minor cleanups in merge-string.s: - fix inconsistent use of tabs - use `.p2align` rather than `.align` since `.p2align` works the same on all platforms (the meaning of align seems to differ between platforms according to `AlignmentIsInBytes`. I noticed these potential cleanups while porting SHF_STRINGS support to wasm-ld. Differential Revision: https://reviews.llvm.org/D97647
-
Stephen Kelly authored
-
Craig Topper authored
[DAGCombiner][X86] Don't peek through ANDs on the shift amount in matchRotateSub when called from MatchFunnelPosNeg. Peeking through AND is only valid if the input to both shifts is the same. If the inputs are different, then the original pattern ORs the two values when the masked shift amount is 0. This is ok if the values are the same since the OR would be a NOP which is why its ok for rotate. Fixes PR49365 and reverts PR34641 Differential Revision: https://reviews.llvm.org/D97637
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Craig Topper authored
[DAGCombiner] Don't skip no overflow check on UMULO if the first computeKnownBits call doesn't return any 0 bits. Even if the first computeKnownBits call doesn't have any zero bits it is possible the other operand has bitwidth-1 leading zero. In that case overflow is still impossible. So always call computeKnownBits for both operands.
-
Tatyana Krasnukha authored
Arg0 callback does work.
-
Tatyana Krasnukha authored
Some implementations of the DeepCopy function called the copy constructor that copied m_parent member instead of setting a new parent. Others just leaved the base class's members (m_parent, m_callback, m_was_set) empty. One more problem is that not all classes override this function, e.g. OptionValueArgs::DeepCopy produces OptionValueArray instance, and Target[Process/Thread]ValueProperty::DeepCopy produces OptionValueProperty. This makes downcasting via static_cast invalid. The patch implements idiom "virtual constructor" to fix these issues. Add a test that checks DeepCopy for correct copying/setting all data members of the base class. Differential Revision: https://reviews.llvm.org/D96952
-
Tatyana Krasnukha authored
-
Tatyana Krasnukha authored
-
Tatyana Krasnukha authored
According to clang-tidy's readability-redundant-member-init.
-
Tatyana Krasnukha authored
-
Tatyana Krasnukha authored
A follow-up commit to D96861.
-
- Feb 28, 2021
-
-
Matt Arsenault authored
SelectionDAG forces us to have a weird ABI for 16-bit values without legal 16-bit operations, but currently GlobalISel bypasses this and sometimes ends up using the gfx8+ ABI in some contexts. Make sure we're testing the normal ABI to avoid a test change in a future patch.
-
Sanjay Patel authored
https://llvm.org/PR49205
-
David Green authored
If we insert undef using a VMOVN, we can just use the original value in three out of the four possible combinations. Using VMOVT into a undef vector will still require the lanes to be moved, but otherwise the non-undef value can be used.
-
Nico Weber authored
Only one of the two callers used the lastBinding parameter, so do that work at that one call site. Extract a ordinalForDylibSymbol() helper to make this tidy. No behavior change. Differential Revision: https://reviews.llvm.org/D97597
-
Simon Pilgrim authored
Similar to what we already do for BROADCASTs of different vector sizes - if we're going to broadcast it anyway might as well reuse it.
-
David Green authored
Propagate undef through VECTOR_REG_CAST nodes, allowing extra simplification in some patterns.
-
Wei Mi authored
into profile symbol list. When test is unrepresentative to production behavior, sample profile collected from production can cause unexpected performance behavior in test. To triage such issue, it is useful to have a cutoff flag to control how many symbols will be included into profile symbol list in order to do binary search. Differential Revision: https://reviews.llvm.org/D97623
-
Craig Topper authored
-
Chen Zheng authored
Use emitDwarfUnitLength for debug line, so we can benefit from overriding of emitDwarfUnitLength inside different streamers. Reviewed By: ikudrin, dblaikie Differential Revision: https://reviews.llvm.org/D95998
-
William S. Moses authored
Allow the attributor to delete functions only if requested Differential Revision: https://reviews.llvm.org/D97238
-
Aart Bik authored
The universal index was maintained if dense indices were still in place, and lattice points followed. However, it should only be kept if any of those following lattice points actually consumes the universal index. This change also fixes an inaccuracy with a missing broadcast around vector invariant. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D97594
-
Craig Topper authored
-
Stella Laurenzo authored
-
Stella Laurenzo authored
This enables this kind of construct in the DSL to generate a named op that is polymorphic over numeric type variables `T` and `U`, generating the correct arithmetic casts at construction time: ``` @tc_def_op def polymorphic_matmul(A=TensorDef(T1, S.M, S.K), B=TensorDef(T2, S.K, S.N), C=TensorDef(U, S.M, S.N, output=True)): implements(ContractionOpInterface) C[D.m, D.n] += cast(U, A[D.m, D.k]) * cast(U, B[D.k, D.n]) ``` Presently, this only supports type variables that are bound to the element type of one of the arguments, although a further extension that allows binding a type variable to an attribute would allow some more expressiveness and may be useful for some formulations. This is left to a future patch. In addition, this patch does not yet materialize the verifier support which ensures that types are bound correctly (for such simple examples, failing to do so will yield IR that fails verification, it just won't yet fail with a precise error). Note that the full grid of extensions/truncation/int<->float conversions are supported, but many of them are lossy and higher level code needs to be mindful of numerics (it is not the job of this level). As-is, this should be sufficient for most integer matmul scenarios we work with in typical quantization schemes. Differential Revision: https://reviews.llvm.org/D97603 -
Stella Laurenzo authored
* Adds ContractionOpInterface to polymorphic_matmul. Differential Revision: https://reviews.llvm.org/D97601
-
Craig Topper authored
Simon modified the check prefixes in these tests while D97160 was pending review. When D97160 was commited it wasn't updated it merge cleanly, but didn't comprehend the check prefix changes.
-
Greg McGary authored
Bifurcate the `readFile()` API into ... * `readRawFile()` which performs no checks, and * `readLinkableFile()` which enforces minimum length of 20 bytes, same as ld64 There are no new tests because tweaks to existing tests are sufficient. Differential Revision: https://reviews.llvm.org/D97610
-
Darwin Xu authored
This is a bug fix of https://bugs.llvm.org/show_bug.cgi?id=49175 The expected code format: unsigned int* a; int* b; unsigned int Const* c; The actual code after formatting (without this patch): unsigned int* a; int* b; unsigned int Const* c; Differential Revision: https://reviews.llvm.org/D97137
-
Greg McGary authored
Implement command-line options to rename output sections & segments. Differential Revision: https://reviews.llvm.org/D97600
-
Stephen Kelly authored
This reverts commit 9a4b574d.
-
Mehdi Amini authored
Not only this is likely more efficient than BitVector::find_first(), but also if the BitVector is empty find_first() returns -1, which llvm::drop_begin isn't robust against.
-
Mehdi Amini authored
This is fixing correctness and ASAN failure post-ee90bb34.
-
Mehdi Amini authored
Change the error message when `-split-input-file` is used with mlir-opt to make it recognizable by IDEs By adding the line number of the split point immediately after the file name (separated by `:`) this is recognized by various tool as a proper location. Ideally we would want to point to the line of the error, but that would require some very invasive changes I suspect. Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D93363
-
Tony Tye authored
Document the default for the XNACK and SRAMECC target features for code object V2-V3 and V4. Reviewed By: kzhuravl Differential Revision: https://reviews.llvm.org/D97598
-
Jacques Pienaar authored
-
Kazu Hirata authored
-