- Feb 01, 2020
-
-
Nicolas Vasilache authored
-
Nico Weber authored
-
Nico Weber authored
This produces a seemingly-working dynamic (x64-only) asan dylib on macOS and static libraries on Linux. I've had this sitting in a branch for a long time and wanted to get check-asan working before landing it, but smaller patches and fewer local branches is probably better.
-
Jonas Devlieghere authored
This allows us to differentiate between an empty string and a nullptr. (cherry picked from commit 53e206284fa715886020d6a5553bf791582850a3)
-
Matt Arsenault authored
This somehow got lost when I fixed the boolean handling.
-
Matt Arsenault authored
Control flow tests are particularly annoying, and it's probably better to be have comprehensive check lines for them.
-
Richard Smith authored
overrides the final overrider in a different base class.
-
Reid Kleckner authored
Copy it instead. Otherwise, key registers (such as RBP) may get zeroed out by the stack unwinder. Fixes CrashRecoveryTest.DumpStackCleanup with MSVC in release builds. Reviewed By: stella.stamenova Differential Revision: https://reviews.llvm.org/D73809
-
Reid Kleckner authored
std::tie isn't saving much here, just use == && ==. No numbers to support this, but std::tie is one of the most expensive instantiations.
-
Reid Kleckner authored
Saves 2427 unneeded includes of TypeSize.h, which instantiates std::tie<uint64_t, bool>, which instantiates std::tuple<uint64_t, bool>, which is slow. I'll remove the tie in a follow-up, since it's just for operator==.
-
Stephan T. Lavavej authored
Restore features that are removed in C++20.
-
Vedant Kumar authored
-
Vedant Kumar authored
Value::GetValueByteSize() reports the size of a Value as the size of its underlying CompilerType. However, a host buffer that backs a Value may be smaller than GetValueByteSize(). This situation arises when the host is only able to partially evaluate a Value, e.g. because the expression contains DW_OP_piece. The cleanest fix I've found to this problem is Greg's suggestion, which is to resize the Value if (after evaluating an expression) it's found to be too small. I've tried several alternatives which all (in one way or the other) tried to teach the Value/ValueObjectChild system not to read past the end of a host buffer, but this was flaky and impractical as it isn't easy to figure out the host buffer's size (Value::GetScalar() can point to somewhere /inside/ a host buffer, but you need to walk up the ValueObject hierarchy to try and find its size). This fixes an ASan error in lldb seen when debugging a clang binary. I've added a regression test in test/functionalities/optimized_code. The point of that test is not specifically to check that DW_OP_piece is handled a particular way, but rather to check that lldb doesn't crash on an input that it used to crash on. Testing: check-lldb, and running the added tests using a sanitized lldb -- Thanks to Jim for pointing out that an earlier version of this patch, which simply changed the definition of Value::GetValueByteSize(), would interact poorly with the ValueObject machinery. Thanks also to Pavel who suggested a neat way to test this change (which, incidentally, caught another ASan issue still present in the original version of this patch). rdar://58665925 Differential Revision: https://reviews.llvm.org/D73148
-
Vedant Kumar authored
-
David Blaikie authored
-
Petr Hosek authored
The configuration for -fPIC in the builtins library when built standalone is unconditional, stating that the flags would "normally be added... by the llvm cmake step" This is untrue, as the llvm cmake step checks LLVM_ENABLE_PIC, which allows a client to turn off -fPIC. I've added an option when compiler-rt builtins are configured standalone, such as when built as part of the LLVM runtimes system, to guard the application of -fPIC for users that want it. Patch By: JamesNagurne Differential Revision: https://reviews.llvm.org/D72950
-
David Blaikie authored
Significant missing hashing - as per the comment this was only meant to skip member functions (unspecified, but I think it's legible as member function declarations, not definitions) but was skipping all named subprograms (so only hashed child DIEs for member function definitions - because they didn't have a direct name, but only a name given indirectly in the DW_AT_specification-referenced DIE)
-
Matt Arsenault authored
This avoids a potentially expensive scan if we already know it doesn't matter.
-
Matt Arsenault authored
-
Alex Langford authored
-
Artur Pilipenko authored
Separated from https://reviews.llvm.org/D68006 review.
-
Diego Caballero authored
Summary: This patch introduces an alternative calling convention for MemRef function arguments in LLVM dialect. It converts MemRef function arguments to LLVM bare pointers to the MemRef element type instead of creating a MemRef descriptor. Bare pointers are then promoted to a MemRef descriptors at the beginning of the function. This calling convention is only enabled with a flag. Reviewers: ftynse, bondhugula, nicolasvasilache, rriddle, mehdi_amini Reviewed By: ftynse, rriddle, mehdi_amini Subscribers: Joonsoo, flaub, merge_guards_bot, jholewinski, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut, aartbik, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72802
-
Aaron Puchert authored
Summary: Just like templates, they are excepted from the ODR rule. Reviewed By: aaron.ballman, rsmith Differential Revision: https://reviews.llvm.org/D68923
-
Kostya Kortchinsky authored
Summary: This changes a couple of parameters in the default Android config to address some performance and memory footprint issues (well to be closer to the default Bionic allocator numbers). Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73750
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
Specializations of the Platform class print the kernel after calling the super method. By printing the kernel at the end in the super class, we guarantee the order is the same on different platforms.
-
Petr Hosek authored
This reverts commit deae8ee6 as it broke the build on several bots.
-
Luís Marques authored
Summary: Implements the jump pseudo-instruction, which is used in e.g. the Linux kernel. Reviewers: asb, lenary Reviewed By: lenary Tags: #llvm Differential Revision: https://reviews.llvm.org/D73178
-
Petr Hosek authored
This change has two components. The moves the generated file for a namespace to the directory named after the namespace in a file named 'index.<format>'. This greatly improves the browsing experience since the index page is shown by default for a directory. The second improves the markdown output by adding the links to the referenced pages for children objects and the link back to the source code. Patch By: Clayton Differential Revision: https://reviews.llvm.org/D72954
-
Jonas Devlieghere authored
Temporarily revert to fix the tests that only fail on the bots because of the newly enforced substr order.
-
Richard Smith authored
instead of the "enabled by default" color. It may be technically correct to list unimplemented diagnostics as "enabled by default" but it's quite misleading.
-
Jonas Devlieghere authored
This patch changes the behavior of the substrs argument to self.expect. Currently, the elements of substrs are unordered and as long as the string appears in the output, the assertion passes. We can be more precise by requiring that the substrings be ordered in the way they appear. My hope is that this will make it harder to accidentally pass a check because a string appears out of order. Differential revision: https://reviews.llvm.org/D73766
-
Jonas Devlieghere authored
Currently the substrs parameter takes a list of strings that need to be found but the ordering isn't checked. D73766 might change that so this changes a several tests so that the order of the strings in the substrs list is in the order in which they appear in the output.
-
River Riddle authored
The functions are used, but empty when NDEBUG is set.
-
Nicolas Vasilache authored
This revision does the following post-commit cleanups: 1. don't use -1 magic constants, 2. drop commented out old test that does not belong here, 3. reformat and add a proper clang-format off on a CHECK directive.
-
David Blaikie authored
This test didn't need any local variables or parameters, and didn't need to be checking the DWO ID or more detailed forms. It was using -v to print the macro sections, but now that macro sections are emitted when requested (-debug-macro) that's not needed either.
-
Richard Smith authored
types are needed to compute the return type of a defaulted operator<=>. This raises the question of what to do if return type deduction fails. The standard doesn't say, and implementations vary, so for now reject that case eagerly to keep our options open.
-
Nicolas Vasilache authored
Summary: This revision provides 2 versions of matmul with tensors to account for the differences in buffer vs value semantics: 1. `C(i, j) = sum_{r_k} A(i, r_k) * B(r_k, j)` 2. `D(i, j) = C(i, j) + sum_{r_k} A(i, r_k) * B(r_k, j)` Reviewers: ftynse Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73796 -
Michał Górny authored
-