| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17693
llvm-svn: 265952
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
builtin to clang
Differential Revision: http://reviews.llvm.org/D18924
llvm-svn: 265928
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
vpermil{var}{ps|pd}{256|512} ) builtin to clang.
Differential Revision: http://reviews.llvm.org/D18933
llvm-svn: 265915
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18932
llvm-svn: 265904
|
|
|
|
|
|
|
|
| |
builtin to clang
Differential Revision: http://reviews.llvm.org/D18931
llvm-svn: 265896
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18925
llvm-svn: 265895
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 265488
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18651
llvm-svn: 265405
|
|
|
|
| |
llvm-svn: 265362
|
|
|
|
|
|
| |
it was supposed to have been used.
llvm-svn: 265344
|
|
|
|
| |
llvm-svn: 265324
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17378
llvm-svn: 264727
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Also add documentation for bitreverse builtins
llvm-svn: 264203
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13980
llvm-svn: 264149
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Patch by Sam Parker.
llvm-svn: 263957
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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
|
|
|
|
| |
llvm-svn: 263380
|
|
|
|
|
|
| |
With the new EH representation this is no longer necessary.
llvm-svn: 263269
|
|
|
|
|
|
|
| |
r134811 made the test pass and reenabled it, but r134831
accidentally disabled it again due to a bad merge.
llvm-svn: 263168
|
|
|
|
|
|
| |
equivalent tests
llvm-svn: 263117
|
|
|
|
| |
llvm-svn: 263116
|
|
|
|
|
|
| |
equivalent tests
llvm-svn: 263115
|
|
|
|
|
|
|
| |
It turns out I'd never actually tested my recent change because it was
gated on long-tests. Failure ensued.
llvm-svn: 263093
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
My script was converting %a0 to [[A]]0 if it had seen %a defined before %a0.
Oops.
llvm-svn: 263056
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 263038
|
|
|
|
| |
llvm-svn: 262964
|