- Aug 10, 2022
-
-
Jim Ingham authored
bot. This happens because they are building a long result into a Python string, and the asan checker is making that very slow. The last two tests here are both slow, but the 'test_command' is the really slow one. I'm going to start disabling just that one and see if that gets the ASAN bots clean.
-
Haojian Wu authored
It should be `sizeof(*this)`.
-
Jeff Niu authored
This patch cleans up the definition of `DenseArrayAttrBase` by relying more on ODS-generated methods. It also exposes an API for using the raw data of a dense array, similar to `DenseIntOrFPElementsAttr::getRaw`. Reviewed By: lattner, mehdi_amini Differential Revision: https://reviews.llvm.org/D131450
-
yundiqian authored
To move from TF C API to TFLite, we found that the argmax op in TFLite does not work for int64 inputs, so cast the int64 inputs to int32 inputs to make TFLite argmax op work Differential Revision: https://reviews.llvm.org/D131462
-
Jeff Niu authored
And clean up some of the user code
-
Pengxuan Zheng authored
With D26647, we can already identify input object files compiled by cl.exe with /GL. It seems to be helpful to do the same and print an error message for those object files compiled with /GL but are inside libraries/archives too. Reviewed By: rnk, thieta Differential Revision: https://reviews.llvm.org/D131458
-
Dylan Fleming authored
Adds support for reduction of multiplcation by extending OpenMP.cpp::genOpenMPReduction() and altering the identity constant emitted in OpenMP.cpp::createReductionDelc() This patch builds D130077 and as such, only supports reductions for interger types in worksharping loops. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D130767
-
Peter Klausler authored
Procedure bindings with explicit interfaces don't work when the interface is shadowed by a generic interface of the same name, and can produce spurious semantic error messages. Extend the characterization and checking code for such things, and the utility functionns on which they depend, to dig through generics when they occlude interface-defining subprograms. This is done on demand in checking code, not once during name resolution, because the procedures in question may also be forward-referenced. Differential Revision: https://reviews.llvm.org/D131105 diff --git a/flang/include/flang/Semantics/symbol.h b/flang/include/flang/Semantics/symbol.h index e79f8ab6503e..0b03bf06eb73 100644 --- a/flang/include/flang/Semantics/symbol.h
-
Aart Bik authored
They appeared at the wrong place in the switch, treating them as unary op rather than binary op. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D131509
-
Aart Bik authored
Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D131513
-
Lei Zhang authored
This makes it easier to use as a utility function to query the mappings, including the reverse. This commit also drops some storage classes that aren't needed for now. Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D131411
-
Lei Zhang authored
This commit moves MemRef memory space to SPIR-V storage class conversion out of the main SPIR-V type converter. Now the mapping should happen as a prelimiary step before performing the final conversion to SPIR-V. Flows are expect to write their own memory space mappings like the `MapMemRefStorageClassPass` to handle memory space mappings according to their needs. This is needed because SPIR-V is serving multiple client APIs, including Vulkan and OpenCL. Different client APIs might want to use different storage classes for buffers in a particular memory space, e.g., `StorageBuffer` for Vulkan vs. `CrossWorkgroup` for OpenCL when converting the default 0 memory space. Hardcoding a specific mapping makes that hard. While it's possible to embed selection logic further inside the main type converter, it will make the main type converter even complicated. So it's better to separate the concerns, as mapping the memory space is really concretizing the meaning of those numeric memory spaces in the particular context of SPIR-V lowering. Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D131410
-
Philip Reames authored
-
Lei Zhang authored
* Avoid restricting the pass to to builtin module ops. The pass should be able to run on any region ops. * Avoid hardcoding func FuncOp when handling functions. Instead, use the function op interface. * Assigns the default mapping in the constructor. So for cases where we are using the pass in a pipeline, we still have a meaningful default. Along the way, dropped uncessary unrealized conversion casts and use full conversion. The pass should be able to convert all sorts of ops; there is really no need to have such bridages. Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D131409
-
Jerry Wu authored
In addition to memref, accept ranked tensor as the base operand of vector.gather, similar to vector.trasnfer_read. This will allow us to vectorize noncontiguous tensor.extract into vector.gather. Full discussion can be found here: https://github.com/iree-org/iree/issues/9198 Reviewed By: hanchung, dcaballe Differential Revision: https://reviews.llvm.org/D130097
-
Jerry Wu authored
Previously we can only lower arith.index_cast with 1-D vectors to LLVM. This change added the support for n-D vectors. Reviewed By: ftynse, hanchung Differential Revision: https://reviews.llvm.org/D129907
-
Lei Zhang authored
Previously we are using IntegerAttr to back all SPIR-V enum attributes. Therefore we all such attributes are showed like IntegerAttr in IRs, which is barely readable and breaks roundtripability of the IR. This commit changes to use `EnumAttr` as the base directly so that we can have separate attribute definitions and better IR printing. Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D131311
-
Aart Bik authored
Spell out SparseVector instead of just using SparseVec Reviewed By: jim22k, bixia Differential Revision: https://reviews.llvm.org/D131511
-
Filipp Zhinkin authored
Baseline tests for D131189.
-
Jorge Gorbe Moya authored
This removes some error-prone repetition in FormatManager::GetPossibleMatches, where the same three boolean flags are passed in a row multiple times as arguments to recursive calls to GetPossibleMatches. Instead of: ``` // same flags, but with did_strip_typedef set to true. GetPossibleMatches(..., did_strip_ptr, did_strip_ref, true); ``` we can now say ``` GetPossibleMatches(..., current_flags.WithStrippedTypedef()); ``` which hopefully makes the intent clearer, and more readable in case we add another flag. Reviewed by: DavidSpickett, labath Differential Revision: https://reviews.llvm.org/D131459
-
Archibald Elliott authored
This patch adds the names of the Arm Architecture Reference Manual (ARM) features to the corresponding Subtarget Features in the AArch64 backend and target parser. The aim of this is to make it clearer what architectural features a subtarget feature might enable (so, which features a CPU must provide to support that subtarget feature), and so make it easier to add new CPUs in the future. Differential Revision: https://reviews.llvm.org/D131257
-
Adrian Prantl authored
This is a follow-up patch to D130999. In the test, the MIR contains an unreachable MBB but the code attempts to look it up in MLocs. This patch fixes this issue by checking for the default-constructed value. rdar://97226240 Differential Revision: https://reviews.llvm.org/D131453
-
Sanjay Patel authored
https://alive2.llvm.org/ce/z/UE48FH This is part of solving issue #56926.
-
Philip Reames authored
In an upcoming change to enable fixed length vector lowering via vector registers, the codepath exercised would change. Pin this to the old lowering.
-
Simon Pilgrim authored
This is already in sse2-intrinsics-fast-isel.ll Noticed in D104790
-
Peter Klausler authored
Remove a lambda capture of "[this]" in two cases where it is no longer required. Will be pushed without waiting for review if CI is successful in order to resolve a sad build bot. Differential Revision: https://reviews.llvm.org/D131506
-
Sanjay Patel authored
We can do more with these patterns, so this block is going to grow.
-
Sanjay Patel authored
Reduced from issue #56403
-
Markus Böck authored
This patch adds the ability to deconstruct the `value_type` returned by `llvm::enumarate` into index and value of the wrapping range. Main use case is the common occurence of using it during loop iteration. After this patch it'd then be possible to write code such as: ``` for (auto [index, value] : enumerate(container)) { ... } ``` where `index` is the current index and `value` a reference to elements in the given container. Differential Revision: https://reviews.llvm.org/D131486 -
V Donaldson authored
-
Jun Zhang authored
Signed-off-by:Jun Zhang <jun@junz.org>
-
- Aug 09, 2022
-
-
zhongyunde authored
Deal with different sizes between the itofp and fptoi with trunc or sext/zext, depend on D129756. Fixes https://github.com/llvm/llvm-project/issues/55505. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D129958
-
David Green authored
-
Peter Klausler authored
Intrinsic procedures in intrinsic modules that have (or better, *are*) generic interfaces must not have specific procedures with the same name according to the Fortran standard (17.11.1); i.e., a user program is allowed to define a procedure of the same name as one of these generic interfaces, even when the generic is in scope. Differential Revision: https://reviews.llvm.org/D131108
-
Peter Klausler authored
Allow internal I/O to support non-default kinds of CHARACTER. The I/O runtime design anticipated this standard feature, but this patch is somewhat larger than I thought it would be because many code sites had to have assumptions about units (characters vs. bytes) brought into harmony, and some encoding utilities had to be pulled out of IoStatementState and templatized into their own new header file so that they are available to formatted output code without having to "thread" an IoStatementState reference through many call chains. Differential Revision: https://reviews.llvm.org/D131107
-
Peter Klausler authored
When a procedure pointer references a function as its interface, don't apply semantic checks to the specification expressions that appear in the declaration of the function's result -- this can lead to bogus error messages as those specification expressions are being examined out of their proper context. Differential Revision: https://reviews.llvm.org/D131106
-
Peter Waller authored
-
Shawn Zhong authored
A one-bit signed bit-field can only hold the values 0 and -1; this corrects the diagnostic behavior accordingly. Fixes #53253 Differential Revision: https://reviews.llvm.org/D131255
-
Thorsten Schütt authored
-
Simon Pilgrim authored
Very minor optimization, but every little helps..
-