summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* [Clang][AVX512][BuiltIn] Adding avx512 ( ↵Michael Zuckerman2016-04-112-1/+325
| | | | | | | | psll{d|q}512,psllv{16si|8di},psra{d|q}512,psrav{16si|8di},pternlog{d|q}{128|256|512} ) builtin to clang Differential Revision: http://reviews.llvm.org/D18926 llvm-svn: 265964
* [CLANG] [AVX512] [BUILTIN] Adding PSRA{Q|D|QI|DI}{128|256|512} builtinMichael Zuckerman2016-04-112-0/+156
| | | | | | Differential Revision: http://reviews.llvm.org/D17693 llvm-svn: 265952
* [Clang][AVX512][BuiltIn] Adding avx512 ( ↵Michael Zuckerman2016-04-112-0/+370
| | | | | | | | punpck{h|l}{dq|qdq}{128|256|512},rndscale{ss|sd}, {scalef{ss|sd|pd512|ps512} ) builtin to clang Differential Revision: http://reviews.llvm.org/D18929 llvm-svn: 265935
* [Clang][AVX512][BuiltIn] Adding avx512 ( ptest{n}m{b|w}{128|256|512} ) ↵Michael Zuckerman2016-04-114-0/+262
| | | | | | | | builtin to clang Differential Revision: http://reviews.llvm.org/D18924 llvm-svn: 265928
* [GCC] Attribute ifunc support in clangDmitry Polukhin2016-04-111-0/+41
| | | | | | | | | | | This patch add support for GCC attribute((ifunc("resolver"))) for targets that use ELF as object file format. In general ifunc is a special kind of function alias with type @gnu_indirect_function. LLVM patch http://reviews.llvm.org/D15525 Differential Revision: http://reviews.llvm.org/D15524 llvm-svn: 265917
* [Clang][AVX512][BuiltIn] Adding avx512 ( vperm{i|t}2var, ↵Michael Zuckerman2016-04-112-0/+212
| | | | | | | | vpermil{var}{ps|pd}{256|512} ) builtin to clang. Differential Revision: http://reviews.llvm.org/D18933 llvm-svn: 265915
* [Clang][AVX512][BuiltIn] Adding avx512 ( vcvt ) builtin to clangMichael Zuckerman2016-04-101-0/+213
| | | | | | Differential Revision: http://reviews.llvm.org/D18932 llvm-svn: 265904
* Adding avx512 (unpck{h|l}{pd|ps}, rcp14{pd|ps}{128|256},vplzcnt{d|q} ) ↵Michael Zuckerman2016-04-102-4/+290
| | | | | | | | builtin to clang Differential Revision: http://reviews.llvm.org/D18931 llvm-svn: 265896
* [Clang][AVX512][BuiltIn] Adding avx512 ( store ) builtin to clangMichael Zuckerman2016-04-103-1/+105
| | | | | | Differential Revision: http://reviews.llvm.org/D18925 llvm-svn: 265895
* make __builtin_isfinite more efficient (PR27145)Sanjay Patel2016-04-071-3/+1
| | | | | | | | | | | | | | isinf (is infinite) and isfinite should be implemented with the same function except we change the comparison operator. See PR27145 for more details: https://llvm.org/bugs/show_bug.cgi?id=27145 Ref: forked off of the discussion in D18513. Differential Revision: http://reviews.llvm.org/D18648 llvm-svn: 265675
* Restore slightly less dodgy diagnostic handler for inline asmTim Northover2016-04-061-2/+2
| | | | | | | | Turns out it was there mostly to prevent Clang asking people to report a bug. This time we report something to Clang's real diagnostics handler so that it exits with something approximating a real error and tidies up after itself. llvm-svn: 265592
* Update testing cases after backend changes.Manman Ren2016-04-051-1/+1
| | | | llvm-svn: 265488
* Fix broken tests from no-jump-table commitNirav Dave2016-04-052-2/+2
| | | | | | | | | | | | Summary: Fix failing tests from no-jump-table flag addition Reviewers: jyknight Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18801 llvm-svn: 265439
* Add -fno-jump-tables and-fjump-tables flagsNirav Dave2016-04-051-0/+8
| | | | | | | | | | | | | Add no-jump-tables flag to disable use of jump tables when lowering switch statements Reviewers: echristo, hans Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18407 llvm-svn: 265425
* [X86] Introduction of -march=lakemont.Andrey Turetskiy2016-04-051-0/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D18651 llvm-svn: 265405
* Fix test failure from r265361Reid Kleckner2016-04-041-1/+1
| | | | llvm-svn: 265362
* Fix an unused-variable warning by using the variable in the placeJohn McCall2016-04-041-0/+8
| | | | | | it was supposed to have been used. llvm-svn: 265344
* IRGen-level lowering for the Swift calling convention.John McCall2016-04-041-0/+496
| | | | llvm-svn: 265324
* Diagnostics: remove dodgy handler for bitcode inlineasm diagnostics.Tim Northover2016-03-311-1/+1
| | | | | | | | Whatever crash it was there to present appears to have been fixed in the backend now, and it had the nasty side-effect of causing clang to exit(0) and leave a .o containing goodness knows what even when an error hit. llvm-svn: 265038
* [SystemZ] Specify required features for builtins.Jonas Paulsson2016-03-301-0/+11
| | | | | | | | | | | | | BuiltinsSystemZ.def is extended to include the required processor features per intrinsic. New test test/CodeGen/builtins-systemz-error2.c that checks for expected errors when instrinsics are used with a subtarget that does not support the required feature (e.g. vector support). Reviewed by Ulrich Weigand. llvm-svn: 264873
* Prepare tests for change to emit Module SourceFileName to LLVM assemblyTeresa Johnson2016-03-302-2/+2
| | | | | | | | | Modify these tests to ignore the source file name when looking for the expected string. It was already catching the source file name once via the ModuleID, and will catch it another time with an impending change to LLVM to serialize out the module's SourceFileName. llvm-svn: 264868
* Fixing PR26558: remove the adx target attribute requirement from adc builtins.Yunzhong Gao2016-03-291-1/+1
| | | | | | | | | The addcarry and subborrow variants of the builtins do not require the adx target attribute; only the addcarryx variants require them. Differential Revision: http://reviews.llvm.org/D18533 llvm-svn: 264801
* Add additional Hi/Lo registers to Clang MipsTargetInfoBaseHrvoje Varga2016-03-291-0/+12
| | | | | | Differential Revision: http://reviews.llvm.org/D17378 llvm-svn: 264727
* [lanai] Add Lanai backend to clang driver.Jacques Pienaar2016-03-283-0/+97
| | | | | | | | | | Changes to clang to add Lanai backend. Adds a new target, ABI and toolchain. General Lanai backend discussion on llvm-dev thread "[RFC] Lanai backend" (http://lists.llvm.org/pipermail/llvm-dev/2016-February/095118.html). Differential Revision: http://reviews.llvm.org/D17002 llvm-svn: 264655
* [CLANG][avx512][BUILTIN] Adding fixupimm{pd|ps|sd|ss}Michael Zuckerman2016-03-284-0/+503
| | | | | | | | | getexp{sd|ss} getmant{sd|ss} kunpck{di|si} loada{pd|ps} loaddqu{di|hi|qi|si} max{sd|ss} min{sd|ss} kmov16 builtins to clang Differential Revision: http://reviews.llvm.org/D18215 llvm-svn: 264574
* The time when -faltivec (or, on clang only, -maltivec) will magicallyEric Christopher2016-03-244-1/+7
| | | | | | | | | include altivec.h has come and gone. Rationale: This causes modules, rewrite-includes, etc to be sad and people should just include altivec.h in their source. llvm-svn: 264235
* Add missing __builtin_bitreverse8Matt Arsenault2016-03-231-0/+2
| | | | | | Also add documentation for bitreverse builtins llvm-svn: 264203
* [X86] Add "x87" in x86 target feature map.Andrey Turetskiy2016-03-233-7/+23
| | | | | | Differential Revision: http://reviews.llvm.org/D13980 llvm-svn: 264149
* [Sema] Allow implicit conversions of &overloaded_fn in C.George Burgess IV2016-03-231-0/+30
| | | | | | | | | | | | | | | | | | | | | | | Also includes a minor ``enable_if`` docs update. Currently, our address-of overload machinery will only allow implicit conversions of overloaded functions to void* in C. For example: ``` void f(int) __attribute__((overloadable)); void f(double) __attribute__((overloadable, enable_if(0, ""))); void *fp = f; // OK. This is C and the target is void*. void (*fp2)(void) = f; // Error. This is C, but the target isn't void*. ``` This patch makes the assignment of `fp2` select the `f(int)` overload, rather than emitting an error (N.B. you'll still get a warning about the `fp2` assignment if you use -Wincompatible-pointer-types). Differential Revision: http://reviews.llvm.org/D13704 llvm-svn: 264132
* [CUDA] Implement atomicInc and atomicDec builtinsJustin Lebar2016-03-221-1/+7
| | | | | | | | | | | | | | | These functions cannot be implemented as atomicrmw or cmpxchg instructions, so they are implemented as a call to the NVVM intrinsics @llvm.nvvm.atomic.load.inc.32.p0i32 and @llvm.nvvm.atomic.load.dec.32.p0i32. Patch by Jason Henline. Reviewers: jlebar Differential Revision: http://reviews.llvm.org/D18322 llvm-svn: 264009
* [ARM] Clang tests for ARM Cortex-A32 supportRenato Golin2016-03-211-0/+1
| | | | | | Patch by Sam Parker. llvm-svn: 263957
* Add -fnative-half-arguments-and-returnsPirama Arumuga Nainar2016-03-181-0/+6
| | | | | | | | | | | | | | | | | | Summary: r246764 handled __fp16 arguments and returns for AAPCS, but skipped this handling for OpenCL. Simlar to OpenCL, RenderScript also handles __fp16 type natively. This patch adds the -fnative-half-arguments-and-returns command line flag to allow such languages to skip this coercion of __fp16. Reviewers: srhines, olista01 Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18138 llvm-svn: 263795
* Add attributes for preserve_mostcc/preserve_allcc calling conventions to the ↵Roman Levenstein2016-03-161-0/+17
| | | | | | | | | | | | | | | C/C++ front-end Till now, preserve_mostcc/preserve_allcc calling convention attributes were only available at the LLVM IR level. This patch adds attributes for preserve_mostcc/preserve_allcc calling conventions to the C/C++ front-end. The code was mostly written by Juergen Ributzka. I just added support for the AArch64 target and tests. Differential Revision: http://reviews.llvm.org/D18025 llvm-svn: 263647
* Add more ARM Cortex-R8 regression tests to Clang.Pablo Barrio2016-03-161-0/+1
| | | | | | | | | | | | | | Summary: This patch adds Clang tests for Cortex-R8 related to FP capabilities and hardware integer divide. Reviewers: rengolin, bsmith Subscribers: aemerson, cfe-commits, rengolin Differential Revision: http://reviews.llvm.org/D18193 llvm-svn: 263632
* Avoid using LookupResult's implicit copy ctor and assignment operator to ↵Marina Yatsina2016-03-161-0/+15
| | | | | | | | | | | | | avoid warnings The purpose of this patch is to keep the same functionality without using LookupResult's implicit copy ctor and assignment operator, because they cause warnings when -Wdeprecated is passed. This patch is meant to help the following review: http://reviews.llvm.org/D18123. The functionality is covered by the tests in my original commit (255890) The test case in this patch was added to test a bug caught in the review of the first version of this fix. Differential Revision: http://reviews.llvm.org/D18175 llvm-svn: 263630
* [cfi] Don't emit checks for disabled CFI kinds.Evgeniy Stepanov2016-03-152-1/+72
| | | | | | | | | | | | | | In the cross-DSO CFI mode clang emits __cfi_check_fail that handles errors triggered from other modules with targets in the current module. With this change, __cfi_check_fail will handle errors for CFI kinds that are not enabled in the current module as if they have the trapping behaviour (-fsanitize-trap=...). This fixes a bug where some combinations of -fsanitize* flags may result in a link failure due to a missing sanitizer runtime library for the diagnostic calls in __cfi_check_fail. llvm-svn: 263578
* Remove compile time PreserveName in favor of a runtime cc1 ↵Mehdi Amini2016-03-135-14/+14
| | | | | | | | | | | | | | | | | | | | -discard-value-names option Summary: This flag is enabled by default in the driver when NDEBUG is set. It is forwarded on the LLVMContext to discard all value names (but GlobalValue) for performance purpose. This an improved version of D18024 Reviewers: echristo, chandlerc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18127 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 263394
* Added test that covers changes in r263379.Amjad Aboud2016-03-131-0/+10
| | | | llvm-svn: 263380
* [SEH] Remove nounwind/noinline from outlined finally funcletsReid Kleckner2016-03-111-2/+19
| | | | | | With the new EH representation this is no longer necessary. llvm-svn: 263269
* Reenable asm-errors.cNico Weber2016-03-101-3/+2
| | | | | | | r134811 made the test pass and reenabled it, but r134831 accidentally disabled it again due to a bad merge. llvm-svn: 263168
* Updated SSE3 builtin tests to more closely match the llvm fast-isel ↵Simon Pilgrim2016-03-101-7/+9
| | | | | | equivalent tests llvm-svn: 263117
* Added note to SSE4a builtins about keeping in sync with llvm testsSimon Pilgrim2016-03-101-0/+2
| | | | llvm-svn: 263116
* Updated SSSE3 builtin tests to more closely match the llvm fast-isel ↵Simon Pilgrim2016-03-101-15/+17
| | | | | | equivalent tests llvm-svn: 263115
* ARM: fix arm_neon_intrinsics.c and re-enable.Tim Northover2016-03-101-6882/+6469
| | | | | | | It turns out I'd never actually tested my recent change because it was gated on long-tests. Failure ensued. llvm-svn: 263093
* Disable failing test and fix RUN line.Richard Trieu2016-03-101-2/+3
| | | | | | | | See https://llvm.org/bugs/show_bug.cgi?id=26894 for details. This change fixes the incorrect flags to Clang and the piping issue. It also disables the FileCheck portion of the test, which is currently failing. llvm-svn: 263091
* ARM & AArch64: fix IR-converted tests.Tim Northover2016-03-098-2331/+2331
| | | | | | | My script was converting %a0 to [[A]]0 if it had seen %a defined before %a0. Oops. llvm-svn: 263056
* [PPC] FE support for generating VSX [negated] absolute value instructionsKit Barton2016-03-093-9/+33
| | | | | | | | | | Includes new built-in, conversion of built-in to target-independent intrinsic and update in the header file. Tests are also updated. There is a second part in the backend for which I will post a separate code-review. BACKEND PART SHOULD BE COMMITTED FIRST. Phabricator: http://reviews.llvm.org/D17816 llvm-svn: 263051
* ARM & AArch64: convert asm tests to LLVM IR and restrict optimizations.Tim Northover2016-03-0939-11755/+48443
| | | | | | | | | | | | | | | This is mostly a one-time autoconversion of tests that checked assembly after "-Owhatever" compiles to only run "opt -mem2reg" and check the assembly. This should make them much more stable to changes in LLVM so they won't break on unrelated changes. "opt -mem2reg" is a compromise designed to increase the readability of tests that check dataflow, while minimizing dependency on LLVM. Hopefully mem2reg is stable enough that no surpises will come along. Should address http://llvm.org/PR26815. llvm-svn: 263048
* AArch64: remove a couple more tests already covered elsewhere.Tim Northover2016-03-092-590/+0
| | | | llvm-svn: 263038
* AArch64: remove tests of intrinsics completely duplicated elsewhere.Tim Northover2016-03-0817-2507/+0
| | | | llvm-svn: 262964
OpenPOWER on IntegriCloud