summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Untabify.NAKAMURA Takumi2017-02-192-3/+3
| | | | llvm-svn: 295599
* Re-add debugcounter.ll with Requires: Asserts so that it only triggers when ↵Daniel Berlin2017-02-191-0/+40
| | | | | | asserts are on llvm-svn: 295598
* Which, in turn, causes build bots to fail that have it unexpectedly passing. ↵Daniel Berlin2017-02-191-40/+0
| | | | | | So remove debugcounter.ll for now llvm-svn: 295597
* XFAIL this test until we figure out what to do here, since it will fail if ↵Daniel Berlin2017-02-191-0/+1
| | | | | | NDEBUG defined llvm-svn: 295596
* Add two files lost in rebase, causing build breakDaniel Berlin2017-02-192-0/+249
| | | | llvm-svn: 295595
* Add a DebugCounter for PredicateInfo renaming, and an associated testDaniel Berlin2017-02-192-0/+47
| | | | llvm-svn: 295594
* Add initial support for debug countingDaniel Berlin2017-02-193-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We have support for bisection, and bugpoint can reduce testcases often to a single pass. But that doesn't help reduce it to a single transform by a single pass. Which debug counting lets us do. Debug counting lets you instrument a pass so that it only executes a certain thing (rwhatever you want) after skipping it a certain time of times, and then only does a certain number of executions before saying "skip" again. To make it concrete, for predicateinfo, if i instrument use renaming, i can make it so it skips renaming the first N uses, renames the next N, and then skips the rest. This lets you narrow down a miscompilation to, often, a single transformation, and then also debug it (by using the same command line parameters). Reviewers: chandlerc, davide, mehdi_amini Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D29998 llvm-svn: 295593
* clang/CMakeLists.txt: Rework r294954 -- use file(TO_CMAKE_PATH).NAKAMURA Takumi2017-02-191-1/+1
| | | | llvm-svn: 295592
* llvm/test/CodeGen/AMDGPU/r600.alu-limits.ll should require +Asserts. This ↵NAKAMURA Takumi2017-02-191-0/+1
| | | | | | would run into infinite loop anyways with -Asserts. llvm-svn: 295591
* Revert "[COFF] support /ERRORLIMIT option"David Blaikie2017-02-195-92/+29
| | | | | | | | | | | | | Behavior races on ErrorCount. If the enqueued paths are evaluated eagerly (in enqueuePath) then the behavior is as the test expects. But they may not be evaluated until the future is waited on, in run() - which is after the early return/exit on ErrorCount. (this causes the test to fail (because in the "/ERRORCOUNT:XYZ" test, no other errors are printed), at least for me, on linux) This reverts commit r295507. llvm-svn: 295590
* [X86] Remove patterns for MOVSD with v4i32 types. We don't appear to really ↵Craig Topper2017-02-192-12/+0
| | | | | | need them and if we do we should just use a bitcast to a 64-bit element type. llvm-svn: 295589
* [X86] Tighten up some of the SDNode type constraints.Craig Topper2017-02-191-26/+43
| | | | llvm-svn: 295588
* Fix unused variable warning when assertions are disabled.Simon Pilgrim2017-02-191-4/+4
| | | | llvm-svn: 295587
* [X86] Fix enumeral/non-enumeral conditional expression warning.Simon Pilgrim2017-02-191-4/+4
| | | | | | gcc only allows you to mix enums / ints if they have the same signedness. llvm-svn: 295586
* Fix 'variable set but not used' warning when assertions are disabled.Simon Pilgrim2017-02-191-0/+2
| | | | llvm-svn: 295585
* [X86][XOP] Fix type conversion warning in vpcmov generic implementations.Simon Pilgrim2017-02-181-2/+2
| | | | llvm-svn: 295584
* NewGVN: Start making use of predicateinfo pass.Daniel Berlin2017-02-184-184/+412
| | | | | | | | | | | | Summary: This begins using the predicateinfo pass in NewGVN. Reviewers: davide Subscribers: llvm-commits, Prazek Differential Revision: https://reviews.llvm.org/D29682 llvm-svn: 295583
* NewGVN: Make ranking prefer undef to constants. Fix direction ofDaniel Berlin2017-02-181-8/+9
| | | | | | shouldSwapOperands to be correct. llvm-svn: 295582
* PredicateInfo: Clean up predicate info a little, using insertionDaniel Berlin2017-02-184-84/+119
| | | | | | helpers, and fixing support for the renaming the comparison. llvm-svn: 295581
* Fix signed/unsigned comparison warning.Simon Pilgrim2017-02-181-2/+2
| | | | llvm-svn: 295580
* [X86][XOP] Reduce the size of a multiclass by moving more stuff to ↵Craig Topper2017-02-184-70/+42
| | | | | | | | parameters instead of doing 128-bit and 256-bit simultaneously. This requires some instructions to be renamed to move the Y earlier in the instruction name. The new names are more consistent with other instructions. llvm-svn: 295579
* [TableGen] Make sure EnforceSameSize populates the type sets if necessary.Craig Topper2017-02-181-0/+6
| | | | | | This was found by another commit I'm working on. llvm-svn: 295578
* [AArch64] Fix enumeral/non-enumeral conditional expression warning.Simon Pilgrim2017-02-181-4/+4
| | | | | | gcc only allows you to mix enums / ints if they have the same signedness. llvm-svn: 295577
* [X86] Fix enumeral/non-enumeral comparison warning.Simon Pilgrim2017-02-181-1/+1
| | | | | | gcc only allows you to mix enums / ints if they have the same signedness. llvm-svn: 295576
* [X86][SSE] Avoid repeated calls to SDValue::getValueType.Simon Pilgrim2017-02-181-4/+7
| | | | | | Added assertion to check input type of X86ISD::VZEXT during target known bits calculation. llvm-svn: 295575
* [InstCombine] add nsw/nuw X, signbit --> or X, signbitSanjay Patel2017-02-183-14/+17
| | | | | | | | | Changing to 'or' (rather than 'xor' when no wrapping flags are set) allows icmp simplifies to happen as expected. Differential Revision: https://reviews.llvm.org/D29729 llvm-svn: 295574
OpenPOWER on IntegriCloud