| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | [X86] Rename some instructions from 'rb' to 'rrb' to make 'b' a proper ↵ | Craig Topper | 2017-12-10 | 3 | -18/+18 |
| | | | | | | | | | suffix. Fix the scheduling information for some of them. Some of the scheduling information was only present for the 'rb' version' and not the 'rr' version. Now we match 'rr(b?)' llvm-svn: 320320 | ||||
| * | [X86] Add VCVTQQ2PS to the skylake server scheduler models. | Craig Topper | 2017-12-10 | 2 | -1/+7 |
| | | | | | llvm-svn: 320319 | ||||
| * | [X86] Add VPMULLWZ256 to the skylake server scheduler model | Craig Topper | 2017-12-10 | 1 | -0/+2 |
| | | | | | llvm-svn: 320318 | ||||
| * | [X86] Add 256/512-bit EVEX VPSADBW instructions to skylake server scheduler ↵ | Craig Topper | 2017-12-10 | 1 | -2/+4 |
| | | | | | | | model. llvm-svn: 320317 | ||||
| * | [X86] Fix a few instructions that were named Z512 instead of just Z. | Craig Topper | 2017-12-10 | 4 | -15/+15 |
| | | | | | | | This makes things consistent with our normal instruction naming. llvm-svn: 320316 | ||||
| * | [X86] Add VPSRLWZrr to skylake server scheduler model. | Craig Topper | 2017-12-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 320315 | ||||
| * | [X86] Add VPUNPCKLWDZrr to skylake server scheduler model. | Craig Topper | 2017-12-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 320314 | ||||
| * | [X86] Adjust tablegen includes so we can use Instructions in scheduler ↵ | Craig Topper | 2017-12-10 | 2 | -26/+25 |
| | | | | | | | | | models instead of just instregexs. This separates the CPU specific scheduler model includes to occur after the instructions. Moves the instruction includes between the basic scheduler information and the CPU specific scheduler models. llvm-svn: 320313 | ||||
| * | [SimplifyLibCalls] propagate FMF when folding pow(x, -1.0) call | Sanjay Patel | 2017-12-10 | 2 | -15/+12 |
| | | | | | | | | Follow-up for a bug that's similar to: https://bugs.llvm.org/show_bug.cgi?id=35601 llvm-svn: 320312 | ||||
| * | [InstCombine] add test for pow(x, -1.0) with FMF; NFC | Sanjay Patel | 2017-12-10 | 1 | -20/+23 |
| | | | | | llvm-svn: 320311 | ||||
| * | [SimplifyLibCalls] propagate FMF when folding pow(x, 2.0) call (PR35601) | Sanjay Patel | 2017-12-10 | 2 | -3/+8 |
| | | | | | | | | This should fix the larger problem with sqrt shown in: https://bugs.llvm.org/show_bug.cgi?id=35601 llvm-svn: 320310 | ||||
| * | [InstCombine] add test for pow(x, 2.0) with FMF; NFC | Sanjay Patel | 2017-12-10 | 1 | -6/+18 |
| | | | | | llvm-svn: 320309 | ||||
| * | [X86] Flag BroadWell scheduler model as complete | Simon Pilgrim | 2017-12-10 | 8 | -44/+43 |
| | | | | | | | Locally tag COPY as WriteMove, which has caused some reg-reg + reg-mem instruction tests to reorder. llvm-svn: 320308 | ||||
| * | Regenerate some AVX2+ scheduling tests that got missed | Simon Pilgrim | 2017-12-10 | 2 | -39/+39 |
| | | | | | llvm-svn: 320307 | ||||
| * | Strip trailing whitespace. NFCI. | Simon Pilgrim | 2017-12-10 | 1 | -3/+3 |
| | | | | | llvm-svn: 320306 | ||||
| * | Regenerate some scheduling tests that got missed | Simon Pilgrim | 2017-12-10 | 2 | -20/+20 |
| | | | | | llvm-svn: 320305 | ||||
| * | [X86] Flag ZNVER1 scheduler model as complete | Simon Pilgrim | 2017-12-10 | 1 | -6/+3 |
| | | | | | | | We just have to locally tag COPY as WriteMove llvm-svn: 320304 | ||||
| * | [X86] Flag SLM scheduler model as complete | Simon Pilgrim | 2017-12-10 | 1 | -5/+3 |
| | | | | | | | We just have to locally tag COPY as WriteMove llvm-svn: 320303 | ||||
| * | [X86][AVX[ Tag VZEROALL/VZEROUPPER instructions scheduler classes | Simon Pilgrim | 2017-12-10 | 2 | -3/+9 |
| | | | | | llvm-svn: 320302 | ||||
| * | [X86] Tag SSE4A instructions as SSE INTALU scheduler classes | Simon Pilgrim | 2017-12-10 | 1 | -4/+8 |
| | | | | | llvm-svn: 320301 | ||||
| * | [X86] Flag BTVER2 scheduler model as complete | Simon Pilgrim | 2017-12-10 | 1 | -4/+3 |
| | | | | | | | We just have to locally tag COPY as WriteMove llvm-svn: 320300 | ||||
| * | [X86] Tag ADJSTACK instructions as INTALU scheduler class | Simon Pilgrim | 2017-12-10 | 1 | -11/+9 |
| | | | | | llvm-svn: 320299 | ||||
| * | [SCEV] Fix wrong Equal predicate created in getAddRecForPhiWithCasts | Dorit Nuzman | 2017-12-10 | 2 | -8/+12 |
| | | | | | | | | | | | | | | | | | | | | CreateAddRecFromPHIWithCastsImpl() adds an IncrementNUSW overflow predicate which allows the PSCEV rewriter to rewrite this scev expression: (zext i8 {0, + , (trunc i32 step to i8)} to i32) into {0, +, (sext i8 (trunc i32 step to i8) to i32)} But then it adds the wrong Equal predicate: %step == (zext i8 (trunc i32 %step to i8) to i32). instead of: %step == (sext i8 (trunc i32 %step to i8) to i32) This is fixed here. Differential Revision: https://reviews.llvm.org/D40641 llvm-svn: 320298 | ||||
| * | Fix MSVC 'not all control paths return a value' warning | Simon Pilgrim | 2017-12-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 320297 | ||||
| * | [X86] Tag MORESTACK instructions as ret scheduler class | Simon Pilgrim | 2017-12-10 | 1 | -3/+3 |
| | | | | | llvm-svn: 320296 | ||||
| * | [X86] Fix duplicate entries in skylake server scheduler model by changing ↵ | Craig Topper | 2017-12-10 | 2 | -24/+24 |
| | | | | | | | | | Z128 to Z256 Based on the fact that the 'Y' version of the instruction is next to this, I assume Z256 is the intended value. llvm-svn: 320295 | ||||
| * | [X86] Add MOVQI2PQIrm, MOVSDmr, and MOVSDrm to scheduler information | Craig Topper | 2017-12-10 | 7 | -9/+24 |
| | | | | | | | The VEX versions were present but not the legacy SSE versions. llvm-svn: 320294 | ||||
| * | [X86] Add LEA64_32r to scheduler models for ↵ | Craig Topper | 2017-12-10 | 5 | -5/+5 |
| | | | | | | | Sandybridge,Haswell,Broadwell,Skylake llvm-svn: 320293 | ||||
| * | [X86] Add IN16/OUT16 to scheduling information for Haswell,Broadwell,Skylake | Craig Topper | 2017-12-10 | 4 | -16/+16 |
| | | | | | | | Sandy Bridge is also missing it, but it has other issues. See PR35590. llvm-svn: 320292 | ||||
| * | [X86] Fix scheduler models to support ADD32ri in addition to ADD32ri8. ↵ | Craig Topper | 2017-12-10 | 5 | -80/+80 |
| | | | | | | | Similar for all sizes of AND/OR/XOR/SUB/ADC/SBB/CMP. llvm-svn: 320291 | ||||
| * | [X86] Rename some instructions so that 'b' is added as a suffix instead of ↵ | Craig Topper | 2017-12-10 | 3 | -22/+22 |
| | | | | | | | replacing an 'r' llvm-svn: 320290 | ||||
| * | [X86] Add CMPSDrr/rm to the scheduler models. | Craig Topper | 2017-12-10 | 5 | -0/+10 |
| | | | | | | | Somehow CMPSSrr/rm was there and the VEX version was there, but this was consistently missing. llvm-svn: 320289 | ||||
| * | [Docs] Fix typo in scheduler model documentation. enumemation->enumeration | Craig Topper | 2017-12-10 | 1 | -1/+1 |
| | | | | | llvm-svn: 320288 | ||||
| * | PowerPC: support external pid instructions in MC layer. | Tim Northover | 2017-12-10 | 3 | -0/+125 |
| | | | | | | | | | | | | This adds assembly & disassembly support for the e500mc "external pid" instructions. See https://reviews.llvm.org/D39249. Patch by vit9696 <vit9696@avp.su> llvm-svn: 320287 | ||||
| * | PPC32: Support R_PPC_PLTREL32 in static mode. | Tim Northover | 2017-12-10 | 2 | -0/+22 |
| | | | | | | | | | See https://reviews.llvm.org/D39226 Patch by vit9696 <vit9696@avp.su> llvm-svn: 320286 | ||||
| * | [PGO] change arg type to uint64_t to match member field type | Xinliang David Li | 2017-12-10 | 1 | -2/+2 |
| | | | | | llvm-svn: 320285 | ||||
| * | Update another sanitizer test for C++14. | Ahmed Bougacha | 2017-12-10 | 1 | -1/+1 |
| | | | | | | | Follow-up to r320251. llvm-svn: 320284 | ||||
| * | [X86] Rename the rb form of scalar ADD/SUB/MUL/DIV to include _Int since ↵ | Craig Topper | 2017-12-10 | 3 | -20/+20 |
| | | | | | | | they can only be selected by intrinsics. llvm-svn: 320283 | ||||
| * | [X86] Correct the _Int part of more scheduler model instrexes. Put _b in the ↵ | Craig Topper | 2017-12-10 | 2 | -84/+84 |
| | | | | | | | correct order relative to _Int llvm-svn: 320282 | ||||
| * | [X86] Remove ReadAfterLd from several several rb instructions | Craig Topper | 2017-12-10 | 1 | -5/+5 |
| | | | | | | | | | This affects CVTSD2SS, FMA, RCP28, RSQRT28, and SQRT scalar instructions 'b' here refers to 'sae' not broadcast. These aren't memory instructions. llvm-svn: 320281 | ||||
| * | [X86] Fix test case I failed ot update in r320279. | Craig Topper | 2017-12-10 | 1 | -2/+2 |
| | | | | | llvm-svn: 320280 | ||||
| * | [X86] Fix bad regular expressions in the scheduler models. Question marks ↵ | Craig Topper | 2017-12-10 | 13 | -504/+496 |
| | | | | | | | | | | | should be outside of multicharacter parenthesized expressions If the question mark is inside the parentheses it only applies to the single character proceeding it. I had to make a few additional cleanups to fix some duplicate warnings that were exposed by fixing this. llvm-svn: 320279 | ||||
| * | [X86] Make the _Int part of some instregex sheduler patterns optional | Craig Topper | 2017-12-10 | 1 | -8/+8 |
| | | | | | llvm-svn: 320278 | ||||
| * | [X86] Add the commutable floating point min/max pseudo instructions to ↵ | Craig Topper | 2017-12-10 | 4 | -160/+160 |
| | | | | | | | sandybridge,haswell,broadwell,skylakeclient scheduler models. llvm-svn: 320277 | ||||
| * | [X86] Tag PIC setup instruction as jump scheduler class | Simon Pilgrim | 2017-12-10 | 1 | -2/+3 |
| | | | | | llvm-svn: 320276 | ||||
| * | [X86] Tag ACQUIRE/RELEASE atomic instructions as microcoded scheduler classes | Simon Pilgrim | 2017-12-10 | 1 | -3/+5 |
| | | | | | | Note: We may be too pessimistic here and should possibly use something closer to the LOCK arithmetic instructions llvm-svn: 320275 | ||||
| * | [X86] Tag TLS instructions as system scheduler classes | Simon Pilgrim | 2017-12-10 | 1 | -1/+2 |
| | | | | | llvm-svn: 320274 | ||||
| * | [X86] Tag ALLOCA/VAARG instructions as system scheduler classes | Simon Pilgrim | 2017-12-10 | 1 | -0/+2 |
| | | | | | llvm-svn: 320273 | ||||
| * | [AArch64] Improve loop unrolling performance on Cavium T99 | Joel Jones | 2017-12-09 | 2 | -1/+125 |
| | | | | | | | | | | | | | | | | | | This patch improves performance on Cavium T99 as shown here (libquantum 0.2.4): https://docs.google.com/spreadsheets/d/1Lo1o2E1NjrpkwS7DvYYWsiVvPdd93h7KBaqeptMrZPY/edit?usp=sharing By increasing the LoopMicroOpsBufferSize in the Cavium T99 Scheduler file, loop unrolling becomes more aggressive. This helps performance on T99. Test case included. Patch by Stefan Teleman Differential Revision: https://reviews.llvm.org/D40695 llvm-svn: 320272 | ||||
| * | Update Clang CMake cache to use cxx-headers, NFC | Duncan P. N. Exon Smith | 2017-12-09 | 1 | -1/+1 |
| | | | | | | | Apparently libcxx-headers is going away. Fixes PR35584. llvm-svn: 320271 | ||||

