summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Diagnose dll attribute on member of class that already has a dll attributeHans Wennborg2014-05-313-9/+42
| | | | | | Differential Revision: http://reviews.llvm.org/D3973 llvm-svn: 209954
* Use error_code() instead of error_code::succes()Rafael Espindola2014-05-313-8/+8
| | | | | | | There is no std::error_code::success, so this removes much of the noise in transitioning to std::error_code. llvm-svn: 209953
* Use error_code() instead of error_code::succes()Rafael Espindola2014-05-3119-143/+139
| | | | | | | There is no std::error_code::success, so this removes much of the noise in transitioning to std::error_code. llvm-svn: 209952
* Fix the behavior of ExecuteAndWait with a non-zero timeout.Peter Collingbourne2014-05-312-1/+32
| | | | llvm-svn: 209951
* Make Attr::Clone() also clone the Inherited, IsPackExpansion and Implicit flagsHans Wennborg2014-05-311-2/+6
| | | | | | | | | | 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
* Use error_code() instead of error_code::succes()Rafael Espindola2014-05-313-8/+8
| | | | | | | There is no std::error_code::success, so this removes much of the noise in transitioning to std::error_code. llvm-svn: 209949
* Use error_code() instead of error_code::succes()Rafael Espindola2014-05-3136-105/+105
| | | | | | | There is no std::error_code::success, so this removes much of the noise in transitioning to std::error_code. llvm-svn: 209948
* Make blend tests more specificFilipe Cabecinhas2014-05-313-8/+17
| | | | | | | 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
* [ASan] Behave the same for functions w/o sanitize_address attribute and ↵Alexey Samsonov2014-05-311-2/+1
| | | | | | blacklisted functions llvm-svn: 209946
* [TSan] Fixup a test case after r209939Alexey Samsonov2014-05-311-3/+3
| | | | llvm-svn: 209945
* Add EH test case checking that handlers in noexcept functions can still unwindJonathan Roelofs2014-05-311-0/+34
| | | | llvm-svn: 209944
* Add EH test cases corresponding to C++ ABI # 15.3.3Jonathan Roelofs2014-05-311-0/+444
| | | | llvm-svn: 209943
* [CodeGen] Don't cast and use SizeTy instead of Int32Ty when constructing ↵Michael J. Spencer2014-05-314-35/+31
| | | | | | {extract,insert} vector element instructions. llvm-svn: 209942
* Refactor: use the DeclarationNameInfo form of BuildMemberReferenceExprRichard Smith2014-05-313-212/+162
| | | | | | | consistently, rather than sometimes performing lookup and calling the LookupResult form. No functionality change intended. llvm-svn: 209941
* [TSan] Add a test case for r209939Alexey Samsonov2014-05-312-0/+47
| | | | llvm-svn: 209940
* [TSan] Behave the same for functions w/o sanitize_thread attribute and ↵Alexey Samsonov2014-05-311-5/+7
| | | | | | blacklisted functions llvm-svn: 209939
* delete dead code.Rafael Espindola2014-05-313-64/+0
| | | | llvm-svn: 209938
* Have the TLOF creation take a Triple rather than needing a subtarget.Eric Christopher2014-05-314-21/+20
| | | | llvm-svn: 209937
* cc1as: invert return bool to indicate failureAlp Toker2014-05-311-20/+13
| | | | | | | | This simplifies code flow and matches the convention used in surrounding code. No functional change. llvm-svn: 209936
* cc1as: fix a potential leak and unremoved output file in error conditionsAlp Toker2014-05-311-13/+17
| | | | llvm-svn: 209935
* [X86] Add two combine rules to simplify dag nodes introduced during type ↵Andrea Di Biagio2014-05-304-27/+355
| | | | | | | | | | | | | | | | | | | | | | | 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
* Convert a vselect into a concat_vector if possibleFilipe Cabecinhas2014-05-303-1/+75
| | | | | | | | | | | | | | | | | | | | | 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
* [mach-o] Add support for custom sectionsNick Kledzik2014-05-305-19/+143
| | | | llvm-svn: 209928
* isSVR4ABI() returned !isDarwin() so just move that to the elseEric Christopher2014-05-301-4/+1
| | | | | | block and remove the unreachable code. llvm-svn: 209927
* Rename CreateTLOF->createTLOF to match the rest of the file and theEric Christopher2014-05-301-4/+4
| | | | | | rest of the targets with a similar function name. llvm-svn: 209926
* Disable stack-overflow test on ARMGreg Fitzgerald2014-05-301-0/+1
| | | | llvm-svn: 209925
* Take PrintingPolicy::SuppressUnwrittenScope into account when printing theRichard Smith2014-05-303-0/+137
| | | | | | qualified name of a NamedDecl. Patch by Volodymyr Sapsai! llvm-svn: 209924
* Separate the check for blend shuffle_vector masksFilipe Cabecinhas2014-05-302-27/+44
| | | | | | | | | | | | | | | | | 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
* Invalidate the file system cache entries for files that may rebuildBen Langmuir2014-05-301-5/+21
| | | | | | | | | | | | | | | | | | | | | | 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
* fixed more typosSanjay Patel2014-05-301-2/+2
| | | | llvm-svn: 209921
* Roll DbgVariable::setMInsn into the constructor. No functional changes.Adrian Prantl2014-05-302-8/+15
| | | | llvm-svn: 209920
* Remove unused struct from testAlp Toker2014-05-301-11/+0
| | | | | | This presumably got inadvertently copied from dllimport-members.cpp. llvm-svn: 209919
* added link to CMake pageSanjay Patel2014-05-301-3/+4
| | | | llvm-svn: 209918
* Don't use libc's "char *basename(char *)" or "char *dirname(char *)" as they ↵Greg Clayton2014-05-301-35/+8
| | | | | | | | | | 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
* fixed typoSanjay Patel2014-05-301-1/+1
| | | | llvm-svn: 209916
* Add a FIXME for a bug Doug pointed out in code review.Richard Smith2014-05-301-0/+4
| | | | llvm-svn: 209915
* Make bitcast, extractelement, and insertelement considered cheap for ↵Matt Arsenault2014-05-302-0/+63
| | | | | | | | | | speculation. This helps more branches into selects. On R600, vectors are cheap and anything that helps remove branches is very good. llvm-svn: 209914
* Thread Safety Analysis: fix handling of string and char literals.DeLesley Hutchins2014-05-302-1/+5
| | | | llvm-svn: 209913
* gdb-remote signal delivery test cleanup.Todd Fiala2014-05-303-49/+199
| | | | | | | | | | | | | | | | 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
* Revert "Invalidate the file system cache entries for files that may rebuild"Ben Langmuir2014-05-301-18/+5
| | | | | | This reverts commit r209910, which is breaking some of the bots. llvm-svn: 209911
* Invalidate the file system cache entries for files that may rebuildBen Langmuir2014-05-301-5/+18
| | | | | | | | | | | | | | | | | | 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
* Let libc++abi compile with gcc.Nico Weber2014-05-301-11/+12
| | | | | | | | | | | | | | 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
* Start adding support for dllimport/dllexport on classes (PR11170)Hans Wennborg2014-05-3011-33/+296
| | | | | | | | | | | | | | | | 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
* Fix MIPS exception personality encoding.Logan Chien2014-05-304-9/+46
| | | | | | | | | 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
* Objective-C. Diagnose assigning a block pointer type toFariborz Jahanian2014-05-302-2/+24
| | | | | | | an Objective-C object type other than 'id'. // rdar://16739120 llvm-svn: 209906
* MachO: move test to ARM directory.Tim Northover2014-05-301-0/+0
| | | | | | | This test specifies an ARM triple, so it needs ARM as a registered target. llvm-svn: 209905
* Thread Safety Analysis: fix uninitialized member in TIL Literal.DeLesley Hutchins2014-05-302-15/+17
| | | | llvm-svn: 209904
* PR19753: Optimize comparisons with "ashr exact" of a constanst.Rafael Espindola2014-05-302-0/+25
| | | | | | Patch by suyog sarda. llvm-svn: 209903
* [pr19636] Fix known bit computation in urem instruction with power of two.Rafael Espindola2014-05-302-2/+19
| | | | | | Patch by Andrey Kuharev. llvm-svn: 209902
* SelectionDAG: skip barriers for unordered atomic operationsTim Northover2014-05-302-14/+27
| | | | | | | | | 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
OpenPOWER on IntegriCloud