summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* [InstSimplify] add nsw/nuw (xor X, signbit), signbit --> XSanjay Patel2017-02-183-8/+16
| | | | | | | | | The change to InstCombine in: https://reviews.llvm.org/D29729 ...exposes this missing fold in InstSimplify, so adding this first to avoid a regression. llvm-svn: 295573
* [InstSimplify] add tests for add nsw/nuw (xor X, signbit), signbit --> X; NFCSanjay Patel2017-02-181-0/+26
| | | | llvm-svn: 295572
* Recommit "[X86] Remove XOP VPCMOV intrinsics and autoupgrade them to native IR."Craig Topper2017-02-187-89/+94
| | | | | | Clang has now been fixed to not use these intrinsics. llvm-svn: 295571
* [X86] Replace XOP vpcmov builtins with native vector logical operations.Craig Topper2017-02-183-6/+10
| | | | llvm-svn: 295570
* [x86] remove stale comments from tests; NFCSanjay Patel2017-02-181-3/+3
| | | | llvm-svn: 295569
* [x86] fold sext (xor Bool, -1) --> sub (zext Bool), 1Sanjay Patel2017-02-182-22/+22
| | | | | | | This is the same transform that is current used for: select Bool, 0, -1 llvm-svn: 295568
* [ScopInfo] Count read-only arrays when computing complexity of alias checkTobias Grosser2017-02-182-1/+227
| | | | | | | | | | | Instead of counting the number of read-only accesses, we now count the number of distinct read-only array references when checking if a run-time alias check may be too complex. The run-time alias check is quadratic in the number of base pointers, not the number of accesses. Before this change we accidentally skipped SPEC's lbm test case. llvm-svn: 295567
* [MemorySSA] NFC small fixesPiotr Padlewski2017-02-181-9/+6
| | | | | | | | | | | | | | Summary: 2 small fixes extracted from https://reviews.llvm.org/D29064 Reviewers: kuhar, davide, dberlin, george.burgess.iv Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30109 llvm-svn: 295566
* Revert "[X86] Remove XOP VPCMOV intrinsics and autoupgrade them to native IR."Craig Topper2017-02-187-94/+89
| | | | | | This reverts r295564. I missed that clang was still using the intrinsics despite our half implemented autoupgrade support. llvm-svn: 295565
* [X86] Remove XOP VPCMOV intrinsics and autoupgrade them to native IR.Craig Topper2017-02-187-89/+94
| | | | | | It seems we were already upgrading 128-bit VPCMOV, but the intrinsic was still defined and being used in isel patterns. While I was here I also simplified the tablegen multiclasses. llvm-svn: 295564
* [X86][IR] Simplify the XOP vpcmov autoupgrade code. NFCCraig Topper2017-02-181-7/+3
| | | | llvm-svn: 295563
* [X86][IR] Merge together some very similar AutoUpgrade handling. NFCCraig Topper2017-02-181-24/+16
| | | | llvm-svn: 295562
* Revert "threading_support: make __thread_sleep_for be alertable"Saleem Abdulrasool2017-02-181-5/+3
| | | | | | | | | This reverts SVN r295329. Although `__libcpp_thread_sleep_for` should be alertable, the implementation causes a large regression in the test suite. Add a FIXME item there for now to get the test suite in a better state before attempting to fix that behaviour. llvm-svn: 295561
* test: silence warnings on clang under clang-clSaleem Abdulrasool2017-02-181-1/+1
| | | | | | | When running under clang-cl mode, we do not define `__GNUC__`, resulting in the test failing. llvm-svn: 295560
* math: add type promoting template definition on MSVCRTSaleem Abdulrasool2017-02-181-0/+20
| | | | | | | | When building with MSVCRT, we need to manually provide the type promoting overloads to allow the correct type deduced invocation for signbit(Int) and fpclassify(int). llvm-svn: 295559
* test: explicitly size enumerationSaleem Abdulrasool2017-02-181-1/+1
| | | | | | | On certain targets, enumerations may be smaller than an `unsigned long`. Use an explicitly sized enumeration. llvm-svn: 295558
* AMDGPU: Fix assembler subtarget predicate for gfx9Matt Arsenault2017-02-183-1/+13
| | | | | | This was accepting GFX9 instructions on VI. llvm-svn: 295557
* AMDGPU: Add gfx900 and gfx901 processorsMatt Arsenault2017-02-182-1/+8
| | | | llvm-svn: 295556
* AMDGPU: Fix disassembly of aperture registersMatt Arsenault2017-02-182-0/+18
| | | | llvm-svn: 295555
* AMDGPU: Merge initial gfx9 supportMatt Arsenault2017-02-1824-60/+578
| | | | llvm-svn: 295554
* [InstCombine] add tests for trunc(insertelement); NFCSanjay Patel2017-02-181-0/+56
| | | | llvm-svn: 295553
* Refactor instruction simplification code in visitors. NFC.Easwaran Raman2017-02-181-88/+67
| | | | | | | | | | | | | | Several visitors check if operands to the instruction are constants, either as it is or after looking up SimplifiedValues, check if the result is a constant and update the SimplifiedValues map. This refactoring splits it into a common function that does the checking of whether the operands are constants and updating of the SimplifiedValues table, and an instruction specific part that is implemented by each instruction visitor as a lambda and passed to the common function. Differential revision: https://reviews.llvm.org/D30104 llvm-svn: 295552
* [DependenceInfo] Pull out statement [NFC]Tobias Grosser2017-02-181-3/+2
| | | | | | This simplifies the code slightly. llvm-svn: 295551
* [Dependences] Compute reduction dependences on schedule tree [NFC]Tobias Grosser2017-02-181-39/+27
| | | | | | | | | | | | | | | | | | | This change gets rid of the need for zero padding, makes the reduction computation code more similar to the normal dependence computation, and also better documents what we do at the moment. Making the dependence computation for reductions a little bit easier to understand will hopefully help us to further reduce code duplication. This reduces the time spent only in the reduction dependence pass from 260ms to 150ms for test/DependenceInfo/reduction_sequence.ll. This is a reduction of over 40% in dependence computation time. This change was inspired by discussions with Michael Kruse, Utpal Bora, Siddharth Bhat, and Johannes Doerfert. It can hopefully lay the base for further cleanups of the reduction code. llvm-svn: 295550
* [test] Add reduction sequence test case [NFC]Tobias Grosser2017-02-181-0/+539
| | | | | | | | | | | | | | | | | This test case is a mini performance test case that shows the time needed for a couple of simple reductions. It takes today about 325ms on my machine to run this test case through 'opt' with scop construction and reduction detection. It can be used as mini-proxy for further tuning of the reduction code. Generally we do not commit performance test cases, but as this is very small and also very fast it seems OK to keep it in the lit test suite. This test case will also help to verify that future changes to the reduction code will not affect the ordering of the reduction sets and will consequently not cause spurious performance changes that only result from reordering of dependences in the reduction set. llvm-svn: 295549
* [analyzer] Revert 295545. There are buildbot failures.Daniel Marjamaki2017-02-182-12/+0
| | | | llvm-svn: 295548
* [InstCombine] update trunc(shuffle) tests to reflect IR reality; NFCSanjay Patel2017-02-181-9/+40
| | | | | | | | We're ok shrinking splats, but not shuffles in general. See https://reviews.llvm.org/D30123 for discussion. llvm-svn: 295547
* opt-viewer: Fix syntax highlightingBrian Cain2017-02-181-9/+18
| | | | | | | | | | | | | | | Syntax highlighting has been done line-at-a-time. Done this way, the lexer resets the context at each line, distorting the formatting. This change will render the whole file at once and feed the highlighted text line-at-a-time to be wrapped by the SourceFileRenderer. Leading/trailing newlines were being ignored by Pygments but since each line was rendered in its own row, it didn't matter. This bug was masked by the line-at-a-time algorithm. So now we need to add "stripnl=False" to the CppLexer to change its behavior to match the expectation. llvm-svn: 295546
* [analyzer] Fix crash in CastToStruct when there is no record definitionDaniel Marjamaki2017-02-182-0/+12
| | | | | | | | This crash was reported in https://bugs.llvm.org//show_bug.cgi?id=31173 Differential Revision: https://reviews.llvm.org/D28297 llvm-svn: 295545
* [clang-tidy] google-readability-casting: Handle user-defined conversionsAlexander Kornienko2017-02-182-52/+119
| | | | llvm-svn: 295544
* [AVX-512] Remove 128/256-bit masked fp max/min intrinsics. Upgrade them to ↵Craig Topper2017-02-185-60/+211
| | | | | | legacy unmasked intrinsics and select instructions. llvm-svn: 295543
OpenPOWER on IntegriCloud