- Jan 28, 2020
-
-
Raphael Isemann authored
The GetRawLine currently returns the full command line used to create the CompletionRequest. So for example for "foo b[tab] --arg" it would return the whole string instead of "foo b". Usually completion code makes the wrong assumption that the cursor is at the end of the line and handing out the complete line will cause that people implement completions that also make this assumption. This patch makes GetRawLine() return only the string until the cursor and hides the suffix (so that the cursor is always at the end of this string) and adds another function GetRawLineWithUnusedSuffix that is specifically the line with the suffix that isn't used by the CompletionRequest for argument parsing etc. There is only one user of this new function that actually needs the suffix and that is the expression command which needs the suffix to detect if it is in the raw or argument part of the command (by looking at the "--" separator).
-
Sam McCall authored
Fixes https://github.com/clangd/clangd/issues/233 Reviewers: dgoldman Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, jfb, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72634
-
Julian Gross authored
Summary: The intrinsic operation added multiple type annotations to the llvm intrinsic operations, but only one is needed. The related tests in llvmir-intrinsics.mlir checked the wrong number and are adjusted as well. Reviewers: nicolasvasilache, ftynse Reviewed By: ftynse Subscribers: merge_guards_bot, ftynse, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73470
-
Julian Gross authored
Summary: The tanh lowering from Standard dialect to NVVM and ROCDL was not working. The conversion pattern are inserted in the lowering files. The test cases for the lowerings were added in the test files. Reviewers: nicolasvasilache, ftynse, herhut Reviewed By: ftynse, herhut Subscribers: merge_guards_bot, ftynse, jholewinski, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73471
-
Kazushi (Jam) Marukawa authored
Summary: Function calls and stack-passing of function arguments. Custom lowering, isel patterns and tests. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D73461
-
Georgii Rymar authored
The intention of Object/readobj-shared-object.test was to check the general output for shared object. I've added a case for testing dynamic objects to ELF/symbols.test. Also we already test dynamic symbols printing in ELF/dyn-symbols.test + I've added a case for `--dyn-syms` alias in D73164. Hence we can remove this piece from Object/readobj-shared-object.test. Differential revision: https://reviews.llvm.org/D73175
-
Guillaume Chatelet authored
-
Alex Zinenko authored
-
Guillaume Chatelet authored
-
Simon Tatham authored
Summary: The 'z' length modifier, signalling that an integer format specifier takes a `size_t` sized integer, is only supported by the C library of MSVC 2015 and later. Earlier versions don't recognize the 'z' at all, and respond to `printf("%zu", x)` by just printing "zu". So, if the MS compatibility version is set to a value earlier than MSVC2015, it's useful to warn about 'z' modifiers in printf format strings we check. Reviewers: aaron.ballman, lebedev.ri, rnk, majnemer, zturner Reviewed By: aaron.ballman Subscribers: amccarth, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73457 -
Kazushi (Jam) Marukawa authored
Summary: Enable unaligned load/store isel for iN and fp32/64 and tests. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D73448
-
Guillaume Chatelet authored
Summary: This is a follow up on D61634. It adds an LLVM IR intrinsic to allow better implementation of memcpy from C++. A follow up CL will add the intrinsics in Clang. Reviewers: courbet, theraven, t.p.northover, jdoerfert, tejohnson Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71710
-
Petr Hosek authored
This reverts commit d59e3429.
-
River Riddle authored
Summary: The dead function elimination pass in toy was a temporary stopgap until we had proper dead function elimination support in MLIR. Now that this functionality is available, this pass is no longer necessary. Differential Revision: https://reviews.llvm.org/D72483
-
Roland McGrath authored
This required some fixes to the generic code for two issues: 1. -fsanitize=safe-stack is default on x86_64-fuchsia and is *not* incompatible with -fsanitize=leak on Fuchisa 2. -fsanitize=leak and other static-only runtimes must not be omitted under -shared-libsan (which is the default on Fuchsia) Patch By: mcgrathr Differential Revision: https://reviews.llvm.org/D73397
-
Roland McGrath authored
Support LeakSanitizer runtime on Fuchsia. Patch By: mcgrathr Differential Revision: https://reviews.llvm.org/D72887
-
River Riddle authored
Summary: This pass deletes all symbols that are found to be unreachable. This is done by computing the set of operations that are known to be live, propagating that liveness to other symbols, and then deleting all symbols that are not within this live set. Differential Revision: https://reviews.llvm.org/D72482
-
River Riddle authored
Summary: This revision refactors the implementation of the symbol use-list functionality to be a bit cleaner, as well as easier to reason about. Aside from code cleanup, this revision updates the user contract to never recurse into operations if they define a symbol table. The current functionality, which does recurse, makes it difficult to examine the uses held by a symbol table itself. Moving forward users may provide a specific region to examine for uses instead. Differential Revision: https://reviews.llvm.org/D73427
-
River Riddle authored
Summary: The new internal representation of operation results now allows for accessing the result types to be more efficient. Changing the API to ArrayRef is more efficient and removes the need to explicitly materialize vectors in several places. Differential Revision: https://reviews.llvm.org/D73429
-
River Riddle authored
Summary: This allows for providing a default "catchall" legality check that is not dependent on specific operations or dialects. For example, this can be useful to check legality based on the specific types of operation operands or results. Differential Revision: https://reviews.llvm.org/D73379
-
Nico Weber authored
With LLVM_APPEND_VC_REV=NO, Modules/merge-lifetime-extended-temporary.cpp would fail if it ran before a0f50d73 (which changed the serialization format) and then after, for these reasons: 1. With LLVM_APPEND_VC_REV=NO, the module hash before and after the change was the same. 2. Modules/merge-lifetime-extended-temporary.cpp is the only test we have that uses -fmodule-cache-path=%t that a) actually writes to the cache path b) doesn't do `rm -rf %t` at the top of the test So the old run would write a module file, and then the new run would try to load it, but the serialized format changed. Do several things to fix this: 1. Include clang::serialization::VERSION_MAJOR/VERSION_MINOR in the module hash, so that when the AST format changes (...and we remember to bump these), we use a different module cache dir. 2. Bump VERSION_MAJOR, since a0f50d73 changed the on-disk format in a way that a gch file written before that change can't be read after that change. 3. Add `rm -rf %t` to all tests that pass -fmodule-cache-path=%t. This is unnecessary from a correctness PoV after 1 and 2, but makes it so that we don't amass many cache dirs over time. (Arguably, it also makes it so that the test suite doesn't catch when we change the serialization format but don't bump clang::serialization::VERSION_MAJOR/VERSION_MINOR; oh well.) Differential Revision: https://reviews.llvm.org/D73202
-
Richard Smith authored
whether a call is to a builtin. We already had a general mechanism to do this but for some reason weren't using it. In passing, check for the other unary operators that can intervene in a reasonably-direct function call (we already handled '&' but missed '*' and '+').
-
Florian Hahn authored
-
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.
-