| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D3973
llvm-svn: 209954
|
| |
|
|
|
|
|
| |
There is no std::error_code::success, so this removes much of the noise
in transitioning to std::error_code.
llvm-svn: 209953
|
| |
|
|
|
|
|
| |
There is no std::error_code::success, so this removes much of the noise
in transitioning to std::error_code.
llvm-svn: 209952
|
| |
|
|
| |
llvm-svn: 209951
|
| |
|
|
|
|
|
|
|
|
| |
I was bitten by this when working with the dll attributes: when a dll
attribute was cloned from a class template declaration to its
specialization, the Inherited flag didn't get cloned.
Differential Revision: http://reviews.llvm.org/D3972
llvm-svn: 209950
|
| |
|
|
|
|
|
| |
There is no std::error_code::success, so this removes much of the noise
in transitioning to std::error_code.
llvm-svn: 209949
|
| |
|
|
|
|
|
| |
There is no std::error_code::success, so this removes much of the noise
in transitioning to std::error_code.
llvm-svn: 209948
|
| |
|
|
|
|
|
| |
Following the lead set by r209324, I'm making these tests match the whole
instruction, so we can be sure we're lowering them correctly.
llvm-svn: 209947
|
| |
|
|
|
|
| |
blacklisted functions
llvm-svn: 209946
|
| |
|
|
| |
llvm-svn: 209945
|
| |
|
|
| |
llvm-svn: 209944
|
| |
|
|
| |
llvm-svn: 209943
|
| |
|
|
|
|
| |
{extract,insert} vector element instructions.
llvm-svn: 209942
|
| |
|
|
|
|
|
| |
consistently, rather than sometimes performing lookup and calling the
LookupResult form. No functionality change intended.
llvm-svn: 209941
|
| |
|
|
| |
llvm-svn: 209940
|
| |
|
|
|
|
| |
blacklisted functions
llvm-svn: 209939
|
| |
|
|
| |
llvm-svn: 209938
|
| |
|
|
| |
llvm-svn: 209937
|
| |
|
|
|
|
|
|
| |
This simplifies code flow and matches the convention used in surrounding code.
No functional change.
llvm-svn: 209936
|
| |
|
|
| |
llvm-svn: 209935
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
legalization when promoting nodes with illegal vector type.
This patch teaches the backend how to simplify/canonicalize dag node
sequences normally introduced by the backend when promoting certain dag nodes
with illegal vector type.
This patch adds two new combine rules:
1) fold (shuffle (bitcast (BINOP A, B)), Undef, <Mask>) ->
(shuffle (BINOP (bitcast A), (bitcast B)), Undef, <Mask>)
2) fold (BINOP (shuffle (A, Undef, <Mask>)), (shuffle (B, Undef, <Mask>))) ->
(shuffle (BINOP A, B), Undef, <Mask>).
Both rules are only triggered on the type-legalized DAG.
In particular, rule 1. is a target specific combine rule that attempts
to sink a bitconvert into the operands of a binary operation.
Rule 2. is a target independet rule that attempts to move a shuffle
immediately after a binary operation.
llvm-svn: 209930
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
If both vector args to vselect are concat_vectors and the condition is
constant and picks half a vector from each argument, convert the vselect
into a concat_vectors.
Added a test.
The ConvertSelectToConcatVector is assuming it doesn't get vselects with
arguments of, for example, <undef, undef, true, true>. Those get taken
care of in the checks above its call.
Reviewers: nadav, delena, grosbach, hfinkel
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D3916
llvm-svn: 209929
|
| |
|
|
| |
llvm-svn: 209928
|
| |
|
|
|
|
| |
block and remove the unreachable code.
llvm-svn: 209927
|
| |
|
|
|
|
| |
rest of the targets with a similar function name.
llvm-svn: 209926
|
| |
|
|
| |
llvm-svn: 209925
|
| |
|
|
|
|
| |
qualified name of a NamedDecl. Patch by Volodymyr Sapsai!
llvm-svn: 209924
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Separate the check for blend shuffle_vector masks into isBlendMask.
This function will also be used to check if a vector shuffle is legal. No
change in functionality was intended, but we ended up improving codegen on
two tests, which were being (more) optimized only if the resulting shuffle
was legal.
Reviewers: nadav, delena, andreadb
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D3964
llvm-svn: 209923
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reapplies r209910 with a fix for the assertion failures hit on the
buildbots.
original commit message:
I thought we could get away without this, but it means that the
FileEntry objects actually refer to the wrong files, since pcms are not
updated inplace, they are atomically renamed into place after compiling
a module.
So we are close to the original behaviour of invalidating the cache for
all modules being removed, but now we should only invalidate the ones
that depend on whichever module failed to load.
Unfortunately I haven't come up with a new test that didn't require
a race between parallel invocations of clang.
<rdar://problem/17038180>
llvm-svn: 209922
|
| |
|
|
| |
llvm-svn: 209921
|
| |
|
|
| |
llvm-svn: 209920
|
| |
|
|
|
|
| |
This presumably got inadvertently copied from dllimport-members.cpp.
llvm-svn: 209919
|
| |
|
|
| |
llvm-svn: 209918
|
| |
|
|
|
|
|
|
|
|
| |
are not thread safe.
I switched the lldb_private::FileSpec code over to use "llvm::StringRef llvm::sys::path::filename(llvm::StringRef)" for basename() and "llvm::StringRef llvm::sys::path::parent_path(llvm::StringRef)" for dirname().
<rdar://problem/16870083>
llvm-svn: 209917
|
| |
|
|
| |
llvm-svn: 209916
|
| |
|
|
| |
llvm-svn: 209915
|
| |
|
|
|
|
|
|
|
|
| |
speculation.
This helps more branches into selects. On R600,
vectors are cheap and anything that helps
remove branches is very good.
llvm-svn: 209914
|
| |
|
|
| |
llvm-svn: 209913
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Learned that MacOSX only accepts signal delivery on a thread that is
already signal handling. Reworked the test exe to cause a SIGSEGV
and recover if either nothing intercepts the SIGSEGV handler, or
if a SIGUSR1 is inserted. The test uses the latter part to test
signal delivery on continue using the SIGUSR1.
I still don't have this working on MacOSX. I'm seeing the
signal get delivered to a different thread than the one I'm
specifying with $Hc{thread-id} + $C{signo}, or with
$vCont;C{signo}:{thread-id};c. I'll come back to this
after getting it working on the llgs branch on Linux x86_64.
llvm-svn: 209912
|
| |
|
|
|
|
| |
This reverts commit r209910, which is breaking some of the bots.
llvm-svn: 209911
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I thought we could get away without this, but it means that the
FileEntry objects actually refer to the wrong files, since pcms are not
updated inplace, they are atomically renamed into place after compiling
a module.
So we are close to the original behaviour of invalidating the cache for
all modules being removed, but now we should only invalidate the ones
that depend on whichever module failed to load.
Unfortunately I haven't come up with a new test that didn't require
a race between parallel invocations of clang.
<rdar://problem/17038180>
llvm-svn: 209910
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a single problem in cxa_demangle.cpp, where gcc would complain
`error: changes meaning of 'String'` about the line `typedef String String;`.
According to 3.3.7p2, this diagnostic is allowed (but not required, so clang
does not have to report this).
As a fix, make string_pair a template and pass String as template parameter.
This fixes the error with gcc and also removes some repetition from the code.
No behavior change.
llvm-svn: 209909
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements the central part of support for dllimport/dllexport on
classes: allowing the attribute on class declarations, inheriting it
to class members, and forcing emission of exported members. It's based
on Nico Rieck's patch from http://reviews.llvm.org/D1099.
This patch doesn't propagate dllexport to bases that are template
specializations, which is an interesting problem. It also doesn't
look at the rules when redeclaring classes with different attributes,
I'd like to do that separately.
Differential Revision: http://reviews.llvm.org/D3877
llvm-svn: 209908
|
| |
|
|
|
|
|
|
|
| |
For MIPS, we have to encode the personality routine with
an indirect pointer to absptr; otherwise, some link warning
warning will be raised, and the program might crash in some
early MIPS Android device.
llvm-svn: 209907
|
| |
|
|
|
|
|
| |
an Objective-C object type other than 'id'.
// rdar://16739120
llvm-svn: 209906
|
| |
|
|
|
|
|
| |
This test specifies an ARM triple, so it needs ARM as a registered
target.
llvm-svn: 209905
|
| |
|
|
| |
llvm-svn: 209904
|
| |
|
|
|
|
| |
Patch by suyog sarda.
llvm-svn: 209903
|
| |
|
|
|
|
| |
Patch by Andrey Kuharev.
llvm-svn: 209902
|
| |
|
|
|
|
|
|
|
| |
Unordered is strictly weaker than monotonic, so if the latter doesn't have any
barriers then the former certainly shouldn't.
rdar://problem/16548260
llvm-svn: 209901
|