summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* objc++: patch for IRgen for atomic properties ofFariborz Jahanian2012-01-107-46/+233
| | | | | | | c++ objects with non-trivial assignment/copy functions. Also, one additional sema check. // rdar://6137845 llvm-svn: 147817
* Added a file descriptor interposing library for darwin. This can catch allGreg Clayton2012-01-102-0/+979
| | | | | | | | | | functions that can create file descriptors and close them. It will warn when there close file descriptor call that returns with EBADF and show the corresponding stack backtraces that caused the issue. It will also log all file descriptor create and delete calls. See the comments at the top of FDInterposing.cpp for all of the details. llvm-svn: 147816
* When doing a "target modules lookup --address <addr>", show the file addressGreg Clayton2012-01-101-5/+3
| | | | | | | in the module when dumping the information in addition to all info that we were previously showing. llvm-svn: 147815
* Update makefile rules to support C++ files in shared libraries and fix howGreg Clayton2012-01-101-1/+6
| | | | | | the linker driver is found. llvm-svn: 147814
* Make a log timer for the BSD archive creation so we can track the time itGreg Clayton2012-01-091-16/+25
| | | | | | takes to open and index BSD archives. llvm-svn: 147813
* Don't crash with -Wlarge-by-value-copy and a dependent type. PR11726.Eli Friedman2012-01-092-2/+7
| | | | llvm-svn: 147812
* [asan] don't include unistd.h in the headersKostya Serebryany2012-01-096-29/+35
| | | | llvm-svn: 147811
* [asan] temporary reinstate string.h/strings.h. Removal of those caused a Mac ↵Kostya Serebryany2012-01-091-0/+3
| | | | | | build failulre which I failed to observe before the commit llvm-svn: 147810
* [asan] don't include string.h and strings.hKostya Serebryany2012-01-091-6/+16
| | | | llvm-svn: 147809
* Extend the diagnostic for a ',' at the end of a declaration where a ';' wasRichard Smith2012-01-095-8/+62
| | | | | | intended to cover C++ class definitions. llvm-svn: 147808
* [asan] don't use strstr/strncat from libc, use our own versions instead Kostya Serebryany2012-01-093-6/+28
| | | | llvm-svn: 147807
* Catch runaway ARMConstantIslandPass even in -Asserts builds.Jakob Stoklund Olesen2012-01-091-2/+2
| | | | | | | | | The pass is prone to looping, and it is better to crash than loop forever, even in a -Asserts build. <rdar://problem/10660175> llvm-svn: 147806
* Fix asm string wrt variants.Devang Patel2012-01-092-7/+7
| | | | llvm-svn: 147805
* Use descriptive variable name and remove incorrect operand number check.Devang Patel2012-01-091-12/+9
| | | | llvm-svn: 147802
* Adding IV chain generation to LSR.Andrew Trick2012-01-092-5/+324
| | | | | | | | | | | | | | | | | | After collecting chains, check if any should be materialized. If so, hide the chained IV users from the LSR solver. LSR will only solve for the head of the chain. GenerateIVChains will then materialize the chained IV users by computing the IV relative to its previous value in the chain. In theory, chained IV users could be exposed to LSR's solver. This would be considerably complicated to implement and I'm not aware of a case where we need it. In practice it's more important to intelligently prune the search space of nontrivial loops before running the solver, otherwise the solver is often forced to prune the most optimal solutions. Hiding the chained users does this well, so that LSR is more likely to find the best IV for the chain as a whole. llvm-svn: 147801
* add initial support for coalescing by content (c-strings) with test caseNick Kledzik2012-01-095-26/+204
| | | | llvm-svn: 147799
* Fix "note" of a duplicate explicit instantiation definition following a ↵Nico Weber2012-01-092-18/+26
| | | | | | specialization. llvm-svn: 147798
* Adding collection of IV chains to LSR.Andrew Trick2012-01-091-0/+242
| | | | | | | | This collects a set of IV uses within the loop whose values can be computed relative to each other in a sequence. Following checkins will make use of this information. llvm-svn: 147797
* [asan] fix mac build once moreKostya Serebryany2012-01-092-2/+3
| | | | llvm-svn: 147796
* Updating Xcode project version numbers for lldb-102 and debugserver-161Sean Callanan2012-01-093-22/+22
| | | | llvm-svn: 147794
* [asan]: fix typo from previous commitKostya Serebryany2012-01-091-2/+1
| | | | llvm-svn: 147793
* [asan]: fix mac buildKostya Serebryany2012-01-092-71/+61
| | | | llvm-svn: 147792
* Insert padding before unaligned long double arguments.Akira Hatanaka2012-01-092-14/+41
| | | | llvm-svn: 147791
* Fixed a return value problem with the new ABI::FixCodeAddress () function:Greg Clayton2012-01-092-2/+2
| | | | | | | | | | | | | | it was checked in as: virtual bool ABI::FixCodeAddress (lldb::addr_t pc); when it should have been: virtual lldb::addr_t ABI::FixCodeAddress (lldb::addr_t pc); llvm-svn: 147790
* Fix comment.Johnny Chen2012-01-091-1/+1
| | | | llvm-svn: 147789
* [asan] refactoring: move some common linux/mac code to asan_posix.ccKostya Serebryany2012-01-097-71/+79
| | | | llvm-svn: 147788
* Split AsmParser into two components - AsmParser and AsmParserVariantDevang Patel2012-01-095-80/+128
| | | | | | | AsmParser holds info specific to target parser. AsmParserVariant holds info specific to asm variants supported by the target. llvm-svn: 147787
* Move the piece of code up that skips the padding argument. Without this change,Akira Hatanaka2012-01-091-4/+4
| | | | | | padding insertion will not work if the coerced type is not a structure. llvm-svn: 147786
* "Minor LSR debugging stuff"Andrew Trick2012-01-091-1/+4
| | | | llvm-svn: 147785
* [asan] refactoring: move all interceptors to a single fileKostya Serebryany2012-01-096-209/+206
| | | | llvm-svn: 147784
* Restore some parts of this test which were accidental reverted in r147649.Richard Smith2012-01-091-0/+6
| | | | | | Thanks to David Blaikie for pointing this out. llvm-svn: 147783
* When deserializing an anonymous namespace from a module, do not attachDouglas Gregor2012-01-095-8/+64
| | | | | | | | the anonymous namespace to its parent. Semantically, this means that the anonymous namespaces defined in one module are distinct from the anonymous namespaces defined in another module. llvm-svn: 147782
* Update language check. Do not ignore DW_LANG_Python.Devang Patel2012-01-091-1/+2
| | | | | | Patch by Joe Groff! llvm-svn: 147781
* Implement merging of namespace-scope declarations across modules, soDouglas Gregor2012-01-094-5/+48
| | | | | | | | | | that we can merge, for example, two occurrences of namespace N { void f(); } in two disjoint modules. llvm-svn: 147780
* Move assert to the right place.Benjamin Kramer2012-01-091-1/+1
| | | | llvm-svn: 147779
* Implement redeclaration merging for namespaces defined in distinctDouglas Gregor2012-01-097-16/+127
| | | | | | | | | modules. Teach name lookup into namespaces to search in each of the merged DeclContexts as well as the (now-primary) DeclContext. This supports the common case where two different modules put something into the same namespace. llvm-svn: 147778
* InstCombine: Teach foldLogOpOfMaskedICmpsHelper that sign bit tests are bit ↵Benjamin Kramer2012-01-092-81/+102
| | | | | | | | tests. This subsumes several other transforms while enabling us to catch more cases. llvm-svn: 147777
* Getting a start on the typeinfo infrastructure.Howard Hinnant2012-01-092-0/+205
| | | | llvm-svn: 147776
* Always allow redefinition of typedefs when modules are enabled. ThisDouglas Gregor2012-01-092-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | is important because it's fairly common for headers (especially system headers) to want to provide only those typedefs needed for that particular header, based on some guard macro, e.g., #ifndef _SIZE_T #define _SIZE_T typedef long size_t; #endif which is repeated in a number of headers. The guard macro protects against duplicate definitions. However, this means that only the first occurrence of this pattern actually defines size_t, so the submodule corresponding to this header has the only visible definition. If a user then imports a different submodule from the same module, size_t will be known but not visible, and therefore cannot be used. By allowing redefinition of typedefs, each header that wants to define size_t can do so independently, so it will be available in the corresponding submodules. llvm-svn: 147775
* Made unknown builtin diagnostic remappable.Abramo Bagnara2012-01-092-2/+3
| | | | llvm-svn: 147774
* Don't rely on the fact that shift values are never very large, and thusChandler Carruth2012-01-091-1/+1
| | | | | | | | | | | | this substraction will result in small negative numbers at worst which become very large positive numbers on assignment and are thus caught by the <=4 check on the next line. The >0 check clearly intended to catch these as negative numbers. Spotted by inspection, and impossible to trigger given the shift widths that can be used. llvm-svn: 147773
* Cleanup and FileCheck-ize a test.Chandler Carruth2012-01-091-13/+25
| | | | llvm-svn: 147772
* Merge AVX/AVX2 into the SSE level.Craig Topper2012-01-091-23/+12
| | | | llvm-svn: 147771
* Remove AVX hack in X86Subtarget. AVX/AVX2 are now treated as an SSE level. ↵Craig Topper2012-01-093-32/+22
| | | | | | Predicate functions have been altered to maintain previous names and behavior. llvm-svn: 147770
* Add HasAVX predicate to some of the AVX patterns.Craig Topper2012-01-091-0/+17
| | | | llvm-svn: 147769
* Reorder a bunch of patterns to put the AVX version first thus giving it ↵Craig Topper2012-01-091-405/+407
| | | | | | priority over the SSE version. Another step towards trying to remove the AVX hack that disables SSE from X86Subtarget. llvm-svn: 147768
* Clean up patterns for MOVNT*. Not sure why there were floating point types ↵Craig Topper2012-01-092-17/+25
| | | | | | on MOVNTPS and MOVNTDQ. And v4i64 was completely missing. llvm-svn: 147767
* Mark MOVNTI as being supported in SSE2 OR AVX mode. This instruction has no ↵Craig Topper2012-01-091-2/+2
| | | | | | AVX equivalent so we should use the SSE version. llvm-svn: 147766
* Move SSE2 logical operations PAND/POR/PXOR/PANDN above SSE1 logical ↵Craig Topper2012-01-091-47/+63
| | | | | | operations ANDPS/ORPS/XORPS/ANDNPS. This fixes a pattern ordering issue that meant that the SSE2 instructions could never be directly selected since the SSE1 patterns would always match first. This is largely moot with the ExeDepsFix pass, but I'm trying to audit for all such ordering issues. llvm-svn: 147765
* Change some places that were checking for AVX OR SSE1/2 to use ↵Craig Topper2012-01-092-6/+6
| | | | | | hasXMM/hasXMMInt instead. Also fix one place that checked SSE3, but accidentally excluded AVX to use hasSSE3orAVX. This is a step towards removing the AVX hack from the X86Subtarget.h llvm-svn: 147764
OpenPOWER on IntegriCloud