| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 254020
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D14802
llvm-svn: 254019
|
| |
|
|
|
|
|
| |
Consolidate the description of -binary/-text option description
to avoid duplicate ID error by sphinux-build.
llvm-svn: 254018
|
| |
|
|
|
|
|
|
|
|
|
| |
r253918 had refactored expressions like "A - B.Address + C" to "A -
B.getAddressWithOffset(C)". This is incorrect, since the latter really
computes "A - B.Address - C".
None of the tests I can run locally on x86 broke due to this bug, but it
is the current suspect for breakage on the AArch64 buildbots.
llvm-svn: 254017
|
| |
|
|
|
|
|
|
|
|
| |
X86 needs to use its own FMA opcodes, preventing the standard FNEG(FMA) pattern table recognition method used by other platforms. This patch adds support for lowering FNEG(FMA(X,Y,Z)) into a single suitably negated FMA instruction.
Fix for PR24364
Differential Revision: http://reviews.llvm.org/D14906
llvm-svn: 254016
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch adds some fixes for MSAN with libc++ for aarch64:
1. Adds the libmsan_loadable name for aarch64.
2. Fixes some pthread_attr_setstacksize for aarch64, since glibc sets
the mininum stack size to be higher than the x86_64 default (16KB
vs 128KB).
3. Fixes a swprintf null char constant definition.
llvm-svn: 254015
|
| |
|
|
| |
llvm-svn: 254013
|
| |
|
|
|
|
|
|
|
|
| |
reserved physical registers
Patch by Nick Johnson <Nicholas.Paul.Johnson@deshawresearch.com>
Differential Revision: http://reviews.llvm.org/D14875
llvm-svn: 254012
|
| |
|
|
|
|
|
|
|
|
|
| |
Analyze imported function bodies and add any new external calls to
the worklist for importing. Currently no controls on the importing
so this will end up importing everything possible in the call tree
below the importing module. Basic profitability checks coming next.
Update test to check for iteratively inlined functions.
llvm-svn: 254011
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the following issues:
1. Fix the return type of X86psadbw: it should not be the same type of inputs.
For vNi8 inputs the output should be vMi64, where M = N/8.
2. Fix the return type of int_x86_avx512_psad_bw_512 accordingly.
3. Fix the definiton of PSADBW, VPSADBW, and VPSADBWY accordingly.
4. Adjust the return type when building a DAG node of X86ISD::PSADBW type.
5. Update related tests.
Differential revision: http://reviews.llvm.org/D14897
llvm-svn: 254010
|
| |
|
|
|
|
|
|
|
|
|
| |
The new function import pass exposed an issue when we import references
to local values on multiple importing passes. They are renamed on each
import pass, and we need to ensure that the already promoted and renamed
references existing in the dest module are correctly identified and
updated so that they aren't spuriously renamed again (due to a perceived
conflict with the newly linked reference).
llvm-svn: 254009
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The closure is designed to abstact away two types of value profile
data:
- InstrProfRecord which is the primary data structure used to
represent profile data in host tools (reader, writer, and profile-use)
- value profile runtime data structure suitable to be used by C
runtime library.
Both sources of data need to serialize to disk/memory-buffer in common
format: ValueProfData.
The abstraction allows compiler-rt's raw profiler writer to share
the same code with indexed profile writer.
llvm-svn: 254008
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
null to nonnull.
The nullability checker was not suppressing false positives resulting from
inlined defensive checks when null was bound to a nonnull variable because it
was passing the entire bind statement rather than the value expression to
trackNullOrUndefValue().
This commit changes that checker to synactically match on the bind statement to
extract the value expression so it can be passed to trackNullOrUndefValue().
rdar://problem/23575439
llvm-svn: 254007
|
| |
|
|
|
|
|
|
|
|
| |
FreeBSD
On FreeBSD we may get Clang via CC=cc or CC=/usr/bin/cc.
llvm.org/pr25626
llvm-svn: 254006
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Followed the guidelines in:
http://llvm.org/docs/CodingStandards.html#include-style
However, I noticed that uppercase named headers come before lowercase ones
throughout the codebase. So kept them as is.
Patch by Mandeep Singh Grang <mgrang@codeaurora.org>
Reviewers: majnemer, davide, jmolloy, atrick
Subscribers: sanjoy
Differential Revision: http://reviews.llvm.org/D14939
llvm-svn: 254005
|
| |
|
|
|
|
|
| |
This patch reverts r253985 and implements the same feature
in a less intrusive way.
llvm-svn: 254004
|
| |
|
|
|
|
|
| |
This reverts commit r253797 because it was based on a misunderstanding
that lld wouldn't work on NetBSD without this change.
llvm-svn: 254003
|
| |
|
|
|
|
|
|
|
|
| |
This test was already expectedFlakeyLinux for occasional failures on the
Linux buildbot. It seems the new FreeBSD buildbot fails the same way on
occasion.
llvm.org/pr25172
llvm-svn: 254002
|
| |
|
|
|
|
|
|
|
| |
These pass on my FreeBSD stable/10 desktop and my (not-yet-connected)
FreeBSD 11-CURRENT buildbot
llvm.org/pr20548
llvm-svn: 254001
|
| |
|
|
|
|
|
|
|
| |
This passes on my FreeBSD stable/10 desktop and my new FreeBSD
11-current buildbot (which is not yet hooked up to the buildmaster).
llvm.org/pr18190
llvm-svn: 254000
|
| |
|
|
|
|
|
|
| |
Convert two C++ static member functions to be C APIs. This
is one of the many steps to get ready to share VP writer code
with profiler runtime.
llvm-svn: 253999
|
| |
|
|
|
|
| |
llvm.org/pr25624
llvm-svn: 253998
|
| |
|
|
|
|
|
| |
Noticed while working on D4583:
http://reviews.llvm.org/D4583
llvm-svn: 253997
|
| |
|
|
| |
llvm-svn: 253996
|
| |
|
|
|
|
|
|
|
|
|
|
| |
gfortran (and fortran in general?) does not compute the address of an array
element directly from the array sizes (e.g., %s0, %s1), but takes first the
maximum of the sizes and 0 (e.g., max(0, %s0)) before multiplying the resulting
value with the per-dimension array subscript expressions. To successfully
delinearize index expressions as we see them in fortran, we first filter 'smax'
expressions out of the SCEV expression, use them to guess array size parameters
and only then continue with the existing delinearization.
llvm-svn: 253995
|
| |
|
|
| |
llvm-svn: 253994
|
| |
|
|
|
|
| |
It now tests with files in both orders.
llvm-svn: 253993
|
| |
|
|
|
| |
Author: Ron Lieberman <ronl@codeaurora.org>
llvm-svn: 253992
|
| |
|
|
|
|
|
| |
Skip imports for weak_any aliases as well. Fix the test to check
non-import of weak aliases and functions, and import of normal alias.
llvm-svn: 253991
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The Driver only checked if nostdlib was set when deciding to add
reserved_lib_stdcxx, but as nostdlib is always exactly nodefaultlibs and
nostartfiles we should be checking one (clearly nodefaultlibs in the
case) as well. This appears to be the only such instance of this in the
codebase.
Differential Revision: http://reviews.llvm.org/D14935
llvm-svn: 253990
|
| |
|
|
| |
llvm-svn: 253989
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had duplicated definitions for the same hardware '[v]movq' instructions. For example with SSE:
def MOVZQI2PQIrr : RS2I<0x6E, MRMSrcReg, (outs VR128:$dst), (ins GR64:$src),
"mov{d|q}\t{$src, $dst|$dst, $src}", // X86-64 only
[(set VR128:$dst, (v2i64 (X86vzmovl (v2i64 (scalar_to_vector GR64:$src)))))],
IIC_SSE_MOVDQ>;
def MOV64toPQIrr : RS2I<0x6E, MRMSrcReg, (outs VR128:$dst), (ins GR64:$src),
"mov{d|q}\t{$src, $dst|$dst, $src}",
[(set VR128:$dst, (v2i64 (scalar_to_vector GR64:$src)))],
IIC_SSE_MOVDQ>, Sched<[WriteMove]>;
As shown in the test case and PR25554:
https://llvm.org/bugs/show_bug.cgi?id=25554
This causes us to miss reusing an operand because later passes don't know these 'movq' are the same instruction.
This patch deletes one pair of these defs.
Sadly, this won't fix the original test case in the bug report. Something else is still broken.
Differential Revision: http://reviews.llvm.org/D14941
llvm-svn: 253988
|
| |
|
|
|
|
|
| |
Lack thereof breaks Windows builds due to the use of std::isspace
in HexagonInstrInfo.cpp.
llvm-svn: 253987
|
| |
|
|
| |
llvm-svn: 253986
|
| |
|
|
| |
llvm-svn: 253985
|
| |
|
|
|
|
|
|
|
| |
This tests that a declaration can resolve to an alias.
I broke this locally while prototyping a change and it looks like a nice
test to have.
llvm-svn: 253984
|
| |
|
|
|
|
|
|
| |
On OS X, SIGBUS is 10 and SIGSYS is 12.
Differential Revision: http://reviews.llvm.org/D14946
llvm-svn: 253983
|
| |
|
|
|
|
|
|
| |
We need to intercept libdispatch APIs (dispatch_sync, dispatch_async, etc.) to add synchronization between the code that submits the task and the code that gets executed (possibly on a different thread). This patch adds release+acquire semantics for dispatch_sync, and dispatch_async (plus their "_f" and barrier variants). The synchronization is done on malloc'd contexts (separate for each submitted block/callback). Added tests to show usage of dispatch_sync and dispatch_async, for cases where we expect no warnings and for cases where TSan finds races.
Differential Revision: http://reviews.llvm.org/D14745
llvm-svn: 253982
|
| |
|
|
|
|
|
|
| |
The test relies on two variables in different frames to end up being on the same address. For some reason, this isn't true on OS X. This patch adds `__attribute__((aligned(64)))` to the variables, which actually makes the variables occupy the same address. This is still not a guarantee, but it's more likely to work (the test looks very fragile already).
Differential Revision: http://reviews.llvm.org/D14925
llvm-svn: 253981
|
| |
|
|
|
|
|
|
|
|
| |
Pthread semaphores are not available on OS X. Let's replace sem_wait/sem_post with barrier_wait, which makes the test pass on OS X. I know that sem_wait/sem_post is intercepted by TSan, whereas barrier_wait is TSan-invisible, but the purpose of the test is not affected by this.
Also, let's properly initialize the mutex and cond variables.
Differential Revision: http://reviews.llvm.org/D14924
llvm-svn: 253980
|
| |
|
|
|
|
|
|
| |
On OS X, interceptors don't work in unit tests, so calloc() calls the system allocator. We need to use user_calloc() instead.
Differential Revision: http://reviews.llvm.org/D14918
llvm-svn: 253979
|
| |
|
|
|
|
|
|
| |
Those types are needed to implement instructions for Hexagon Vector
Extensions (HVX): 16x32, 16x64, 32x16, 32x32, 32x64, 64x8, 64x16,
64x32, 128x8, 128x16, 256x8, 512x1, and 1024x1.
llvm-svn: 253978
|
| |
|
|
|
|
| |
If 'task' region does not have shared variables codegen could crash on calculation of size of list of shared variables.
llvm-svn: 253977
|
| |
|
|
| |
llvm-svn: 253976
|
| |
|
|
|
|
| |
If properly aligned this could allow using ds_read_b64.
llvm-svn: 253975
|
| |
|
|
|
|
|
|
| |
The one regression in the builtin tests is in the read2 test which now
(again) has many extra copies, but this should be solved once the pass
is replaced with a DAG combine.
llvm-svn: 253974
|
| |
|
|
|
|
|
|
| |
targets.
Differential revision: http://reviews.llvm.org/D14823
llvm-svn: 253973
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Also, there are no exported character type tables from Musl so we have to
Fallback to the standard functions. This reduces the number of libcxx's
test-suite failures down to ~130 for MIPS. Most of the remaining failures
come from the atomics (due to the lack of 8-byte atomic-ops in MIPS32) and
thread tests.
Reviewers: mclow.lists, EricWF, dalias, jroelofs
Subscribers: tberghammer, danalbert, srhines, cfe-commits
Differential Revision: http://reviews.llvm.org/D14926
llvm-svn: 253972
|
| |
|
|
| |
llvm-svn: 253971
|
| |
|
|
| |
llvm-svn: 253970
|