- Aug 14, 2018
-
-
Evgeniy Stepanov authored
Summary: Provide __hwasan_shadow_init that can be used to initialize shadow w/o touching libc. It can be used to bootstrap an unusual case of fully-static executable with hwasan-instrumented libc, which needs to run hwasan code before it is ready to serve user calls like madvise(). Reviewers: vitalybuka, kcc Subscribers: kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D50581 llvm-svn: 339606
-
Anna Thomas authored
NFC: Add a test to LV showing that reduction is not possible when reduction var is reset in the loop Added a test case to reduction showing where it's illegal to identify vectorize a loop. Resetting the reduction var during loop iterations disallows us from widening the dependency cycle to VF, thereby making it illegal to vectorize the loop. llvm-svn: 339605
-
Sanjay Patel authored
This is a very partial fix for the reported problem. I suspect we do not get this fold in most motivating cases because most of the time, the libcall would have been replaced by an intrinsic, and that optimization is handled elsewhere...but maybe it should be handled here? llvm-svn: 339604
-
Alexey Bataev authored
The number of loops associated with the OpenMP loop constructs should not be considered as the number loops to collapse. llvm-svn: 339603
-
Roman Lebedev authored
See D50465 for the actual opt itself. Differential Revision: https://reviews.llvm.org/D50464 llvm-svn: 339602
-
Kristof Umann authored
[analyzer][UninitializedObjectChecker] Refactoring p5.: Handle pedantic mode in the checker class only Differential Revision: https://reviews.llvm.org/D50508 llvm-svn: 339601
-
Scott Linder authored
Fix SelectionDAG::computeKnownBits asserting when handling EXTRACT_SUBVECTOR when zero extending the demanded elements mask if it is already as long as the source vector. Differential Revision: https://reviews.llvm.org/D49574 llvm-svn: 339600
-
Kristof Umann authored
[analyzer][UninitializedObjectChecker] Refactoring p4.: Wrap FieldRegions and reduce weight on FieldChainInfo Before this patch, FieldChainInfo used a spaghetti: it took care of way too many cases, even though it was always meant as a lightweight wrapper around ImmutableList<const FieldRegion *>. This problem is solved by introducing a lightweight polymorphic wrapper around const FieldRegion *, FieldNode. It is an interface that abstracts away special cases like pointers/references, objects that need to be casted to another type for a proper note messages. Changes to FieldChainInfo: * Now wraps ImmutableList<const FieldNode &>. * Any pointer/reference related fields and methods were removed * Got a new add method. This replaces it's former constructors as a way to create a new FieldChainInfo objects with a new element. Changes to FindUninitializedField: * In order not to deal with dynamic memory management, when an uninitialized field is found, the note message for it is constructed and is stored instead of a FieldChainInfo object. (see doc around addFieldToUninits). Some of the test files are changed too, from now on uninitialized pointees of references always print "uninitialized pointee" instead of "uninitialized field" (which should've really been like this from the beginning). I also updated every comment according to these changes. Differential Revision: https://reviews.llvm.org/D50506 llvm-svn: 339599 -
Sanjay Patel authored
llvm-svn: 339598
-
Erich Keane authored
Multiversioned member functions inside of a template type were not properly being emitted. The solution to this is to simply ensure that their bodies are correctly evaluated/assigned during template instantiation. llvm-svn: 339597
-
Kristof Umann authored
This is a standalone part of the effort to reduce FieldChainInfos inteerface. Differential Revision: https://reviews.llvm.org/D50505 llvm-svn: 339596
-
Kristof Umann authored
In this patch, the following classes and functions have been moved to a header file: FieldChainInfo FindUninitializedFields isPrimitiveType This also meant that they moved from anonymous namespace to clang::ento. Code related to pointer chasing now relies in its own file. There's absolutely no functional change in this patch -- its literally just copy pasting. Differential Revision: https://reviews.llvm.org/D50504 llvm-svn: 339595 -
Matt Davis authored
Summary: This patch introduces error handling to propagate the errors from llvm-mca library classes (or what will become library classes) up to the driver. This patch also introduces an enum to make clearer the intention of the return value for Stage::execute. This supports PR38101. Reviewers: andreadb, courbet, RKSimon Reviewed By: andreadb Subscribers: llvm-commits, tschuett, gbedwell Differential Revision: https://reviews.llvm.org/D50561 llvm-svn: 339594
-
Nick Desaulniers authored
Summary: Fixes r339581 ("[SEMA] add more -Wfloat-conversion to compound assigment analysis"). This test case was caught in postsubmit testing. Reviewers: aaron.ballman, gkistanova Reviewed By: aaron.ballman Subscribers: cfe-commits, srhines Differential Revision: https://reviews.llvm.org/D50647 llvm-svn: 339593 -
Julie Hockett authored
llvm-svn: 339592
-
Kristof Umann authored
This patch is the first part of a series of patches to refactor UninitializedObjectChecker. The goal of this effort is to Separate pointer chasing from the rest of the checker, Increase readability and reliability, Don't impact performance (too bad). In this one, ImmutableList's factory is moved to FindUninitializedFields. Differential Revision: https://reviews.llvm.org/D50503 llvm-svn: 339591 -
Eugene Zelenko authored
llvm-svn: 339590
-
Andrea Di Biagio authored
llvm-svn: 339589
-
Sanjay Patel authored
llvm-svn: 339588
-
Erik Pilkington authored
llvm-svn: 339587
-
Kristof Umann authored
Also fixed a typo that wasn't discovered as `create` was never instantiated. Differential Revision: https://reviews.llvm.org/D50646 llvm-svn: 339586
-
Jonathan Peyton authored
This change fixes an incorrect behavior of the omp_control_tool function when called from Fortran applications. A tool callback function for this event is supposed to get NULL for the third argument according to the specification, but the current implementation just passes a garbage value. A possible fix is to use the OPTIONAL attribute for the third argument. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D50565 llvm-svn: 339585
-
Simon Pilgrim authored
Fixes OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5223 llvm-svn: 339584
-
Stefan Granitz authored
Summary: Removing FastDemangle will greatly reduce maintenance efforts. This patch replaces the last point of use in LLDB. Semantics should be kept intact. Once this is agreed upon, we can: * Remove the FastDemangle sources * Add more features e.g. substitutions in template parameters, considering all variations, etc. Depends on LLVM patch https://reviews.llvm.org/D50586 Reviewers: erik.pilkington, friss, jingham, JDevlieghere Subscribers: kristof.beyls, chrib, lldb-commits Differential Revision: https://reviews.llvm.org/D50587 llvm-svn: 339583
-
Bruno Ricci authored
The current static_assert only checks that ObjCObjectTypeBitfields fits into an unsigned. However it turns out that FunctionTypeBitfields do not currently fits into an unsigned. Therefore the anonymous union containing the bit-fields always use 8 bytes instead of 4. This patch removes the lone misguided static_assert and systematically checks the size of each bit-field. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D50630 llvm-svn: 339582
-
Nick Desaulniers authored
Summary: Fixes Bug: https://bugs.llvm.org/show_bug.cgi?id=27061 Reviewers: aaron.ballman, acoomans Reviewed By: aaron.ballman, acoomans Subscribers: acoomans, cfe-commits, srhines, pirama Differential Revision: https://reviews.llvm.org/D50467 llvm-svn: 339581
-
Erik Pilkington authored
This function calls a callback whenever a <type> is parsed. This is necessary to implement FindAlternateFunctionManglings in LLDB, which uses a similar hack in FastDemangle. Once that function has been updated to use this version, FastDemangle can finally be removed. Differential revision: https://reviews.llvm.org/D50586 llvm-svn: 339580
-
Sanjay Patel authored
llvm-svn: 339579
-
Evandro Menezes authored
Also consider vector constants when simplifying `pow()`. Differential revision: https://reviews.llvm.org/D50035 llvm-svn: 339578
-
- Aug 13, 2018
-
-
Andrea Di Biagio authored
This is a follow-up of r339552. As pointed out by Craig in D50566, we don't need a formatted_raw_ostream to indent strings. We can use instead raw_ostream::indent(). Internally, class PredicateExpander already keeps track of the current indentation level. Also, the grammar for predicates is well parenthesized, and therefore we don't need to use a formatted_raw_ostream to continuously track the column number. Instead we can safely replace all the uses of formatted_raw_ostream::PadToColumn() with uses of raw_ostream::indent(). By replacing formatted_raw_ostream with a simpler raw_ostream, we also avoid the implicit check on the newline character on every print to stream. No functional change intended. llvm-svn: 339577
-
Krzysztof Parzyszek authored
Patch by Kim Gräsman. Differential Revision: https://reviews.llvm.org/D50623 llvm-svn: 339576
-
Kostya Kortchinsky authored
Summary: When compiling with `WERROR=ON` & a recent clang, having the `st(?)` registers in the clobber list produces a fatal error (except `st(7)` for some reason): ``` .../sanitizer_common/sanitizer_atomic_clang_x86.h:98:9: error: inline asm clobber list contains reserved registers: ST0, ST1, ST2, ST3, ST4, ST5, ST6 [-Werror,-Winline-asm] "movq %1, %%mm0;" // Use mmx reg for 64-bit atomic moves ^ <inline asm>:1:1: note: instantiated into assembly here movq 8(%esp), %mm0;movq %mm0, (%esi);emms; ^ .../sanitizer_common/sanitizer_atomic_clang_x86.h:98:9: note: Reserved registers on the clobber list may not be preserved across the asm statement, and clobbering them may lead to undefined behaviour. "movq %1, %%mm0;" // Use mmx reg for 64-bit atomic moves ^ <inline asm>:1:1: note: instantiated into assembly here movq 8(%esp), %mm0;movq %mm0, (%esi);emms; ^ ``` As far as I can tell, they were in there due to the use of the `emms` instruction, but removing the clobber doesn't appear to have a functional impact. I am unsure if there is a better way to address this. Reviewers: eugenis, vitalybuka Reviewed By: vitalybuka Subscribers: kubamracek, delcypher, jfb, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D50562 llvm-svn: 339575 -
Alexey Bataev authored
This reverts commit r339568 because of the problems with the buildbots. llvm-svn: 339574
-
Krasimir Georgiev authored
llvm-svn: 339573
-
Kadir Cetinkaya authored
Reviewers: ilya-biryukov, hokein Reviewed By: hokein Subscribers: hokein, ioeric, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D50635 llvm-svn: 339572
-
Martin Bohme authored
Summary: This allows member functions to be marked as reinitializing the object. After a moved-from object has been reinitialized, the check will no longer consider it to be in an indeterminate state. The patch that adds the attribute itself is at https://reviews.llvm.org/D49911 Reviewers: ilya-biryukov, aaron.ballman, alexfh, hokein, rsmith Reviewed By: aaron.ballman Subscribers: dblaikie, xazax.hun, cfe-commits Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D49910 llvm-svn: 339571
-
Daniel Cederman authored
It breaks when using EXPENSIVE_CHECKS with the error message "Bad machine code: Using an undefined physical register". llvm-svn: 339570
-
Martin Bohme authored
Summary: This is for use by clang-tidy's bugprone-use-after-move check -- see corresponding clang-tidy patch at https://reviews.llvm.org/D49910. Reviewers: aaron.ballman, rsmith Reviewed By: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D49911 llvm-svn: 339569
-
Alexey Bataev authored
The number of loops associated with the OpenMP loop constructs should not be considered as the number loops to collapse. llvm-svn: 339568
-
Sid Manning authored
Differential Revision: https://reviews.llvm.org/D50592 llvm-svn: 339567
-