summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* llvm/ExecutionEngine/Orc/ObjectTransformLayer.h: Add <memory> to appease ↵NAKAMURA Takumi2017-07-041-0/+1
| | | | | | libstdc++'s std::shared_ptr. llvm-svn: 307069
* ClangdServer.cpp: Suppress a warning. [-Wunused-lambda-capture]NAKAMURA Takumi2017-07-041-0/+1
| | | | llvm-svn: 307068
* [OpenCL] Rename err_opencl_enqueue_kernel_expected_typeJoey Gouly2017-07-043-25/+29
| | | | | | | | | Rename err_opencl_enqueue_kernel_expected_type so that other builtins can use the same diagnostic. https://reviews.llvm.org/D34948 llvm-svn: 307067
* NFC commit.Gadi Haber2017-07-041-25/+26
| | | | | | | | | | | | Converting the Codegen test "extractelement-legalization-store-ordering.ll" to be "update_llc_test_checks" friendly. The changes to the test are needed for an upcoming scheduling patch. Reviewers: zvi, RKSimon Differential Revision: https://reviews.llvm.org/D34935 llvm-svn: 307066
* [InstCombine] Add TODOs for a couple things that should maybe be in ↵Craig Topper2017-07-041-1/+3
| | | | | | InstSimplify instead. NFC llvm-svn: 307065
* [InstCombine] Add test cases demonstrating creation of extra bswap ↵Craig Topper2017-07-041-0/+63
| | | | | | | | instrinsic calls when when optimizing bswap and bitwise ops when the bswaps have additional uses. NFC I assume bswap intrinsics are somewhat costly so we should be making sure we are getting rid of them not creating more. llvm-svn: 307064
* [tablegen] Avoid creating a temporary vector in getInstructionCaseAlexander Shaposhnikov2017-07-041-8/+6
| | | | | | | | | | | | | Record::getValues returns ArrayRef which has a cast operator to std::vector, as a result a temporary vector is created if the type of the variable is const std::vector& that is suboptimal in this case. Differential revision: https://reviews.llvm.org/D34969 Test plan: make check-all llvm-svn: 307063
* [X86] Add comment string for broadcast loads from the constant pool.Craig Topper2017-07-047-676/+1615
| | | | | | | | | | | | | | | | | Summary: When broadcasting from the constant pool its useful to print out the final vector similar to what we do for normal moves from the constant pool. I changed only a couple tests that were broadcast focused. One of them had been previously hand tweaked after running the script so that it could check the constant pool declaration. But I think this patch makes that unnecessary now since we can check the comment instead. Reviewers: spatel, RKSimon, zvi Reviewed By: spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34923 llvm-svn: 307062
* [llvm] Revert "[tablegen] Avoid creating a temporary vector in ↵Alexander Shaposhnikov2017-07-041-1/+4
| | | | | | | | | getInstructionCase" Revert rL307059 because of the incorrect commit message & patch, will recommit later. llvm-svn: 307061
* [X86] Add RDRAND feature to GLM CPUCraig Topper2017-07-041-0/+1
| | | | | | | | | | | | | | Summary: I believe this should be supported on GLM since RDSEED is. Reviewers: m_zuckerman, zvi, RKSimon Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34828 llvm-svn: 307060
* [tablegen] Avoid creating a temporary vector in getInstructionCaseAlexander Shaposhnikov2017-07-041-4/+1
| | | | | | | | | | | | | Record::getValues returns ArrayRef which has a cast operator to std::vector, as a result a temporary vector is created if the type of the variable is const std::vector& that was suboptimal in this case. Differential revision: https://reviews.llvm.org/D34969 Test plan: make check-all llvm-svn: 307059
* [Orc] Remove the memory manager argument to addModule, and de-templatize theLang Hames2017-07-0420-185/+133
| | | | | | | | | | | | | | | | symbol resolver argument. De-templatizing the symbol resolver is part of the ongoing simplification of ORC layer API. Removing the memory management argument (and delegating construction of memory managers for RTDyldObjectLinkingLayer to a functor passed in to the constructor) allows us to build JITs whose base object layers need not be compatible with RTDyldObjectLinkingLayer's memory mangement scheme. For example, a 'remote object layer' that sends fully relocatable objects directly to the remote does not need a memory management scheme at all (that will be handled by the remote). llvm-svn: 307058
* [AVR] Fix bug which caused assertion errors for some FRMIDX instructionsDylan McKay2017-07-042-3/+41
| | | | | | | | | | | | | Previously, if a basic block ended with a FRMIDX instruction, we would end up doing something like this. *std::next(MBB.end()) Which would hit an error: "Assertion `!NodePtr->isKnownSentinel()' failed." llvm-svn: 307057
* [AVR] Add a missing clobber declaration to LPMWDylan McKay2017-07-041-6/+6
| | | | llvm-svn: 307056
* [DAG] Fixed predicate for determining when two frame indicesNirav Dave2017-07-041-5/+5
| | | | | | addresses are comparable. NFCI. llvm-svn: 307055
* Revert r307026, "[AMDGPU] Switch scalarize global loads ON by default"NAKAMURA Takumi2017-07-04141-789/+559
| | | | | | | | | It broke a testcase. Failing Tests (1): LLVM :: CodeGen/AMDGPU/alignbit-pat.ll llvm-svn: 307054
* [legalize-types] Clean up softening machinery.Anton Yartsev2017-07-045-42/+144
| | | | | | | | The patch makes SoftenFloatResult/Operand logic just the same as all other legalization routines have: SoftenFloatResult() now fills the SoftenFloats map and SoftenFloatOperand() perform all needed replacements. This prevents softening mashinery from leaving stale entries in SoftenFloats map (that resulted in errors during the legalize type checking) and clarifies softening. The patch replaces https://reviews.llvm.org/D29265. Differential Revision: https://reviews.llvm.org/D31946 llvm-svn: 307053
* [CodeGen] Check key function for typeinfo importShoaib Meenai2017-07-042-5/+15
| | | | | | | If the imported class does not have a key function, we should emit its typeinfo locally instead of attempting to import it. llvm-svn: 307052
* [Sema] Make BreakContinueFinder handle nested loops.Eli Friedman2017-07-043-6/+121
| | | | | | | | | | | | We don't care about break or continue statements that aren't associated with the current loop, so make sure the visitor doesn't find them. Fixes https://bugs.llvm.org/show_bug.cgi?id=32648 . Differential Revision: https://reviews.llvm.org/D34568 llvm-svn: 307051
* [X86][SSE4A] Add support for combining from EXTRQI/INSERTQI shufflesSimon Pilgrim2017-07-033-18/+31
| | | | llvm-svn: 307048
* MathExtras UnitTest: Assert that isPowerOf2(0) is false. NFC.Zvi Rackover2017-07-031-0/+2
| | | | | | | | | | | | | | | | | Summary: This is a follow-up on D34077. Elena observed that the correctness of the code relies on isPowerOf2(0) returning false. Adding a test to cover this corner-case. Reviewers: delena, davide, craig.topper Reviewed By: davide Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34939 llvm-svn: 307046
* [clang] Implement -Wcast-qual for C++Roman Lebedev2017-07-034-24/+244
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This way, the behavior of that warning flag more closely resembles that of GCC. Do note that there is at least one false-negative (see FIXME in tests). Fixes PR4802. Testing: ``` ninja check-clang-sema check-clang-semacxx ``` Reviewers: dblaikie, majnemer, rnk Reviewed By: dblaikie, rnk Subscribers: mclow.lists, cfe-commits, alexfh, rnk Differential Revision: https://reviews.llvm.org/D33102 llvm-svn: 307045
* fix msvc buildRafael Espindola2017-07-031-8/+9
| | | | llvm-svn: 307044
* Move clearOutputSections earlier.Rafael Espindola2017-07-031-7/+19
| | | | | | | Now removeUnusedSyntheticSections operates entirely on the linker script. llvm-svn: 307043
* [X86][SSE4A] Add SSE4A shuffle tests on pre-SSSE3 hardwareSimon Pilgrim2017-07-031-0/+71
| | | | llvm-svn: 307042
* Add a test for a recent regression.Rafael Espindola2017-07-031-0/+10
| | | | llvm-svn: 307041
* [clang-tidy] Resolve cppcoreguidelines-pro-type-member-init false positiveJonas Devlieghere2017-07-032-0/+16
| | | | | | | | | | | | | | | | Summary: https://bugs.llvm.org/show_bug.cgi?id=33557 Reviewers: Eugene.Zelenko, alexfh, aaron.ballman, hokein Reviewed By: aaron.ballman, hokein Subscribers: cfe-commits, nemanjai, xazax.hun, kbarton Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D34932 llvm-svn: 307040
* [ELF] - Simplify allocateHeaders(). NFC.George Rimar2017-07-031-10/+7
| | | | | | | * Return type changed to void, because it was unused. * std::find_if -> llvm::find_if llvm-svn: 307039
* [X86][SSE4A] Test SSE4A shuffle combining on SSE42 capable target as wellSimon Pilgrim2017-07-031-17/+36
| | | | llvm-svn: 307038
* [ELF] Remove unused synthetic sections from script commandsPetr Hosek2017-07-032-1/+28
| | | | | | | | | | | | | | Script commands are processed before unused synthetic sections are removed. Therefore, if a linker script matches one of these sections it'll get emitted as an empty output section because the logic for removing unused synthetic sections ignores script commands which could have already matched and captured one of these sections. This patch fixes that by also removing the unused synthetic sections from the script commands. Differential Revision: https://reviews.llvm.org/D34800 llvm-svn: 307037
* DAGCombine: Combine BUILD_VECTOR to TRUNCATEZvi Rackover2017-07-036-557/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Add a combine for creating a truncate to replace a build_vector composed of extracts with indices that form a stride-2^N series. Example: v8i32 V = ... v4i32 build_vector((extract_elt V, 0), (extract_elt V, 2), (extract_elt V, 4), (extract_elt V, 6)) --> v4i32 truncate (bitcast V to v4i64) Related discussion in llvm-dev about canonicalizing shuffles to truncates in LLVM IR: http://lists.llvm.org/pipermail/llvm-dev/2017-January/108936.html. Reviewers: spatel, RKSimon, efriedma, igorb, craig.topper, wolfgangp, delena Reviewed By: delena Subscribers: guyblank, delena, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D34077 llvm-svn: 307036
* [LoopInterchange] Add more debug messages to currentLimitations(). Florian Hahn2017-07-031-10/+34
| | | | | | | | | | | | | | Summary: This makes it easier to find out which limitation prevented this pass from doing its work. Reviewers: karthikthecool, mzolotukhin, efriedma, mcrosier Reviewed By: mcrosier Subscribers: mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D34940 llvm-svn: 307035
* Revert "clang-format: [JS] space between pseudo keywords and template literals."Martin Probst2017-07-032-6/+1
| | | | | | This reverts commit 71d3b5cd916106005ef23467e3f6c7fbca7bc499. llvm-svn: 307034
* [x86] auto-generate complete checks for tests; NFCSanjay Patel2017-07-034-155/+162
| | | | | | | These all used 'CHECK-NOT' which isn't necessary if we have complete checks. There were also over-specifications in the RUN params such as CPU model. llvm-svn: 307033
* [ELF] - Remove use of precomipled binary for invalid-relocation-x64.testGeorge Rimar2017-07-032-10/+7
| | | | | | | | | | Since yaml2obj is now able to parse integer values as relocation types, there is no need to keep hex edited elf object for this test, we can produce it on fly, just like this patch do. Differential revision: https://reviews.llvm.org/D34893 llvm-svn: 307032
* Fixed argument parsing in docker scripts.Ilya Biryukov2017-07-031-0/+1
| | | | llvm-svn: 307031
* Fixing warnings for unused variables and copy ellisionRavitheja Addepally2017-07-031-20/+15
| | | | | | | | | | | | | | | | Summary: The std::move was preventing copy ellision when compiled with clang, the patch fixes the warning along with rearranging code to remove unused variables warnings on Linux machines with older perf_event interface. Reviewers: labath, ted Reviewed By: labath Differential Revision: https://reviews.llvm.org/D34946 llvm-svn: 307030
* [clang-format] Support text proto messagesKrasimir Georgiev2017-07-038-30/+341
| | | | | | | | | | | | | | Summary: This patch adds support for textual protocol buffer messages. Reviewers: djasper Reviewed By: djasper Subscribers: cfe-commits, klimek, mgorny Differential Revision: https://reviews.llvm.org/D34441 llvm-svn: 307029
* [x86] auto-generate complete checks for tests; NFCSanjay Patel2017-07-034-219/+539
| | | | | | | These all used 'CHECK-NOT' which isn't necessary if we have complete checks. There were also several over-specifications in the RUN params such as CPU model or OS requirement llvm-svn: 307028
* [X86][SSE4A] Add tests showing missed opportunities to combine ↵Simon Pilgrim2017-07-031-0/+80
| | | | | | EXTRQI/INSERTQI shuffles llvm-svn: 307027
* [AMDGPU] Switch scalarize global loads ON by defaultAlexander Timofeev2017-07-03141-559/+789
| | | | | | Differential revision: https://reviews.llvm.org/D34407 llvm-svn: 307026
* [clangd] Add -ffreestanding on VFS tests.Ilya Biryukov2017-07-031-7/+16
| | | | | | | | | | | | | | | | | | Summary: They don't provide proper gcc installations and may fail on implicit <stdc-predef.h> include. Reviewers: klimek, krasimir, bkramer Reviewed By: krasimir Subscribers: klimek, cfe-commits Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D34936 llvm-svn: 307025
* [x86] auto-generate complete checks for tests; NFCSanjay Patel2017-07-034-337/+337
| | | | | | These all used 'CHECK-NOT' which isn't necessary if we have complete checks. llvm-svn: 307024
* clang-format: [JS] space between pseudo keywords and template literals.Martin Probst2017-07-032-1/+6
| | | | | | | | | | | | | | | | | Summary: Before: yield`foo`; After: yield `foo`; Reviewers: djasper Subscribers: klimek Differential Revision: https://reviews.llvm.org/D34938 llvm-svn: 307023
* [InstCombine] move and improve tests for cmp-intrinsic; NFCSanjay Patel2017-07-032-60/+87
| | | | llvm-svn: 307022
* Revert "[GVN] Recommit the patch "Add phi-translate support in scalarpre"."Benjamin Kramer2017-07-035-321/+34
| | | | | | | This reverts commit r306313. This breaks selfhost at -O3 and PR33652. Let me know if you need additional information on reproducing the issue. llvm-svn: 307021
* OpenMP RTL cleanup: eliminated warnings with -Wcast-qual.Andrey Churbanov2017-07-0322-349/+376
| | | | | | | | | | | Changes are: replaced C-style casts with cons_cast and reinterpret_cast; type of several counters changed to signed; type of parameters of 32-bit and 64-bit AND and OR intrinsics changes to unsigned; changed files formatted using clang-format version 3.8.1. Differential Revision: https://reviews.llvm.org/D34759 llvm-svn: 307020
* [GlobalISel][X86] fix %ptr(p0) = G_CONSTANT selection.Igor Breger2017-07-033-1/+42
| | | | llvm-svn: 307019
* Fix typo/unbreak windows build broken by r307009Pavel Labath2017-07-031-1/+1
| | | | llvm-svn: 307018
* [index] Remove 'implicit' role for message sends in implicit ObjCAlex Lorenz2017-07-032-1/+50
| | | | | | | | property references rdar://32375673 llvm-svn: 307016
OpenPOWER on IntegriCloud