- Oct 22, 2020
-
-
Tyker authored
Changes: - initializer expressions of constexpr variable are now wraped in a ConstantExpr. this is mainly used for testing purposes. the old caching system has not yet been removed. - Add all the missing Serialization and Importing for APValue. - Improve dumping of APValue when ASTContext isn't available. - Cleanup leftover from last patch. - Add Tests for Import and serialization. Differential Revision: https://reviews.llvm.org/D63640
-
Nico Weber authored
-
Louis Dionne authored
-
Nico Weber authored
-
Nico Weber authored
-
John Brawn authored
This is needed to prevent the test from failing when llvm is configured so that the arm target is not present, which is the case for some buildbots.
-
Joe Nash authored
We use the Real vs Pseudo instruction abstraction for other types of instructions to facilitate changes in opcode between gpu generations. This patch introduces that abstraction to SOPC and SOPP. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D89738 Change-Id: I59d53c2c7058b49d05b60350f4062a9b542d3138
-
Christian Sigg authored
Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D89686
-
Christian Sigg authored
Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D89262
-
Frej Drejhammar authored
The documentation claims that an op with the trait FunctionLike has a single region containing the blocks that corresponding to the body of the function. It then goes on to say that the absence of a region corresponds to an external function when, in fact, this is represented by a single empty region. This patch changes the wording in the documentation to match the implementation. Signed-off-by:
Frej Drejhammar <frej.drejhammar@gmail.com> Co-authored-by:
Frej Drejhammar <frej.drejhammar@gmail.com> Co-authored-by:
Klas Segeljakt <klasseg@kth.se> Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D89868
-
Matt Arsenault authored
Check the actual maximum supported stack size for a kernel.
-
Matt Arsenault authored
Fixes being overly conservative with the register counts in called functions. This should try to do a conservative range merge, but for now just clone. Also fix not being able to functionally run the pass standalone.
-
- Oct 21, 2020
-
-
JonChesterfield authored
[libomptarget][amdgcn] Refactor memcpy to eliminate maps Builds on D89776 to remove now dead code. Reviewed By: pdhaliwal Differential Revision: https://reviews.llvm.org/D89888
-
Pavel Labath authored
-
Louis Dionne authored
Prior to this patch, we would generate a fancy <__config> header by concatenating <__config_site> and <__config>. This complexifies the build system and also increases the difference between what's tested and what's actually installed. This patch removes that complexity and instead simply installs <__config_site> alongside the libc++ headers. <__config_site> is then included by <__config>, which is much simpler. Doing this also opens the door to having different <__config_site> headers depending on the target, which was impossible before. It does change the workflow for testing header-only changes to libc++. Previously, we would run `lit` against the headers in libcxx/include. After this patch, we run it against a fake installation root of the headers (containing a proper <__config_site> header). This makes use closer to testing what we actually install, which is good, however it does mean that we have to update that root before testing header changes. Thus, we now need to run `ninja check-cxx-deps` before running `lit` by hand. This commit was originally applied in 1e46d1aa and reverted in eb60c487 because it broke the libc++abi and libunwind test suites. This has now been fixed. Differential Revision: https://reviews.llvm.org/D89041
-
Christopher Tetreault authored
Reviewed By: labath Differential Revision: https://reviews.llvm.org/D89807
-
Pavel Labath authored
The existing help text was very terse and was missing several important options. In the new version, I add a short description of each option and a slightly longer description of the tool as a whole. The new option list does not include undocumented no-op options: --debug and --verbose. It also does not include undocumented short aliases for long options, with two exceptions: -h, because it's well-known; and -S (--setsid), as it's used in one test. Using these options will now produce an error. I believe that is acceptable as users aren't generally invoking lldb-server directly, and the only way to learn about the short aliases was by looking at the source. Differential Revision: https://reviews.llvm.org/D89477
-
Sylvestre Ledru authored
Reviewed By: emaste Differential Revision: https://reviews.llvm.org/D89859
-
Paul C. Anagnostopoulos authored
Differential Revision: https://reviews.llvm.org/D89822
-
Jan Kratochvil authored
Differential Revision: https://reviews.llvm.org/D89875
-
Jeremy Morse authored
As mentioned post-commit in D85749, the 'substituteDebugValuesForInst' method added in c521e44d would be better off with a limit on the number of operands to substitute. This handles the common case of "substitute the first operand between these two differing instructions", or possibly up to N first operands.
-
Michael Liao authored
-
Louis Dionne authored
This temporarily reverts commit 1e46d1aa until I find a solution to fix the libc++abi and libunwind test suites with that change.
-
Sanjay Patel authored
The default implementation base returns TCC_Expensive (currently set to '4'), so that explains the test diff. This probably does not make sense for most callers, but at least now the costs will be consistently wrong instead of mysteriously wrong. The ARM target has an override that tries to model codegen expansion, and that should likely be adapted for general usage. This probably does not affect anything because the vectorizers are the primary users of the throughput cost, but memcpy is not listed as a trivially vectorizable intrinsic.
-
Louis Dionne authored
Prior to this patch, we would generate a fancy <__config> header by concatenating <__config_site> and <__config>. This complexifies the build system and also increases the difference between what's tested and what's actually installed. This patch removes that complexity and instead simply installs <__config_site> alongside the libc++ headers. <__config_site> is then included by <__config>, which is much simpler. Doing this also opens the door to having different <__config_site> headers depending on the target, which was impossible before. It does change the workflow for testing header-only changes to libc++. Previously, we would run `lit` against the headers in libcxx/include. After this patch, we run it against a fake installation root of the headers (containing a proper <__config_site> header). This makes use closer to testing what we actually install, which is good, however it does mean that we have to update that root before testing header changes. Thus, we now need to run `ninja check-cxx-deps` before running `lit` by hand. Differential Revision: https://reviews.llvm.org/D89041
-
Jonas Paulsson authored
For historical reasons, the R6 register is a callee-saved argument register. This means that if it is used to pass an argument to a function that does not clobber it, it is live throughout the function. This patch makes sure that in this special case any kill flags of it are removed. Review: Ulrich Weigand, Eli Friedman Differential Revision: https://reviews.llvm.org/D89451
-
Ben Dunbobbin authored
-
Ben Dunbobbin authored
Currently, a LIT test named directly (on the command line) will be run even if the name of the test file does not meet the rules to be considered a test in the LIT test configuration files for its test suite. For example, if the test does not have a recognised file extension. This makes it relatively easy to write a LIT test that won't actually be run. I did in: https://reviews.llvm.org/D82567 This patch adds an error to avoid users doing that. There is a small performance overhead for this check. A command line option has been added so that users can opt into the old behaviour. Differential Revision: https://reviews.llvm.org/D83069
-
Kirill Bobyrev authored
https://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D89857
-
Evgeny Leviant authored
-
David Zarzycki authored
-
Florian Hahn authored
This fixes a test failure because a LLVM pipeline test file in clang/ did not get updated in 88241ffb.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
[DAG] getNode(ISD::EXTRACT_SUBVECTOR) Drop unnecessary N2C null check - we assert that this isn't null and have already used the pointer. NFCI. Fixes cppcheck + null dereference warning.
-
Nicholas Guy authored
Some instructions may be removable through processes such as IfConversion, however DefinesPredicate can not be made aware of when this should be considered. This parameter allows DefinesPredicate to distinguish these removable instructions on a per-call basis, allowing for more fine-grained control from processes like ifConversion. Renames DefinesPredicate to ClobbersPredicate, to better reflect it's purpose Differential Revision: https://reviews.llvm.org/D88494
-
Sven van Haastregt authored
Updates an optimization that relies on boolean contents being either 0 or 1 to properly check for this before triggering. The following: (X & 8) != 0 --> (X & 8) >> 3 Produces unexpected results when a boolean 'true' value is represented by negative one. Patch by Erik Hogeman. Differential Revision: https://reviews.llvm.org/D89390
-
Sven van Haastregt authored
This adds a test covering an issue in bit comparison folding. The issue will be addressed in the subsequent commit. Patch by Erik Hogeman. Differential Revision: https://reviews.llvm.org/D89390
-
Sebastian Neubauer authored
D89217 did not subtract one when accessing SubRegFromChannelTable in one place. Differential Revision: https://reviews.llvm.org/D89804
-
John Brawn authored
LLVM assumes that when it creates a call to a C library function it can use the C calling convention. On ARM the effective calling convention is determined from the target triple, however using -mfloat-abi=hard on ARM means that calls to (and definitions of) C library functions use the arm_aapcs_vfpcc calling convention which can result in a mismatch. Fix this by incorporating -mfloat-abi into the target triple, similar to how -mbig-endian and -march/-mcpu are. This only works for EABI targets and not Android or iOS, but there the float abi is fixed so instead give an error. Fixes PR45524 Differential Revision: https://reviews.llvm.org/D89573
-
Adam Balogh authored
The `Root` member of `ImmutableMapRef` was changed recently from a plain pointer to `IntrusiveRefCntPtr`. However, the `Profile` member function was not adjusted. This results in comilation error whenever the `Profile` method is used on an `ImmutableMapRef`. This patch fixes this issue and also adds unit tests for `ImmutableMapRef`. Differential Revision: https://reviews.llvm.org/D89486
-