| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 271525
|
| |
|
|
|
|
| |
updateAArch64Add takes care of masking.
llvm-svn: 271524
|
| |
|
|
| |
llvm-svn: 271523
|
| |
|
|
| |
llvm-svn: 271522
|
| |
|
|
|
|
|
|
|
|
| |
Contributed-by: Utpal Bora <cs14mtech11017@iith.ac.in>
Reviewed-by: Michael Kruse <meinersbur@googlemail.com>
Johannes Doerfert <doerfert@cs.uni-saarland.de>
Differential Revision: http://reviews.llvm.org/D20831
llvm-svn: 271521
|
| |
|
|
|
|
|
|
| |
Handle it locally instead of having the target-independent pass deal
with it. The generic pass does not preserve implicit uses, which may
be necessary.
llvm-svn: 271520
|
| |
|
|
| |
llvm-svn: 271519
|
| |
|
|
| |
llvm-svn: 271518
|
| |
|
|
|
|
| |
AArch64 uses TLSDESC, so these are dead.
llvm-svn: 271517
|
| |
|
|
|
|
| |
These currently lower to regular loads instead of MOVNTDQA
llvm-svn: 271516
|
| |
|
|
| |
llvm-svn: 271515
|
| |
|
|
| |
llvm-svn: 271514
|
| |
|
|
|
|
|
|
|
| |
We now have a simple function to adjust/unify the types of two (or three)
operands before an operation that requieres the same type for all operands.
Due to this change we will not promote parameters that are added to i64
anymore if that is not needed.
llvm-svn: 271513
|
| |
|
|
| |
llvm-svn: 271512
|
| |
|
|
| |
llvm-svn: 271511
|
| |
|
|
|
|
|
|
|
|
|
|
| |
f32/f64 to i32 with generic IR (llvm)
This patch removes the llvm intrinsics (V)CVTTPS2DQ and VCVTTPD2DQ truncation (round to zero) conversions and auto-upgrades to FP_TO_SINT calls instead.
Note: I looked at updating CVTTPD2DQ as well but this still requires a lot more work to correctly lower.
Differential Revision: http://reviews.llvm.org/D20860
llvm-svn: 271510
|
| |
|
|
|
|
| |
clang.EXE: error: unsupported option '-fsanitize=address' for target 'x86_64-w64-windows-gnu'
llvm-svn: 271509
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20865
llvm-svn: 271508
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20864
llvm-svn: 271507
|
| |
|
|
|
|
| |
Patch adds relaxGotNoPic() method to handle no-PIC path.
llvm-svn: 271506
|
| |
|
|
|
|
|
|
|
| |
In r271380, I added several functions to get the minimum/maximum values
of n-width integers.
This just adds tests for them.
llvm-svn: 271505
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This removes usage of the hacky, incorrect, and TSan-unfriendly
home-grown atomics. It should actually be more efficient in some cases.
Based on our existing usage of <atomic>, all of this is portably
available AFAICT. One small challenge is initializing the stastic, but
I've tried a comparable sample out on MSVC (the most likely to complain
here) and it seems to work. Will have to watch the build bots of course.
llvm-svn: 271504
|
| |
|
|
|
|
|
|
|
|
|
| |
statistics.
Scaling statistics atomically doesn't make any sense anyways, and none
were using these. If you find yourself wanting to do this, you should
probably keep a local count that you scale and then apply that after
scaling to the shared statistic object.
llvm-svn: 271503
|
| |
|
|
| |
llvm-svn: 271502
|
| |
|
|
| |
llvm-svn: 271501
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch breaks the ABI on linux when libc++abi.a is statically linked into
libc++.so. Certain libc++ symbols get exported from libc++abi.a as hidden
and therefore they also get hidden in libc++.so.
The symbols is question are:
* _ZNKSt3__121__basic_string_commonILb1EE20__throw_out_of_rangeEv
* _ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv
* _ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv
I imagine we just need to fix the visibility for these symbols in the libc++
headers but I'm reverting the patch until it's sorted.
llvm-svn: 271500
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20861
llvm-svn: 271499
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20870
llvm-svn: 271498
|
| |
|
|
|
|
| |
We used T_INT8 instead of T_QUAD.
llvm-svn: 271497
|
| |
|
|
|
|
|
|
| |
We only considered the length of the operation and the length of the
StreamRef without considered what it meant for the offset to be at a
non-zero position.
llvm-svn: 271496
|
| |
|
|
| |
llvm-svn: 271495
|
| |
|
|
|
|
|
| |
Use the type index of the underlying type unless we have a typedef from
long to HRESULT; HRESULT typedefs are translated to T_HRESULT.
llvm-svn: 271494
|
| |
|
|
| |
llvm-svn: 271493
|
| |
|
|
|
|
|
|
|
|
|
| |
tests on Apple platforms.
This fixes a broken part of the build on OSX as the dataflow sanitizer is not supported
on OSX yet.
Differential Revision: http://reviews.llvm.org/D20894
llvm-svn: 271492
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The motivation for this change is to fix linking issues on OSX.
However this only partially fixes linking issues (the uninstrumented
tests and a few others won't succesfully link yet).
This change introduces a struct of function pointers
(``fuzzer::ExternalFuntions``) which when initialised will point to the
optional functions if they are available. Currently these
``LLVMFuzzerInitialize`` and ``LLVMFuzzerCustomMutator`` functions.
Two implementations of ``fuzzer::ExternalFunctions`` constructor are
provided one for Linux and one for OSX.
The OSX implementation uses ``dlsym()`` because the prior implementation
using weak symbols does not work unless the additional flags are passed
to the linker.
The Linux implementation continues to use weak symbols because the
``dlsym()`` approach does not work unless additional flags are passed
to the linker.
Differential Revision: http://reviews.llvm.org/D20741
llvm-svn: 271491
|
| |
|
|
| |
llvm-svn: 271490
|
| |
|
|
| |
llvm-svn: 271489
|
| |
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20876
Reviewed By: rnk, ruiu
llvm-svn: 271488
|
| |
|
|
| |
llvm-svn: 271487
|
| |
|
|
| |
llvm-svn: 271486
|
| |
|
|
|
|
|
|
| |
supported. VMOVNTDQ is available with AVX1.
We were getting this right for v4i64 but not the other integer types.
llvm-svn: 271482
|
| |
|
|
|
|
|
|
| |
I'm not sure why this was missing for so long.
This also exposed that we were picking floating point 256-bit VMOVNTPS for some integer types in normal isel for AVX1 even though VMOVNTDQ is available. In practice it doesn't matter due to the execution dependency fix pass, but it required extra isel patterns. Fixing that in a follow up commit.
llvm-svn: 271481
|
| |
|
|
| |
llvm-svn: 271480
|
| |
|
|
|
|
| |
unused.
llvm-svn: 271479
|
| |
|
|
|
|
|
|
| |
intrinsics instead.
The intrinsics will be autoupgraded to the same generic masked loads.
llvm-svn: 271478
|
| |
|
|
|
|
|
| |
LWG issue 2218 relaxes a restriction on how containers can call
Alloc::construct(...) and Alloc::destroy(...). There is nothing new to test.
llvm-svn: 271477
|
| |
|
|
| |
llvm-svn: 271476
|
| |
|
|
| |
llvm-svn: 271475
|
| |
|
|
| |
llvm-svn: 271474
|
| |
|
|
| |
llvm-svn: 271473
|