summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AMDGPU: Fix using SMRD instructions for argument loads in functionsMatt Arsenault2017-07-263-8/+35
| | | | | | These are not actually uniform values except in kernels. llvm-svn: 309172
* [Dominators] Fix typos. NFC.Jakub Kuderski2017-07-262-2/+2
| | | | llvm-svn: 309170
* Disable libxml on i686, because it is a 32 bit architecture andEric Beckmann2017-07-261-1/+1
| | | | | | libxml2.so is for 64 bit. llvm-svn: 309169
* Introduce KMP_DEVICE_THREAD_LIMITJonathan Peyton2017-07-262-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | This change drops in KMP_DEVICE_THREAD_LIMIT to replace KMP_MAX_THREADS. It's possible there will eventually be a OMP_DEVICE_THREAD_LIMIT, and we need something to distinguish from OMP_THREAD_LIMIT, which is currently implemented incorrectly (the fix for that will be added soon in a separate patch). KMP_ALL_THREADS is deprecated here, but we can keep the "all" option on KMP_DEVICE_THREAD_LIMIT to support that functionality. KMP_DEVICE_THREAD_LIMIT now has priority over its deprecated rival KMP_ALL_THREADS. I also cleaned up some comments that incorrectly referred to non-existent kmp_max_threads variable instead of kmp_max_nth. I've left the name of where this setting eventually ends up as __kmp_max_nth, for now. This change does not change much in the way of functionality. It does NOT change OMP_THREAD_LIMIT. It's just cleaning up and setting up for that. Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D35860 llvm-svn: 309168
* AMDGPU/GlobalISel: Mark 32-bit G_OR as legalTom Stellard2017-07-262-0/+23
| | | | | | | | | | | | Reviewers: arsenm Reviewed By: arsenm Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, rovka, kristof.beyls, igorb, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D35127 llvm-svn: 309165
* [Simplify] Fix invalid removal write for escaping values.Michael Kruse2017-07-262-2/+46
| | | | | | | | | A PHI node's incoming block is the user of its operand, not the PHI's parent. Assuming the PHINode's parent being the user lead to the removal of a MemoryAccesses because its use was assumed to be inside of the SCoP. llvm-svn: 309164
* [GISel]: Avoid zero length array when building Instrs that don't haveAditya Nandakumar2017-07-261-6/+12
| | | | | | | | | uses. Also splitting the buildSources part allows more overloads such as adding MachineOperands directly in the arguments for buildInstr. llvm-svn: 309163
* Try to fix the windows build.Rafael Espindola2017-07-261-1/+1
| | | | llvm-svn: 309162
* Try to fix the windows build.Rafael Espindola2017-07-261-1/+1
| | | | llvm-svn: 309161
* Try to fix the windows build.Rafael Espindola2017-07-261-1/+1
| | | | llvm-svn: 309160
* Change CallLoweringInfo::CS to be an ImmutableCallSite instead of a pointer. ↵Peter Collingbourne2017-07-2612-48/+45
| | | | | | | | NFCI. This was a use-after-free waiting to happen. llvm-svn: 309159
* Migrate SimplifyLibCalls to new OptimizationRemarkEmitterAdam Nemet2017-07-269-23/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This changes SimplifyLibCalls to use the new OptimizationRemarkEmitter API. In fact, as SimplifyLibCalls is only ever called via InstCombine, (as far as I can tell) the OptimizationRemarkEmitter is added there, and then passed through to SimplifyLibCalls later. I have avoided changing any remark text. This closes PR33787 Patch by Sam Elliott! Reviewers: anemet, davide Reviewed By: anemet Subscribers: davide, mehdi_amini, eraman, fhahn, llvm-commits Differential Revision: https://reviews.llvm.org/D35608 llvm-svn: 309158
* This patch returns proper value to indicate the case when instruction ↵Andrew V. Tischenko2017-07-268-134/+138
| | | | | | | | throughput can't be calculated. Differential revision https://reviews.llvm.org/D35831 llvm-svn: 309156
* [OpenCL] Fix access qualifiers metadata for kernel arguments with typedefAlexey Sotkin2017-07-262-1/+26
| | | | | | | | Subscribers: cfe-commits, yaxunl, Anastasia Differential Revision: https://reviews.llvm.org/D35420 llvm-svn: 309155
* Do a better job at emitting prefrabricated skeleton CUs.Adrian Prantl2017-07-264-12/+25
| | | | | | | | | | | | | | | | | | | | This is a better fix than r308708 for the problem introduced in r304020. It restores the skeleton CU testcases modified by that commit to their original form and most importantly ensures that frontend-generated skeleton CUs (such as used to point to Clang modules) come after the regular CUs. This broke for DICompileUnit nodes that don't have any immediate children because they are now constructed lazily instead of the order in which they are listed in !llvm.dbg.cu. After this commit we still don't guarantee that order, but we do guarantee that empty skeletons come last. Shipping versions of LLDB are very sensitive to the ordering of CUs. I'll track a fix for LLDB to be more permissive separately. This fixes a test failure in the LLDB testsuite. rdar://problem/33357252 llvm-svn: 309154
* Simplify. NFC.Rafael Espindola2017-07-261-17/+2
| | | | llvm-svn: 309153
* Detemplate SymbolTable.Rafael Espindola2017-07-2613-212/+271
| | | | | | NFC, just makes it easier to access from non templated code. llvm-svn: 309152
* Unlink nodes instead of copying, to avoid memory problems.Eric Beckmann2017-07-261-14/+7
| | | | llvm-svn: 309151
* [Dominators] Change Roots type to SmallVectorJakub Kuderski2017-07-265-11/+11
| | | | | | | | | | | | | | Summary: We can use the template parameter `IsPostDom` to pick an appropriate SmallVector size to store DomTree roots for dominators and postdominators. Before, the code would always allocate memory with `std::vector`. Reviewers: dberlin, davide, sanjoy, grosser Reviewed By: grosser Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35636 llvm-svn: 309148
* Partial fix for PR33858Jonathan Roelofs2017-07-262-2/+1
| | | | | | https://reviews.llvm.org/D35848 llvm-svn: 309147
* [Dominators] Move root-finding out of DomTreeBase and simplify itJakub Kuderski2017-07-264-64/+60
| | | | | | | | | | | | | | | | Summary: This patch moves root-finding logic from DominatorTreeBase to GenericDomTreeConstruction.h. It makes the behavior simpler and more consistent by always adding a virtual root to PostDominatorTrees. Reviewers: dberlin, davide, grosser, sanjoy Reviewed By: dberlin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35597 llvm-svn: 309146
* Add bitrig removal to release notesErich Keane2017-07-261-0/+6
| | | | llvm-svn: 309145
* Un-XFAIL some internal lit tests on Windows, they pass for me locallyReid Kleckner2017-07-263-9/+0
| | | | llvm-svn: 309144
* Diffing against a file that is itself used in the test seems to be a badEric Beckmann2017-07-261-1/+25
| | | | | | idea, because it might get locked down and rendered unopenable. llvm-svn: 309142
* Simplify. NFC.Rafael Espindola2017-07-261-176/+114
| | | | llvm-svn: 309141
* Fix LIT test breakageGeorge Karpenkov2017-07-261-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D35867 llvm-svn: 309140
* [X86][AVX512] Regenerated and cleaned up extension tests.Simon Pilgrim2017-07-261-184/+184
| | | | llvm-svn: 309139
* [X86] Regenerate setcc testsSimon Pilgrim2017-07-262-6/+9
| | | | llvm-svn: 309138
* [X86][AVX512] Regenerate shuffle tests with broadcast comments.Simon Pilgrim2017-07-262-5/+5
| | | | llvm-svn: 309137
* [X86] Regenerate memset testsSimon Pilgrim2017-07-261-31/+78
| | | | llvm-svn: 309136
* Correctly enable the llvm-mt tests, now that build flags changed.Eric Beckmann2017-07-262-3/+2
| | | | llvm-svn: 309134
* Quote '?' in llvm-rc testReid Kleckner2017-07-261-1/+1
| | | | | | | | | | | | | | | | | | | Summary: Bash interperets the '?' character as matching an arbitrary character. On systems that have a file or directory with exactly one character in their root directory, '/?' gets reinterpreted into that pathname, which fails to match the expected Help text for llvm-rc. This patch quotes the '/?' to avoid that edge case. Reviewers: mnbvmar, ecbeckmann, rnk Reviewed By: rnk Subscribers: dyung, ruiu, llvm-commits Differential Revision: https://reviews.llvm.org/D35852 llvm-svn: 309133
* [Hexagon] Mark raise_relocation_error as NORETURN.Florian Hahn2017-07-261-0/+1
| | | | | | | | | | | | | | | | Summary: This silences a couple of implicit fallthrough warnings with GCC 7.1 in this file. Reviewers: colinl, kparzysz Reviewed By: kparzysz Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35889 llvm-svn: 309129
* Update the assertion to meet with the changes in r309121. (NFC)Dehao Chen2017-07-261-1/+1
| | | | llvm-svn: 309125
* [X86] Add combineBT test failure because bits have multiple uses.Simon Pilgrim2017-07-261-0/+64
| | | | llvm-svn: 309124
* [lit] Mark several of lit's tests XFAIL on WindowsBrian Gesiak2017-07-2613-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: rL257221 attempted to run lit's own test suite continuously, but that commit was reverted because lit's test suite does not pass on Windows. Because lit's tests do not run continuously, they often regress. In order to un-revert rL257221, mark lit tests that fail as XFAIL for Windows platforms. Test Plan: On a Windows development environment, follow the instructions in utils/lit/README.txt to run lit's test suite: ``` utils/lit/lit.py \ --path /path/to/your/llvm/build/bin \ utils/lit/tests ``` Verify that the test suite is run and a successful exit code is returned. Reviewers: mgorny, rnk, delcypher, beanz Reviewed By: rnk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35879 llvm-svn: 309123
* [lit] Fix type error for parallelism groupsBrian Gesiak2017-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Whereas rL299560 and rL309071 call `parallelism_groups.items()`, under the assumption that `parallelism_groups` is a `dict` type, the default parameter for that attribute is a `list`. Change the default to a `dict` for type correctness. This regression in the unit tests would have been caught if the unit tests were being run continously. It also would have been caught if the lit project used a Python type checker such as `mypy`. Test Plan: As per the instructions in `utils/lit/README.txt`, run the lit unit test suite: ``` utils/lit/lit.py \ --path /path/to/your/llvm/build/bin \ utils/lit/tests ``` Verify that the test `lit :: unit/TestRunner.py` fails before applying this patch, but passes once this patch is applied. Reviewers: mgorny, rnk, rafael Reviewed By: mgorny Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35878 llvm-svn: 309122
* Make new PM honor -fdebug-info-for-profilingDehao Chen2017-07-264-3/+17
| | | | | | | | | | | | | | Summary: The new PM needs to invoke add-discriminator pass when building with -fdebug-info-for-profiling. Reviewers: chandlerc, davidxl Reviewed By: chandlerc Subscribers: sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D35744 llvm-svn: 309121
* Revert "[lit] Remove dead code not referenced in the LLVM SVN repo."Brian Gesiak2017-07-263-74/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This reverts rL306623, which removed `FileBasedTest`, an abstract base class, but did not also remove the usages of that class in the lit unit tests. The revert fixes four test failures in the lit unit test suite. Test plan: As per the instructions in `utils/lit/README.txt`, run the lit unit test suite: ``` utils/lit/lit.py \ --path /path/to/your/llvm/build/bin \ utils/lit/tests ``` Verify that the following tests fail before applying this patch, and pass once the patch is applied: ``` lit :: test-data.py lit :: test-output.py lit :: xunit-output.py ``` In addition, run `check-llvm` to make sure the existing LLVM test suite executes normally. Reviewers: george.karpenkov, mgorny, dlj Reviewed By: mgorny Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35877 llvm-svn: 309120
* [ScheduleOptimizer] Translate to C++ bindingsRoman Gareev2017-07-262-409/+313
| | | | | | | | | | Translate the ScheduleOptimizer to use the new isl C++ bindings. Reviewed-by: Michael Kruse <llvm@meinersbur.de> Differential Revision: https://reviews.llvm.org/D35845 llvm-svn: 309119
* Regression test for PR10856Serge Pavlov2017-07-261-0/+49
| | | | llvm-svn: 309118
* [docs] change a few code-blocks to llvm from textNuno Lopes2017-07-262-7/+7
| | | | llvm-svn: 309117
* unguarded availability: add a fixit for the "annotate '...'Alex Lorenz2017-07-263-2/+105
| | | | | | | | | | with an availability attribute to silence" note rdar://33539233 Differential Revision: https://reviews.llvm.org/D35726 llvm-svn: 309116
* [CMake] Disable building libomptarget and add CMake switchJonas Hahnfeld2017-07-261-1/+12
| | | | | | | | | | | | | | | | | | Introduce OPENMP_ENABLE_LIBOMPTARGET which defaults to OFF at the moment. libomptarget is not yet ready for prime time: - Offloading to NVIDIA GPUs is not completed yet (compiler, device RTL) - The generic ELF plugin for offloading to the host (meant for testing) uses a single instance of the OpenMP runtime (libomp). That is why omp_is_initial_device() returns 1 which makes the tests fail. Because of these reasons, we want to disable building (and testing!) for release 5.0. See https://bugs.llvm.org/show_bug.cgi?id=33859 Differential Revision: https://reviews.llvm.org/D35719 llvm-svn: 309115
* [NFC] test commit.Stefan Pintilie2017-07-261-0/+8
| | | | | | Added a comment to explain how to add a PPCISD node. llvm-svn: 309114
* [Bash-autocompletion] Show HelpText with possible flagsYuka Takahashi2017-07-264-19/+66
| | | | | | | | | | | | | | | | | | | | | | Summary: `clang --autocomplete=-std` will show ``` -std: Language standard to compile for -std= Language standard to compile for -stdlib= C++ standard library to use ``` after this change. However, showing HelpText with completion in bash seems super tricky, so this feature will be used in other shells (fish, zsh...). Reviewers: v.g.vassilev, teemperor, ruiu Subscribers: cfe-commits, hiraditya Differential Revision: https://reviews.llvm.org/D35759 llvm-svn: 309113
* [Bash-completion] Fixed a bug that file doesn't autocompleted after =Yuka Takahashi2017-07-261-3/+7
| | | | | | | | | | Summary: File path wasn't autocompleted after `-fmodule-cache-path=[tab]`, so fixed this bug by checking if $flags contains only a newline or not. Differential Revision: https://reviews.llvm.org/D35763 llvm-svn: 309112
* Revert r309094: [globalisel][tablegen] Fuse the generated tables together.Daniel Sanders2017-07-263-71/+198
| | | | | | | | The ARM bots have started failing and while this patch should be an improvement for these bots, it's also the only suspect in the blamelist. Reverting while Diana and I investigate the problem. llvm-svn: 309111
* [ScopInfo] Avoid use of getStmtFor(BB). NFC.Michael Kruse2017-07-261-4/+5
| | | | | | | | | | | | | Since there will be no more a 1:1 correspondence between statements and basic blocks, we would like to get rid of the method getStmtFor(BB) and its uses. Here we remove one of its uses in ScopInfo by fetching the statement in which the call instruction lies. Contributed-by: Nandini Singhal <cs15mtech01004@iith.ac.in> Differential Revision: https://reviews.llvm.org/D35691 llvm-svn: 309110
* [SCEVValidator] Loop exit values of loops before the SCoP are synthesizable.Michael Kruse2017-07-264-6/+147
| | | | | | | | | | | | | | | | | | | | | | | In the following loop: int i; for (i = 0; i < func(); i+=1) ; SCoP: for (int j = 0; j<n; j+=1) S(i, j) The value i is synthesizable in the SCoP that includes only the j-loop. This is because i is fixed within the SCoP, it is irrelevant whether it originates from another loop. This fixes a strange case where a PHI was synthesiable in a SCoP, but not its incoming value, triggering an assertion. This should fix MultiSource/Applications/sgefa/sgefa of the perf-x86_64-penryn-O3-polly-before-vectorizer-unprofitable buildbot. llvm-svn: 309109
OpenPOWER on IntegriCloud