- Oct 18, 2017
-
-
Vlad Tsyrklevich authored
Summary: llvm-cfi-verify (D38379) introduced a potential build failure when compiling with `-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON`. Specific versions of cmake seem to treat the `add_subdirectory()` rule differently. It seems as if old versions of cmake BFS these rules, adding them to the fringe for expansion later. Newer versions of cmake seem to immediately execute CMakeFiles that are present in this subdirectory. If the subdirectory is expanded through the fringe, the globbing resultant from `llvm_add_implicit_projects()` from `cmake/modules/AddLLVM.cmake:1012` means that `tools/llvm-shlib/CMakeFile.txt` gets executed before `tools/llvm-cfi-verify/lib/CMakeFile.txt`. As the latter CMakeFile adds a new library, this expansion order means that the library files required the unit tests in `unittests/tools/llvm-cfi-verify/` are not present in the dynamic library. This causes unit tests to fail as the required functions can't be found. This change now ensures that the libraries created by `llvm-cfi-verify` are statically linked into the unit tests. As `tools/llvm-cfi-verify/lib` no longer adds anything to `llvm-shlib`, there should be no concern about the order-of-compilation. Reviewers: skatkov, pcc Reviewed By: skatkov, pcc Subscribers: llvm-commits, kcc, pcc, aheejin, vlad.tsyrklevich, mgorny Differential Revision: https://reviews.llvm.org/D39020 llvm-svn: 316059
-
Rafael Espindola authored
This reverts commit r316051. It fails on a bot. llvm-svn: 316058
-
Justin Bogner authored
This adds update_mir_test_checks, which updates the check lines in mir tests. This can only update tests that start and end with .mir currently (ie, -run-pass) but it should be sufficient for updating at least some of the GlobalISel tests. llvm-svn: 316057
-
Richard Smith authored
llvm-svn: 316056
-
Richard Smith authored
instantiation, follow lexical parents not semantic ones: we want to find the module where the pattern was written. llvm-svn: 316055
-
Jatin Bhateja authored
Summary: If a compare instruction is same or inverse of the compare in the branch of the loop latch, then return a constant evolution node. Currently scope of evaluation is limited to SCEV computation for PHI nodes. This shall facilitate computations of loop exit counts in cases where compare appears in the evolution chain of induction variables. Will fix PR 34538 Reviewers: sanjoy, hfinkel, junryoungju Reviewed By: junryoungju Subscribers: javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D38494 llvm-svn: 316054
-
Petr Hosek authored
Differential Revision: https://reviews.llvm.org/D39017 llvm-svn: 316053
-
Adrian Prantl authored
When more than one Module is imported into the same context, such as during an LTO build before linking the modules, ODR type uniquing may cause types to point to a different CU. This check does not make sense in this case. This fixes the error reported in PR34944. https://bugs.llvm.org/show_bug.cgi?id=34944 rdar://problem/34940685 This reapplies a cleaner implementation of r316049. llvm-svn: 316052
-
Rafael Espindola authored
The original patch was reported to break a libcxx bot. Unfortunately I could not reproduce the issue and the bot log is not available anymore. This patch changes the handling of shared symbols. I will watch the bot and see it breaks. Original message: -------------------------------------------------------------- Handle shared and lazy symbol in the gnu hash construction. We were not considering those symbols undefined and they could end up in the end of the dynamic symbol table. -------------------------------------------------------------- llvm-svn: 316051
-
Adrian Prantl authored
This reverts commit r316049. llvm-svn: 316050
-
Adrian Prantl authored
When more than one Module is imported into the same context, such as during an LTO build before linking the modules, ODR type uniquing may cause types to point to a different CU. This check does not make sense in this case. This fixes the error reported in PR34944. https://bugs.llvm.org/show_bug.cgi?id=34944 rdar://problem/34940685 llvm-svn: 316049
-
Marco Castelluccio authored
Summary: Fixes https://bugs.llvm.org/show_bug.cgi?id=34922. Apparently, the mode in **fdopen** gets simply ignored and Windows only cares about the mode of the original **open**. I have verified this both with the simple case from bug 34922 and with a full Firefox build. Reviewers: zturner Reviewed By: zturner Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38984 llvm-svn: 316048
-
Daniel Sanders authored
Otherwise they are ambiguous in MIR. llvm-svn: 316047
-
Saleem Abdulrasool authored
Darwin and OpenBSD are the only platforms which use `long int` for `__INTPTR_TYPE__`. The other platforms use `int` in 32-bit, and `long int` on 64-bit (except for VMS and Windows which are LLP64). Adjust the type definitions to match the platform definitions. We now generate the same definition as GCC on all the targets. llvm-svn: 316046
-
Michael Zolotukhin authored
Summary: std::unordered_multimap happens to be very slow when the number of elements grows large. On one of our internal applications we observed a 17x compile time improvement from changing it to DenseMap. Reviewers: mehdi_amini, serge-sans-paille, davide Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38916 llvm-svn: 316045
-
Peter Collingbourne authored
The new scheme should match the normalization of embedded paths in linkrepro tar files. Differential Revision: https://reviews.llvm.org/D39023 llvm-svn: 316044
-
Zachary Turner authored
The substitution for %debuginfo_tests had been inadvertently removed. This adds it back. llvm-svn: 316043
-
Saleem Abdulrasool authored
The `IntPtrType` for Windows ARM should be `int` as per MSVC. Adjust the type accordingly. llvm-svn: 316042
-
George Karpenkov authored
Remove an option to use a reference type (on by default!) since a non-reference type is always needed for creating expressions, functions with multiple boolean parameters are very hard to use, and in general it was just a booby trap for further crashes. Furthermore, generalize call_once test case to fix some of the crashes mentioned https://bugs.llvm.org/show_bug.cgi?id=34869 Also removes std::call_once crash. Differential Revision: https://reviews.llvm.org/D39015 llvm-svn: 316041
-
- Oct 17, 2017
-
-
Pavel Labath authored
llvm-svn: 316038
-
Wei Ding authored
Differential Revision: http://reviews.llvm.org/D39014 llvm-svn: 316037
-
Matthias Braun authored
Note that cyclone itself doesn't fuse, but newer apple chips do and we are using cyclone as the default when targeting apple OSes. The current code also does not capture all fusion patterns of apple CPUs yet; I am still looking for ways to refactor the code nicely to extend it. llvm-svn: 316036
-
Tim Northover authored
If the address of a local is used in a comparison, AArch64 can fold the address-calculation into the comparison via "adds". Unfortunately, a couple of places (both hit in this one test) are not ready to deal with that yet and just assume the first source operand is a register. llvm-svn: 316035
-
Eugene Zelenko authored
[Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). llvm-svn: 316034
-
Simon Pilgrim authored
llvm-svn: 316033
-
Nico Weber authored
This is basically like r288207, just the other way round. llvm-svn: 316032
-
Jessica Paquette authored
Move the prune logic in pruneOverlaps to a new function, prune. This lets us reuse the prune functionality. Makes the code a bit more readable. It'll also make it easier to emit remarks/debug statements for pruned functions. llvm-svn: 316031
-
Erich Keane authored
As reported here: https://bugs.llvm.org/show_bug.cgi?id=34973 "catch(...)" should catch EVERYTHING, even a rethrow. This patch changes the order in which things are checked to ensure that a '...' catch will get a rethrow. Differential Revision: https://reviews.llvm.org/D39013 llvm-svn: 316030
-
Vassil Vassilev authored
We are investigating what went wrong. llvm-svn: 316029
-
Aaron Ballman authored
This test case was missing -fsyntax-only, so I've added it. NFC to the actual test contents, just how the test is executed. llvm-svn: 316028
-
Jessica Paquette authored
BigSize had a copy/paste typo in it. This fixes that. llvm-svn: 316027
-
Aaron Ballman authored
Enable support for the [[nodiscard]] attribute from WG14 N2050 when enabling double square bracket attributes in C code. llvm-svn: 316026
-
Vassil Vassilev authored
This allows us to use standard cmake utilities to point to non-system zlib locations. Patch by Oksana Shadura and me (D39002). llvm-svn: 316025
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D38958 llvm-svn: 316024
-
Evgeniy Stepanov authored
Disable this test on Android/x86 only. llvm-svn: 316023
-
Vassil Vassilev authored
llvm-svn: 316022
-
Eric Fiselier authored
The logic to allocate a node within std::list was repeated in a bunch of places. This is unneeded. This patch refactors the shared logic into a single function to reduce duplication. This patch is part of a set to clean up node construction in general, but refactoring construction requires some more work to make it work cleanly in C++03 llvm-svn: 316021
-
Jessica Paquette authored
This commit moves the decrement logic for outlined functions into the class, and makes OccurrenceCount private. It can now be accessed via getOccurrenceCount(). This makes it more difficult to accidentally introduce bugs by incorrectly decrementing the occurrence count on OutlinedFunctions. llvm-svn: 316020
-
Jessica Paquette authored
Cleanup to Candidate that moves all end index calculations into Candidate.endIdx(). For the sake of consistency, StartIdx and Len are now private members, and can be accessed with length() and startIdx() respectively. llvm-svn: 316019
-
Vitaly Buka authored
This overflow does not affect algorithm, so just suppress it. llvm-svn: 316018
-