- May 13, 2019
-
-
Nico Weber authored
llvm-svn: 360549
-
Leonard Chan authored
llvm-svn: 360548
-
Lang Hames authored
Also updates RuntimeDyldChecker and llvm-rtdyld to support zero-fill tests by returning a content address of zero (but no error) for zero-fill atoms, and treating loads from zero as returning zero. llvm-svn: 360547
-
Lang Hames authored
Patch by Praveen Velliengiri. Thanks Praveen! https://reviews.llvm.org/D61793 llvm-svn: 360546
-
- May 12, 2019
-
-
Stephane Moore authored
Summary: The documentation seems to have been manually edited in https://reviews.llvm.org/rGa282bde69e375985edd4c371b79864f617380ad5. This commit regenerates the documentation and commits the resulting diff. Reviewers: benhamilton, mwyman Reviewed By: mwyman Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61769 llvm-svn: 360545
-
Leonard Chan authored
llvm-svn: 360544
-
Simon Pilgrim authored
Removes unnecessary vzeroupper noted in D61806 llvm-svn: 360543
-
Sanjay Patel authored
llvm-svn: 360542
-
Sanjay Patel authored
I noticed that we were failing to narrow an x86 ymm math op in a case similar to the 'madd' test diff. That is because a bitcast is sitting between the math and the extract subvector and thwarting our pattern matching for narrowing: t56: v8i32 = add t59, t58 t68: v4i64 = bitcast t56 t73: v2i64 = extract_subvector t68, Constant:i64<2> t96: v4i32 = bitcast t73 There are a few wins and neutral diffs in the other tests. Differential Revision: https://reviews.llvm.org/D61806 llvm-svn: 360541
-
Tamas Zolnai authored
Summary: This check searches for copy assignment operators which might not handle self-assignment properly. There are three patterns of handling a self assignment situation: self check, copy-and-swap or the less common copy-and-move. The new check warns if none of these patterns is found in a user defined implementation. See also: OOP54-CPP. Gracefully handle self-copy assignment https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP54-CPP.+Gracefully+handle+self-copy+assignment Reviewers: JonasToth, alexfh, hokein, aaron.ballman Subscribers: riccibruno, Eugene.Zelenko, mgorny, xazax.hun, cfe-commits Tags: #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D60507 llvm-svn: 360540
-
Lubos Lunak authored
Without this, I get e.g. 'PerformPendingInstantiations' -> 'std::fill', now I get 'std::fill<unsigned long *, int>'. Differential Revision: https://reviews.llvm.org/D61822 llvm-svn: 360539
-
Richard Smith authored
their lifetime in constant expressions. This is undefined behavior per [class.cdtor]p2. We continue to allow this for objects whose values are not visible within the constant evaluation, because there's no way we can tell whether the access is defined or not, existing code relies on the ability to make such calls, and every other compiler allows such calls. This reinstates r360499, reverted in r360531. llvm-svn: 360538
-
Richard Smith authored
evaluation. It's not enough to just track the LValueBase that we're evaluating, we need to also track the path to the objects whose constructors are running. This reinstates r360464 (reverted in r360531) with a workaround for an MSVC bug that previously caused the Windows bots to fail. llvm-svn: 360537
-
Fangrui Song authored
Allow using Debian's opt-8, opt-9 with update_test_checks.py Patch by Shawn Landden! Differential Revision: https://reviews.llvm.org/D61148 llvm-svn: 360536
-
- May 11, 2019
-
-
Simon Pilgrim authored
See if we can simplify the demanded vector elts from the extraction before trying to simplify the demanded bits. This helps us with target shuffles and hops in particular. llvm-svn: 360535
-
Simon Pilgrim authored
Pulled out of D58017 while I continue to investigate the BSWAP regression on PPC llvm-svn: 360534
-
Simon Pilgrim authored
llvm-svn: 360533
-
Don Hinton authored
Summary: If passed, the long option flag makes the CommandLine parser mimic the behavior or GNU getopt_long. Short options are a single character prefixed by a single dash, and long options are multiple characters prefixed by a double dash. This patch was motivated by the discussion in the following thread: http://lists.llvm.org/pipermail/llvm-dev/2019-April/131786.html Reviewed By: MaskRay Tags: #llvm Differential Revision: https://reviews.llvm.org/D61294 llvm-svn: 360532
-
Simon Pilgrim authored
Reject attempts to call non-static member functions on objects outside their lifetime in constant expressions. This is undefined behavior per [class.cdtor]p2. We continue to allow this for objects whose values are not visible within the constant evaluation, because there's no way we can tell whether the access is defined or not, existing code relies on the ability to make such calls, and every other compiler allows such calls. ........ Fix handling of objects under construction during constant expression evaluation. It's not enough to just track the LValueBase that we're evaluating, we need to also track the path to the objects whose constructors are running. ........ Fixes windows buildbots llvm-svn: 360531
-
Simon Pilgrim authored
As discussed on D61068, many x86 targets can perform 2 immediate shifts quicker than a shift + mask llvm-svn: 360530
-
Simon Pilgrim authored
llvm-svn: 360529
-
Simon Pilgrim authored
The original costs stopped at SSE42, I've added conservative estimates for everything down to SSE1/SSE2 and moved some of the SSE42 costs to SSE41 (really only the addition of PCMPGT makes any difference). I've also added missing vXi8 costs (we use PHMINPOSUW for i8/i16 for scarily quick results) and 256-bit vector costs for AVX1. llvm-svn: 360528
-
Puyan Lotfi authored
llvm-svn: 360527
-
Simon Pilgrim authored
Still missing PHADDW/PHSUBW tests because PEXTRW doesn't call SimplifyDemandedVectorElts llvm-svn: 360526
-
Simon Pilgrim authored
Matches what we do in other functions and fixes scan-build warning about uninitialized NewOpcode variable. llvm-svn: 360525
-
Craig Topper authored
[X86] Add CMOV_FR32X/CMOV_FR64X pseudo instructions. Use them in fast isel to fix a machine verifier error after adding test cases. Fast isel picks the FR32X/FR64X register classes when lowering pseudo select, but it didn't have the right opcode to go with it. llvm-svn: 360524
-
Craig Topper authored
llvm-svn: 360523
-
Craig Topper authored
llvm-svn: 360522
-
Simon Pilgrim authored
llvm-svn: 360521
-
Simon Pilgrim authored
Only certain extension opcodes are supported - fixes scan build warning. llvm-svn: 360520
-
Simon Pilgrim authored
Try to ensure we LHS and RHS test coverage llvm-svn: 360519
-
Simon Pilgrim authored
llvm-svn: 360518
-
Simon Pilgrim authored
Shows missed opportunities to simplify args. Will add integer HADD/HSUB tests in a future commit. llvm-svn: 360517
-
Simon Pilgrim authored
llvm-svn: 360516
-
Simon Pilgrim authored
Duplicate getOffset() call. llvm-svn: 360515
-
Simon Pilgrim authored
llvm-svn: 360514
-
Craig Topper authored
No need to select the register class based on type and features. It should already be setup by X86ISelLowering. llvm-svn: 360513
-
Craig Topper authored
We were checking for SSE4.1 for FP types, but not integer 128-bit types. Fixes PR41837. llvm-svn: 360512
-
Craig Topper authored
[X86] Add a test case for idempotent atomic operations with speculative load hardening. Fix an additional issue found by the test. This test covers the fix from r360475 as well. llvm-svn: 360511
-
Richard Trieu authored
For some targets, there is a circular dependency between InstPrinter and MCTargetDesc. Merging them together will fix this. For the other targets, the merging is to maintain consistency so all targets will have the same structure. llvm-svn: 360510
-