summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AMDGPU: Parse r600 CPU name early and expose FMAF capabilityJan Vesely2017-10-192-1/+17
| | | | | | | Improve amdgcn macro test Differential Revision: https://reviews.llvm.org/D38667 llvm-svn: 316181
* [COFF] Avoid forward declaring StringSet, fix buildMartin Storsjo2017-10-192-5/+3
| | | | | | | | | | | | | | | | | This should fix the build after SVN r316178, which worked fine on GCC 5.4, but failed on clang with errors like these: MinGW.h:26:3: error: too few template arguments for class template 'StringSet' StringSet<> ExcludeSymbols; ^ lld/Common/LLVM.h:28:30: note: template is declared here template<typename T> class StringSet; Don't forward declare and add the using directive in the main lld/Common/LLVM.h header, but just qualify the class name in MinGW.h instead. llvm-svn: 316180
* [CGExprScalar] Add missing types in function GetIntrinsicGuozhi Wei2017-10-192-3/+35
| | | | | | | | In function GetIntrinsic, not all types are covered. Types double and long long are missed, type long is wrongly treated same as int, it should be same as long long. These problems cause compiler crashes when compiling code in PR31161. This patch fixed the problem. Differential Revision: https://reviews.llvm.org/D38820 llvm-svn: 316179
* [COFF] Move MinGW specific functions/classes to a separate file. NFC.Martin Storsjo2017-10-195-107/+161
| | | | | | Differential Revision: https://reviews.llvm.org/D39067 llvm-svn: 316178
* [Sema] Fix assertion failure when checking for unused variables in a ↵Benjamin Kramer2017-10-192-1/+11
| | | | | | dependent context. llvm-svn: 316177
* [X86][AES] Test AES intrinsics on 32/64-bit targets with/without VEX encodingSimon Pilgrim2017-10-191-56/+118
| | | | | | Don't just test on 32-bit llvm-svn: 316176
* The cost of splitting a large vector instruction is not being taken into ↵Graham Yiu2017-10-193-0/+87
| | | | | | | | | | account by the getUserCost function. This was leading to some loops being over unrolled. The cost of a vector instruction is now being multiplied by the cost of the type legalization. This will return a more accurate cost. Committing on behalf on Brad Nemanich (brad.nemanich@ibm.com) Differential Revision: https://reviews.llvm.org/D38961 llvm-svn: 316174
* Logging: Make sure logging machinery is in a consistent state after forkingPavel Labath2017-10-195-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | Summary: We had a bug where if we had forked (in the ProcessLauncherPosixFork) while another thread was writing a log message, we would deadlock. This happened because the fork child inherited the locked log rwmutex, which would never get unlocked. This meant the child got stuck trying to disable all log channels. The bug existed for a while but only started being apparent after D37930, which started using ThreadLauncher (which uses logging) instead of std::thread (which does not) for launching TaskPool threads. The fix is to use pthread_atfork to make sure noone is writing a log message while we are forking. Reviewers: zturner, eugene, clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D38938 llvm-svn: 316173
* Fix UB - signed integer overflow in regex. Thanks to Tim Shen for the patch. ↵Marshall Clow2017-10-192-0/+42
| | | | | | Reviewed as https://reviews.llvm.org/D39066 llvm-svn: 316172
* AMDGPU/Docs: Fix unreadable charactersKonstantin Zhuravlyov2017-10-191-6/+6
| | | | llvm-svn: 316171
* [Hexagon] Fix store conversion from rr to io in optimize addressing modesKrzysztof Parzyszek2017-10-192-6/+27
| | | | llvm-svn: 316170
* ExecutionEngine: adjust COFF i386 tautological assertsSaleem Abdulrasool2017-10-192-19/+9
| | | | | | | | | Modify static_casts to not be tautological in some COFF i386 relocations. Patch by Alex Langford! llvm-svn: 316169
* [RISCV] RISCVAsmParser: early exit if RISCVOperand isn't immediate as expectedAlex Bradbury2017-10-192-0/+13
| | | | | | | This is necessary to avoid an assertion in the included test case and similar assembler inputs. llvm-svn: 316168
* [RISCV][NFC] Drop unused parameter from createImm helper in RISCVAsmParserAlex Bradbury2017-10-191-4/+3
| | | | llvm-svn: 316167
* Fix nodiscard for volatile referencesErich Keane2017-10-192-1/+14
| | | | | | | | | | As reported here https://bugs.llvm.org/show_bug.cgi?id=34988 [[nodiscard]] warnings were not being suppressed for volatile-ref return values. Differential Revision: https://reviews.llvm.org/D39075 llvm-svn: 316166
* [AMDGPU] Fix bug in enqueued block codegen due to an extra lineYaxun Liu2017-10-192-1/+9
| | | | llvm-svn: 316165
* Revert r315992 because of a found miscompilation failureNikolai Bozhenov2017-10-192-43/+22
| | | | llvm-svn: 316164
* [ELF] - Simplify. NFC.George Rimar2017-10-191-3/+1
| | | | llvm-svn: 316163
* [X86] Replace custom scalar integer absolute matching with ISD::ABS lowering.Simon Pilgrim2017-10-192-41/+23
| | | | | | | | | | | | x86 has its own copy of integer absolute pattern matching to combine directly to a SUB+CMOV. This patch removes the x86 combine and adds custom lowering support for ISD::ABS instead, allowing us to use the DAGCombiner version. Additional test cases are already covered by iabs.ll (rL315706 and rL315711). Differential Revision: https://reviews.llvm.org/D38895 llvm-svn: 316162
* Fix MSVC signed/unsigned comparison warningSimon Pilgrim2017-10-191-1/+1
| | | | llvm-svn: 316161
* [X86] Add scalar (abs (abs x)) -> (abs x) combine test.Simon Pilgrim2017-10-191-0/+19
| | | | | | Before landing D38895 llvm-svn: 316160
* [RISCV] Prepare for the use of variable-sized register classesAlex Bradbury2017-10-198-220/+276
| | | | | | | | | | While parameterising by XLen, also take the opportunity to clean up the formatting of the RISCV .td files. This commit unifies the in-tree code with my patchset at <https://github.com/lowrisc/riscv-llvm>. llvm-svn: 316159
* Revert rL316156 due to failure on APFloatTest.fromToStringSpecialsMax Kazantsev2017-10-192-18/+2
| | | | llvm-svn: 316158
* [analyzer] Dump signed integers in SymIntExpr and IntSymExpr correctlyGabor Horvath2017-10-192-3/+10
| | | | | | | | Patch by: Adam Balogh! Differential Revision: https://reviews.llvm.org/D39048 llvm-svn: 316157
* Fix APFloat from string conversion for InfSerguei Katkov2017-10-192-2/+18
| | | | | | | | | | | | | | | | The method IEEEFloat::convertFromStringSpecials() does not recognize the "+Inf" and "-Inf" strings but these strings are printed for the double Infinities by the IEEEFloat::toString(). This patch adds the "+Inf" and "-Inf" strings to the list of recognized patterns in IEEEFloat::convertFromStringSpecials(). Reviewers: sberg, bogner, majnemer, timshen, rnk, skatkov, gottesmm, bkramer, scanon Reviewed By: skatkov Subscribers: apilipenko, reames, llvm-commits Differential Revision: https://reviews.llvm.org/D38030 llvm-svn: 316156
* [ARM GlobalISel] Fix liveins in test. NFCDiana Picus2017-10-191-2/+2
| | | | llvm-svn: 316155
* [ARM GlobalISel] Remove redundant testsDiana Picus2017-10-192-548/+0
| | | | | | | These test cases don't really add anything that isn't covered by other tests as well, so we can safely remove them. llvm-svn: 316154
* Revert 316150 which reinstated r316025.Vassil Vassilev2017-10-192-12/+2
| | | | | | It fails on some bots and now we know how to reproduce it. llvm-svn: 316153
* Fix a few nits in RenamingAction.Haojian Wu2017-10-191-2/+2
| | | | | | | * Add missing override keyword. * avoid unnecessary copy of std::string. llvm-svn: 316152
* Const fix for YAMLParser.Sam McCall2017-10-191-2/+4
| | | | llvm-svn: 316151
* Reinstate r316025, reverted in r316029.Vassil Vassilev2017-10-192-2/+12
| | | | | | | | | | | | | | | Original commit message: "[cmake] Use find_package to discover zlib This allows us to use standard cmake utilities to point to non-system zlib locations. Patch by Oksana Shadura and me (D39002)." The new patch brings back the old behavior in the cases where find_package cannot find zlib. llvm-svn: 316150
* [Headers] Fix typoed __ARM_DWARF_EH__ ifdefsMartin Storsjo2017-10-191-3/+3
| | | | | | These typos appeared in SVN r309226 and r309327. llvm-svn: 316149
* [COFF] Exclude certain static libraries and object files when exporting all ↵Martin Storsjo2017-10-192-39/+105
| | | | | | | | | | symbols This more or less matches what GNU ld does. Differential Revision: https://reviews.llvm.org/D38937 llvm-svn: 316148
* [Coverage] Simplify r316141. NFC.Vedant Kumar2017-10-192-44/+9
| | | | llvm-svn: 316147
* [NFC][IRCE] Filter out empty ranges earlyMax Kazantsev2017-10-191-4/+6
| | | | llvm-svn: 316146
* [MergeFunctions] Don't blindly RAUW a GlobalValue with a ConstantExpr.whitequark2017-10-192-0/+7
| | | | | | | | | | | | | | | | MergeFunctions uses (through FunctionComparator) a map of GlobalValues to identifiers because it needs to compare functions and globals do not have an inherent total order. Thus, FunctionComparator (through GlobalNumberState) has a ValueMap<GlobalValue *>. r315852 added a RAUW on globals that may have been previously encountered by the FunctionComparator, which would replace a GlobalValue * key with a ConstantExpr *, which is illegal. This commit adjusts that code path to remove the function being replaced from the ValueMap as well. llvm-svn: 316145
* Simplify.Rafael Espindola2017-10-191-2/+2
| | | | llvm-svn: 316144
* Fix buffer overflow.Rafael Espindola2017-10-193-1/+4
| | | | | | We were reading past the end of the buffer. llvm-svn: 316143
* [CMake] Allow parent projects to use in-source buildsChris Bieneman2017-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | LLVM checks if it is performing an in-source build and then stop the build. However, this check is also triggered if LLVM is being build as part of a parent project, which prevents the parent project itself from using in-source builds. For example, CMake allows a parent project to specify the output of its subproject: add_subdirectory(llvm llvm_build) This tells CMake to conduct an out-tree build of LLVM, which without this patch will still fails because what is being tested is the parent project, not LLVM. This is fixed by using the "CURRENT" variable, which is only concerned by the CMakeLists that is actually bein processed at the moment. Tests: Ran `make check-llvm`. Patch by Henrique Jung <henriquenj_AT_gmail_DOT_com> llvm-svn: 316142
* [llvm-cov] Move LineCoverageIterator to libCoverage. NFC.Vedant Kumar2017-10-185-142/+193
| | | | | | | | | | | | | LineCoverageIterator makes it easy for clients of coverage data to determine line execution counts for a file or function. The coverage iteration logic is tricky enough that it really pays not to have multiple copies of it. Hopefully having just one implementation in LLVM will make the iteration logic easier to test, reuse, and update. This commit is NFC but I've added a unit test to go along with it just because it's easy to do now. llvm-svn: 316141
* [llvm-cov] Use the coverage namespace. NFC.Vedant Kumar2017-10-186-22/+24
| | | | | | | This is a simple code cleanup. It will facilitate moving LineCoverageIterator to libCoverage. llvm-svn: 316140
* GISel: Canonicalize select tests using update_mir_test_checksJustin Bogner2017-10-1843-2349/+2519
| | | | | | | | This runs `udpate_mir_test_checks --add-vreg-checks` on the tests taht are already more or less in the format that generates, so that there will be less churn in some upcoming changes. llvm-svn: 316139
* AArch64/GISel: Modernize the localizer testJustin Bogner2017-10-181-259/+203
| | | | llvm-svn: 316138
* Canonicalize a large number of mir tests using update_mir_test_checksJustin Bogner2017-10-1852-1494/+1358
| | | | | | | | | | This converts a large and somewhat arbitrary set of tests to use update_mir_test_checks. I ran the script on all of the tests I expect to need to modify for an upcoming mir syntax change and kept the ones that obviously didn't change the tests in ways that might make it harder to understand. llvm-svn: 316137
* Don't suppress instantiation of definitions for variables subject to explicitRichard Smith2017-10-185-9/+31
| | | | | | | | | instantiation declarations if they are usable from constant expressions. We are permitted to instantiate in these cases, and required to do so in order to have an initializer available for use within constant evaluation. llvm-svn: 316136
* [PM] Refactor the bounds checking pass to remove a method only called inChandler Carruth2017-10-181-28/+25
| | | | | | one place. llvm-svn: 316135
* update_mir_test_checks: Support adding checks for vreg classesJustin Bogner2017-10-181-9/+24
| | | | | | | | | This is a temporary hack to support adding checks for the "registers:" block of mir functions. This is necessary to convert a number of tests so that there's less churn when we change the MIR printer to put the vreg classes on defs instead of in their own block. llvm-svn: 316134
* update_mir_test_checks: Improve message when updating failsJustin Bogner2017-10-181-2/+6
| | | | llvm-svn: 316133
* Fix capitalization of parameterErich Keane2017-10-181-1/+1
| | | | | | | The .cpp file has this properly capitalized, but the header does not. Simply fixed it. llvm-svn: 316132
* [AMDGPU] Corrections to memory model description.Tony Tye2017-10-181-174/+376
| | | | | | | | | | - Add description on nontemporal support. - Correct OpenCL sequentially consistent and fence code sequences. - Minor test cleanup. Differential Revision: https://reviews.llvm.org/D39073 llvm-svn: 316131
OpenPOWER on IntegriCloud