summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* [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
OpenPOWER on IntegriCloud