- Aug 01, 2018
-
-
Hans Wennborg authored
llvm-svn: 338537
-
Jonas Devlieghere authored
The functions `lookForDIEsToKeep` and `keepDIEAndDependencies` can have some very deep recursion. This tackles part of this problem by removing the recursion from `lookForDIEsToKeep` by turning it into a worklist. The difficulty in doing so is the computation of incompleteness, which depends on the incompleteness of its children. To compute this, we insert "continuation markers" into the worklist. This informs the work loop to (re)compute the incompleteness property of the DIE associated with it (i.e. the parent of the previously processed DIE). This patch should generate byte-identical output. Unfortunately it also has some impact of performance, regressing by about 4% when processing clang on my machine. Differential revision: https://reviews.llvm.org/D48899 llvm-svn: 338536
-
Filipe Cabecinhas authored
llvm-svn: 338535
-
Hans Wennborg authored
llvm-svn: 338534
-
Owen Reynolds authored
Removal of extra line llvm-svn: 338533
-
Simon Pilgrim authored
llvm-svn: 338532
-
Louis Dionne authored
The warning happens when LIBCXX_ENABLE_EXCEPTIONS cmake option is not set, and it fires every time __config is included, 33 in total. Patch by Jason Lovett Reviewed as https://reviews.llvm.org/D49997 llvm-svn: 338531
-
Simon Pilgrim authored
llvm-svn: 338530
-
Simon Pilgrim authored
llvm-svn: 338529
-
Hans Wennborg authored
llvm-svn: 338528
-
Jonas Devlieghere authored
Getting the DWARF types section is only implemented for ELF object files. We already disabled emitting debug types in clang (r337717), but now we also report an fatal error (rather than crashing) when trying to obtain this section in MC. Additionally we ignore the generate debug types flag for unsupported target triples. See PR38190 for more information. Differential revision: https://reviews.llvm.org/D50057 llvm-svn: 338527
-
Haojian Wu authored
llvm-svn: 338526
-
Sjoerd Meijer authored
This adds tests for Armv8.4-A, and also some v8.2 and v8.3 tests that were missing. Differential Revision: https://reviews.llvm.org/D50068 llvm-svn: 338525
-
Krasimir Georgiev authored
Summary: Adds 2 functions taking a text proto argument. Reviewers: djasper, klimek Reviewed By: djasper Subscribers: acoomans, cfe-commits Differential Revision: https://reviews.llvm.org/D50132 llvm-svn: 338524
-
Ryan Taylor authored
Summary: Add _L to _LZ image intrinsic table mapping to table gen. In ISelLowering check if image intrinsic has lod and if it's equal to zero, if so remove lod and change opcode to equivalent mapped _LZ. Change-Id: Ie24cd7e788e2195d846c7bd256151178cbb9ec71 Subscribers: arsenm, mehdi_amini, kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, steven_wu, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D49483 llvm-svn: 338523
-
Ulrich Weigand authored
llvm-svn: 338522
-
Ulrich Weigand authored
The DAG combiner logic to simplify AND masks in shift counts is invalid. While it is true that the SystemZ shift instructions ignore all but the low 6 bits of the shift count, it is still invalid to simplify the AND masks while the DAG still uses the standard shift operators (which are *not* defined to match the SystemZ instruction behavior). Instead, this patch performs equivalent operations during instruction selection. For completely removing the AND, this now happens via additional DAG match patterns implemented by a multi-alternative PatFrags. For simplifying a 32-bit AND to a 16-bit AND, the existing DAG patterns were already mostly OK, they just needed an output XForm to actually truncate the immediate value. Unfortunately, the latter change also exposed a bug in TableGen: it seems XForms are currently only handled correctly for direct operands of the outermost operation node. This patch also fixes that bug by simply recurring through the whole pattern. This should be NFC for all other targets. Differential Revision: https://reviews.llvm.org/D50096 llvm-svn: 338521
-
Nico Weber authored
llvm-svn: 338520
-
Krasimir Georgiev authored
Reviewers: mprobst Reviewed By: mprobst Subscribers: acoomans, cfe-commits Differential Revision: https://reviews.llvm.org/D50138 llvm-svn: 338519
-
Simon Marchi authored
Summary: That way, as soon as the "initialize" is received by the server, it can start parsing/indexing with a valid compilation database and not have to wait for a an initial 'didChangeConfiguration' that might or might not happen. Then, when the user changes configuration, a didChangeConfiguration can be sent. Signed-off-by:
Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Reviewers: malaperle Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D49833 llvm-svn: 338518
-
Haojian Wu authored
Summary: The implicit bool conversion could happen superisingly, e.g. when checking `if (Loc1 == Loc2)`, the compiler will convert SymbolLocation to bool before comparing (because we don't define operator `==` for SymbolLocation). Reviewers: sammccall Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D49657 llvm-svn: 338517
-
Simon Pilgrim authored
llvm-svn: 338516
-
Simon Pilgrim authored
llvm-svn: 338514
-
Andrea Di Biagio authored
llvm-svn: 338513
-
Tobias Grosser authored
The latest version of the isl C++ bindings does not export the 'set' method yet. Fall back to the C interface until this method can be exported. llvm-svn: 338512
-
Jonas Devlieghere authored
Should fix the MSVC bots by explicitly invoking llvm::make_reverse_iterator to remove ambiguity with std::make_reverse_iterator. llvm-svn: 338511
-
Simon Pilgrim authored
llvm-svn: 338510
-
Jonas Devlieghere authored
Follow-up for r338506 with some unrelated changes in formatting and consistency. llvm-svn: 338509
-
Simon Pilgrim authored
llvm-svn: 338508
-
Andrew V. Tischenko authored
Differential Revision: https://reviews.llvm.org/D49243 llvm-svn: 338507
-
Jonas Devlieghere authored
The DWARFDie is a lightweight utility wrapper that stores a pointer to a compile unit and a debug info entry. Currently, its iterator (used for walking over its children) stores a DWARFDie and returns a const reference when dereferencing it. When the iterator is modified (by incrementing or decrementing it), this reference becomes invalid. This was happening when calling reverse on it, because the std::reverse_iterator is keeping a temporary copy of the iterator (see https://en.cppreference.com/w/cpp/iterator/reverse_iterator for a good illustration). The relevant code in libcxx: reference operator*() const {_Iter __tmp = current; return *--__tmp;} When dereferencing the reverse iterator, we decrement and return a reference to a DWARFDie stored in the stack frame of this function, resulting in UB at runtime. This patch specifies the std::reverse_iterator for DWARFDie to do the right thing. Differential revision: https://reviews.llvm.org/D49679 llvm-svn: 338506
-
Tobias Grosser authored
These namespace qualifiers are not needed. Dropping them brings us closer to the official isl namespace qualifiers. While the delta of this change set is large, it only mechanically drops the 'isl::' prefixes. llvm-svn: 338505
-
Tobias Grosser authored
The main difference in this change is that isl_stat is now always checked by default. As we elminiated most used of isl_stat, thanks to Philip Pfaffe's implementation of foreach, only a small set of changes is needed. This change does not include the following recent changes to isl's C++ bindings: - stricter error handling for isl_bool - dropping of the isl::namespace qualifiers The former requires a larger patch in Polly and consequently should go through a patch-review. The latter will be applied in the next commit to keep this commit free from noise. We also still apply a couple of other changes on top of the official isl bindings. This delta is expected to shrink over time. llvm-svn: 338504
-
Yuka Takahashi authored
Summary: Clang emits error when implicit modules was relocated from the first build directory. However this was biting our usecase where we copy the contents of build directory to another directory in order to distribute. Differential Revision: https://reviews.llvm.org/D49852 llvm-svn: 338503
-
Simon Pilgrim authored
llvm-svn: 338502
-
Tobias Grosser authored
llvm-svn: 338501
-
Marco Castelluccio authored
Test for https://bugs.llvm.org/show_bug.cgi?id=38180. llvm-svn: 338500
-
Petar Jovanovic authored
Select G_GLOBAL_VALUE for position dependent code. Patch by Petar Avramovic. Differential Revision: https://reviews.llvm.org/D49803 llvm-svn: 338499
-
George Rimar authored
llvm-svn: 338498
-
George Rimar authored
llvm-svn: 338497
-