- Jan 28, 2020
-
-
Florian Hahn authored
This patch updates the remark to also include a summary of the number of vector operations generated for each matrix expression. Reviewers: anemet, Gerolf, thegameg, hfinkel, andrew.w.kaylor, LuoYuanke Reviewed By: anemet Differential Revision: https://reviews.llvm.org/D72480
-
Shoaib Meenai authored
We have some ! patterns in the .gitignore (for the projects and runtimes directories), and those patterns end up overriding the previous file ignores, such that e.g. a .swp file inside the runtimes directory isn't ignored. Move the file ignores last to ensure they take effect. Differential Revision: https://reviews.llvm.org/D73253
-
Shoaib Meenai authored
This is needed to support including runtime targets in LLVM_DISTRIBUTION_COMPONENTS. Differential Revision: https://reviews.llvm.org/D73252
-
Shoaib Meenai authored
The installation target we create should trigger the corresponding installation target in the runtimes external project. Differential Revision: https://reviews.llvm.org/D73251
-
Wei Mi authored
from DenseMap to MapVector The iteration order of LoopVectorizationLegality::Reductions matters for the final code generation, so we better use MapVector instead of DenseMap for it to remove the nondeterminacy. reduction-order.ll in the patch is an example reduced from the case we saw. In the output of opt command, the order of the select instructions in the vector.body block keeps changing from run to run currently. Differential Revision: https://reviews.llvm.org/D73490
-
Florian Hahn authored
Generate remarks for matrix operations in a function. To generate remarks for matrix expressions, the following approach is used: 1. Collect leafs of matrix expressions (done in RemarkGenerator::getExpressionLeafs). Leafs are lowered matrix instructions without other matrix users (like stores). 2. For each leaf, create a remark containing a linearizied version of the matrix expression. The following improvements will be submitted as follow-ups: * Summarize number of vector instructions generated for each expression. * Account for shared sub-expressions. * Propagate matrix remarks up the inlining chain. The information provided by the matrix remarks helps users to spot cases where matrix expression got split up, e.g. due to inlining not happening. The remarks allow users to address those issues, ensuring best performance. Reviewers: anemet, Gerolf, thegameg, hfinkel, andrew.w.kaylor, LuoYuanke Reviewed By: anemet Differential Revision: https://reviews.llvm.org/D72453
-
Nathan authored
Summary: Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=44667 | noexcept operator misinterpreted as being evaluated ]]. Reviewers: aaron.ballman, alexfh, JonasToth, hokein, gribozavr2 Reviewed By: gribozavr2 Subscribers: merge_guards_bot, Quuxplusone, xazax.hun, cfe-commits Tags: #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D73441
-
Fangrui Song authored
Reland "[StackColoring] Remap PseudoSourceValue frame indices via MachineFunction::getPSVManager()"" Reland 7a8b0b15, with a fix that checks `!E.value().empty()` to avoid inserting a zero to SlotRemap. Debugged by rnk@ in https://bugs.chromium.org/p/chromium/issues/detail?id=1045650#c33 Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D73510
-
Nathan authored
[clang-tidy] readability-redundant-string-init now flags redundant initialisation in Field Decls and Constructor Initialisers Summary: The original behaviour of this check only looked at VarDecls with strings that had an empty string initializer. This has been improved to check for FieldDecls with an in class initializer as well as constructor initializers. Addresses [[ https://bugs.llvm.org/show_bug.cgi?id=44474 | clang-tidy "modernize-use-default-member-init"/"readability-redundant-string-init" and redundant initializer of std::string ]] Reviewers: aaron.ballman, alexfh, hokein Reviewed By: aaron.ballman Subscribers: merge_guards_bot, mgorny, Eugene.Zelenko, xazax.hun, cfe-commits Tags: #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D72448
-
Nathan authored
[clang-tidy] readability-identifier-naming disregards parameters restrictions on main like functions Summary: Typically most main functions have the signature: ``` int main(int argc, char *argv[]) ``` To stick with convention when renaming parameters we should ignore the `argc` and `argv` names even if the parameter style says they should be renamed. This patch addresses this by checking all ParmVarDecls if they form part of a function with a signature that matches main `int name(int argc, char * argv[], (optional char *env[]))` Reviewers: aaron.ballman, JonasToth, alexfh, hokein Reviewed By: aaron.ballman Subscribers: Mordante, merge_guards_bot, xazax.hun, kristof.beyls, cfe-commits Tags: #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D73098
-
Reid Kleckner authored
This behavior appears to have changed unintentionally in b0e97972. Instead of printing the leading newline in printFunction, print it when printing a module. This ensures that `OS << *Func` starts printing immediately on the current line, but whole modules are printed nicely. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D73505
-
Reid Kleckner authored
This would've caught https://crbug.com/1045650, which resulted in the revert of 7a8b0b15.
-
Evgenii Stepanov authored
Reviewers: vitalybuka Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73395
-
Evgenii Stepanov authored
Summary: Treat scalable allocas as if they have storage size of 0, and scalable-typed memory accesses as if their range is unlimited. This is not a proper support of scalable vector types in the analysis - we can do better, but not today. Reviewers: vitalybuka Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73394
-
Florian Hahn authored
This patch adds a new option to enable/disable register renaming in the load-store optimizer. Defaults to disabled, as there is a potential mis-compile caused by this.
-
Jonas Devlieghere authored
Update _regexp-break to interpret main.c:8:21 as: breakpoint set --line 8 --column 21 Differential revision: https://reviews.llvm.org/D73314
-
Jonas Devlieghere authored
Mark the whole Python or Lua test directory as unsupported when the corresponding language is not available.
-
Eric Schweitz authored
-
Matt Arsenault authored
Trivial type predicates should be moved into the tablegen pattern itself, and not checked inside complex patterns. This eliminates a redundant complex pattern, and fixes select source modifiers for GlobalISel. I have further patches which fully handle select in tablegen and remove all of the C++ selection, although it requires the ugliness to support the entire range of legal register types.
-
Evgenii Stepanov authored
Summary: This is an Android-specific interface for iterating over all live allocations in a memory range. Reviewers: hctim, cferris Subscribers: mgorny, mgrang, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73305
-
Jay Foad authored
Summary: This is mostly NFC. computeForAddSub may give more precise results in some cases, but that doesn't seem to affect any existing GlobalISel tests. Subscribers: rovka, hiraditya, volkan, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73431
-
Diego Caballero authored
Summary: Remove 'valuesToRemoveIfDead' from PatternRewriter API. The removal functionality wasn't implemented and we decided [1] not to implement it in favor of having more powerful DCE approaches. [1] https://github.com/tensorflow/mlir/pull/212 Reviewers: rriddle, bondhugula Reviewed By: rriddle Subscribers: liufengdb, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72545
-
Stephen Neuendorffer authored
The examples need explicit library dependencies when building with BUILD_SHARED_LIBS=on
-
Gabor Horvath authored
These are mostly trivial additions as both of them are reusing existing PThreadLockChecker logic. I only needed to add the list of functions to check and do some plumbing to make sure that we display the right checker name in the diagnostic. Differential Revision: https://reviews.llvm.org/D73376
-
Sanjay Patel authored
D47163 created a rule that we should not change the casted type of a select when we have matching types in its compare condition. That was intended to help vector codegen, but it also could create situations where we miss subsequent folds as shown in PR44545: https://bugs.llvm.org/show_bug.cgi?id=44545 By using shouldChangeType(), we can continue to get the vector folds (because we always return false for vector types). But we also solve the motivating bug because it's ok to narrow the scalar select in that example. Our canonicalization rules around select are a mess, but AFAICT, this will not induce any infinite looping from the reverse transform (but we'll need to watch for that possibility if committed). Side note: there's a similar use of shouldChangeType() for phi ops just below this diff, and the source and destination types appear to be reversed. Differential Revision: https://reviews.llvm.org/D72733
-
Kern Handa authored
Differential Revision: https://reviews.llvm.org/D73377
-
Alex Zinenko authored
Summary: Affine minimum computation will be used in tiling transformation. The implementation is mostly boilerplate as we already lower the minimum in the upper bound of an affine loop. Differential Revision: https://reviews.llvm.org/D73488
-
Simon Pilgrim authored
This allows SimplifyDemandedBits to call SimplifyMultipleUseDemandedBits to create a simpler ISD::EXTRACT_SUBVECTOR, which is particularly useful for cases where we're splitting into subvectors anyhow. Differential Revision: This allows SimplifyDemandedBits to call SimplifyMultipleUseDemandedBits to create a simpler ISD::EXTRACT_SUBVECTOR, which is particularly useful for cases where we're splitting into subvectors anyhow.
-
Adrian Prantl authored
This patch fixes an assertion failure in DwarfExpression that is triggered when a complex fragment has exactly the size of a subregister of the register the DBG_VALUE points to *and* there is no DWARF encoding for the super-register. I took the opportunity to replace/document some magic values with static constructor functions to make this code less confusing to read. rdar://problem/58489125 Differential Revision: https://reviews.llvm.org/D72938
-
Roman Lebedev authored
[NFC][LoopVectorize] Autogenerate tests affected by isHighCostExpansionHelper() cost modelling (PR44668)
-
Roman Lebedev authored
[NFC][IndVarSimplify] Autogenerate tests affected by isHighCostExpansionHelper() cost modelling (PR44668)
-
Matt Arsenault authored
The cmpswap handling is incomplete and fails to select.
-
Matt Arsenault authored
-
Jon Chesterfield authored
This reverts commit 0e9374e3. Revert D73239. It fails some local testing, cause presently unknown
-
Matt Arsenault authored
-
Matt Arsenault authored
Treat this the same way as loads. There's less value to the intermediate nodes, but it's good to be consistent.
-
Alexey Bataev authored
regions with reductions, lastprivates or linears clauses. If the lastprivate conditional variable is updated in inner parallel region with reduction, lastprivate or linear clause, the value must be considred as a candidate for lastprivate conditional. Also, tracking in inner parallel regions is not required.
-
Shoaib Meenai authored
Revert "[clang-tidy] readability-identifier-naming disregards parameters restrictions on main like functions" This reverts commit 27e3671f. This was an accidental push, and the author requested a revert on IRC as their local branch is in a bad state.
-
Sanjay Patel authored
This was noted in D72521 - we need to match fneg specifically to consistently handle that pattern along with (-0.0 - X).
-
Nikita Popov authored
Followup to D72978. This moves existing negation handling in InstCombine into freelyNegateValue(), which make it composable. In particular, root negations of div/zext/sext/ashr/lshr/sub can now always be performed through a shl/trunc as well. Differential Revision: https://reviews.llvm.org/D73288
-