- Jul 21, 2020
-
-
cgyurgyik authored
Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D83956
-
Vince Bridgers authored
Summary: The purpose of this change is to do a small refactoring of code in ASTImporterTest.cpp by moving it to ASTImporterFixtures.h in order to support tests of downstream custom types and minimize the "living downstream burden" of frequent integrations from community to a downstream repo that implements custom AST import tests. Reviewers: martong, a.sidorin, shafik Reviewed By: martong Subscribers: balazske, dkrupp, bjope, rnkovacs, teemperor, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D83970
-
Fangrui Song authored
[llvm-readobj] Construct relocation-aware DWARFDataExtractor to decode .eh_frame addresses correctly In an object file, a "PC Begin" field in a FDE is usually relocated by a PC-relative relocation. Use a relocation-aware DWARFDataExtractor overload (with DWARFContext and a reference to its internal .eh_frame representation) to decode addresses correctly. In an object file, most sections have addresses of zero. So the displayed addresses are almost always offsets relative to the start of the associated text section. DWARFContext::create handles .eh_frame and .rela.eh_frame by itself, so if there are more than one .eh_frame (technically possible, but almost always erronerous in practice), this will only handle the first one. Supporting multiple .eh_frame is beyond the scope of this patch. Reviewed By: grimar, jhenderson Differential Revision: https://reviews.llvm.org/D84106
-
Saiyedul Islam authored
Following tests were disabled for clang-11 after upgrading to version 5.0 in D82963: 1. openmp/runtime/test/env/kmp_set_dispatch_buf.c 2. openmp/runtime/test/worksharing/for/kmp_set_dispatch_buf.c They are also failing for clang-12. Thus this temporary disabling until they are fixed. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D84241
-
Jon Roelofs authored
This is a necessary cleanup after having expanded a SCEV. See: https://reviews.llvm.org/D84071#inline-774728 Differential Revision: https://reviews.llvm.org/D84174
-
Jon Roelofs authored
Being "precise" here is getting us into trouble with one of the EXPENSIVE_CHECKS buildbots, see [1]. Rather than reporting IR additions that later get rolled back as "no change", instead we now conservatively report that there was. 1: http://lists.llvm.org/pipermail/llvm-dev/2020-July/143509.html Differential Revision: https://reviews.llvm.org/D84071
-
Chris Morin authored
-
Mitch Phillips authored
Note: Resubmission with frame pointers force-enabled to fix builds with -DCOMPILER_RT_BUILD_BUILTINS=False Summary: Splits the unwinder into a non-segv (for allocation/deallocation traces) and a segv unwinder. This ensures that implementations can select an accurate, slower unwinder in the segv handler (if they choose to use the GWP-ASan provided one). This is important as fast frame-pointer unwinders (like the sanitizer unwinder) don't like unwinding through signal handlers. Reviewers: morehouse, cryptoad Reviewed By: morehouse, cryptoad Subscribers: cryptoad, mgorny, eugenis, pcc, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D83994
-
Sander de Smalen authored
The default calling convention needs to save/restore the SVE callee saves according to the SVE PCS when the function takes or returns scalable types, even when the `aarch64_sve_vector_pcs` CC is not specified for the function. Reviewers: efriedma, paulwalker-arm, david-arm, rengolin Reviewed By: paulwalker-arm Differential Revision: https://reviews.llvm.org/D84041
-
MaheshRavishankar authored
SPIR-V lowering does not use `MemrefDescriptor`s when lowering memref types. This adds rationale for the choice made. Differential Revision: https://reviews.llvm.org/D84184
-
George Mitenkov authored
This patch introduces conversion pattern for `spv.selection` op. The conversion can only be applied to selection with all blocks being reachable. Moreover, selection with control attributes "Flatten" and "DontFlatten" is not supported. Since the `PatternRewriter` hook for block merging has not been implemented for `ConversionPatternRewriter`, merge and continue blocks are kept separately. Reviewed By: antiagainst, ftynse Differential Revision: https://reviews.llvm.org/D83860
-
Bruno Ricci authored
The changes to "AlignTrailingComments" and "CommentPragmas" did not result in what I expected (just leave the special comments alone). Instead now the following: void test() { int i; // expected-error // expected-warning } is formatted into: void test() { int i; // expected-error // expected-warning } which is even worse. -
AndreyChurbanov authored
-
Louis Dionne authored
Most of the code in compiler_rt is C code. However, clang_rt.profile contains the InstrProfilingRuntime.cpp file, which builds as C++. This means that including e.g. <stdint.h> will actually include libc++'s <stdint.h> and then #include_next the system's <stdint.h>. However, if the target we're building compiler-rt for isn't supported by libc++, this will lead to a failure since libc++'s <stdint.h> includes <__config>, which performs various checks. Since the goal seems to *not* be including any header from the C++ Standard Library in clang_rt.profile, using -nostdinc++ to ensure that doesn't happen unknowingly seems to make sense. rdar://65852694 Differential Revision: https://reviews.llvm.org/D84205
-
AndreyChurbanov authored
-
Petre-Ionut Tudor authored
Summary: Teach LLVM to recognize the above pattern, where the operands are either signed or unsigned types. Subscribers: kristof.beyls, hiraditya, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83777
-
Raphael Isemann authored
Summary: FormattersContainer currently has an unused `m_name` member. Usually LLDB allows giving objects names, but for the FormattersContainer it seems excessive. There are only 4 FormattersContainer variables in LLDB and they are not usually passed around, so one can always just go up a few frames when debugging to find out which FormattersContainer you're dealing with. Reviewers: mib, davide Reviewed By: mib Subscribers: JDevlieghere Differential Revision: https://reviews.llvm.org/D84154
-
Muhammad Omair Javaid authored
This patch fixes build on lldb-x64-windows-ninja. The error is caused by use of two leading underscores. According to MSVC documentation: In Microsoft C++, identifiers with two leading underscores are reserved for compiler implementations. https://docs.microsoft.com/en-us/cpp/cpp/keywords-cpp?view=vs-2019
-
Jay Foad authored
The new implementation makes it clear that there are exactly two conditional stores (after the initial no-op optimization). By contrast the old implementation had seven conditionals, some hidden inside other functions. This commit can change the order of operands in operand lists, hence the tweak to one test case. Differential Revision: https://reviews.llvm.org/D80116
-
David Green authored
We can sometimes get into the situation where the operand to a vctp intrinsic becomes constant, such as after a loop is fully unrolled. This adds the constant folding needed for them, allowing them to simplify away and hopefully simplifying remaining instructions. Differential Revision: https://reviews.llvm.org/D84110
-
Nico Weber authored
-
Serge Pavlov authored
Documentation on CreateProcessW states that maximal size of command line is 32767 characters including ternimation null character. In the function llvm::sys::commandLineFitsWithinSystemLimits this limit was set to 32768. As a result if command line was exactly 32768 characters long, a response file was not created and CreateProcessW was called with too long command line. Differential Revision: https://reviews.llvm.org/D83772
-
Djordje Todorovic authored
In addition, move the definition of the class into the Debugify.h, so we can use it from different levels. The motivation for this is D82547. Differential Revision: https://reviews.llvm.org/D83391
-
Haojian Wu authored
I hit the null-deference crash when opening ASTReaderDecl.cpp. The BaseType can be a nullptr,
-
Nithin Vadukkumchery Rajendrakumar authored
Summary: Implemented modeling for unique_ptr::swap() SmartPtrModeling Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, martong, ASDenysPetrov, cfe-commits Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun Reviewed By: NoQ, vsavchenko, xazax.hun Tags: #clang Differential Revision: https://reviews.llvm.org/D8387 -
Kirill Bobyrev authored
Related revision: https://reviews.llvm.org/D83826
-
Muhammad Omair Javaid authored
This reverts commit d9920e01.
-
Muhammad Omair Javaid authored
LinuxPTraceDefines_arm64sve.h defines essential macros for manipulating AArch64 SVE core dump registers. Add guard for aarch64/Linux hosts where newer versions of ptrace.h or sigcontext.h might already define SVE macros. Differential Revision: https://reviews.llvm.org/D83541
-
Kirill Bobyrev authored
FuzzyFindRequest's toProtobuf is called on the client side (hence LocalIndexRoot must be present) and fromProtobuf - on the server.
-
Hans Wennborg authored
It was causing tests to fail in -DCOMPILER_RT_BUILD_BUILTINS=OFF builds: GwpAsan-Unittest :: ./GwpAsan-x86_64-Test/BacktraceGuardedPoolAllocator.DoubleFree GwpAsan-Unittest :: ./GwpAsan-x86_64-Test/BacktraceGuardedPoolAllocator.UseAfterFree see comment on the code review. > Summary: > Splits the unwinder into a non-segv (for allocation/deallocation traces) and a > segv unwinder. This ensures that implementations can select an accurate, slower > unwinder in the segv handler (if they choose to use the GWP-ASan provided one). > This is important as fast frame-pointer unwinders (like the sanitizer unwinder) > don't like unwinding through signal handlers. > > Reviewers: morehouse, cryptoad > > Reviewed By: morehouse, cryptoad > > Subscribers: cryptoad, mgorny, eugenis, pcc, #sanitizers > > Tags: #sanitizers > > Differential Revision: https://reviews.llvm.org/D83994 This reverts commit 502f0cc0.
-
Florian Hahn authored
If we inferred a range for the function return value, we can add !range at all call-sites of the function, if the range does not include undef. Reviewers: efriedma, davide, nikic Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D83952
-
Kirill Bobyrev authored
Summary: Remote server should not send messages that are invalid and will cause problems on the client side. The client should not be affected by server's failures whenever possible. Also add more error messages and logs. Reviewers: sammccall Reviewed By: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D83826
-
Nathan James authored
Replace `std::is_same<X, std::random_access_iterator_tag>` with `std::is_base_of<std::random_access_iterator_tag, X>` in STLExtra algos. This doesn't have too much impact on LLVM internally as no structs derive from it. However external projects embedding LLVM may use `std::contiguous_iterator_tag` which should be considered by these algorithms. As well as any other potential tags people want to define derived from `std::random_access_iterator_tag` Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D84141
-
Muhammad Omair Javaid authored
This patch fixes build breakage on LLDB Arm/AArch64 Linux buildbots. http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/builds/6649 http://lab.llvm.org:8011/builders/lldb-arm-ubuntu/builds/1919 This build breakage was introduces by commit: 001c8e1f
-
Alex Richardson authored
This makes the test added in 6187eeb6 easier to understand since you no longer have to look at another script to see if it's doing the right thing.
-
Alex Richardson authored
Adding a positional argparse.ONE_OR_MORE arguments will correctly remove the "--" separator after --env and parse only the command. This also has the advantage that misspelled flags raise an argparse error rather than silently being added to the command to be executed. I discovered this while adding a new commandline option to ssh.py to allow passing additional arguments to the scp/ssh commands since this is required for our CHERI CI where we need to pass `-F <custom_config_file>` to each ssh/scp command to set various arguments such as the localhost port, usage of controlmaster, etc. to speed up connections to our emulated QEMU systems. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D84096
-
Alex Zinenko authored
The utility function getViewSizes in Linalg has been recently updated to support a different form of Linalg operations. In doing so, the code looking like `smallvector.push_back(smallvector[i])` was introduced. Unlike std vectors, this can lead to undefined behavior if the vector must grow upon insertion: `smallvector[i]` returns a reference to the element, `push_back` takes a const reference to the element, and then grows the vector storage before accessing the referenced value. After the resize, the reference may become dangling, which leads to undefined behavior detected by ASAN as use-after-free. Work around the issue by forcing the value to be copied by putting it into a temporary variable.
-
George Mitenkov authored
This patch introduces conversion for `spv.Branch` and `spv.BranchConditional` ops. Branch weigths for `spv.BranchConditional` are not supported at the moment, and conversion in this case fails. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D83784
-
Haojian Wu authored
When a semantic checking fails on a syntactic InitListExpr, we will get an ill-formed semantic InitListExpr (e.g. some inits are nullptr), using this semantic InitListExpr in clang (without setting the err-bits) is crashy. Differential Revision: https://reviews.llvm.org/D84140
-
Haojian Wu authored
And don't invalidate the VarDecl if the type is known. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D81395
-