- Nov 23, 2020
-
-
Kadir Cetinkaya authored
This was confusing, as testRoot on windows results in C:\\clangd-test and testPath generated with posix explicitly still contained backslashes. This patch ensures not only the relative part, but the whole final result respects passed in Style. Differential Revision: https://reviews.llvm.org/D91947
-
Kerry McLaughlin authored
Truncates the APInt if the bit width is greater than the width specified, otherwise do nothing Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D91445
-
Kirill Bobyrev authored
D71880 makes this dependency redundant and we can safely remove it. Tested for both shared lib build and static lib build. Reviewed By: hokein Differential Revision: https://reviews.llvm.org/D91951
-
Joe Ellis authored
Previously, lax conversions were only allowed between SVE vector-length agnostic types and vector-length specific types. This meant that code such as the following: #include <arm_sve.h> #define N __ARM_FEATURE_SVE_BITS #define FIXED_ATTR __attribute__ ((vector_size (N/8))) typedef float fixed_float32_t FIXED_ATTR; void foo() { fixed_float32_t fs32; svfloat64_t s64; fs32 = s64; } was not allowed. This patch makes a minor change to areLaxCompatibleSveTypes to allow for lax conversions to be performed between SVE vector-length agnostic types and GNU vectors. Differential Revision: https://reviews.llvm.org/D91696 -
Kirill Bobyrev authored
This patch introduces new canonicalization rules which are used for AST-based rename in Clangd. By comparing two canonical declarations of inspected nodes, Clangd determines whether both of them belong to the same entity user would like to rename. Such functionality is relatively concise compared to the Clang-Rename API that is used right now. It also helps to overcome the limitations that Clang-Rename originally had and helps to eliminate several classes of bugs. Clangd AST-based rename currently relies on Clang-Rename which has design limitations and also lacks some features. This patch breaks this dependency and significantly reduces the amount of code to maintain (Clang-Rename is ~2000 LOC, this patch is just <30 LOC of replacement code). We eliminate technical debt by simultaneously * Maintaining feature parity and ensuring no regressions * Opening a straightforward path to improving existing rename bugs * Making it possible to add more capabilities to rename feature which would not be possible with Clang-Rename Reviewed By: hokein Differential Revision: https://reviews.llvm.org/D71880
-
Nicolas Vasilache authored
This revision refactors code used in various Linalg transformations and makes it a first class citizen to the LinalgStructureOpInterface. This is in preparation to allowing more advanced Linalg behavior but is otherwise NFC. Differential revision: https://reviews.llvm.org/D91863
-
Haojian Wu authored
The dependency mechanism for C has been implemented, and we have rolled out this to all internal users, didn't see crashy issues, we consider it is stable enough. Differential Revision: https://reviews.llvm.org/D89046
-
Georgii Rymar authored
It is possible to trigger a crash/misbehavior when the st_name field of the signature symbol goes past the end of the string table. This patch fixes it. Differential revision: https://reviews.llvm.org/D91943
-
Max Kazantsev authored
SCEV makes a logical mistake when handling EitherMayExit in case when both conditions must be met to exit the loop. The mistake looks like follows: "if condition `A` fails within at most `X` first iterations, and `B` fails within at most `Y` first iterations, then `A & B` fails at most within `min (X, Y)` first iterations". This is wrong, because both of them must fail at the same time. Simple example illustrating this is following: we have an IV with step 1, condition `A` = "IV is even", condition `B` = "IV is odd". Both `A` and `B` will fail within first two iterations. But it doesn't mean that both of them will fail within first two first iterations at the same time, which would mean that IV is neither even nor odd at the same time within first 2 iterations. We can only do so for known exact BE counts, but not for max. Differential Revision: https://reviews.llvm.org/D91942 Reviewed By: nikic
-
Georgii Rymar authored
With this we are able to diagnose possible issues much better and don't exit on an error. Differential revision: https://reviews.llvm.org/D91867
-
Kadir Cetinkaya authored
-
Pavel Labath authored
This patch moves the selection of the style used to emit the numbers (DW_OP_implicit_value vs. DW_OP_const+DW_OP_stack_value) into DwarfExpression::addUnsignedConstant. This logic is not FP-specific, and it will be needed for large integers too. The refactor also makes DW_OP_implicit_value (DW_OP_stack_value worked already) be used for floating point constants other than float and double, so I've added a _Float16 test for it. Split off from D90916. Differential Revision: https://reviews.llvm.org/D91058
-
Sjoerd Meijer authored
I disabled the widening in fa5cb4b9 because it run in an assert, which was related to replacing values with different types. I forgot that an extend could also be a zero-extend, which I have added now. This means that the approach now is to create and insert a trunc value of the outerloop for each user, and use that to replace IV values. Differential Revision: https://reviews.llvm.org/D91690
-
Michał Górny authored
Add a 'can_connect' parameter to Process plugin initialization, and use it to filter plugins to these capable of remote connections. This is used to prevent 'process connect' from picking up a plugin that can only be used locally, e.g. the legacy FreeBSD plugin. Differential Revision: https://reviews.llvm.org/D91810
-
Haojian Wu authored
I saw this crash in our internal production, but unfortunately didn't get reproduced testcase, we likely hit this crash when the AST is ill-formed (e.g. broken code). Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D91614
-
Michał Górny authored
Restore Linux-alike regset names for AVX/MPX registers as TestLldbGdbServer seems to depend on them. At the same time, fix TestRegisters to be aware that they are not available on FreeBSD and NetBSD, at least until we figure out a better way of reporting unsupported register sets. Differential Revision: https://reviews.llvm.org/D91923
-
Michał Górny authored
Fix qRegisterInfo tests to handle Exx error response when querying registers that are not supported on the platform in question. This is how FreeBSD and NetBSD platforms reporting missing registers right now, and there certainly is value from verifying the remaining registers. This change fixes the test for FreeBSD but NetBSD has other regressions that still need to be researched. Differential Revision: https://reviews.llvm.org/D91922
-
Michał Górny authored
Explicitly declare register overlaps/invalidation between ST(i) and MMi registers. Differential Revision: https://reviews.llvm.org/D91728
-
Michał Górny authored
Differential Revision: https://reviews.llvm.org/D91934
-
Kadir Cetinkaya authored
-
Marek Kurdej authored
-
Georgii Rymar authored
It is possible to trigger reading past the EOF by breaking fields like DT_PLTRELSZ, DT_RELSZ or DT_RELASZ This patch adds a validation in `DynRegionInfo` helper class. Differential revision: https://reviews.llvm.org/D91787
-
Max Kazantsev authored
Handling of `and` and `or` vastly uses copy-paste. Factored out into a helper function as preparation step for further fix (see PR48225). Differential Revision: https://reviews.llvm.org/D91864 Reviewed By: nikic
-
Kazu Hirata authored
-
Kazu Hirata authored
The function declaration with two parameters was introduced on Apr 16 2016 in commit f0d73f95 without a corresponding definition.
-
Kazu Hirata authored
The function was introduced on Jan 23, 2019 in commit 73078ecd. Its definition was removed on Oct 27, 2020 in commit 0930763b, leaving the declaration unused.
-
John Demme authored
- Fixes bug 48242 point 3 crash. - Makes the improvments from points 1 & 2. https://bugs.llvm.org/show_bug.cgi?id=48262 ``` def RTLValueType : Type<CPred<"isRTLValueType($_self)">, "Type"> { string cppType = "::mlir::Type"; } ``` Works now, but merely by happenstance. Parameters expects a `TypeParameter` class def or a string representing a c++ type but doesn't enforce it. Reviewed By: lattner Differential Revision: https://reviews.llvm.org/D91939
-
Zequan Wu authored
According to https://eel.is/c++draft/cpp.predefined#2.6, `__STDCPP_THREADS__` is a predefined macro. Differential Revision: https://reviews.llvm.org/D91747
-
David Green authored
-
Nico Weber authored
-
David Green authored
-
LLVM GN Syncbot authored
-
Nico Weber authored
It'd be nicer if there was a group target that forwarded either to //clang-tools-extra/clangd/index/remote or //clangd/index/remote/unimplemented based on if remote index is enabled, but for now it's never enabled in the gn build.
-
Stella Laurenzo authored
* Makes `pip install pybind11` do the right thing with no further config. * Since we now require a version of pybind11 greater than many LTS OS installs (>=2.6), a more convenient way to get a recent version is preferable. * Also adds the version spec to find_package so it will skip older versions that may be lying around. * Tested the full matrix of old system install, no system install, pip install and no pip install. Differential Revision: https://reviews.llvm.org/D91903
-
Kadir Cetinkaya authored
-
Kadir Cetinkaya authored
Put project-aware-index between command-line specified static index and ClangdServer indexes. This also moves remote-index dependency from clangDaemon to ClangdMain in an attempt to prevent cyclic dependency between clangDaemon and remote-index-marshalling. Differential Revision: https://reviews.llvm.org/D91860
-
Kadir Cetinkaya authored
An index implementation that can dispatch to a variety of indexes depending on the file path. Enables clangd to work with multiple indexes in the same instance, configured via config files. Depends on D90749, D90746 Differential Revision: https://reviews.llvm.org/D90750
-
Kadir Cetinkaya authored
Compilation logic for External blocks. A few of the high level points: - Requires exactly one-of File/Server at a time: - Server is ignored in case of both, with a warning. - Having none is an error, would render ExternalBlock void. - Ensures mountpoint is an absolute path: - Interprets it as relative to FragmentDirectory. - Defaults to FragmentDirectory when empty. - Marks Background as Skip. Depends on D90748. Differential Revision: https://reviews.llvm.org/D90749
-
Kadir Cetinkaya authored
Enable configuration of remote and static indexes through config files in addition to command line arguments. Differential Revision: https://reviews.llvm.org/D90748
-
Aaron Puchert authored
Currently the tarballs contain superfluous metadata, like the user name of the packager and via Pax headers even the PID of the tar process that packaged the files. We build the monorepo projects directly from the git repo using "git archive" and for the test-suite we add some flags as recommended by https://reproducible-builds.org/docs/archives/. We don't use numeric owners though to be compatible with "git archive". The advantage of "git archive" is that the releaser doesn't have to download the tar ball and extract it, rather the archive is built directly from the repository. This is probably what GitHub uses internally to produce the tarballs, so I wouldn't expect a difference. Reviewed By: tstellar Differential Revision: https://reviews.llvm.org/D91494
-