- Dec 17, 2018
-
-
Craig Topper authored
llvm-svn: 349331
-
Craig Topper authored
The CC is operand 2 not operand 3. llvm-svn: 349330
-
Kewen Lin authored
Appended options -ppc-vsr-nums-as-vr and -ppc-asm-full-reg-names to get the more descriptive output. Also removed useless function attributes. llvm-svn: 349329
-
Artem Dergachev authored
This checker warns you when you re-use an object after moving it. Mostly developed by Peter Szecsi! Differential Revision: https://reviews.llvm.org/D38675 llvm-svn: 349328
-
Artem Dergachev authored
Re-using a moved-from local variable is most likely a bug because there's rarely a good motivation for not introducing a separate variable instead. We plan to keep emitting such warnings by default. Introduce a flag that allows disabling warnings on local variables that are not of a known move-unsafe type. If it doesn't work out as we expected, we'll just flip the flag. We still warn on move-unsafe objects and unsafe operations on known move-safe objects. Differential Revision: https://reviews.llvm.org/D55730 llvm-svn: 349327
-
Artem Dergachev authored
This re-applies commit r349226 that was reverted in r349233 due to failures on clang-x64-windows-msvc. Specify enum type as unsigned for use in bit field. Otherwise overflows may cause UB. Differential Revision: https://reviews.llvm.org/D55388 llvm-svn: 349326
-
Kewen Lin authored
With some patch adopted for Power9 vabsd* insns, some CHECKs can't get the expected results. But it's false alarm, we should update the case more robust. llvm-svn: 349325
-
Nico Weber authored
Needed for check-lld. Differential Revision: https://reviews.llvm.org/D55750 llvm-svn: 349324
-
Davide Italiano authored
Fixes PR39874. llvm-svn: 349323
-
Nikita Popov authored
llvm-svn: 349322
-
Nikita Popov authored
Also drop unnecessary entry blocks and avoid use of anonymous variables. llvm-svn: 349321
-
Artem Dergachev authored
StaticAnalyzer uses the CFG-based RelaxedLiveVariables analysis in order to, in particular, figure out values of which expressions are still needed. When the expression becomes "dead", it is garbage-collected during the dead binding scan. Expressions that constitute branches/bodies of control flow statements, eg. `E1' in `if (C1) E1;' but not `E2' in `if (C2) { E2; }', were kept alive for too long. This caused false positives in MoveChecker because it relies on cleaning up loop-local variables when they go out of scope, but some of those live-for-too-long expressions were keeping a reference to those variables. Fix liveness analysis to correctly mark these expressions as dead. Add a debug checker, debug.DumpLiveStmts, in order to test expressions liveness. Differential Revision: https://reviews.llvm.org/D55566 llvm-svn: 349320
-
- Dec 16, 2018
-
-
Simon Pilgrim authored
We had 3 different approaches - consistently use getTargetConstantBitsFromNode and allow undef elts. llvm-svn: 349319
-
Nikita Popov authored
Tests checking for the addition of !range metadata should be preserved if cttz/ctlz + icmp is optimized. llvm-svn: 349318
-
Simon Pilgrim authored
llvm-svn: 349317
-
Jason Molenda authored
gdb-remote serial protocol documentation, call out the incompatability of lldb's vFile:open: packet as it stands today. Need to think about whether to change lldb's enum values (breaking any existing lldb-server's out there) or create a different packet and abandon vFile:open: at least for a while. llvm-svn: 349316
-
Craig Topper authored
I'd like to try to move a lot of the flag matching out of EmitTest and push it to isel or isel preprocessing. This is a step towards that. The test-shrink-bug.ll changie is an improvement because we are no longer interfering with test shrink handling in isel. The pr34137.ll change is a regression, but the IR came from -O0 and was not reduced by InstCombine. So it contains a lot of redundancies like duplicate loads that made it combine poorly. llvm-svn: 349315
-
Craig Topper authored
llvm-svn: 349314
-
Jason Molenda authored
llvm-svn: 349313
-
Nikita Popov authored
This reverts commit r349311. Didn't check this carefully enough... llvm-svn: 349312
-
Nikita Popov authored
llvm-svn: 349311
-
Nikita Popov authored
Test cases other than icmp with the bitwidth. llvm-svn: 349310
-
Nikita Popov authored
These test comparisons with saturating add/sub in non-canonical form. llvm-svn: 349309
-
Aaron Puchert authored
The main reason is to reduce the number of constructor arguments though, especially since many of them had the same type. llvm-svn: 349308
-
Sanjay Patel authored
llvm-svn: 349307
-
Sanjay Patel authored
llvm-svn: 349306
-
Michal Gorny authored
Replace the mknod() call with socket() + bind() for creating unix sockets. The mknod() method is not portable and does not work on NetBSD while binding the socket should work on all systems supporting unix sockets. Differential Revision: https://reviews.llvm.org/D55576 llvm-svn: 349305
-
Sanjay Patel authored
This is part of fixing PR39859: https://bugs.llvm.org/show_bug.cgi?id=39859 We have a crippled vector ISA, so we have to invert a typical fold and create min/max here. As discussed in the bug report, we can probably do better by using saturating subtract when it's available, but we should have this improvement for the min/max patterns regardless. Alive proofs: https://rise4fun.com/Alive/zsf https://rise4fun.com/Alive/Qrl Differential Revision: https://reviews.llvm.org/D55515 llvm-svn: 349304
-
Sanjay Patel authored
The transform performs a bitwise logic op in a wider type followed by truncate when both inputs are truncated from the same source type: logic_op (truncate x), (truncate y) --> truncate (logic_op x, y) There are a bunch of other checks that should prevent doing this when it might be harmful. We already do this transform for scalars in this spot. The vector limitation was shared with a check for the case when the operands are extended. I'm not sure if that limit is needed either, but that would be a separate patch. Differential Revision: https://reviews.llvm.org/D55448 llvm-svn: 349303
-
Sylvestre Ledru authored
llvm-svn: 349302
-
Sylvestre Ledru authored
Unknown target name: "bootstrap". llvm-svn: 349301
-
Aaron Puchert authored
Summary: The pattern is problematic with C++ exceptions, and not as widespread as scoped locks, but it's still used by some, for example Chromium. We are a bit stricter here at join points, patterns that are allowed for scoped locks aren't allowed here. That could still be changed in the future, but I'd argue we should only relax this if people ask for it. Fixes PR36162. Reviewers: aaron.ballman, delesley, pwnall Reviewed By: delesley, pwnall Subscribers: pwnall, cfe-commits Differential Revision: https://reviews.llvm.org/D52578 llvm-svn: 349300
-
Sylvestre Ledru authored
llvm-svn: 349299
-
Simon Pilgrim authored
Also exposes an issue in DAGCombiner::visitFunnelShift where we were assuming the shift amount had the result type (after legalization it'll have the targets shift amount type). llvm-svn: 349298
-
Simon Pilgrim authored
llvm-svn: 349297
-
Kamil Rytarowski authored
llvm-svn: 349296
-
Kamil Rytarowski authored
https://bugs.llvm.org/show_bug.cgi?id=26651 llvm-svn: 349295
-
Michal Gorny authored
Explicitly disable the -Wformat-zero-length diagnostic when running ctime tests, since one of the test cases passes zero-length format string to strftime(). When strftime() is appropriately decorated with __attribute__(format, ...), this caused the test to fail because of this warning (e.g. on NetBSD). Differential Revision: https://reviews.llvm.org/D55661 llvm-svn: 349294
-
Michal Gorny authored
NetBSD defines character classes up to 0x2000. Use 0x8000 as a safe __regex_word that hopefully will not collide with other values in the foreseeable future. Differential Revision: https://reviews.llvm.org/D55657 llvm-svn: 349293
-
Nico Weber authored
llvm-svn: 349291
-