summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* [Object/ELF] - Do not crash if string table sh_size is equal to zero.George Rimar2016-10-273-0/+3
| | | | | | | | | Revealed using "id_000038,sig_11,src_000015,op_havoc,rep_16" from PR30540, when sh_size was 0, crash happened. Differential revision: https://reviews.llvm.org/D25091 llvm-svn: 285282
* [ARM] Add newline char to test.Sam Parker2016-10-271-1/+2
| | | | | | | | Missed a newline in the previous commit. Differential Revision: https://reviews.llvm.org/D26027 llvm-svn: 285280
* [ARM] Predicate UMAAL selection on hasDSP.Sam Parker2016-10-273-16/+29
| | | | | | | | | | | | UMAAL is a DSP instruction and it is not available on thumbv7m (Cortex-M3) and thumbv6m (Cortex-M0+1) targets. Also fix wrong CHECK prefix in longMAC.ll test. Patch by Vadzim Dambrouski. Differential Revision: https://reviews.llvm.org/D25890 llvm-svn: 285278
* [AVR] Generate all of the TableGen files we needDylan McKay2016-10-271-1/+6
| | | | | | | This enables generation of all of the TableGen files that are used downstream. llvm-svn: 285274
* AMDGPU: Fix SILoadStoreOptimizer when writes cannot be merged due register ↵Nicolai Haehnle2016-10-272-11/+54
| | | | | | | | | | | | | | | | | | | | | | | | dependencies Summary: When finding a match for a merge and collecting the instructions that must be moved, keep in mind that the instruction we merge might actually use one of the defs that are being moved. Fixes piglit spec/arb_enhanced_layouts/execution/component-layout/vs-tcs-load-output[-indirect]. The fact that the ds_read in the test case is not eliminated suggests that there might be another problem related to alias analysis, but that's a separate problem: this pass should still work correctly even when earlier optimization passes missed something or were disabled. Reviewers: tstellarAMD, arsenm Subscribers: kzhuravl, wdng, yaxunl, llvm-commits, tony-tye Differential Revision: https://reviews.llvm.org/D25829 llvm-svn: 285273
* [AVR] Compile the disassemblerDylan McKay2016-10-273-6/+3
| | | | | | | This also updates references of 'TheAVRTarget' to the new 'getTheAVRTarget()' method. llvm-svn: 285272
* [AVR] Add AVRISelDAGToDAG.cppDylan McKay2016-10-272-0/+564
| | | | | | | | | | | | Summary: This pulls the AVR instruction selector in-tree. Reviewers: arsenm, kparzysz Subscribers: llvm-commits, wdng, beanz, japaric, mgorny Differential Revision: https://reviews.llvm.org/D25278 llvm-svn: 285270
* [AVR] Add the machine code emitterDylan McKay2016-10-274-0/+423
| | | | | | | | | | Reviewers: arsenm, kparzysz Subscribers: wdng, beanz, japaric, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D25388 llvm-svn: 285269
* [PowerPC] - No SExt/ZExt needed for count trailing zerosNemanja Ivanovic2016-10-272-2/+58
| | | | | | | | | This patch corresponds to review: https://reviews.llvm.org/D25896 It just eliminates the redundant ZExt after a count trailing zeros instruction. llvm-svn: 285267
* [libFuzzer] speculatively trying to fix the Mac build; second attemptKostya Serebryany2016-10-272-14/+4
| | | | llvm-svn: 285262
* xray-extract.cc: Quick fix for mingw, to avoid errc::protocol_error.NAKAMURA Takumi2016-10-271-2/+2
| | | | | | errc::protocol_error is winsock-oriented and mingw doesn't include it. (MS does, though) llvm-svn: 285261
* [libFuzzer] revert 285259 -- hit commit too soonKostya Serebryany2016-10-271-4/+1
| | | | llvm-svn: 285260
* [libFuzzer] speculatively trying to fix the Mac buildKostya Serebryany2016-10-271-1/+4
| | | | llvm-svn: 285259
* [IR] Retire unused getGEPReturnType overload. NFCI.Davide Italiano2016-10-261-5/+0
| | | | llvm-svn: 285257
* [APFloat] Fix APFloat::getExactInverse when the input is nullptr. This is a ↵Tim Shen2016-10-261-1/+1
| | | | | | | | | | | | regression introduced by r285105. Reviewers: kbarton, echristo, iteratee, eugenis Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D26017 llvm-svn: 285256
* llvm-objdump: Make some error messages more consistentJustin Bogner2016-10-263-15/+15
| | | | | | | | | Most of the version of report_error were quoting the filename and printing a colon between the file name and the error message, but this one wasn't doing either of those. Fix the output to be more consistent. llvm-svn: 285252
* [utils] Add a '--unified-report' option to the code coverage prep scriptVedant Kumar2016-10-261-12/+29
| | | | | | | | | | | In --unified-report mode, a single coverage report is prepared for all specified binaries and written to *report_dir*. This mode is compatible with all existing script options, including the --restrict mode which is used to limit coverage reporting to certain files or directories. This should not break any existing users of the script. llvm-svn: 285249
* [utils] Use print_function in the code coverage prep script, NFC.Vedant Kumar2016-10-261-5/+7
| | | | llvm-svn: 285248
* [utils] Add an '--only-merge' option to the code coverage prep scriptVedant Kumar2016-10-261-3/+11
| | | | | | | | | | | In --only-merge mode, the script terminates after the profile merging step. This makes the script less stateful: it's more natural to split the merge out into a separate step instead of relying on the first invocation of the script to do it. This should not break any existing users of the script. llvm-svn: 285247
* [AArch64] Create feature set for Samsung Exynos-M2Evandro Menezes2016-10-261-13/+24
| | | | | | | | Since Exynos-M2 improved the FP square root unit a bit over the one in Exynos-M1, it does not benefit from using the Newton series for such operations. llvm-svn: 285246
* DebugInfo: fix incorrect alignment type (NFC)Victor Leschuk2016-10-266-25/+36
| | | | | | | | | Change type of some missed DebugInfo-related alignment variables, that are still uint64_t, to uint32_t. Original change introduced in r284482. llvm-svn: 285242
* [lit] Work around Windows MSys command line tokenization bugReid Kleckner2016-10-262-0/+63
| | | | | | | | | | | | | | Summary: This will allow us to revert LLD r284768, which added spaces to get MSys echo to print what we want. Reviewers: ruiu, inglorion, rafael Subscribers: modocache, llvm-commits Differential Revision: https://reviews.llvm.org/D26009 llvm-svn: 285237
* [PPC] Remove testcase from incorrect directoryEhsan Amiri2016-10-261-71/+0
| | | | | | | During my last commit this testcase was put in an incorrect directory. Removing it. Will put it in the right directory when I can verify everything is correct. llvm-svn: 285233
* ARM: don't rely on push/pop reglists being in order when folding SP adjust.Tim Northover2016-10-262-8/+33
| | | | | | | | | | | | | | | | | | It would be a very nice invariant to rely on, but unfortunately it doesn't necessarily hold (and the causes of mis-sorted reglists appear to be quite varied) so to be robust the frame lowering code can't assume that the first register in the list is also the first one that actually gets pushed. Should fix an issue where we were turning something like: push {r8, r4, r7, lr} sub sp, #24 into nonsense like: push {r2, r3, r4, r5, r6, r7, r8, r4, r7, lr} llvm-svn: 285232
* Do not assume that FP vector operands are never legalized by expandingNemanja Ivanovic2016-10-262-1/+76
| | | | | | | | | | | This patch ensures that if a floating point vector operand is legalized by expanding, it is legalized through the stack rather than by calling DAGTypeLegalizer::IntegerToVector which will cause a failure since the operand is a non-integer type. This fixes PR 30715. llvm-svn: 285231
* Simplify `x >=u x >> y` and `x >=u x udiv y`Sanjoy Das2016-10-262-0/+43
| | | | | | | | | | | | | | | | | | | Summary: Extends InstSimplify to handle both `x >=u x >> y` and `x >=u x udiv y`. This is a folloup of rL258422 and https://github.com/rust-lang/rust/pull/30917 where llvm failed to optimize away the bounds checking in a binary search. Patch by Arthur Silva! Reviewers: sanjoy Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25941 llvm-svn: 285228
* Revert "[AliasSetTracker] Make AST smarter about intrinsics that don't ↵Chad Rosier2016-10-262-69/+0
| | | | | | | | | | | actually affect memory." This reverts commit r285191. LICM appears to rely on the Alias Set Tracker hitting lifetime markers to prevent code from being moved outside of the original scope. llvm-svn: 285227
* [PowerPC] Implement vec_insert_exp builtins - llvm portionNemanja Ivanovic2016-10-263-2/+32
| | | | | | | This revision corresponds to review: https://reviews.llvm.org/D25957. Committing on behalf of Zaara Syeda. llvm-svn: 285225
* [libFuzzer] simplify TracePC::HandleTrace even further. Also, when dealing ↵Kostya Serebryany2016-10-263-29/+5
| | | | | | with -exit_on_src_pos, symbolize every PC only once llvm-svn: 285223
* Fix test from r285217.Chad Rosier2016-10-261-1/+1
| | | | llvm-svn: 285222
* [AArch64] Avoid materializing constant 1 when generating cneg instructions.Chad Rosier2016-10-262-2/+24
| | | | | | | | | | | | | | | | | Instead of cmp w0, #1 orr w8, wzr, #0x1 cneg w0, w8, ne we now generate cmp w0, #1 csinv w0, w0, wzr, eq PR28965 llvm-svn: 285217
* [WebAssembly] Update the README.txt.Dan Gohman2016-10-261-9/+17
| | | | | | | | Update the README.txt with newer information, add a link to the Emscripten page explaining the current easiest way to use the LLVM wasm backend, and mention that other ways of using the LLVM wasm backend are in development. llvm-svn: 285215
* [MC] Fix comma typo in .loc parsingNirav Dave2016-10-261-1/+1
| | | | llvm-svn: 285214
* Reapply: "Remove debug location from common tail when tail-merging"Robert Lougher2016-10-263-8/+85
| | | | | | | | | | | | | | | | This reapplies revision 285093. Original commit message: The branch folding pass tail merges blocks into a common-tail. However, the tail retains the debug information from one of the original inputs to the merge (chosen randomly). This is a problem for sampled-based PGO, as hits on the common-tail will be attributed to whichever block was chosen, irrespective of which path was actually taken to the common-tail. This patch fixes the issue by nulling the debug location for the common-tail. Differential Revision: https://reviews.llvm.org/D25742 llvm-svn: 285212
* AMDGPU: Refactor processor definition to use ISA version featuresYaxun Liu2016-10-265-36/+134
| | | | | | | | | | | | | | Add missing ISA versions 7.0.2/8.0.4/8.1.0. to backend. Refactor processor definition to use ISA version features. Fixed ISA version for stoney. Based on Laurent Morichetti's patch. Differential Revision: https://reviews.llvm.org/D25919 llvm-svn: 285210
* Introduce updateDiscriminator interface to DILocation to make it cleaner ↵Dehao Chen2016-10-263-33/+27
| | | | | | | | | | | | | | assigning discriminators. Summary: This patch introduces updateDiscriminator to DILocation so that it can be directly called by AddDiscriminator. It also makes it easier to update the discriminator later. Reviewers: dnovillo, dblaikie, aprantl, echristo Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D25959 llvm-svn: 285207
* Reapply "AMDGPU: Don't use offen if it is 0"Matt Arsenault2016-10-2612-88/+191
| | | | | | This reverts r283003 llvm-svn: 285203
* AMDGPU: Fix counting si_mask_branch as 4 bytesMatt Arsenault2016-10-262-1/+1
| | | | llvm-svn: 285202
* Fix nondeterministic output in local stack slot alloc passMatt Arsenault2016-10-261-6/+16
| | | | | | | | | | This finds all of the references to a frame index in a function, and sorts by the offset. If multiple instructions use the same offset, nothing was breaking the tie for sorting. This avoids the test failures the reverted r282999 introduced. llvm-svn: 285201
* [InstCombine] clean up commonCastTransforms; NFCSanjay Patel2016-10-261-11/+9
| | | | | | | | 1. Use 'auto' with dyn_cast. 2. Variables start with a capital letter. 3. Use proper punctuation in comments. llvm-svn: 285200
* LegalizeDAG: Support promoting [US]DIV and [US]REM operationsTom Stellard2016-10-261-1/+18
| | | | | | | | | | | | | | | | | | Summary: AMDGPU will need this one i16 is added as a legal type. This is tested by: test/CodeGen/AMDGPU/sdiv.ll test/CodeGen/AMDGPU/sdivrem24.ll test/CodeGen/AMDGPU/udiv.ll test/CodeGen/AMDGPU/udivrem24.ll Reviewers: bogner, efriedma Subscribers: efriedma, wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D25699 llvm-svn: 285199
* AMDGPU/SI: Don't emit multi-dword flat memory ops when they might access scratchTom Stellard2016-10-262-2/+41
| | | | | | | | | | | | | | Summary: A single flat memory operations that might access the scratch buffer can only access MaxPrivateElementSize bytes. Reviewers: arsenm Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D25788 llvm-svn: 285198
* AMDGPU/SI: Remove unnecessary run lines from testTom Stellard2016-10-261-4/+2
| | | | | | | | | | | | | | Summary: This test had run lines disabling/enabling the promote alloca pass, but enabling/disabling promote alloca had no impact on the output. Reviewers: arsenm Subscribers: mgrang, kzhuravl, wdng, nhaehnle, yaxunl, llvm-commits, tony-tye Differential Revision: https://reviews.llvm.org/D25787 llvm-svn: 285197
* [X86] AVX512 fallback for floating-point scalar selectsZvi Rackover2016-10-262-12/+13
| | | | | | | | | | | | | Summary: In the case where of 'select i1 , f32, f32' or select i1, f64, f64 prefer lowering to masked-moves over branches. Fixes pr30561 Reviewers: igorb, aymanmus, delena Differential Revision: https://reviews.llvm.org/D25310 llvm-svn: 285196
* [InstCombine] consolidate zext tests and auto-generate checks; NFCSanjay Patel2016-10-263-48/+59
| | | | llvm-svn: 285195
* [InstCombine] auto-generate better checks; NFCSanjay Patel2016-10-261-90/+125
| | | | llvm-svn: 285194
* [AliasSetTracker] Make AST smarter about intrinsics that don't actually ↵Chad Rosier2016-10-262-0/+69
| | | | | | | | affect memory. Differential Revision: https://reviews.llvm.org/D25969 llvm-svn: 285191
* DebugInfo: support for DWARFv5 DW_AT_alignment attributeVictor Leschuk2016-10-2610-28/+412
| | | | | | | | | | | | * Assume that clang passes non-zero alignment value to DIBuilder only in case when it was forced by C++11 'alignas', C11 '_Alignas' or compiler attribute '__attribute__((aligned (N)))'. * Emit DW_AT_alignment if alignment is specified for type/object. Differential Revision: https://reviews.llvm.org/D24425 llvm-svn: 285189
* [IndVarSimplify][DebugLoc] When widening the exit loop condition, correctly ↵Andrea Di Biagio2016-10-262-0/+13
| | | | | | | | | | | | | | | reuse the debug location of the original comparison. When the loop exit condition is canonicalized as a != compaison, reuse the debug location of the original (non canonical) comparison. Before this patch, the debug location of the new icmp was obtained from the loop latch terminator. This patch fixes the issue by correctly setting the IRBuilder's "current debug location" to the location of the original compare. Differential Revision: https://reviews.llvm.org/D25953 llvm-svn: 285185
* Revert r285181 "DebugInfo: support for DWARFv5 DW_AT_alignment attribute".Vassil Vassilev2016-10-2610-412/+28
| | | | | | The commit broke the builds. llvm-svn: 285183
OpenPOWER on IntegriCloud