| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Before, this would lead to a crash:
f('', true);
llvm-svn: 200540
|
| |
|
|
| |
llvm-svn: 200539
|
| |
|
|
| |
llvm-svn: 200538
|
| |
|
|
| |
llvm-svn: 200537
|
| |
|
|
| |
llvm-svn: 200536
|
| |
|
|
|
|
|
|
|
|
|
| |
__sanitizer_kernel_* ones.
Also rename internal_sigaction() into internal_sigaction_norestorer(), as this function doesn't fully
implement the sigaction() functionality on Linux.
This change is a part of refactoring intended to have common signal handling behavior in all tools.
llvm-svn: 200535
|
| |
|
|
|
|
| |
Go linker does not like function-static objects.
llvm-svn: 200534
|
| |
|
|
| |
llvm-svn: 200533
|
| |
|
|
| |
llvm-svn: 200532
|
| |
|
|
|
|
| |
implies it.
llvm-svn: 200531
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
loop vectorizer to not do so when runtime pointer checks are needed and
share code with the new (not yet enabled) load/store saturation runtime
unrolling. Also ensure that we only consider the runtime checks when the
loop hasn't already been vectorized. If it has, the runtime check cost
has already been paid.
I've fleshed out a test case to cover the scalar unrolling as well as
the vector unrolling and comment clearly why we are or aren't following
the pattern.
llvm-svn: 200530
|
| |
|
|
| |
llvm-svn: 200529
|
| |
|
|
|
|
|
|
| |
This should be the last routine patch: AArch64 does still delegate to
EmitARMBuiltinExpr, but the remaining instances have complications of
one sort or another so some more cunning thought will be needed.
llvm-svn: 200528
|
| |
|
|
| |
llvm-svn: 200527
|
| |
|
|
| |
llvm-svn: 200526
|
| |
|
|
| |
llvm-svn: 200525
|
| |
|
|
| |
llvm-svn: 200524
|
| |
|
|
|
|
|
|
|
|
|
| |
GCC will treat the default function template arguments as a
compilation error if C++0x is not enabled.
This commit workaround the compilation error by moving the
SFINAE check to function argument instead of the template
argument.
llvm-svn: 200523
|
| |
|
|
|
|
| |
TSFlags. This greatly simplifies the switch statements in the disassembler tables and the code emitters.
llvm-svn: 200522
|
| |
|
|
|
|
|
|
|
|
| |
casts, which are used
by some projects in their null macro.
rdar://15925483
llvm-svn: 200521
|
| |
|
|
|
|
| |
had special handling anyway and this enables a future patch.
llvm-svn: 200520
|
| |
|
|
|
|
|
| |
MSVC2012 seems to choose int as the underlying type for an enum even if one of
its member is unsigned long long.
llvm-svn: 200519
|
| |
|
|
|
|
|
| |
The charcateristics field should not have IMAGE_FILE_32BIT_MACHINE bit but have
IMAGE_FILE_LARGE_ADDRESS_AWARE bit for PE32+.
llvm-svn: 200518
|
| |
|
|
|
|
| |
for VEX encoded instructions too. This allows 32-bit addressing to work in 64-bit mode.
llvm-svn: 200517
|
| |
|
|
|
|
| |
for VEX encoded instructions too. This allows 32-bit addressing to work in 64-bit mode.
llvm-svn: 200516
|
| |
|
|
|
|
|
|
|
|
| |
The entry block of a function starts with all the static allocas. The change
in r195513 splits the block before those allocas, which has the effect of
turning them into dynamic allocas. That breaks all sorts of things. Change to
split after the initial allocas, and also add a comment explaining why the
block is split.
llvm-svn: 200515
|
| |
|
|
|
|
|
| |
The PE32+ loader does not seem to like an executable with an empty section, so
we should not emit a section if it's empty.
llvm-svn: 200514
|
| |
|
|
|
|
| |
processing. (http://llvm-reviews.chandlerc.com/D2451)
llvm-svn: 200513
|
| |
|
|
| |
llvm-svn: 200512
|
| |
|
|
| |
llvm-svn: 200511
|
| |
|
|
|
|
| |
(http://llvm-reviews.chandlerc.com/D2655)
llvm-svn: 200510
|
| |
|
|
| |
llvm-svn: 200509
|
| |
|
|
| |
llvm-svn: 200508
|
| |
|
|
|
|
|
| |
We'd add, as a fallback, DOS style paths when using the driver using a
win32 triple. On a UNIX-like platform, this isn't particularly helpful.
llvm-svn: 200507
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when the input is a concat_vectors and the insert replaces one of the
concat halves:
Lower half: fold (insert_subvector (concat_vectors X, Y), Z) ->
(concat_vectors Z, Y)
Upper half: fold (insert_subvector (concat_vectors X, Y), Z) ->
(concat_vectors X, Z)
This can be seen with the following IR:
define <8 x float> @lower_half(<4 x float> %v1, <4 x float> %v2, <4 x
float> %v3) {
%1 = shufflevector <4 x float> %v1, <4 x float> %v2, <8 x i32> <i32
0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
%2 = tail call <8 x float> @llvm.x86.avx.vinsertf128.ps.256(<8 x
float> %1, <4 x float> %v3, i8 0)
The vinsertf128 intrinsic is converted into an insert_subvector node
in SelectionDAGBuilder.cpp.
Using AVX, without the patch this generates two vinsertf128 instructions:
vinsertf128 $1, %xmm1, %ymm0, %ymm0
vinsertf128 $0, %xmm2, %ymm0, %ymm0
With the patch this is optimized into:
vinsertf128 $1, %xmm1, %ymm2, %ymm0
Patch by Robert Lougher.
llvm-svn: 200506
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add the ImportDecl to the set of interesting delcarations that are
deserialized eagerly when an AST file is loaded (rather than lazily like
most decls). This is required to get auto linking to work when there is
no explicit import in the main file. Also resolve a FIXME to rename
'ExternalDefinitions', since that is only one of the things that need eager
deserialization. The new name is 'EagerlyDeserializedDecls'. The corresponding
AST bitcode is also renamed.
llvm-svn: 200505
|
| |
|
|
|
|
| |
<rdar://problem/15953271>
llvm-svn: 200504
|
| |
|
|
|
|
| |
they're not legal.
llvm-svn: 200503
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When converting from "or + br" to two branches, or converting from
"and + br" to two branches, we correctly update the edge weights of
the two branches.
The previous attempt at r200431 was reverted at r200434 because of
two testing case failures. I modified my patch a little, but forgot
to re-run "make check-all".
Testing case CodeGen/ARM/lsr-unfolded-offset.ll is updated because of
the patch's impact on branch probability which causes changes in
spill placement.
llvm-svn: 200502
|
| |
|
|
|
|
|
|
| |
This doesn't set errno, so this should be OK.
Also update the documentation to explicitly state
that errno are not set.
llvm-svn: 200501
|
| |
|
|
| |
llvm-svn: 200500
|
| |
|
|
|
|
| |
I accidentally mis-dropped LLVM_COMPILE_FLAGS in r200301. Sorry for that.
llvm-svn: 200499
|
| |
|
|
| |
llvm-svn: 200498
|
| |
|
|
|
|
|
|
|
| |
This function returns a list of completions for a given expression and
completion position.
Differential Revision: http://llvm-reviews.chandlerc.com/D2261
llvm-svn: 200497
|
| |
|
|
|
|
|
| |
operator--, since it might instantiate as 'int' (or, if it's a pack, it
might instantiate as an empty pack).
llvm-svn: 200496
|
| |
|
|
|
|
|
|
|
| |
These should end up (in ELF) as R_X86_64_32S relocs, not R_X86_64_32.
Kill the horrid and incomplete special case and FIXME in
EncodeInstruction() and set things up so it can infer the signedness
from the ImmType just like it can the size and whether it's PC-relative.
llvm-svn: 200495
|
| |
|
|
|
|
|
| |
reference (or pointer) to a variable from the closure object or from the
surrounding function scope.
llvm-svn: 200494
|
| |
|
|
| |
llvm-svn: 200493
|
| |
|
|
|
|
|
| |
This is causing a failure in the msan buildbot that I am having trouble
reproducing. Reverting until I can figure out what went wrong.
llvm-svn: 200492
|
| |
|
|
|
|
| |
v8i16, v16i8 types.
llvm-svn: 200491
|