- Feb 28, 2021
-
-
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
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Jez Ng authored
On arm64, UNSIGNED relocs are the only ones that use embedded addends instead of the ADDEND relocation. Also ensure that the addend works when UNSIGNED is part of a SUBTRACTOR pair. Reviewed By: #lld-macho, alexshap Differential Revision: https://reviews.llvm.org/D97105
-
Jez Ng authored
Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D97104
-
Jez Ng authored
Also add a few asserts to verify that we are indeed handling an UNSIGNED relocation as the minued. I haven't made it an actual user-facing error since I don't think llvm-mc is capable of generating SUBTRACTOR relocations without an associated UNSIGNED. Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D97103
-
Jez Ng authored
`llvm-mc` doesn't generate any relocations for subtractions between local symbols -- they must be global -- so the previous test wasn't actually testing any relocation logic. I've fixed that and extended the test to cover r_length=3 relocations as well as both x86_64 and arm64. Reviewed By: #lld-macho, smeenai Differential Revision: https://reviews.llvm.org/D97057
-
Mehdi Amini authored
This avoids linear search in BlockArgument::getArgNumber(). Differential Revision: https://reviews.llvm.org/D97596
-
Gabor Horvath authored
Differential Revision: https://reviews.llvm.org/D97605
-
- Feb 27, 2021
-
-
Sanjay Patel authored
In the example based on: https://llvm.org/PR49218 ...we are crashing because poison is a subclass of undef, so we merge blocks and create: PHI node has multiple entries for the same basic block with different incoming values! %k3 = phi i64 [ poison, %entry ], [ %k3, %g ], [ undef, %entry ] If both poison and undef values are incoming, we soften the poison values to undef. Differential Revision: https://reviews.llvm.org/D97495
-
Wang, Pengfei authored
Per the discussion in D97453. We currently disable it due to it's not a common scenario and has some problem in implementation. Differential Revision: https://reviews.llvm.org/D97453
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D97150
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D97153
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D97152
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D97151
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D97149
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D97147
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D97145
-