- Jul 23, 2020
-
-
Fangrui Song authored
-r --gc-sections is usually not useful because it just makes intermediate output smaller. https://bugs.llvm.org/show_bug.cgi?id=46700#c7 mentions a use case: validating the absence of undefined symbols ealier than in the final link. After D84129 (SHT_GROUP support in -r links), we can support -r --gc-sections without extra code. So let's allow it. Reviewed By: grimar, jhenderson Differential Revision: https://reviews.llvm.org/D84131
-
LLVM GN Syncbot authored
-
Evgeny Leviant authored
Differential revision: https://reviews.llvm.org/D84228
-
Braedy Kuzma authored
This patch clarifies the failing point of having input or output vectors of differing types. Before, lowering would fail elsewhere (e.g. in `fmul` creation) which may have been not immediately clear. As a side effect, the `getElementType` and `getVectoryTy` functions required the `const` qualifier to be added. Reviewers: fhahn Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D84374
-
Sebastian Neubauer authored
-
Xing GUO authored
This patch refactors `emitDebugInfo()` to make the length field be inferred from its content. Besides, the `Visitor` class is removed in this patch. The original `Visitor` class helps us determine an appropriate length and emit the .debug_info section. These two processes can be merged into one process. Besides, the length field should be inferred when it's missing rather than when it's zero. Reviewed By: jhenderson, labath Differential Revision: https://reviews.llvm.org/D84008
-
Xing GUO authored
This patch helps pull out some common helper functions for range list and location list tables. NFC. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D84383
-
Kazuaki Ishizaki authored
Differential Revision: https://reviews.llvm.org/D84400
-
Simon Pilgrim authored
Add SimplifyMultipleUseDemandedVectorElts peek through for imm/var SSE shifts
-
Ulrich Weigand authored
When passing the -vector feature to LLVM (or equivalently the -mno-vx command line argument to clang), the intent is that generated code must not use any vector features (in particular, no vector registers must be used). However, there are some cases where we still could generate such uses; these are all related to some of the additional vector features (like +vector-enhancements-1). Since none of those features are actually usable with -vector, just make sure we disable them all if -vector is given.
-
Florian Hahn authored
Currently there are plenty of instructions that SCEVExpander creates but does not track as created. IRBuilder allows specifying a callback whenever an instruction is inserted. Use this to call rememberInstruction automatically for each created instruction. There are still a few rememberInstruction calls remaining, because in some cases Inst::Create functions are used to construct instructions. Suggested by @lebedev.ri in D75980. Reviewers: mkazantsev, reames, sanjoy.google, lebedev.ri Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D84326
-
Russell Gallop authored
This has been required since https://reviews.llvm.org/D57828. Differential Revision: https://reviews.llvm.org/D82379
-
Mikhail Maltsev authored
This change replaces std::make_unique with manual construction of std::unique_ptr to make the tests compatible with C++11 (std::make_unique is a C++14 feature). libc++ supports std::unique_ptr and std::shared_ptr even in C++03 but with some limitations: unique_ptr_array.pass.cpp and shared_ptr_arg.pass.cpp fail to compile in C++03 mode and need to be disabled. Differential Revision: https://reviews.llvm.org/D84394
-
Jay Foad authored
Add support in LegalizerHelper for lowering G_SADDSAT etc. either using add/subtract-with-overflow or using max/min instructions. Enable this lowering for AMDGPU so it can be tested. The legalization rules are still approximate and skips out on using the clamp bit to treat these as legal, which has never been used before. This also doesn't yet try to deal with expanding SALU cases.
-
Florian Hahn authored
The test is quite frafile, as the check lines match IR numbers and it is not obvious why only a very small subset is checked. Re-generate check lines, so further changes are more obvious.
-
Florian Hahn authored
-
Erich Keane authored
Our latest release is now 11, so update the make_cxx_dr_status and regenerate the cxx_dr_status.html document.
-
Sanjay Patel authored
D84250 proposes to extend this code, so the duplication for the commuted case would continue to grow.
-
Simon Pilgrim authored
-
Pavel Labath authored
The patch was reverted 27d52cd8 because of failures in TestWeakSymbols.py. These have now been addressed in D83552. The original commit message was: This function was documented to overwrite entries with D76111, which was adding a couple of similar functions. However, this function (unlike the functions added in that patch) was/is not actually overwriting variables -- any pre-existing variables would get ignored. This behavior does not seem to be intentional. In fact, before the refactor in D41359, this function could introduce duplicate entries, which could have very surprising effects both inside lldb and on other applications (some applications would take the first value, some the second one; in lldb, attempting to unset a variable could make the second variable become active, etc.). Overwriting seems to be the most reasonable behavior here, so change the code to match documentation. Differential Revision: https://reviews.llvm.org/D83306
-
Shinji Okumura authored
Summary: This is the next patch of [[ https://reviews.llvm.org/D76210 | D76210 ]]. This patch made a map in `InformationCache` for caching results. Reviewers: jdoerfert, sstefan1, uenoku, homerdin, baziotis Reviewed By: jdoerfert Subscribers: hiraditya, uenoku, kuter, bbn, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83246
-
Konstantin Schwarz authored
Summary: We do this already for output operands, but missed it for (non-tied) input operands. Reviewers: arsenm, Petar.Avramovic Reviewed By: arsenm Subscribers: jvesely, wdng, nhaehnle, rovka, hiraditya, llvm-commits, kerbowa Tags: #llvm Differential Revision: https://reviews.llvm.org/D83763
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Med Ismail Bennani authored
This patch fixes a test failure in TestHistoryRecall caused by the move of the `history` subcommand to the `session` command. This change was introduced by commit 85fbb08f . Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Simon Pilgrim authored
-
Med Ismail Bennani authored
This patch moves the `history` subcommand from the `command` to `session` command. I think it makes more sense to have it there because as the `command` usage suggests, it should be used to manage custom LLDB commands. However, `history` is essentially tied to a debugging session and holds all the commands (not specifically custom ones). This also makes it more discoverable by adding an alias for it (mimicking the shell builtin). Differential Revision: https://reviews.llvm.org/D84307 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Simon Pilgrim authored
-
Florian Hahn authored
On systems where size() doesn't return unsigned long, this leads to an overloading mismatch. Convert the constant to whatever type is used for Q.size() on the system.
-
Florian Hahn authored
Currently popFromQueueImpl iterates over all candidates to find the best one. While the candidate queue is small, this is not a problem. But it becomes a problem once the queue gets larger. For example, the snippet below takes 330s to compile with llc -O0, but completes in 3s with this patch. define void @test(i4000000* %ptr) { entry: store i4000000 0, i4000000* %ptr, align 4 ret void } This patch limits the number of candidates to check to 1000. This limit ensures that it never triggers for test-suite/SPEC2000/SPEC2006 on X86 and AArch64 with -O3, while still drastically limiting the compile-time in case of very large queues. It would be even better to use a binary heap to manage to queue (D83335), but some heuristics change the score of a node in the queue after another node has been scheduled. I plan to address this for backends that use the MachineScheduler in the future, but that requires a more careful evaluation. In the meantime, the limit should help users impacted by this issue. The patch includes a slightly smaller version of the motivating example as test case, to guard against the issue. Reviewers: efriedma, paquette, niravd Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D84328 -
Jakub Lichman authored
Right now there is a branching for 2 functions based on whether target map has symbols or not. In this commit these functions are merged into one. Furthermore, emitting does not require inverse and map applying as it computes the correct Range in a single step and thus reduces unnecessary overhead. Differential Revision: https://reviews.llvm.org/D83756
-
Jakub Lichman authored
linalg.conv does not support memrefs with rank smaller than 3 as stated here: https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/nn/convolution However it does not verify it and thus crashes with "LLVM ERROR: out of memory" error for 1D case and "nWin > 0 && "expected at least one window dimension"" assertion for 2D case. This commit adds check for that in the verification method. Differential Revision: https://reviews.llvm.org/D84317
-
Alex Richardson authored
The time= attribute can also be used for the testsuites tag. While this attribute appears to be ignored by Jenkins (https://github.com/jenkinsci/junit-plugin/blob/bab34bcc96154a494f8c371953efe06d45813f67/src/main/java/hudson/tasks/junit/SuiteResult.java#L202), it is still useful if you manually inspect the xml file. Reviewed By: yln Differential Revision: https://reviews.llvm.org/D84230
-
Alex Richardson authored
The lambda being used to check whether locales are supported was always passing the value of alts from the last loop iteration due to the way that python lambda captures work. Fix this by using a default argument capture. To help debug future similar issues I also added a prefix to the config test binary indicating which locale is being tested. I originally found this issue when implementing a new executor that simply collects test binaries in a given directory and was surprised to see many additional executables other than the expected test binaries. I therefore added the locale prefix to the test binaries and noticed that they were all checking for cs_CZ.ISO8859-2. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D84040
-
Georgii Rymar authored
It is used for printing section headers in the GNU style and the implementation can be simplified. Differential revision: https://reviews.llvm.org/D84330
-
Balázs Kéri authored
Summary: Use the built-in functionality BugType::SuppressOnSink instead of a manual solution in StreamChecker. Differential Revision: https://reviews.llvm.org/D83120
-
Sourabh Singh Tomar authored
Test case `test/CodeGen/WebAssembly/stackified-debug.ll` was failing due to malformed DwarfExpression. This failure has been seen in lot of bots, for instance in: http://lab.llvm.org:8011/builders/lld-x86_64-ubuntu-fast/builds/18794 : 'RUN: at line 1' /home/buildbot/as-builder-4/lld-x86_64-ubuntu-fast/build/bin/llc /home/buildbot/as-builder-4/lld-x86_64-ubuntu-fast/build/bin/FileCheck /home/buildbot/as-builder-4/lld-x86_64-ubuntu-fast/llvm-project/llvm/test/CodeGen/WebAssembly/stackified-debug.ll home/buildbot/as-builder-4/lld-x86_64-ubuntu-fast/llvm-project/llvm/test/CodeGen/WebAssembly/stackified-debug.ll:26:10: error: CHECK: expected string not found in input CHECK: .int16 4 # Loc expr size ^ <stdin>:34:2: note: scanning from here .int16 3 # Loc expr size Differential Revision: https://reviews.llvm.org/D83560
-
Jakub Lichman authored
Loop bound inference is right now very limited as it supports only permutation maps and thus it is impossible to implement convolution with linalg.generic as it requires more advanced loop bound inference. This commits solves it for the convolution case. Depends On D83158 Differential Revision: https://reviews.llvm.org/D83191
-
Sourabh Singh Tomar authored
This patch was reverted in 9d2da675 due to assertion failure seen in `test/DebugInfo/Sparc/subreg.ll`. Assertion failure was happening due to malformed/unhandeled DwarfExpression. Differential Revision: https://reviews.llvm.org/D83560
-
Roman Lebedev authored
Summary: If there was a single target to begin with, because a single target can only occupy a single chunk, we couldn't increase granularity. and would immediately give up. Likewise, if we had multiple targets, if by the end we'd end up with a single target, we wouldn't finish reducing it, it would always end up being "interesting" Reviewers: dblaikie, nickdesaulniers, diegotf Reviewed By: dblaikie Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D84318
-