summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86] Add support for folding (insert_subvector vec1, (extract_subvector ↵Craig Topper2017-02-044-8/+28
| | | | | | vec2, idx1), idx1) -> (blendi vec2, vec1). llvm-svn: 294112
* [X86] Simplify the code that turns INSERT_SUBVECTOR into BLENDI. NFCICraig Topper2017-02-041-19/+8
| | | | llvm-svn: 294111
* [DAGCombiner] Canonicalize the order of a chain of INSERT_SUBVECTORs.Craig Topper2017-02-042-22/+40
| | | | | | Based on similar code for INSERT_VECTOR_ELT. llvm-svn: 294110
* [DAGCombiner] Use DAG.getAnyExtOrTrunc to simplify some code. NFCCraig Topper2017-02-041-5/+1
| | | | llvm-svn: 294109
* [DAGCombiner] In visitINSERT_VECTOR_ELT, move check for BUILD_VECTOR being ↵Craig Topper2017-02-041-4/+4
| | | | | | legal below code that just canonicalizes INSERT_VECTOR_ELT without creating BUILD_VECTORS. llvm-svn: 294108
* Recommit [libcxx] Never use <cassert> within libc++Eric Fiselier2017-02-047-13/+9
| | | | | | | | | | It is my opinion that libc++ should never use `<cassert>`, including in the `dylib`. This patch remove all uses of `assert` from within libc++ and replaces most of them with `_LIBCPP_ASSERT` instead. Additionally this patch turn `LIBCXX_ENABLE_ASSERTIONS` off by default, because the standard library should not be aborting user programs unless explicitly asked to. llvm-svn: 294107
* Fix inconsistency in tuple's SFINAE. Patch from Andrey Khalyavin"Eric Fiselier2017-02-041-1/+1
| | | | llvm-svn: 294106
* Add test cases for (trunc adde) DAGCombiner patterns. NFCAmaury Sechet2017-02-041-0/+63
| | | | llvm-svn: 294105
* TripleTest.FileFormat: check non-default valueAlex Denisov2017-02-041-0/+3
| | | | | | | Triple::objectFormat defaults to an Elf format. Changing objectFormat to Elf doesn't make any difference. llvm-svn: 294104
* Add lld to the test-release.sh scriptDimitry Andric2017-02-041-1/+9
| | | | | | | | | | | | | | | Building lld is enabled by default, but it can be disabled using the -no-lld option. Reviewers: tstellarAMD, rengolin, hans Reviewed By: hans Subscribers: grosser, wdng, emaste, llvm-commits Differential Revision: https://reviews.llvm.org/D29539 llvm-svn: 294102
* [X86][SSE] Add target shuffle combine buildvec style testsSimon Pilgrim2017-02-042-0/+69
| | | | | | Extra tests for D29399 llvm-svn: 294101
* Mark basic_string::assign templates as inline to improve ABI stability.Eric Fiselier2017-02-041-2/+2
| | | | | | | | | | | | Visible definitions for basic_string::assign are sometimes emitted in the dylib depending on the version of LLVM used to compile libc++. This can cause the check-cxx-abilist target to fail. This patch attempts marks the basic_string::assign templates as inline to prevent this. That way the export list is consistent across LLVM versions. llvm-svn: 294100
* Undefine min/max in __treeEric Fiselier2017-02-042-0/+24
| | | | llvm-svn: 294099
* [IPCP] Don't propagate return value for naked functions.Davide Italiano2017-02-042-1/+8
| | | | | | This is pretty much the same change made in SCCP. llvm-svn: 294098
* TripleTest.BitWidthArchVariants: add missing arch types (thumb, arm, le, ...)Alex Denisov2017-02-041-0/+48
| | | | llvm-svn: 294096
* TripleTest.EndianArchVariants: add missing arch types (tce, le)Alex Denisov2017-02-041-0/+16
| | | | llvm-svn: 294095
* [Support] Add convertZoneToTimepoints. NFC.Michael Kruse2017-02-043-0/+116
| | | | | | | | | | | | This function has been extracted from the upcoming DeLICM patch (https://reviews.llvm.org/D24716). In contrast to computeReachingWrite and computeArrayUnused, convertZoneToTimepoints implies a format for zones (ranges between timepoints). Zones at the moment are unique to DeLICM, but convertZoneToTimepoints makes most sense in conjunction with the previous two functions. llvm-svn: 294094
* [Support] Add computeArrayUnused. NFC.Michael Kruse2017-02-043-0/+179
| | | | | | | This function has been extracted from the upcoming DeLICM patch (https://reviews.llvm.org/D24716). llvm-svn: 294093
* [Support] Add computeReachingWrite. NFC.Michael Kruse2017-02-043-0/+222
| | | | | | | This function has been extracted from the upcoming DeLICM patch (https://reviews.llvm.org/D24716). llvm-svn: 294092
* Formatting in DAGCombiner. NFCAmaury Sechet2017-02-041-0/+2
| | | | llvm-svn: 294091
* Fix variable name /NFCXinliang David Li2017-02-041-2/+2
| | | | llvm-svn: 294090
* [CodeGen] Add v32i1 to is32BitVector and v64i1 to is64BitVector.Craig Topper2017-02-041-7/+7
| | | | llvm-svn: 294089
* MachineCopyPropagation: Respect implicit operands of COPYMatthias Braun2017-02-042-17/+53
| | | | | | | | | The code missed to check implicit operands of COPY instructions for defs/uses. Differential Revision: https://reviews.llvm.org/D29522 llvm-svn: 294088
* MachineCopyPropagation: Do not consider undef operands as clobbersMatthias Braun2017-02-042-31/+10
| | | | | | | | | | | | | | This was originally introduced in r278321 to work around correctness problems in the ExecutionDepsFix pass; Probably also to keep the performance benefits of breaking the false dependencies which of course also affect undef operands. ExecutionDepsFix has been improved here recently (see for example r278321) so we should not need this exception any longer. Differential Revision: https://reviews.llvm.org/D29525 llvm-svn: 294087
* [CodeGen]: BlockPlacement: Skip extraneous logging.Kyle Butt2017-02-041-3/+3
| | | | | | | Move a check for blocks that are not candidates for tail duplication up before the logging. Reduces logging noise. No non-logging changes intended. llvm-svn: 294086
* [CodeGen]: BlockPlacement: Apply const liberally. NFCKyle Butt2017-02-041-94/+103
| | | | | | | | Anything that needs to be passed to AnalyzeBranch unfortunately can't be const, or more would be const. Added const_iterator to BlockChain to allow BlockChain to be const when we don't expect to change it. llvm-svn: 294085
* [CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; ↵Eugene Zelenko2017-02-041-26/+62
| | | | | | | | other minor fixes (NFC). This is preparation to reduce TargetInstrInfo.h dependencies. llvm-svn: 294084
* [TwoAddressInstruction] Fix typo in comment. NFCCraig Topper2017-02-041-1/+1
| | | | llvm-svn: 294083
* [NVPTX] Add tests that invariant vector loads get lowered to ld.global.nc.Justin Lebar2017-02-041-0/+24
| | | | llvm-svn: 294082
* Remove a bunch of unnecessary casts to a target specific version of TII and ↵Eric Christopher2017-02-041-26/+13
| | | | | | TRI as we're working from a target specific STI. llvm-svn: 294081
* Add test cases for bug 31719. NFCAmaury Sechet2017-02-041-14/+103
| | | | llvm-svn: 294080
* fix nullptr Mangler in LTOModuleBob Haarman2017-02-041-2/+7
| | | | | | | | | | Reviewers: kcc, pcc Subscribers: mehdi_amini Differential Revision: https://reviews.llvm.org/D29523 llvm-svn: 294079
* PR31846: Don't replace 'auto' type with a template parameter type in a ↵Richard Smith2017-02-044-34/+44
| | | | | | | | generic lambda until after we've checked whether 'auto' is valid in the current language mode. llvm-svn: 294078
* [GlobalISel] Add a few comments to the tablegen backend. NFC.Ahmed Bougacha2017-02-041-4/+14
| | | | | | Based on a review of D29478 by Kristof Beyls. llvm-svn: 294077
* [GlobalISel] Print the matched patterns using an action.Ahmed Bougacha2017-02-042-8/+18
| | | | | | | | This lets us split out PatternToMatch from the top-level RuleMatcher, where it doesn't really belong. That, in turn, lets us eventually generate RuleMatchers from non-SelectionDAG sources. llvm-svn: 294076
* [GlobalISel] Add a test for the tablegen selector emitter backend.Ahmed Bougacha2017-02-041-0/+56
| | | | llvm-svn: 294075
* [GlobalISel] Separate matchers with newlines in emitted selector. NFC.Ahmed Bougacha2017-02-041-4/+4
| | | | | | | We don't try very hard to format the emitted code, but newlines are an easy way to make it more readable. llvm-svn: 294074
* [Support] Simplify triple check in Host CPU test. NFC.Ahmed Bougacha2017-02-041-13/+4
| | | | | | Cleanup the check added in r293990 using the Triple helpers. llvm-svn: 294073
* [Sparc] Fix some Include What You Use warnings; other minor fixes (NFC).Eugene Zelenko2017-02-042-36/+57
| | | | | | This is preparation to reduce MCExpr.h dependencies. llvm-svn: 294072
* Install six.py conditionallyKamil Rytarowski2017-02-045-5/+20
| | | | | | | | | | | | | | | | | | | | | | | Summary: The current version of LLDB installs six.py into global python library directory. This approach produces conflicts downstream with distribution's py-six copy. Introduce new configure option LLDB_USE_SYSTEM_SIX (disabled by default). Once specified as TRUE, six.py won't be installed to Python's directory. Add new option in finishSwigWrapperClasses.py, namely --useSystemSix. Sponsored by <The NetBSD Foundation> Reviewers: mgorny, emaste, clayborg, joerg, labath Reviewed By: labath Subscribers: #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D29405 llvm-svn: 294071
* [RegisterCoalescer] Do not call getInstructionIndex with DBG_VALUEBrendon Cahoon2017-02-042-1/+77
| | | | | | | | | | | An assert occurs when calling SlotIndexes::getInstructionIndex with a DBG_VALUE instruction because the function expects an instruction with a slot index. However, there is no slot index for a DBG_VALUE instruction. Differential Revision: https://reviews.llvm.org/D29048 llvm-svn: 294070
* [Mips] Fix some Include What You Use warnings; other minor fixes (NFC).Eugene Zelenko2017-02-034-8/+20
| | | | | | This is preparation to reduce MCExpr.h dependencies. llvm-svn: 294069
* [SystemZ] Fix some Include What You Use warnings; other minor fixes (NFC).Eugene Zelenko2017-02-033-4/+31
| | | | | | This is preparation to reduce MCExpr.h dependencies. llvm-svn: 294068
* [AMDGPU] Fix some Include What You Use warnings; other minor fixes (NFC).Eugene Zelenko2017-02-031-5/+9
| | | | | | This is preparation to reduce MCExpr.h dependencies. llvm-svn: 294067
* [InstCombine] treat i1 as a special type in shouldChangeType()Sanjay Patel2017-02-032-7/+14
| | | | | | | | | | | | | | | | | | | | This patch is based on the llvm-dev discussion here: http://lists.llvm.org/pipermail/llvm-dev/2017-January/109631.html Folding to i1 should always be desirable because that's better for value tracking and we have special folds for i1 types. I checked for other users of shouldChangeType() where this might have an effect, but we already handle the i1 case differently than other types in all of those cases. Side note: the default datalayout includes i1, so it seems we only find this gap in shouldChangeType + phi folding for the case when there is (1) an explicit datalayout without i1, (2) casting to i1 from a legal type, and (3) a phi with exactly 2 incoming casted operands (as Björn mentioned). Differential Revision: https://reviews.llvm.org/D29336 llvm-svn: 294066
* Driver: Do not warn about unused -pthread when linking on darwinMatthias Braun2017-02-032-0/+8
| | | | | | | | While there is nothing to do at link time to get pthreads support on darwin, specifying the argument is fine and we should not warn about unused arguments. llvm-svn: 294065
* fix nullptr dereference in COFF/Symbol.hBob Haarman2017-02-031-1/+1
| | | | llvm-svn: 294064
* [APInt] Add integer API bor bitwise operations.Amaury Sechet2017-02-033-0/+116
| | | | | | | | | | | | Summary: As per title. I ran into that limitation of the API doing some other work, so I though that'd be a nice addition. Reviewers: jroelofs, compnerd, majnemer Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D29503 llvm-svn: 294063
* [Support] Remove unused function hasInvokeEdge. NFC.Michael Kruse2017-02-032-18/+0
| | | | llvm-svn: 294062
* [libFuzzer] properly hide the memcmp interceptor from msanKostya Serebryany2017-02-031-1/+1
| | | | llvm-svn: 294061
OpenPOWER on IntegriCloud