summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Propagate path to ASan/MSan symbolizer into test environment to produce ↵Alexey Samsonov2013-04-042-0/+10
| | | | | | useful reports on errors. llvm-svn: 178749
* [sanitizer] while doing fast unwinding make sure that the frame pointer is ↵Kostya Serebryany2013-04-043-5/+24
| | | | | | aligned; fix lint llvm-svn: 178747
* Plumb through the -fsplit-stack option using the existing backendEric Christopher2013-04-047-1/+12
| | | | | | | | | support. Caveat: Other than the existing segmented stacks support, no claims are made of this working. llvm-svn: 178744
* Revert r177948. We decided that we do not want ObjC property redeclarations ↵Ted Kremenek2013-04-042-36/+0
| | | | | | to inherit "deprecated". llvm-svn: 178743
* Document the return value of SmallSet insert.Nadav Rotem2013-04-041-0/+1
| | | | llvm-svn: 178742
* Add hasExternalLinkageUncached back with the test that Richard provided, butRafael Espindola2013-04-047-1/+39
| | | | | | keep the call at the current location. llvm-svn: 178741
* Don't build this test with modules for now, it's causing buildbot failures.Richard Smith2013-04-041-1/+0
| | | | llvm-svn: 178740
* Avoid computing the linkage instead of avoiding caching it.Rafael Espindola2013-04-043-22/+1
| | | | | | | | | | | | | | This mostly reverts 178733, but keeps the tests. I don't claim to understand how hidden sub modules work or when we need to see them (is that documented?), but this has the same semantics and avoids adding hasExternalLinkageUncached which has the same foot gun potential as the old hasExternalLinkage. Last but not least, not computing linkage when it is not needed is more efficient. llvm-svn: 178739
* Change EnumerateDirectory from using readdir() to using readdir_r()Jason Molenda2013-04-041-2/+13
| | | | | | so it can be re-entered while iterating over a directory safely. llvm-svn: 178738
* Add SPARC v9 support for select on 64-bit compares.Jakob Stoklund Olesen2013-04-045-5/+57
| | | | | | | | | | | This requires v9 cmov instructions using the %xcc flags instead of the %icc flags. Still missing: - Select floats on %xcc flags. - Select i64 on %fcc flags. llvm-svn: 178737
* Add tests that build modules for our builtin headers, and fix two buglets ↵Richard Smith2013-04-045-3/+7
| | | | | | exposed by doing so. llvm-svn: 178736
* Fix linkage related crash.Rafael Espindola2013-04-042-2/+10
| | | | | | | | This test was exactly the opposite of what it should be. We should check if there old decl has linkage (where it makes sense) and if the new decl has the extern keyword. llvm-svn: 178735
* The SBValue impl class's GetSP can now fetch the dynamic type or the syntheticJim Ingham2013-04-041-0/+6
| | | | | | | | children - which it may have to compute. Thus it needs to take the API lock. <rdar://problem/13560869> llvm-svn: 178734
* Fix 41 of the 61 tests which fail with modules enabled: we were computing andRichard Smith2013-04-047-2/+27
| | | | | | | | | caching the linkage for a declaration before we set up its redeclaration chain, when determining whether a declaration could be a redeclaration of something from an unimported submodule. We actually want to look at the declaration as if it were not a redeclaration here, so compute the linkage but don't cache it. llvm-svn: 178733
* Change the default for "use-fast-stepping" to on.Jim Ingham2013-04-041-1/+1
| | | | | | <rdar://problem/11319574> llvm-svn: 178732
* Be sure to check ARC conventions on the implicit method declarationsJohn McCall2013-04-044-10/+64
| | | | | | | | | of a property just in case the property's getter happens to be +1. We won't synthesize a getter for such a property, but we will allow the user to define a +1 method for it. rdar://13115896 llvm-svn: 178731
* Explicitly add -Wl,--export-all-symbols on mingw/cygwin.Rafael Espindola2013-04-041-0/+3
| | | | | | | Looks like cmake on windows is not expanding ENABLE_EXPORTS to -Wl,--export-all-symbols on mingw or cygwin, so add this back. llvm-svn: 178730
* <rdar://problem/13563697>Enrico Granata2013-04-041-4/+1
| | | | | | | The __NSArrayI synthetic children provider was running expressions to generate children, which is inefficient for large amounts of data Reimplementing to use a faster algorithm llvm-svn: 178729
* <rdar://problem/13198919>Greg Clayton2013-04-041-0/+15
| | | | | | Try and reap process when sending the "k" packet to avoid a race condition. We now wait for at most 1 second to reap the child process that we are killing. llvm-svn: 178726
* Don't export symbols in every binary on linux.Rafael Espindola2013-04-044-3/+7
| | | | | | | | | | | | On freebsd this makes sure that symbols are exported on the binaries that need them. The net result is that we should get symbols in the binaries that need them on every platform. On linux x86-64 this reduces the size of the bin directory from 262MB to 250MB. Patch by Stephen Checkoway. llvm-svn: 178725
* cmake: mark clang as needing exported symbol.Rafael Espindola2013-04-041-0/+1
| | | | | | | This is a nop right now, but committing this first avoids a temporary breakage when the llvm files change to not default to exporting symbols. llvm-svn: 178723
* Debug Info: according to DWARF 2, FORM_ref_addr the same size as an address onManman Ren2013-04-043-4/+15
| | | | | | | | | | | the target system. It was hard-coded to 4 bytes before. I can't get llvm to generate a ref_addr on a reasonably sized testing case. rdar://problem/13559431 llvm-svn: 178722
* Protect the values of array and dictionary literals from theJohn McCall2013-04-042-30/+100
| | | | | | | | | | ARC optimizer while they're held in local unsafe buffers. Based on a patch by Jesse Rusak! rdar://13573224 llvm-svn: 178721
* Make the ObjC attributes diagnostics a bit more informative.Nico Weber2013-04-044-12/+19
| | | | llvm-svn: 178720
* <rdar://problem/12897145>Greg Clayton2013-04-041-1/+3
| | | | | | | | | | | | Changes to lldb made the following fail when it used to work: % cd /tmp % lldb ls error: unable to find executable for '/tmp/ls' Resolving an executable with no relative path was broken, now its fixed. llvm-svn: 178719
* Revert code I didn't mean to check in.Greg Clayton2013-04-041-5/+2
| | | | llvm-svn: 178718
* More support for version 4 of DWARF.Greg Clayton2013-04-041-1/+1
| | | | llvm-svn: 178717
* Update OpenCL comments to mention spec section and version.Tanya Lattner2013-04-031-3/+3
| | | | llvm-svn: 178716
* Refactored out the helper method FindPredecessorAutoreleaseWithSafePath from ↵Michael Gottesman2013-04-031-25/+45
| | | | | | | | ObjCARCOpt::OptimizeReturns. Now ObjCARCOpt::OptimizeReturns is easy to read and reason about. llvm-svn: 178715
* Refactored out the helper function FindPredecessorRetainWithSafePath from ↵Michael Gottesman2013-04-031-18/+32
| | | | | | ObjCARCOpt::OptimizeReturns. llvm-svn: 178714
* Make it possible to include llvm-c without including C++ headers. Patch by ↵Evan Cheng2013-04-036-13/+29
| | | | | | Filip Pizlo. llvm-svn: 178713
* Small cleanups.Michael Gottesman2013-04-031-14/+14
| | | | | | | | Cleaned up trailing whitespace and added extra slashes in front of a function level comment so that it follow the convention of having 3 slashes. llvm-svn: 178712
* <rdar://problem/13560075> Teach name lookup for builtin names to find hidden ↵Douglas Gregor2013-04-035-3/+42
| | | | | | | | | | | | | | declarations. Normal name lookup ignores any hidden declarations. When name lookup for builtin declarations fails, we just synthesize a new declaration at the point of use. With modules, this could lead to multiple declarations of the same builtin, if one came from a (hidden) submodule that was later made visible. Teach name lookup to always find builtin names, so we don't create these redundant declarations in the first place. llvm-svn: 178711
* Refactored out a part of ObjCARCOpt::OptimizeReturns into its own method ↵Michael Gottesman2013-04-031-22/+33
| | | | | | HasSafePathToPredecessorCall. llvm-svn: 178710
* Removed an old comment.Michael Gottesman2013-04-031-7/+0
| | | | llvm-svn: 178709
* Playing around with making performance test cases run from within python. Greg Clayton2013-04-032-27/+127
| | | | llvm-svn: 178708
* Revert accidental commit.Richard Smith2013-04-031-5/+1
| | | | llvm-svn: 178707
* Pare back r164351 somewhat. The problem that change was addressing was that weRichard Smith2013-04-034-8/+12
| | | | | | | | don't serialize a lookup map for the translation unit outside C++ mode, so we can't tell when lookup within the TU needs to look within modules. Only apply the fix outside C++ mode, and only to the translation unit. llvm-svn: 178706
* Clean up arc annotations by moving the top/bottom BB annotations into ↵Michael Gottesman2013-04-031-58/+46
| | | | | | | | conditional macros that no-op in Release mode instead of #ifdef sections of the code. This is to follow the example of the DEBUG macro. llvm-svn: 178705
* <rdar://problem/12789467>Greg Clayton2013-04-031-1/+2
| | | | | | Fixed an attach case for ARM that was imporperly detecting an application bundle when there wasn't one. llvm-svn: 178704
* X86 cost model: Vector shifts are expensive in most casesArnold Schwaighofer2013-04-035-2/+772
| | | | | | | | | | | | | | The default logic does not correctly identify costs of casts because they are marked as custom on x86. For some cases, where the shift amount is a scalar we would be able to generate better code. Unfortunately, when this is the case the value (the splat) will get hoisted out of the loop, thereby making it invisible to ISel. radar://13130673 radar://13537826 llvm-svn: 178703
* <rdar://problem/13384801>Greg Clayton2013-04-0310-96/+127
| | | | | | Make lldb_private::RegularExpression thread safe everywhere. This was done by removing the m_matches array from the lldb_private::RegularExpression class and putting it into the new lldb_private::RegularExpression::Match class. When executing a regular expression you now have the option to create a lldb_private::RegularExpression::Match object and pass a pointer in if you want to get parenthesized matching. If you don't want any matching, you pass in NULL. The lldb_private::RegularExpression::Match object is initialized with the number of matches you desire. Any matching strings are now extracted from the lldb_private::RegularExpression::Match objects. This makes the regular expression objects thread safe and as a result many more regex objects were turned into static objects that end up using a local lldb_private::RegularExpression::Match object when executing. llvm-svn: 178702
* [analyzer] Allow tracknullOrUndef look through the ternary operator even ↵Anna Zaks2013-04-032-16/+21
| | | | | | | | | | | | | when condition is unknown Improvement of r178684 and r178685. Jordan has pointed out that I should not rely on the value of the condition to know which expression branch has been taken. It will not work in cases the branch condition is an unknown value (ex: we do not track the constraints for floats). The better way of doing this would be to find out if the current node is the right or left successor of the node that has the ternary operator as a terminator (which is how this is done in other places, like ConditionBRVisitor). llvm-svn: 178701
* Fix build.Rafael Espindola2013-04-034-11/+0
| | | | | | This should fix the build breakage caused by the api change in 178663. llvm-svn: 178700
* [preprocessor] Minor optimization following r178671.Argyrios Kyrtzidis2013-04-031-2/+3
| | | | | | Don't bother looking for parameter index of 'B' token if 'A' is not a parameter. llvm-svn: 178699
* Complain about attempts to befriend declarations via a usingJohn McCall2013-04-034-1/+29
| | | | | | declaration. Patch by Stephen Lin! llvm-svn: 178698
* [analyzer] Correctly handle destructors for lifetime-extended temporaries.Jordan Rose2013-04-032-14/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | The lifetime of a temporary can be extended when it is immediately bound to a local reference: const Value &MyVal = Value("temporary"); In this case, the temporary object's lifetime is extended for the entire scope of the reference; at the end of the scope it is destroyed. The analyzer was modeling this improperly in two ways: - Since we don't model temporary constructors just yet, we create a fake temporary region when it comes time to "materialize" a temporary into a real object (lvalue). This wasn't taking base casts into account when the bindings being materialized was Unknown; now it always respects base casts except when the temporary region is itself a pointer. - When actually destroying the region, the analyzer did not actually load from the reference variable -- it was basically destroying the reference instead of its referent. Now it does do the load. This will be more useful whenever we finally start modeling temporaries, or at least those that get bound to local reference variables. <rdar://problem/13552274> llvm-svn: 178697
* <rdar://problem/13561911>Greg Clayton2013-04-032-7/+31
| | | | | | Modify LLDB to handle DW_FORM_ref_addr attributes for DWARF3 and DWARF4. llvm-svn: 178696
* Update for API change for handling mips64el.Rafael Espindola2013-04-032-8/+18
| | | | llvm-svn: 178695
* Implement the "mips endian" for r_info.Rafael Espindola2013-04-034-20/+85
| | | | | | | | Normally r_info is just a 32 of 64 bit number matching the endian of the rest of the file. Unfortunately, mips 64 bit little endian is special: The top 32 bits are a little endian number and the following 32 are a big endian one. llvm-svn: 178694
OpenPOWER on IntegriCloud