summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] Add backend support for load/store intrinsics.Ranjeet Singh2016-05-313-7/+61
| | | | | | | | | | Added support to map intrinsics __builtin_arm_{ldc,ldcl,ldc2,ldc2l,stc,stcl,stc2,stc2l} to their ARM instructions. Differential Revision: http://reviews.llvm.org/D20564 llvm-svn: 271271
* [X86][SSE] Add load-folding patterns for (V)CVTDQ2PD (PR27291)Simon Pilgrim2016-05-311-4/+2
| | | | | | Added patterns for (V)CVTDQ2PD -> 2f64 loading from a 64-bit source. llvm-svn: 271269
* [mips] bnec/beqc register constraint fixSimon Dardis2016-05-311-0/+55
| | | | | | | | | | | beqc and bnec cannot have $rs == $rt. Inhibit compact branch creation if that would occur. Reviewers: vkalintiris, dsanders Differential Revision: http://reviews.llvm.org/D20624 llvm-svn: 271260
* [AVX512] Fix intrinsic vcvtps2ph lowering.Igor Breger2016-05-312-9/+33
| | | | | | Differential Revision: http://reviews.llvm.org/D20788 llvm-svn: 271255
* Fix intrinsic vbroadcast{i32|f32}x2 lowering.Igor Breger2016-05-312-8/+13
| | | | | | Differential Revision: http://reviews.llvm.org/D20780 llvm-svn: 271254
* [AVX512] Remove masked store intrinsics. Clang now emits generic masked ↵Craig Topper2016-05-318-440/+447
| | | | | | | | store intrinsics instead. The intrinsics will be autoupgraded to the same generic masked stores. llvm-svn: 271245
* X86: permit using SjLj EH on x86 targets as an optionSaleem Abdulrasool2016-05-311-0/+72
| | | | | | | | | | | This adds support to the backed to actually support SjLj EH as an exception model. This is *NOT* the default model, and requires explicitly opting into it from the frontend. GCC supports this model and for MinGW can still be enabled via the `--using-sjlj-exceptions` options. Addresses PR27749! llvm-svn: 271244
* [X86] Remove SSE/AVX unaligned store intrinsics as clang no longer uses ↵Craig Topper2016-05-309-231/+173
| | | | | | them. Auto upgrade to native unaligned store instructions. llvm-svn: 271236
* [X86] Use update_llc_test_checks.py to re-generate a test in preparation for ↵Craig Topper2016-05-301-36/+102
| | | | | | an upcoming commit. NFC llvm-svn: 271234
* Fix a crash when producing COFF.Rafael Espindola2016-05-301-0/+6
| | | | llvm-svn: 271229
* [X86][XOP] Split off auto-upgraded xop intrinsicsSimon Pilgrim2016-05-302-649/+651
| | | | llvm-svn: 271228
* [X86][SSE] Renamed pmovxrm testsSimon Pilgrim2016-05-302-0/+0
| | | | | | These aren't intrinsics anymore - as discussed on D20686 llvm-svn: 271226
* [X86][AVX2] Regenerated AVX2 extension testsSimon Pilgrim2016-05-301-25/+123
| | | | llvm-svn: 271224
* [X86][SSE] Updated storeu fast-isel tests to match clang builtin testsSimon Pilgrim2016-05-303-29/+19
| | | | | | Since rL271214 the headers have no longer used the storeu intrinsic llvm-svn: 271222
* [X86][SSE2] Updated _mm_store_pd1/_mm_store1_pd fast-isel tests to match D20617Simon Pilgrim2016-05-301-9/+26
| | | | llvm-svn: 271220
* [BPF] Remove exit-on-error from tests (PR27768, PR27769)Diana Picus2016-05-302-2/+2
| | | | | | | | | | | The exit-on-error flag is necessary to avoid some assertions/unreachables. We can get past them by creating a few dummy nodes. Fixes PR27768, PR27769. Differential Revision: http://reviews.llvm.org/D20726 llvm-svn: 271200
* [X86] Remove some unnecessary declarations for old intrinsics from a test.Craig Topper2016-05-291-2/+0
| | | | llvm-svn: 271175
* [IndVars] Eliminate op.with.overflow when possible (re-apply)Sanjoy Das2016-05-291-0/+137
| | | | | | | | | | | | | | | | | | | Summary: If we can prove that an op.with.overflow intrinsic does not overflow, we can get rid of the intrinsic, and replace it with non-wrapping arithmetic. This was first checked in at r265913 but reverted in r265950 because it exposed some issues around how SCEV handled post-inc add recurrences. Those issues have now been fixed. Reviewers: atrick, regehr Subscribers: sanjoy, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D18685 llvm-svn: 271153
* [SCEV] See through op.with.overflow intrinsics (re-apply)Sanjoy Das2016-05-291-0/+309
| | | | | | | | | | | | | | | | | | | Summary: This change teaches SCEV to see reduce `(extractvalue 0 (op.with.overflow X Y))` into `op X Y` (with a no-wrap tag if possible). This was first checked in at r265912 but reverted in r265950 because it exposed some issues around how SCEV handled post-inc add recurrences. Those issues have now been fixed. Reviewers: atrick, regehr Subscribers: mcrosier, mzolotukhin, llvm-commits Differential Revision: http://reviews.llvm.org/D18684 llvm-svn: 271152
* [SCEV] Don't always add no-wrap flags to post-inc add recsSanjoy Das2016-05-295-11/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes PR27315. The post-inc version of an add recurrence needs to "follow the same rules" as a normal add or subtract expression. Otherwise we miscompile programs like ``` int main() { int a = 0; unsigned a_u = 0; volatile long last_value; do { a_u += 3; last_value = (long) ((int) a_u); if (will_add_overflow(a, 3)) { // Leave, and don't actually do the increment, so no UB. printf("last_value = %ld\n", last_value); exit(0); } a += 3; } while (a != 46); return 0; } ``` This patch changes SCEV to put no-wrap flags on post-inc add recurrences only when the poison from a potential overflow will go ahead to cause undefined behavior. To avoid regressing performance too much, I've assumed infinite loops without side effects is undefined behavior to prove poison<->UB equivalence in more cases. This isn't ideal, but is not new to LLVM as a whole, and far better than the situation I'm trying to fix. llvm-svn: 271151
* [ValueTracking] ICmp instructions propagate poisonSanjoy Das2016-05-291-0/+24
| | | | | | | This is a stripped down version of D19211, leaving out the questionable "branching in poison is UB" bit. llvm-svn: 271150
* Update test to deal with non-zero exit codesDavid Majnemer2016-05-281-1/+1
| | | | llvm-svn: 271135
* [X86][SSE] (Reapplied) Replace (V)PMOVSX and (V)PMOVZX integer extension ↵Simon Pilgrim2016-05-2813-731/+350
| | | | | | | | | | | | intrinsics with generic IR (llvm) This patch removes the llvm intrinsics VPMOVSX and (V)PMOVZX sign/zero extension intrinsics and auto-upgrades to SEXT/ZEXT calls instead. We already did this for SSE41 PMOVSX sometime ago so much of that implementation can be reused. Reapplied now that the the companion patch (D20684) removes/auto-upgrade the clang intrinsics has been committed. Differential Revision: http://reviews.llvm.org/D20686 llvm-svn: 271131
* ValueMapper: fix assertion when null-mapping a constant for linking metadataMehdi Amini2016-05-281-0/+11
| | | | | | | | | | | | | | | | Summary: When RF_NullMapMissingGlobalValues is set, mapValue can return null for GlobalValue. When mapping the operands of a constant that is referenced from metadata, we need to handle this case and actually return null instead of mapping this constant. Reviewers: dexonsmith, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20713 llvm-svn: 271129
* [InstCombine] add tests to show bitcast interferenceSanjay Patel2016-05-281-0/+90
| | | | llvm-svn: 271125
* Fix production of R_X86_64_GOTPCRELX/R_X86_64_REX_GOTPCRELX.Rafael Espindola2016-05-283-14/+51
| | | | | | | | We were producing R_X86_64_GOTPCRELX for invalid instructions and sometimes producing R_X86_64_GOTPCRELX instead of R_X86_64_REX_GOTPCRELX. llvm-svn: 271118
* regenerate checksSanjay Patel2016-05-281-42/+52
| | | | llvm-svn: 271117
* join RUN lines; NFCSanjay Patel2016-05-281-2/+1
| | | | llvm-svn: 271115
* [x86] avoid printing unnecessary sign bits of hex immediates in asm comments ↵Sanjay Patel2016-05-2811-66/+66
| | | | | | | | | | | (PR20347) It would be better to check the valid/expected size of the immediate operand, but this is generally better than what we print right now. Differential Revision: http://reviews.llvm.org/D20385 llvm-svn: 271114
* [X86] Try to zero elts when lowering 256-bit shuffle with PSHUFB.Ahmed Bougacha2016-05-282-0/+34
| | | | | | | | Otherwise we fallback to a blend of PSHUFBs later on. Differential Revision: http://reviews.llvm.org/D19661 llvm-svn: 271113
* Fix default reloc model on ARM.Rafael Espindola2016-05-281-0/+5
| | | | llvm-svn: 271111
* [MC] Support symbolic expressions in assembly directivesPetr Hosek2016-05-282-28/+30
| | | | | | | | | This matches the behavior of GNU assembler which supports symbolic expressions in absolute expressions used in assembly directives. Differential Revision: http://reviews.llvm.org/D20752 llvm-svn: 271102
* Revert "Revert "Map DynamicNoPIC to Static on non-darwin.""Renato Golin2016-05-283-41/+96
| | | | | | | | This reverts commit r271096, as reverting it broke even more buildbots! But that also means I'll break on ARM again... :( llvm-svn: 271099
* Revert "Map DynamicNoPIC to Static on non-darwin."Renato Golin2016-05-283-96/+41
| | | | | | This reverts commit r271052, as it broke some ARM buildbots. llvm-svn: 271096
* Bring back r271090 in a way that doesn't depend on r271089.Sean Silva2016-05-281-0/+3
| | | | llvm-svn: 271092
* Revert r271089 and r271090.Sean Silva2016-05-281-3/+0
| | | | | | | | | | | | | | It was triggering an msan bot. Revert "[IRPGO] Set the function entry count metadata." This reverts commit r271090. Revert "[IRPGO] Centralize the function attribute inliner hint logic. NFC." This reverts commit r271089. llvm-svn: 271091
* [IRPGO] Set the function entry count metadata.Sean Silva2016-05-281-0/+3
| | | | llvm-svn: 271090
* AMDGPU: Cleanup vector insert/extract testsMatt Arsenault2016-05-286-177/+455
| | | | | | | This mostly makes sure that 3-vector dynamic inserts and extracts are covered. llvm-svn: 271082
* AMDGPU: Add fract intrinsicMatt Arsenault2016-05-283-32/+117
| | | | | | | | | Remove broken patterns matching it. This was matching the unsafe math pattern and expanding the fix for the buggy instruction from the pattern. The problems are also on CI. Remove the workarounds and only use fract with unsafe math or from the intrinsic. llvm-svn: 271078
* Fix windows build bot failureXinliang David Li2016-05-281-1/+1
| | | | llvm-svn: 271075
* [PM] Port the Sample FDO to new PM (part-2)Xinliang David Li2016-05-2717-0/+27
| | | | llvm-svn: 271072
* The patch refactors unroll pass.Evgeny Stupachenko2016-05-271-1/+1
| | | | | | | | | | | | | | | | Summary: Unroll factor (Count) calculations moved to a new function. Early exits on pragma and "-unroll-count" defined factor added. New type of unrolling "Force" introduced (previously used implicitly). New unroll preference "AllowRemainder" introduced and set "true" by default. (should be set to false for architectures that suffers from it). Reviewers: hfinkel, mzolotukhin, zzheng Differential Revision: http://reviews.llvm.org/D19553 From: Evgeny Stupachenko <evstupac@gmail.com> llvm-svn: 271071
* Update the stack coloring pass to remove lifetime intrinsics in the ↵Andrew Kaylor2016-05-272-1/+22
| | | | | | | | optnone/opt-bisect skip case. Differential Revision: http://reviews.llvm.org/D20453 llvm-svn: 271068
* Map DynamicNoPIC to Static on non-darwin.Rafael Espindola2016-05-273-41/+96
| | | | | | | DynamicNoPIC was only every used on darwin. This maps it to static on ELF. It matches what is done on X86. llvm-svn: 271052
* FileCheck: dump command line context with empty inputXinliang David Li2016-05-271-0/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D20716 llvm-svn: 271047
* Revert "[MC] Support symbolic expressions in assembly directives"Petr Hosek2016-05-273-47/+28
| | | | | | This reverts commit r271028, it causes the directive_fill.s to fail. llvm-svn: 271038
* [GVN] Preserve !range metadata when PRE'ing loadsSanjoy Das2016-05-271-0/+24
| | | | | | | | | | Reviewers: dberlin, reames, george.burgess.iv Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D20743 llvm-svn: 271034
* [X86] Detect SAD patterns and emit psadbw instructions.Michael Kuperstein2016-05-271-0/+1094
| | | | | | | | This recommits r267649 with a fix for PR27539. Differential Revision: http://reviews.llvm.org/D20598 llvm-svn: 271033
* [MC] Support symbolic expressions in assembly directivesPetr Hosek2016-05-273-28/+47
| | | | | | | | | This matches the behavior of GNU assembler which supports symbolic expressions in absolute expressions used in assembly directives. Differential Revision: http://reviews.llvm.org/D20656 llvm-svn: 271028
* Move test to X86 directory: I think it depends on X86 TTI.Tim Northover2016-05-271-0/+0
| | | | llvm-svn: 271019
OpenPOWER on IntegriCloud