- May 31, 2014
-
-
Hans Wennborg authored
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
-
Rafael Espindola authored
There is no std::error_code::success, so this removes much of the noise in transitioning to std::error_code. llvm-svn: 209949
-
Rafael Espindola authored
There is no std::error_code::success, so this removes much of the noise in transitioning to std::error_code. llvm-svn: 209948
-
Filipe Cabecinhas authored
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
-
Alexey Samsonov authored
llvm-svn: 209946
-
Alexey Samsonov authored
llvm-svn: 209945
-
Jonathan Roelofs authored
llvm-svn: 209944
-
Jonathan Roelofs authored
llvm-svn: 209943
-
Michael J. Spencer authored
[CodeGen] Don't cast and use SizeTy instead of Int32Ty when constructing {extract,insert} vector element instructions. llvm-svn: 209942 -
Richard Smith authored
consistently, rather than sometimes performing lookup and calling the LookupResult form. No functionality change intended. llvm-svn: 209941
-
Alexey Samsonov authored
llvm-svn: 209940
-
Alexey Samsonov authored
llvm-svn: 209939
-
Rafael Espindola authored
llvm-svn: 209938
-
Eric Christopher authored
llvm-svn: 209937
-
Alp Toker authored
This simplifies code flow and matches the convention used in surrounding code. No functional change. llvm-svn: 209936
-
Alp Toker authored
llvm-svn: 209935
-
Andrea Di Biagio authored
[X86] Add two combine rules to simplify dag nodes introduced during type 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 -
Filipe Cabecinhas authored
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
-
Nick Kledzik authored
llvm-svn: 209928
-
Eric Christopher authored
block and remove the unreachable code. llvm-svn: 209927
-
Eric Christopher authored
rest of the targets with a similar function name. llvm-svn: 209926
-
Greg Fitzgerald authored
llvm-svn: 209925
-
Richard Smith authored
qualified name of a NamedDecl. Patch by Volodymyr Sapsai! llvm-svn: 209924
-
Filipe Cabecinhas authored
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
-
Ben Langmuir authored
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
-
Sanjay Patel authored
llvm-svn: 209921
-
Adrian Prantl authored
llvm-svn: 209920
-
Alp Toker authored
This presumably got inadvertently copied from dllimport-members.cpp. llvm-svn: 209919
-
Sanjay Patel authored
llvm-svn: 209918
-
Greg Clayton authored
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
-
Sanjay Patel authored
llvm-svn: 209916
-
Richard Smith authored
llvm-svn: 209915
-
Matt Arsenault authored
This helps more branches into selects. On R600, vectors are cheap and anything that helps remove branches is very good. llvm-svn: 209914
-
DeLesley Hutchins authored
llvm-svn: 209913
-
Todd Fiala authored
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 -
Ben Langmuir authored
This reverts commit r209910, which is breaking some of the bots. llvm-svn: 209911
-
Ben Langmuir authored
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
-
Nico Weber authored
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
-
Hans Wennborg authored
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
-
Logan Chien authored
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
-