summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* GlobalISel: add code to widen scalar G_ADDTim Northover2016-08-047-1/+112
| | | | llvm-svn: 277747
* fix whitespaces from https://reviews.llvm.org/D23170Etienne Bergeron2016-08-041-2/+3
| | | | llvm-svn: 277746
* [compiler-rt] Fix memory allocator for dynamic address spaceEtienne Bergeron2016-08-043-5/+49
| | | | | | | | | | | | | | | | | | | | | | | Summary: The sanitizer allocators can works with a dynamic address space (i.e. specified with ~0ULL). Unfortunately, the code was broken on GetMetadata and GetChunkIdx. The current patch is moving the Win64 memory test to a dynamic address space. There is a migration to move every concept to a dynamic address space on windows. To have a better coverage, the unittest are now testing dynamic address space on other platforms too. Reviewers: rnk, kcc Subscribers: kubabrecka, dberris, llvm-commits, chrisha Differential Revision: https://reviews.llvm.org/D23170 llvm-svn: 277745
* remove FIXME comments (fixed with r277738)Sanjay Patel2016-08-041-2/+0
| | | | llvm-svn: 277744
* [OpenCL] Added underscores to the names of 'to_addr' OpenCL built-ins.Alexey Bader2016-08-042-16/+17
| | | | | | | | | | | | | | | Summary: In order to re-define OpenCL built-in functions 'to_{private,local,global}' in OpenCL run-time library LLVM names must be different from the clang built-in function names. Reviewers: yaxunl, Anastasia Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23120 llvm-svn: 277743
* [WebAssembly] Check return value of getRegForValue in FastISelDerek Schuff2016-08-042-0/+48
| | | | | | | | | | | | Previously, FastISel for WebAssembly wasn't checking the return value of `getRegForValue` in certain cases, which would generate instructions referencing NoReg. This patch fixes this behavior. Patch by Dominic Chen Differential Revision: https://reviews.llvm.org/D23100 llvm-svn: 277742
* [llvm-cov] Add some documentation for the -tab-size optionVedant Kumar2016-08-042-2/+8
| | | | | | Also, un-hide the cl::opt. llvm-svn: 277741
* [Hexagon] Validate register class when doing bit simplificationKrzysztof Parzyszek2016-08-042-10/+54
| | | | llvm-svn: 277740
* [InstCombine] use m_APInt to allow icmp eq (op X, Y), C folds for splat ↵Sanjay Patel2016-08-043-24/+9
| | | | | | | | | constant vectors I'm removing a misplaced pair of more specific folds from InstCombine in this patch as well, so we know where those folds are happening in InstSimplify. llvm-svn: 277738
* [X86][SSE] Rename target shuffle unary permute matching function. NFCI.Simon Pilgrim2016-08-041-6/+6
| | | | | | In preparation for adding a binary permute matching function. llvm-svn: 277737
* add tests for missing vector foldsSanjay Patel2016-08-041-6/+30
| | | | llvm-svn: 277736
* LoadStoreVectorizer: Remove TargetBaseAlign. Keep alignment for stack ↵Alina Sbirlea2016-08-0412-53/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | adjustments. Summary: TargetBaseAlign is no longer required since LSV checks if target allows misaligned accesses. A constant defining a base alignment is still needed for stack accesses where alignment can be adjusted. Previous patch (D22936) was reverted because tests were failing. This patch also fixes the cause of those failures: - x86 failing tests either did not have the right target, or the right alignment. - NVPTX failing tests did not have the right alignment. - AMDGPU failing test (merge-stores) should allow vectorization with the given alignment but the target info considers <3xi32> a non-standard type and gives up early. This patch removes the condition and only checks for a maximum size allowed and relies on the next condition checking for %4 for correctness. This should be revisited to include 3xi32 as a MVT type (on arsenm's non-immediate todo list). Note that checking the sizeInBits for a MVT is undefined (leads to an assertion failure), so we need to create an EVT, hence the interface change in allowsMisaligned to include the Context. Reviewers: arsenm, jlebar, tstellarAMD Subscribers: jholewinski, arsenm, mzolotukhin, llvm-commits Differential Revision: https://reviews.llvm.org/D23068 llvm-svn: 277735
* Shamelessly add myself to CREDITS.TXTAdrian Prantl2016-08-041-0/+4
| | | | llvm-svn: 277734
* [ASAN] Mark test/asan/TestCases/ill.cc as unsupported on darwinBruno Cardoso Lopes2016-08-041-0/+1
| | | | | | | | | Introduced in r277621, this test is currently failing all around in public bots: http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/20787 and internal bots. Mark it as unsupported on darwin until we figure out how it should behave. llvm-svn: 277733
* [mips] Set Personality and LSDA encoding for FreeBSDDaniel Sanders2016-08-042-7/+34
| | | | | | | | | | Reviewers: seanbruno, sdardis Subscribers: tberghammer, danalbert, srhines, dsanders, sdardis, llvm-commits, seanbruno Differential Revision: https://reviews.llvm.org/D23113 llvm-svn: 277732
* [InstCombine] use m_APInt to allow icmp eq (sub C1, X), C2 folds for splat ↵Sanjay Patel2016-08-042-10/+6
| | | | | | constant vectors llvm-svn: 277731
* Add test case for nested creation of tasksJonas Hahnfeld2016-08-041-0/+35
| | | | | | For discussion in D23115 llvm-svn: 277730
* [clang-tidy] misc-argument-comment non-strict modeAlexander Kornienko2016-08-047-26/+88
| | | | | | | | | | | | | | | | | Summary: The misc-argument-comment check now ignores leading and trailing underscores and case. The new `StrictMode` local/global option can be used to switch back to strict checking. Add getLocalOrGlobal version for integral types, minor cleanups. Reviewers: hokein, aaron.ballman Subscribers: aaron.ballman, Prazek, cfe-commits Differential Revision: https://reviews.llvm.org/D23135 llvm-svn: 277729
* [X86][SSE] Split off shuffle mask canonicalization from lowerVectorShuffle. ↵Simon Pilgrim2016-08-041-52/+67
| | | | | | | | | | NFCI. The new function now returns true if the shuffle should be commuted. This will allow target shuffle combines to share the code. llvm-svn: 277728
* [Hexagon] Clear kill flags from modified registers in peephole optimizerKrzysztof Parzyszek2016-08-042-1/+31
| | | | llvm-svn: 277727
* GPGPU: Support scalars that are mapped to shared memoryTobias Grosser2016-08-043-10/+86
| | | | llvm-svn: 277726
* [X86] Heuristic to selectively build Newton-Raphson SQRT estimationNikolai Bozhenov2016-08-0411-17/+115
| | | | | | | | | | | | | | | | | | | | | On modern Intel processors hardware SQRT in many cases is faster than RSQRT followed by Newton-Raphson refinement. The patch introduces a simple heuristic to choose between hardware SQRT instruction and Newton-Raphson software estimation. The patch treats scalars and vectors differently. The heuristic is that for scalars the compiler should optimize for latency while for vectors it should optimize for throughput. It is based on the assumption that throughput bound code is likely to be vectorized. Basically, the patch disables scalar NR for big cores and disables NR completely for Skylake. Firstly, scalar SQRT has shorter latency than NR code in big cores. Secondly, vector SQRT has been greatly improved in Skylake and has better throughput compared to NR. Differential Revision: https://reviews.llvm.org/D21379 llvm-svn: 277725
* GPGPU: Disable verbose debug outputTobias Grosser2016-08-041-0/+1
| | | | llvm-svn: 277724
* Remove leftover debug outputTobias Grosser2016-08-041-1/+0
| | | | llvm-svn: 277723
* GPGPU: Add private memory supportTobias Grosser2016-08-042-14/+107
| | | | llvm-svn: 277722
* GPGPU: Add support for shared memoryTobias Grosser2016-08-042-5/+173
| | | | llvm-svn: 277721
* Remove redundant argument.Rafael Espindola2016-08-043-21/+16
| | | | | | But always set Script<ELFT>::X->OutputSections. llvm-svn: 277720
* [mips][microMIPS] Implement CFC1, CFC2, CTC1 and CTC2 instructionsHrvoje Varga2016-08-0411-7/+260
| | | | | | Differential Revision: https://reviews.llvm.org/D22347 llvm-svn: 277719
* [X86] Dropped XOP ctbits checks - they match the AVX checksSimon Pilgrim2016-08-041-62/+2
| | | | llvm-svn: 277718
* kmp_taskdeps.cpp: Fix debugging outputJonas Hahnfeld2016-08-041-3/+5
| | | | | | | | node->dn.task is only filled after the dependencies are already processed. This currently leads to unhelpful output from KA_TRACE or even a crash if one enables KMP_SUPPORT_GRAPH_OUTPUT. llvm-svn: 277717
* [X86][SSE] Add initial costs for vector CTTZ/CTLZSimon Pilgrim2016-08-045-1097/+1062
| | | | llvm-svn: 277716
* [LLVM-COV]Replace tabs to the space indentations in the HTML coverage report.Ying Yi2016-08-046-12/+54
| | | | | | | | | | | When using orbis-llvm-cov.exe to generate the HTML report, the HTML report can look quite different to the source file if it includes tabs.The default tab size is 2 spaces instead of 8 spaces. A command line switch is be added to set the tab size. Differential Revision: https://reviews.llvm.org/D23087 llvm-svn: 277715
* Remove LLVM_ENABLE_LIBCXXABIJonas Hahnfeld2016-08-042-6/+0
| | | | | | | | libc++.so is now a linker script that includes -lc++abi if necessary. Differential Revision: https://reviews.llvm.org/D22861 llvm-svn: 277714
* [X86][SSE] Don't decide when to scalarize CTTZ/CTLZ for performance at ↵Simon Pilgrim2016-08-045-565/+1023
| | | | | | | | lowering - this is what cost models are for Improved CTTZ/CTLZ costings will be added shortly llvm-svn: 277713
* Make isExternC work on VarDecls too.Benjamin Kramer2016-08-043-1/+20
| | | | llvm-svn: 277712
* [ELF] - Attemp to fix buildbot.George Rimar2016-08-041-1/+1
| | | | | | | http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/25733/steps/test_lld/logs/stdio Fix: removed excessive whitespace. llvm-svn: 277711
* [ELF] - Linkerscript: implemented ASSERT() keyword.George Rimar2016-08-043-1/+63
| | | | | | | | | | | | ASSERT(exp, message) Ensure that exp is non-zero. If it is zero, then exit the linker with an error code, and print message. ASSERT is useful and was seen in few projects in the wild. Differential revision: https://reviews.llvm.org/D22912 llvm-svn: 277710
* [clang-rename] add missing clang-format improvementsKirill Bobyrev2016-08-042-3/+3
| | | | | | | | r277702 introduced clang-format changes so that later commits wouldn't introduce non-functional changes while running clang-format before commiting. Though, few changes by clang-format weren't in the patch. llvm-svn: 277709
* [mips] Enable tail calls by defaultSimon Dardis2016-08-0419-58/+173
| | | | | | | | | | | | | | | | | | Enable tail calls by default for (micro)MIPS(64). microMIPS is slightly more tricky than doing it for MIPS(R6) or microMIPSR6. microMIPS has two instruction encodings: 16bit and 32bit along with some restrictions on the size of the instruction that can fill the delay slot. For safe tail calls for microMIPS, the delay slot filler attempts to find a correct size instruction for the delay slot of TAILCALL pseudos. Reviewers: dsanders, vkalintris Subscribers: jfb, dsanders, sdardis, llvm-commits Differential Revision: https://reviews.llvm.org/D21138 llvm-svn: 277708
* GPGPU: Cache PTX kernelsTobias Grosser2016-08-041-4/+52
| | | | | | | We always keep a number of already compiled kernels available to ensure to avoid costly recompilation. llvm-svn: 277707
* [ELF] - Linkerscript: Fixed SORT_BY_ALIGNMENT sorting order.George Rimar2016-08-043-22/+19
| | | | | | | | | | According to spec: "SORT_BY_ALIGNMENT will sort sections into descending order by alignment before placing them in the output file" Previously they were sorted into ascending order. llvm-svn: 277706
* [ELF] - Remove trailing whitespaces. NFC.George Rimar2016-08-041-1/+1
| | | | llvm-svn: 277705
* Typo fix in comment. NFCDiana Picus2016-08-041-1/+1
| | | | llvm-svn: 277704
* [ELF] Linkerscript: remove repeated sections in filter()Eugene Leviant2016-08-042-14/+28
| | | | llvm-svn: 277703
* Run clang-format on clang-rename codeMiklos Vajna2016-08-043-13/+10
| | | | | | | | | | | So that later commits don't introduce non-functional changes when running clang-format before committing. Reviewers: klimek Differential Revision: https://reviews.llvm.org/D23153 llvm-svn: 277702
* [XRay] Align entry and return sleds to 2 byte boundariesDean Michael Berris2016-08-042-3/+6
| | | | | | | | | | | | | | | | | | | | This should ensure that we can atomically write two bytes (on top of the retq and the one past it) and have those two bytes not straddle cache lines. We also move the label past the alignment instruction so that we can refer to the actual first instruction, as opposed to potential padding before the aligned instruction. Update the tests to allow us to reflect the new order of assembly. Reviewers: rSerge, echristo, majnemer Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D23101 llvm-svn: 277701
* AMDGPU: Fix a slow test by using basic regallocMatt Arsenault2016-08-041-1/+1
| | | | | | | | | | This just tests that the register limit isn't exceeded, so the regisetr allocation doesn't need to be great.' The critically slow part is all in greedy RA, so switch to basic. llvm-svn: 277700
* GPGPU: Handle scalar array referencesTobias Grosser2016-08-044-14/+65
| | | | | | | Pass the content of scalar array references to the alloca on the kernel side and do not pass them additional as normal LLVM scalar value. llvm-svn: 277699
* BlockGenerator: Assert that we do not get alloca of array accessTobias Grosser2016-08-041-0/+4
| | | | llvm-svn: 277698
* GPGPU: Pass subtree values correctly to the kernelTobias Grosser2016-08-042-6/+37
| | | | llvm-svn: 277697
OpenPOWER on IntegriCloud