summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ARM] Add a div regression test for Cortex-M23Sanne Wouda2017-02-201-0/+67
| | | | | | | | | | | | | | | | Summary: This file was missed in the commit for Cortex-M23 and Cortex-M33 support. See https://reviews.llvm.org/D29073?id=85814 . Reviewers: rengolin, javed.absar, samparker Reviewed By: samparker Subscribers: llvm-commits, aemerson Differential Revision: https://reviews.llvm.org/D30162 llvm-svn: 295655
* [ASTImporter] Support default argument initialization of ParmVarDeclsAleksei Sidorin2017-02-203-1/+26
| | | | | | | | Patch by Peter Szecsi! Differential Revision: https://reviews.llvm.org/D29612 llvm-svn: 295654
* Strip trailing whitespace.Simon Pilgrim2017-02-201-1/+1
| | | | llvm-svn: 295653
* [SelectionDAG] Add scalarization support for ISD::*_EXTEND_VECTOR_INREG opcodes.Simon Pilgrim2017-02-203-0/+154
| | | | | | Thanks to Mikael Holmén for the initial test case llvm-svn: 295652
* Fix a couple of corner cases in NameMatchesPavel Labath2017-02-2013-80/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: I originally set out to move the NameMatches closer to the relevant function and add some unit tests. However, in the process I've found a couple of bugs in the implementation: - the early exits where not always correct: - (test==pattern) does not mean the match will always suceed because of regular expressions - pattern.empty() does not mean the match will fail because the "" is a valid prefix of any string So I cleaned up those and added some tests. The only tricky part here was that regcomp() implementation on darwin did not recognise the empty string as a regular expression and returned an REG_EMPTY error instead. The simples fix here seemed to be to replace the empty expression with an equivalent non-empty one. Reviewers: clayborg, zturner Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D30094 llvm-svn: 295651
* [ELF] Allow local symbols to be added after global symbolsPeter Smith2017-02-202-9/+16
| | | | | | | | | | | | This change moves the SymbolBodies with isLocal() == true before the global symbols then calculating NumLocals rather than assuming all locals are added before globals and the first NumLocals have isLocal() == true. This permits Thunks to be moved after the pass that adds global symbols from synthetics to the symbol table. Differential revision: https://reviews.llvm.org/D30085 llvm-svn: 295650
* AArch64AsmParser: tablegen the isBranchTarget helper functionsSjoerd Meijer2017-02-202-37/+18
| | | | | | | | | Use tablegen to autogenerate isBranchtarget helper functions. This is a cleanup that removes almost identical functions that differ only in a few constants. Differential Revision: https://reviews.llvm.org/D30160 llvm-svn: 295649
* [mips] Add test for mul macro variantsSimon Dardis2017-02-201-0/+154
| | | | llvm-svn: 295648
* [ARM] Add regression tests for Cortex-M23 and Cortex-M33Sanne Wouda2017-02-202-0/+31
| | | | | | | | | | | | Reviewers: rengolin, t.p.northover Reviewed By: t.p.northover Subscribers: aemerson, llvm-commits Differential Revision: https://reviews.llvm.org/D30100 llvm-svn: 295647
* llvm/examples/Kaleidoscope/BuildingAJIT: More fixup corresponding to r295636.NAKAMURA Takumi2017-02-205-10/+10
| | | | | | I missed updating them since I just ran check-llvm (with examples) in r295645. llvm-svn: 295646
* llvm/examples/Kaleidoscope/include/KaleidoscopeJIT.h: Fixup corresponding to ↵NAKAMURA Takumi2017-02-201-2/+2
| | | | | | r295636. llvm-svn: 295645
* [analyzer] Do not duplicate call graph nodes for functions that have ↵Aleksei Sidorin2017-02-202-2/+12
| | | | | | | | | | definition and forward declaration Patch by Ivan Sidorenko! Differential Revision: https://reviews.llvm.org/D29643 llvm-svn: 295644
* [X86][AVX] Extend hasVEX_WPrefix bit to accept WIG value (W Ignore) + update ↵Ayman Musa2017-02-204-315/+321
| | | | | | | | | | | all AVX instructions with the new value. Add WIG value to all of AVX instructions which ignore the W-bit in their encoding, instead of giving them the default value of 0. This patch is needed for a follow up work on EVEX2VEX pass (replacing EVEX encoded instructions with their corresponding VEX version when possible). Differential Revision: https://reviews.llvm.org/D29876 llvm-svn: 295643
* [SLP] nullptr'ize initial value in `findBuildAggregate()`, NFC.Alexey Bataev2017-02-201-1/+1
| | | | | | Initial value of V is sett nullptr, as it is not used. llvm-svn: 295642
* [SLP] Rework `findBuildAggregate()` from ercursive form to iterative, NFC.Alexey Bataev2017-02-201-9/+12
| | | | | | | | | | Reviewers: mkuper Subscribers: llvm-commits, mzolotukhin Differential Revision: https://reviews.llvm.org/D30103 llvm-svn: 295641
* [AVX-512] Add more patterns to fold masked VPTERNLOG with load when the ↵Craig Topper2017-02-202-8/+54
| | | | | | passthru isn't operand 0. llvm-svn: 295640
* [AVX-512] Add tests for missed opportunities to fold masked VPTERNLOG with ↵Craig Topper2017-02-201-0/+59
| | | | | | load when the passthru op isn't operand 0. llvm-svn: 295639
* [AVX-512] Fix mistake in the immediate swizzle for some of the VPTERNLOG ↵Craig Topper2017-02-202-3/+3
| | | | | | patterns. llvm-svn: 295638
* [AVX-512] Use a better immediate in the VPTERNLOG commuting tests so its ↵Craig Topper2017-02-201-160/+160
| | | | | | easier to spot bad swizzling. llvm-svn: 295637
* [Orc] Rename ObjectLinkingLayer -> RTDyldObjectLinkingLayer.Lang Hames2017-02-207-30/+30
| | | | | | | | | | The current ObjectLinkingLayer (now RTDyldObjectLinkingLayer) links objects in-process using MCJIT's RuntimeDyld class. In the near future I hope to add new object linking layers (e.g. a remote linking layer that links objects in the JIT target process, rather than the client), so I'm renaming this class to be more descriptive. llvm-svn: 295636
* Enable support for __float128 in Clang on OpenBSD/X86Brad Smith2017-02-202-3/+9
| | | | | | | /usr/local/include/c++/4.9.4/type_traits:279:39: error: __float128 is not supported on this target llvm-svn: 295635
* [AVX-512] Add more VPTERNLOG patterns to enable folding of broadcast loads ↵Craig Topper2017-02-202-38/+57
| | | | | | that aren't in operand 2. llvm-svn: 295634
* Remove a dead function.Rui Ueyama2017-02-201-2/+0
| | | | llvm-svn: 295633
* Add more comments about copy relocations.Rui Ueyama2017-02-201-4/+19
| | | | llvm-svn: 295632
* [X86] Use memory form of shift right by 1 when the rotl immediate is one ↵Craig Topper2017-02-202-11/+11
| | | | | | | | less than the operation size. An earlier commit already did this for the register form. llvm-svn: 295626
* [X86] Add test cases showing missed opportunities to use rotate right by 1 ↵Craig Topper2017-02-201-0/+83
| | | | | | instructions when operation reads/writes memory. llvm-svn: 295625
* s/REQUIRES: Asserts/REQUIRES: asserts/Daniel Jasper2017-02-191-1/+1
| | | | | | Other than this, we consistently use lower case. llvm-svn: 295623
* Add a comment about the copy relocation.Rui Ueyama2017-02-192-0/+27
| | | | llvm-svn: 295622
* [test] Fix finding LLDB tools when building stand-aloneMichal Gorny2017-02-192-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use both LLDB- and LLVM-specific tool/library directories when LLDB is being built stand-alone. This ensures that the freshly-built tools (and libraries) are used correctly. Without this patch, the test suite uses LLVM_TOOLS_DIR and LLVM_LIBS_DIR to locate lldb, and set PATH and LD_LIBRARY_PATH. When doing a stand-alone build, these variables represent the installed LLVM. As a result, tests either fail due to missing lldb executable or use an earlier installed LLDB version rather than the one being built. To solve this, additional LLDB_TOOLS_DIR and LLDB_LIBS_DIR variables are added and populated using LLVM_*_OUTPUT_INTDIR. Those variables contain directories used to output built executables and libraries. In stand-alone builds, they represent the build-tree directories used by LLDB. In integrated builds, they have the same values as LLVM_*_DIR and therefore using them does not harm. The new variables are prepended to PATH and LD_LIBRARY_PATH to ensure that freshly built binaries are preferred over potentially earlier installed ones. Furthermore, paths used to locate various tools are updated to match appropriate locations. Differential Revision: https://reviews.llvm.org/D29985 llvm-svn: 295621
* Driver: inline a single caller of a function (NFC)Saleem Abdulrasool2017-02-191-9/+1
| | | | | | Inline the addCompilerRT call to the single caller. NFC. llvm-svn: 295620
* [AVX-512] Remove AddedComplexity from masked operations. The size of the ↵Craig Topper2017-02-191-32/+16
| | | | | | patterns already increases their priority. llvm-svn: 295619
* [X86] Use peekThroughOneUseBitcasts helper. NFCI.Simon Pilgrim2017-02-191-10/+5
| | | | llvm-svn: 295618
* [X86] Prefer static_cast<> to C-style cast. NFCI.Davide Italiano2017-02-191-3/+5
| | | | llvm-svn: 295617
* [AVX-512] Disable peephole optimizations on the VPTERNLOG commute test. Add ↵Craig Topper2017-02-192-1/+51
| | | | | | new patterns to enable isel to fold the loads on it own. llvm-svn: 295616
* [AArch64] Prefer static_cast<> to C-style cast. NFCI.Davide Italiano2017-02-191-2/+4
| | | | llvm-svn: 295615
* Always use --eh-frame-hdr on OpenBSD, even for -staticBrad Smith2017-02-192-1/+7
| | | | llvm-svn: 295614
* [X86][SSE] Use getTargetConstantBitsFromNode to find zeroable shuffle elements.Simon Pilgrim2017-02-192-39/+33
| | | | | | | | Replaces existing approach that could only search BUILD_VECTOR nodes. Requires getTargetConstantBitsFromNode to discriminate cases with all/partial UNDEF bits in each element - this should also be useful when we get around to supporting getTargetShuffleMaskIndices with UNDEF elements. llvm-svn: 295613
* [AVX-512] Add patterns to recognize masked vpternlog when the passthrough ↵Craig Topper2017-02-192-4/+43
| | | | | | | | operand is not operand 0. This uses a SDNodeXForm to swizzle the appropriate immediate bits to allow this to be matched. llvm-svn: 295612
* [AVX-512] Add test cases that show failure to select masked VPTERNLOG when a ↵Craig Topper2017-02-191-0/+26
| | | | | | select is used to force the passthru operand to be not operand 0. llvm-svn: 295611
* Link static PIE programs against rcrt0.o on OpenBSDBrad Smith2017-02-192-0/+27
| | | | | | Patch by Stefan Kempf. llvm-svn: 295610
* [CUDA] Don't pass -stack-protector to NVPTX compilations.Justin Lebar2017-02-192-19/+46
| | | | | | | | | We can't support stack-protector on NVPTX because NVPTX doesn't expose a stack to the compiler! Fixes PR32009. llvm-svn: 295609
* [X86][SSE] Enable initial support for domain crossing at high shuffle ↵Simon Pilgrim2017-02-192-14/+14
| | | | | | | | | | combine depths. As discussed on D27692, this permits another domain to be used to combine a shuffle at high depths. We currently set the required depth at 4 or more combined shuffles, this is probably too high for most targets but is a good starting point and already helps avoid a number of costly variable shuffles. llvm-svn: 295608
* Remove redundant call to GluedNodes.back() [NFC]Artyom Skrobov2017-02-191-2/+1
| | | | llvm-svn: 295607
* [X86][SSE] Generalize INSERTPS/SHUFPS/SHUFPD combines across domains.Simon Pilgrim2017-02-191-14/+23
| | | | | | Relax the INSERTPS/SHUFPS/SHUFPD combines to support integer inputs if permitted. llvm-svn: 295606
* [llvm-cov] Respect Windows line endings when parsing demangled symbols.Igor Kudrin2017-02-191-1/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D30096 llvm-svn: 295605
* [X86][SSE] Add domain crossing support for target shuffle combines.Simon Pilgrim2017-02-191-36/+48
| | | | | | | | Add the infrastructure to flag whether float and/or int domains are permitable. A future patch will enable domain crossing based off shuffle depth and the value types of the source vectors. llvm-svn: 295604
* Removed extra ';'Simon Pilgrim2017-02-191-1/+1
| | | | llvm-svn: 295603
* [AVX-512] Add broadcast VPTERNLOG instructions to special case commuting switch.Craig Topper2017-02-192-17/+41
| | | | | | | | The instructions are marked commutable, but without special handling we don't get the immediate correct. While here also remove the masked memory forms that aren't commutable. llvm-svn: 295602
* [AVX-512] Add patterns to show missed opportunities for folding vpternlog ↵Craig Topper2017-02-191-0/+451
| | | | | | with broadcast loads. Also demonstrates a bug in the commuting of broadcast vpternlog instructions when we are able to select them. llvm-svn: 295601
* clangd/ASTManager.cpp: Appease msc19 Debug build -- Don't deref ↵NAKAMURA Takumi2017-02-191-1/+2
| | | | | | std::vector::end(). llvm-svn: 295600
OpenPOWER on IntegriCloud