- Nov 11, 2021
-
-
Valentin Clement authored
This patch adds the !fir.vector type conversion. The type is converted to the builtin vector type. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D113657 Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com>
-
Luís Ferreira authored
This is part of https://github.com/dlang/projects/issues/81 . This patch enables support for D programming language demangler by using a pretty printed stacktrace with demangled D symbols, when present. Signed-off-by:
Luís Ferreira <contact@lsferreira.net> Reviewed By: JDevlieghere, teemperor Differential Revision: https://reviews.llvm.org/D110578
-
Andrzej Warzynski authored
Some header `#include`s that belong in TypeConverter.h rather than in CodeGen.cpp are moved accordingly. As TypeConverter.h is currently only used in CodeGen.cpp, this wouldn't cause any build issues (ultimately, all the required headers are included). However, this would become a problem when including TypeConverter.h elsewhere. Also, from [1], "(...) include all of the header files that you are using ". This is currently not the case in TypeConverter.h and hence the `#include`s should be moved. I've also added missing namespace qualifiers in a few places in TypeConverter.h [1] https://llvm.org/docs/CodingStandards.html#include-as-little-as-possible Differential Revision: https://reviews.llvm.org/D113569
-
Matthias Springer authored
* Move "linalg.inplaceable" attr name literals to BufferizableOpInterface. * Use `memref.copy` by default. Override to `linalg.copy` in ComprehensiveBufferizePass. These are the last remaining code dependencies on Linalg in Comprehensive Bufferize. The next commit will make ComprehensiveBufferize independent of the Linalg dialect. Differential Revision: https://reviews.llvm.org/D113457
-
Valentin Clement authored
This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D113566 Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com>
-
Matthias Springer authored
This simplifies the signature of `bufferize`. Differential Revision: https://reviews.llvm.org/D113388
-
Simon Tatham authored
As of D105532, a couple of llvm-readobj options have slightly changed their spellings. '-file-headers' has become '--file-header', and '-symbols' has become '--symbols'. A modern llvm-readobj will respond to those single-dash spellings by trying to parse them as combinations of single-letter options, so that you get "unknown argument '-f'" for -file-headers, and "unknown argument '-y'" for the second letter of -symbols. extract_symbols.py was still invoking llvm-readobj with those old single-dash spellings. Changed them to the newly canonical ones, which as far as I can tell still work on llvm-readobj from before the change. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D113556
-
Florian Hahn authored
With fullfp16, it is cheaper to cast the {U,S}INT_TO_FP operand to i16 first, rather than promoting it to i32. The custom lowering for {U,S}INT_TO_FP already supports that, it just needs to be used. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D113601
-
duanbo.db authored
The way function gets the induction variable is by judging whether StepInst or IndVar in the phi statement is one of the operands of CMP. But if the LatchCmpOp0/LatchCmpOp1 is a constant, the subsequent comparison may result in null == null, which is meaningless. This patch fixes the typo. Reviewed By: Whitney Differential Revision: https://reviews.llvm.org/D112980
-
Fangrui Song authored
-
Fangrui Song authored
Currently any API level>=16 uses default PIE. If API level<16 is too old to be supported, we can clean up some code. Reviewed By: danalbert Differential Revision: https://reviews.llvm.org/D113370
-
Igor Kudrin authored
An orphan section should be placed in the same memory region as its anchor section if the latter specifies the memory region explicitly. If there is no explicit assignment for the anchor section in the linker script, its memory region is selected by matching attributes, and the same should be done for the orphan section. Before the patch, some scripts that were handled smoothly in GNU ld caused an "error: no memory region specified for section" in lld. Differential Revision: https://reviews.llvm.org/D112925
-
Nicolas Vasilache authored
-
Qiu Chaofan authored
-
Nicolas Vasilache authored
This revision adds an implementation of 2-D vector.transpose for 4x8 and 8x8 for AVX2 and surfaces it to the Linalg level of control. Reviewed By: dcaballe Differential Revision: https://reviews.llvm.org/D113347
-
David Green authored
This extends performFpToIntCombine to work on FP16 vectors as well as the f32 and f64 vectors it already supported. Differential Revision: https://reviews.llvm.org/D113297
-
Lang Hames authored
-
Mehdi Amini authored
This decouples the printing/parsing from the "context" in which the parsing occurs. This will allow to invoke these methods directly using an OpAsmParser/OpAsmPrinter. Differential Revision: https://reviews.llvm.org/D113637
-
Bin Cheng authored
The function BranchProbabilityInfo::SccInfo::getSccExitBlocks is supposed to collect all exit blocks for SCC rather than all exiting blocks. This patch fixes the typo. Reviewed By: ebrevnov Differential Revision: https://reviews.llvm.org/D113344
-
Craig Topper authored
At least I think that's what the 32 here is. Use RegisterBitWidth instead. While there replace zext with zextOrSelf to simplify the code. Reviewed By: samparker, dmgreen Differential Revision: https://reviews.llvm.org/D113495
-
Matthias Springer authored
This is in preparation of decoupling Comprehensive Bufferize from the various dialects. Differential Revision: https://reviews.llvm.org/D113387
-
Qiu Chaofan authored
9e9b0f46 introduced support for asm-full-reg-names on AIX. Now we can merge the test check prefix.
-
Kazu Hirata authored
This patch fixes: mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp:301:20: error: unused function 'printValueInfo' [-Werror,-Wunused-function]
-
River Riddle authored
-
Matthias Springer authored
Move helper functions for traversing reverse use-def chains. These are useful for implementing custom optimizations (e.g., custom InitTensorOp eliminations). Also move over the AllocationCallbacks struct. This is in preparation for decoupling ComprehensiveBufferize from various dialects. Differential Revision: https://reviews.llvm.org/D113386
-
Vitaly Buka authored
-
Kazu Hirata authored
-
Huihui Zhang authored
Add baseline test to check for folding select into binop operand enabled through D113442.
-
River Riddle authored
mapped_iterator is a useful abstraction for applying a map function over an existing iterator, but our current usage ends up allocating storage/making indirect calls even with the map function is a known function, which is horribly inefficient. This commit refactors the usage of mapped_iterator to avoid this, and allows for directly referencing the map function when dereferencing. Fixes PR52319 Differential Revision: https://reviews.llvm.org/D113511
-
Emily Shi authored
Currently, SANITIZER_COMMON_SUPPORTED_OS is being used to enable many libraries. Unfortunately this makes it impossible to selectively disable a library based on the OS. This patch removes this limitation by adding a separate list of supported OSs for the lsan, ubsan, ubsan_minimal, and stats libraries. Reviewed By: delcypher Differential Revision: https://reviews.llvm.org/D113444
-
Matthias Springer authored
This is a generalization of "do not copy buffers for a LinalgOp output if the output is not used". Differential Revision: https://reviews.llvm.org/D113385
-
Matthias Springer authored
This is a generalization of "do not copy the result of an InitTensorOp". This commit is in preparation of decoupling `getResultBuffer` from the Linalg dialect. Differential Revision: https://reviews.llvm.org/D113381
-
Jacques Pienaar authored
-
Vitaly Buka authored
-
kpyzhov authored
Differential Revision: https://reviews.llvm.org/D113203
-
River Riddle authored
* Sprinkle `inline` on a few small and hot hashing/uniquing methods * Use the faster DenseMapInfo hash functions instead of llvm::hash_value. This provides a speed up of a few percent in workloads with lots of attributes.
-
River Riddle authored
Identifier and StringAttr essentially serve the same purpose, i.e. to hold a string value. Keeping these seemingly identical pieces of functionality separate has caused problems in certain situations: * Identifier has nice accessors that StringAttr doesn't * Identifier can't be used as an Attribute, meaning strings are often duplicated between Identifier/StringAttr (e.g. in PDL) The only thing that Identifier has that StringAttr doesn't is support for caching a dialect that is referenced by the string (e.g. dialect.foo). This functionality is added to StringAttr, as this is useful for StringAttr in generally the same ways it was useful for Identifier. Differential Revision: https://reviews.llvm.org/D113536
-
Matthias Springer authored
This make `getResultBuffer` in ComprehensiveBufferize independent of the SCF, Affine and Linalg dialects. This commit is in preparating of decoupling op interface implementations from ComprehensiveBufferize. Differential Revision: https://reviews.llvm.org/D113380
-
Jake Egan authored
Soft floats are not currently supported on AIX, so mark this test as XFAIL on AIX for now. Reviewed By: shchenz Differential Revision: https://reviews.llvm.org/D113407
-
lipracer authored
The specific description is [[ https://llvm.discourse.group/t/adding-unsigned-integer-ceil-and-floor-in-std-dialect/4541 | Adding unsigned integer ceil in Std Dialect ]] . When we lower ceilDivOp this will generate below code, sometimes we know m and n are unsigned intergal.Here are some redundant judgments about positive and negative. So we need to add some unsigned operations to simplify the instructions. ``` ceilDiv(n, m) x = (m > 0) ? -1 : 1 return (n*m>0) ? ((n+x) / m) + 1 : - (-n / m) ``` unsigned operations: ``` ceilDivU(n, m) return n ==0 ? 0 : ((n - 1) / m) + 1 ``` Reviewed By: Mogball Differential Revision: https://reviews.llvm.org/D113363
-