summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [InstSimplify] Use cast instead of dyn_cast after isa<> check. NFCICraig Topper2017-04-101-2/+2
| | | | llvm-svn: 299870
* [llvm-pdbdump] Display padding bytes on record layoutZachary Turner2017-04-1010-64/+145
| | | | | | | | | | | | | | | When dumping classes, show where padding occurs, and at the end of the class print statistics about how many bytes total of padding exist in a class. Since PDB doesn't specifically contain information about padding, we have to mimic this by sort of reversing a small portion of the record layout algorithm (e.g. looking at offsets and sizes and trying to determine whether something is part of the same field or a new field). Differential Revision: https://reviews.llvm.org/D31800 llvm-svn: 299869
* [OPENMP] Fix for PR32333: Crash in call of outlined Function.Alexey Bataev2017-04-102-6/+34
| | | | | | | | | If the type of the captured variable is a pointer(s) to variably modified type, this type was not processed correctly. Need to drill into the type, find the innermost variably modified array type and convert it to canonical parameter type. llvm-svn: 299868
* [Asan] Eliminate SHADOW_TO_MEM() macroIvan A. Kosarev2017-04-102-2/+4
| | | | | | Differential Revision: https://reviews.llvm.org/D31592 llvm-svn: 299867
* [MemCpyOpt] Only replace memcpy with bitcast if address spaces matchMatt Arsenault2017-04-102-0/+18
| | | | | | Patch by James Price llvm-svn: 299866
* MemorySSA: Make lifetime starts defs for mustaliased pointersDaniel Berlin2017-04-102-3/+5
| | | | | | | | | | | | | | | | | | Summary: While we don't want them aliasing with other pointers, there seems to be no point in not having them clobber must-aliased'd pointers. If some day, we split the aliasing and ordering chains, we'd make this not aliasing but an ordering barrier (IE it doesn't affect it's memory, but we can't hoist it above it). Reviewers: hfinkel, george.burgess.iv Subscribers: Prazek, llvm-commits Differential Revision: https://reviews.llvm.org/D31865 llvm-svn: 299865
* [ARM/AArch64] Ensure valid vector element types for interleaved accessesMatthew Simpson2017-04-108-39/+111
| | | | | | | | | | | This patch refactors and strengthens the type checks performed for interleaved accesses. The primary functional change is to ensure that the interleaved accesses have valid element types. The added test cases previously failed because the element type is f128. Differential Revision: https://reviews.llvm.org/D31817 llvm-svn: 299864
* [InstCombine] Use commutable matchers and m_OneUse in visitSub to shorten ↵Craig Topper2017-04-102-15/+133
| | | | | | | | code. Add missing test cases. In one case I removed commute handling for a multiply with a constant since we'll eventually get the constant on the right hand side. llvm-svn: 299863
* [msan] Make test to fall-back to IPv6 if IPv4 is not available.Vitaly Buka2017-04-101-9/+22
| | | | | | | | | | Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31896 llvm-svn: 299862
* AMDGPU: Fix crash when disassembling VOP3 macMatt Arsenault2017-04-1011-19/+42
| | | | | | | | | | | | The unused dummy src2_modifiers is missing, so it crashes when trying to print it. I tried to fully remove src2_modifiers, but there are some irritations in the places where it is converted to mad since it starts to require modifying use lists while iterating over them. llvm-svn: 299861
* [msan] Replace AF_INET with AF_UNIX to avoid IPv4 vs IPv6 issues.Vitaly Buka2017-04-102-2/+2
| | | | | | | | | | | | Summary: This reverts commit 79cf16bf224d6ac9fb9e0356c5947ebc4fd6ff92. Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31895 llvm-svn: 299860
* [msan] Wrap sockaddr_in and socket for future IPv6 support.Vitaly Buka2017-04-101-51/+77
| | | | | | | | | | Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31893 llvm-svn: 299859
* [msan] Reorder unittests for future parametrization.Vitaly Buka2017-04-101-68/+68
| | | | | | | | | | Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31892 llvm-svn: 299858
* [Support] Add support for finding unset bits in a BitVector.Zachary Turner2017-04-103-0/+108
| | | | | | | | | | | | BitVector had methods for searching for the first and next set bits, but it did not have analagous methods for finding the first and next unset bits. This is useful when your ones and zeros are grouped together and you want to iterate over ranges of ones and zeros. Differential Revision: https://reviews.llvm.org/D31802 llvm-svn: 299857
* Fix line endings.Zachary Turner2017-04-101-592/+592
| | | | llvm-svn: 299856
* Remove eol-style:native from BitVector.hZachary Turner2017-04-101-592/+592
| | | | llvm-svn: 299855
* [clangd] Relax absolute path checking assertionReid Kleckner2017-04-101-1/+3
| | | | | | | | | | clangd can process absolute paths from systems that don't use the native path style, so this assertion needs to check both Windows and Posix path styles. Fixes PR32596 llvm-svn: 299854
* [InstCombine] Use m_c_Add to shorten some code. Add testcases for this fold ↵Craig Topper2017-04-102-2/+19
| | | | | | since they were missing. NFC llvm-svn: 299853
* [X86][MMX] Add fast-isel support for MMX non-temporal writesSimon Pilgrim2017-04-102-1/+5
| | | | | | Differential Revision: https://reviews.llvm.org/D31754 llvm-svn: 299852
* [InstCombine] fix matching of or-of-icmps constants (PR32524)Sanjay Patel2017-04-102-16/+19
| | | | | | | | | | | Also, make the same change in and-of-icmps and remove a hack for detecting that case. Finally, add some FIXME comments because the code duplication here is awful. This should fix the remaining IR problem noted in: https://bugs.llvm.org/show_bug.cgi?id=32524 llvm-svn: 299851
* Revert "XFAIL clangd tests on Windows"Reid Kleckner2017-04-104-8/+0
| | | | | | This reverts r299849, apparently these tests only fail on my machine. llvm-svn: 299850
* XFAIL clangd tests on WindowsReid Kleckner2017-04-104-0/+8
| | | | | | They all assert. Filed as PR32596. llvm-svn: 299849
* Improves pretty printing of variable types in llvm-pdbdumpAdrian McCarthy2017-04-1015-64/+154
| | | | | | | | | | | | | | | | | * Adds support for pointers to arrays, which was missing * Adds some tests * Improves consistency of const and volatile qualifiers * Eliminates non-composable special case code for arrays and function by using a more general recursive approach * Has a hack for getting the calling convention into the right spot for pointer-to-functions Given the rapid changes happenning in llvm-pdbdump, this may be difficult to merge. Differential Revision: https://reviews.llvm.org/D31832 llvm-svn: 299848
* [InstCombine] Support folding of add instructions with vector constants into ↵Craig Topper2017-04-102-13/+5
| | | | | | | | | | select operations We currently only fold scalar add of constants into selects. This improves this to support vectors too. Differential Revision: https://reviews.llvm.org/D31683 llvm-svn: 299847
* [InstCombine] add test for PR32524; NFCSanjay Patel2017-04-101-1/+15
| | | | llvm-svn: 299846
* [lldb] Fix ninja URLShoaib Meenai2017-04-101-1/+1
| | | | | | The old URL is a 404 now. Pointed out by Smirftsch1 on IRC. llvm-svn: 299845
* [clangd] Fix nondeterminism in clangd testKrasimir Georgiev2017-04-101-1/+1
| | | | llvm-svn: 299844
* [clangd] Remove ASTUnits for closed documents and cache CompilationDatabase ↵Krasimir Georgiev2017-04-107-111/+302
| | | | | | | | | | per directory. Contributed by ilya-biryukov! Differential Revision: https://reviews.llvm.org/D31746 llvm-svn: 299843
* [ARM] GlobalISel: Support G_FPOW for float and doubleDiana Picus2017-04-103-5/+117
| | | | | | Legalize to a libcall. llvm-svn: 299841
* [InstCombine] Use commutable and/or/xor matchers to simplify some codeCraig Topper2017-04-101-9/+4
| | | | | | | | | | | | | | | | | Summary: This is my first time using the commutable matchers so wanted to make sure I was doing it right. Are there any other matcher tricks to further shrink this? Can we commute the whole match so we don't have to LHS and RHS separately? Reviewers: davide, spatel Reviewed By: davide Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31680 llvm-svn: 299840
* [SelectionDAG] TargetLowering::SimplifyDemandedBits how to properly ↵Craig Topper2017-04-101-1/+5
| | | | | | | | | | | | | | | | | | | | | calculate KnownZero bits for ISD::SETCC and ISD::AssertZExt Summary: For SETCC we aren't calculating the KnownZero bits at all. I've copied the code from computeKnownZero over for this. For AssertZExt we were only setting KnownZero for bits that were demanded. But the upper bits are zero whether they were demanded or not. I'm interested in fixing this because my belief is the first part of the ISD::AND handling code in SimplifyDemandedBits largely exists because of these two bugs. In that code we go to computeKnownBits for the LHS and optimize a RHS constant. Because computeKnownBits handles SETCC and AssertZExt correctly we get better information sometimes than when we call SimplifyDemandedBits on the LHS later. With these two issues fixed in SimplifyDemandedBits I was able to remove that computeKnownBits call and still pass all X86 tests. I'll submit that change in a separate patch. Reviewers: RKSimon, spatel Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31715 llvm-svn: 299839
* [InstCombine] Make sure we preserve fast math flags when folding fp ↵Craig Topper2017-04-102-2/+29
| | | | | | | | | | | | | | | | instructions into phi nodes Summary: I noticed in the select folding code that we copied fast math flags, but did not do the same for the similar handling in phi nodes. This patch fixes that to do the same thing as select Reviewers: spatel, davide, majnemer, hfinkel Reviewed By: davide Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31690 llvm-svn: 299838
* [InstCombine] use m_c_And and m_c_Xor to handle commuted versions of a ↵Craig Topper2017-04-102-8/+4
| | | | | | transform. llvm-svn: 299837
* [InstCombine] Add test cases demonstrating missing handling for the commuted ↵Craig Topper2017-04-101-0/+28
| | | | | | version of a transform. NFC. llvm-svn: 299836
* [InstCombine] Remove unnecessary dyn_cast to BinaryOperator around some ↵Craig Topper2017-04-101-31/+29
| | | | | | | | matcher checks in visitXor. The matchers themselves should be enough. llvm-svn: 299835
* [InstCombine] Make the (A|B)^B -> A & ~B transform code consistent with the ↵Craig Topper2017-04-101-5/+5
| | | | | | | | very similar (A&B)^B -> ~A & B code. This should be NFC except for the addition of hasOneUse check. I think this code is still overly complicated and should use matchers, but first I wanted to make it consistent. llvm-svn: 299834
* [InstCombine] Use m_OneUse to shorten some code. NFCCraig Topper2017-04-101-6/+3
| | | | llvm-svn: 299833
* Remove unused method.Zachary Turner2017-04-101-6/+0
| | | | | | | This is causing build breaks, but it's unused anyway, so delete it. llvm-svn: 299832
* General usability improvements to generic PDB library.Zachary Turner2017-04-1062-157/+229
| | | | | | | | | | | | | | | | | | | | 1. Added some asserts to make sure concrete symbol types don't get constructed with RawSymbols that have an incompatible SymTag enum value. 2. Added new forwarding macros that auto-define an Id/Sym method pair whenever there is a method that returns a SymIndexId. Previously we would just provide one method that returned only the SymIndexId and it was up to the caller to use the Session object to get a pointer to the symbol. Now we automatically get both the method that returns the Id, as well as a method that returns the pointer directly with just one macro. 3. Added some methods for dumping straight to stdout that can be used from inside the debugger for diagnostics during a debug session. 4. Added a clone() method and a cast<T>() method to PDBSymbol that can shorten some usage patterns. llvm-svn: 299831
* [SCCP] Resolve indirect branch target when possible.Xin Tong2017-04-102-8/+147
| | | | | | | | | | | | | | Summary: Resolve indirect branch target when possible. This potentially eliminates more basicblocks and result in better evaluation for phi and other things. Reviewers: davide, efriedma, sanjoy Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30322 llvm-svn: 299830
* [InstCombine] remove dead cases from icmp pair switches; NFCISanjay Patel2017-04-091-32/+0
| | | | | | | | | | | | "PredicatesFoldable" returns false for signed/unsigned mismatched pairs, so these cases should never exist. We'll default to 'unreachable' on those predicate combos instead. Most of what's left in these switches belongs in InstSimplify (and may already be there), so there's probably more that can be done to reduce this code. llvm-svn: 299829
* [InstCombine] remove duplicate test; NFCSanjay Patel2017-04-091-12/+0
| | | | | | I moved this test to 'not.ll' in r299824 but accidentally added a copy here. llvm-svn: 299828
* [Mem2Reg] Remove AliasSetTracker updating logic from the pass.Davide Italiano2017-04-094-43/+8
| | | | | | No caller has been passing it for a long time. llvm-svn: 299827
* [SimplifyCFG] auto-generate better checks; NFCSanjay Patel2017-04-091-33/+130
| | | | llvm-svn: 299825
* [InstCombine] auto-generate better checks; NFCSanjay Patel2017-04-094-137/+238
| | | | | | Also, move a test next to its sibling to eliminate a file with just one test. llvm-svn: 299824
* [MemorySSA] Fix use of pointsToConstantMemory in ↵Hal Finkel2017-04-092-1/+25
| | | | | | | | | | isUseTriviallyOptimizableToLiveOnEntry In isUseTriviallyOptimizableToLiveOnEntry, pointsToConstantMemory needs to be called on the load's pointer operand, not on the result of the load (which might not even be a pointer). llvm-svn: 299823
* [InstCombine] Extend some OR combines to support vectors.Craig Topper2017-04-092-27/+25
| | | | | | | | This adds support for these combines for vectors (X^C)|Y -> (X|Y)^C iff Y&C == 0 Y|(X^C) -> (X|Y)^C iff Y&C == 0 llvm-svn: 299822
* [InstCombine] Extend a canonicalization check to apply to vector constants too.Craig Topper2017-04-092-5/+6
| | | | llvm-svn: 299821
* [InstCombine] Add test cases to show missing support for vectors in an OR ↵Craig Topper2017-04-091-0/+42
| | | | | | combine. Also add the commuted versions. NFC llvm-svn: 299820
* [InstCombine] Use the SubOne helper function to shorten some code. NFCCraig Topper2017-04-091-7/+4
| | | | llvm-svn: 299819
OpenPOWER on IntegriCloud