- Mar 06, 2017
-
-
Jessica Paquette authored
llvm-svn: 297064
-
Evgeniy Stepanov authored
tools/lld/ELF/Symbols.cpp:215:13: error: unused variable 'S' [-Werror,-Wunused-variable] if (auto *S = dyn_cast<SharedSymbol>(this) llvm-svn: 297063
-
Krzysztof Parzyszek authored
llvm-svn: 297062
-
Rafael Espindola authored
llvm-svn: 297061
-
Jan Vesely authored
also exit early on kill instead of redefinition. Differential Revision: https://reviews.llvm.org/D30230 llvm-svn: 297060
-
Rafael Espindola authored
llvm-svn: 297059
-
Daniel Berlin authored
NewGVN: We were not really failing this testcase, because the instructions it was looking for are unused. GVN value numbers unused instructions, NewGVN does not. Fix the instructions to be used, so we eliminate the redundancies it's checking for, and un-XFAIL it llvm-svn: 297058
-
Reid Kleckner authored
This was requested in PR31958 and elsewhere. llvm-svn: 297057
-
Chris Bieneman authored
David Blaikie pointed out that the `setForceChildren` API is no longer needed and should be removed from the DWARF Generator APIs. Also the DWARFDebugInfoTest file had some copy pasted comments that are not relevant. I've removed them. llvm-svn: 297056
-
Adam Nemet authored
llvm-svn: 297055
-
Krzysztof Parzyszek authored
If a block has non-analyzable branches, the listed successors don't need to add up to one. For example, if a block has a conditional tail call, that tail call will not have a corresponding successor in the successor list, but will still be a possible branch. Differential Revision: https://reviews.llvm.org/D30556 llvm-svn: 297054
-
Pavel Labath authored
it was accessing the details of the Log class directly. Let it go through the channel class instead. This also discovered a bug when we were setting but not clearing the log options when enabling a channel. llvm-svn: 297053
-
Sanjay Patel authored
llvm-svn: 297052
-
Tim Northover authored
Before, we were producing G_INSERT instructions that were actually closer to a cast or even a COPY when both input and output sizes are the same. This doesn't really make sense and means that everything interpreting a G_INSERT also has to handle all these kinds of casts. So now we detect these degenerate cases and emit real casts instead. llvm-svn: 297051
-
John McCall authored
llvm-svn: 297050
-
Rafael Espindola authored
This puts us at parity with bfd, which could already gc this case. I noticed the sections not being gced when linking a modified freebsd kernel. A section that was not gced and not mentioned in the linker script would end up breaking the expected layout. Since fixing the gc is relatively simple and an improvement, that seems better than trying to hack the orphan placement code. There are 173 input section in the entire link whose names are valid C identifiers, so this is probably not too performance critical. llvm-svn: 297049
-
Sanjay Patel authored
llvm-svn: 297048
-
Daniel Berlin authored
llvm-svn: 297047
-
Daniel Berlin authored
llvm-svn: 297046
-
Reid Kleckner authored
Use the store size of the argument type, which will be a byte-sized quantity, rather than dividing the size in bits by 8. Fixes PR32136 and re-enables copy elision from i64 arguments. Reverts the workaround in from r296950. llvm-svn: 297045
-
Tim Northover authored
llvm-svn: 297044
-
Zachary Turner authored
llvm-svn: 297043
-
Tim Northover authored
Now that G_INSERT instructions can only insert one register, this code was overly general. In another direction it didn't handle registers that crossed split boundaries properly, which needed to be fixed. llvm-svn: 297042
-
Sanjay Patel authored
llvm-svn: 297040
-
Krzysztof Parzyszek authored
llvm-svn: 297039
-
Dehao Chen authored
Summary: We do not need that special handling because the debug info is more accurate now. Performance testing shows no regression on google internal benchmarks. Reviewers: davidxl, aprantl Reviewed By: aprantl Subscribers: llvm-commits, aprantl Differential Revision: https://reviews.llvm.org/D30658 llvm-svn: 297038
-
Vassil Vassilev authored
llvm-svn: 297037
-
Zachary Turner authored
1) Looks in Plugins and clang 2) Adds a mode to display the deps sorted by the number of times the deps occurs in a particular project llvm-svn: 297036
-
Zachary Turner authored
llvm-svn: 297035
-
Krasimir Georgiev authored
llvm-svn: 297034
-
Krzysztof Parzyszek authored
Merge the tail block into the loop in cases where the main loop body exits early, subject to profitability constraints. This will coalesce the loop body into fewer blocks. For example: loop: loop: // loop body // loop body if (...) jump exit --> // more body more: if (...) jump exit // more body jump loop jump loop llvm-svn: 297033
-
Krzysztof Parzyszek authored
The code in updateDeadFlags removed unnecessary <dead> flags, but there can be cases where such a flag is not set, and yet a register has become dead. For example, if a mux with identical inputs is replaced with a COPY, the predicate register may no longer be used after that. llvm-svn: 297032
-
Krzysztof Parzyszek authored
llvm-svn: 297031
-
Vassil Vassilev authored
GNUMode shouldn't be a benign language option because it influences the resulting AST when checking for the existence of GNUMode-specific macro "linux" (e.g. by having code inside #ifdef linux). This patch marks it as a normal language option so it gets correctly passed to the compiler invocation for the used modules. The added test case illustrated this because it compiles without modules, but fails when using modules. Patch by Raphael Isemann (D30496)! llvm-svn: 297030
-
Sanjay Patel authored
Div/rem-of-0 does not cause faults/undef (not the same as div/rem-by-0). llvm-svn: 297029
-
Krasimir Georgiev authored
Summary: Until now, NamespaceEndCommentFixer was adding missing comments for every run, which results in multiple end comments for: ``` namespace { int i; int j; } #if A int a = 1; #else int a = 2; #endif ``` result before: ``` namespace { int i; int j; }// namespace // namespace #if A int a = 1; #else int a = 2; #endif ``` result after: ``` namespace { int i; int j; }// namespace #if A int a = 1; #else int a = 2; #endif ``` Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D30659 llvm-svn: 297028
-
Alex Lorenz authored
external_source_symbol attribute docs llvm-svn: 297027
-
Sanjay Patel authored
Refactoring of duplicated code and more fixes to follow. This is motivated by the post-commit comments for r296699: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170306/435182.html Ie, we can crash if we're missing obvious simplifications like this that exist in the IR simplifier or if these occur later than expected. The x86 change for non-splat division shows a potential opportunity to improve vector codegen: we assumed that since only one lane had meaningful results, we should do the math in scalar. But that means moving back and forth from vector registers. llvm-svn: 297026
-
Sylvestre Ledru authored
Reviewers: klimek, djasper Reviewed By: djasper Subscribers: krasimir, kimgr, cfe-commits Differential Revision: https://reviews.llvm.org/D30532 llvm-svn: 297025
-
Alexey Bataev authored
NFC. llvm-svn: 297024
-