- Feb 28, 2021
-
-
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
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D97144
-
Stephen Kelly authored
Differential Revision: https://reviews.llvm.org/D96222
-
Ella Ma authored
[llvm] Add assertions for the smart pointers with the possibility to be null in DWARFLinker::loadClangModule Split from D91844. The local variable `Unit` in function `DWARFLinker::loadClangModule` in file `llvm/lib/DWARFLinker/DWARFLinker.cpp`. If the variable is not set in the loop below its definition, it will trigger a null pointer dereference after the loop. Patch By: OikawaKirie Reviewed By: avl Differential Revision: https://reviews.llvm.org/D97185
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Vitaly Buka authored
-
Fangrui Song authored
-
Eric Schweitz authored
This function will be used in subsequent upstreaming merges. Author: Jean Perier Differential Revision: https://reviews.llvm.org/D97502
-
River Riddle authored
This also exposed a bug in Dialect loading where it was not correctly identifying identifiers that had the dialect namespace as a prefix. Differential Revision: https://reviews.llvm.org/D97431
-
Rob Suderman authored
Includes a lowering for tosa.const, tosa.if, and tosa.while to Standard/SCF dialects. TosaToStandard is used for constant lowerings and TosaToSCF handles the if/while ops. Resubmission of https://reviews.llvm.org/D97518 with ASAN fixes. Differential Revision: https://reviews.llvm.org/D97529
-