- Apr 04, 2013
-
-
Manman Ren authored
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
-
John McCall authored
ARC optimizer while they're held in local unsafe buffers. Based on a patch by Jesse Rusak! rdar://13573224 llvm-svn: 178721
-
Nico Weber authored
llvm-svn: 178720
-
rdar://problem/12897145Greg Clayton authored
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
-
Greg Clayton authored
llvm-svn: 178718
-
Greg Clayton authored
llvm-svn: 178717
-
Tanya Lattner authored
llvm-svn: 178716
-
Michael Gottesman authored
Refactored out the helper method FindPredecessorAutoreleaseWithSafePath from ObjCARCOpt::OptimizeReturns. Now ObjCARCOpt::OptimizeReturns is easy to read and reason about. llvm-svn: 178715
-
Michael Gottesman authored
Refactored out the helper function FindPredecessorRetainWithSafePath from ObjCARCOpt::OptimizeReturns. llvm-svn: 178714
-
Evan Cheng authored
llvm-svn: 178713
-
Michael Gottesman authored
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/13560075Douglas Gregor authored
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
-
Michael Gottesman authored
Refactored out a part of ObjCARCOpt::OptimizeReturns into its own method HasSafePathToPredecessorCall. llvm-svn: 178710
-
Michael Gottesman authored
llvm-svn: 178709
-
Greg Clayton authored
llvm-svn: 178708
-
Richard Smith authored
llvm-svn: 178707
-
Richard Smith authored
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
-
Michael Gottesman authored
Clean up arc annotations by moving the top/bottom BB annotations into 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
-
- Apr 03, 2013
-
-
rdar://problem/12789467Greg Clayton authored
Fixed an attach case for ARM that was imporperly detecting an application bundle when there wasn't one. llvm-svn: 178704
-
Arnold Schwaighofer authored
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/13384801Greg Clayton authored
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
-
Anna Zaks authored
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
-
Rafael Espindola authored
This should fix the build breakage caused by the api change in 178663. llvm-svn: 178700
-
Argyrios Kyrtzidis authored
Don't bother looking for parameter index of 'B' token if 'A' is not a parameter. llvm-svn: 178699
-
John McCall authored
declaration. Patch by Stephen Lin! llvm-svn: 178698
-
Jordan Rose authored
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/13561911Greg Clayton authored
Modify LLDB to handle DW_FORM_ref_addr attributes for DWARF3 and DWARF4. llvm-svn: 178696
-
Rafael Espindola authored
llvm-svn: 178695
-
Rafael Espindola authored
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
-
Rafael Espindola authored
llvm-svn: 178693
-
Jason Molenda authored
needed for some versions of clang. llvm-svn: 178692
-
-
Howard Hinnant authored
The move / swap members were not correctly taking all of the possible states of the basic_stringbuf into account. Just rewrote these members. Test included. This fixes http://llvm.org/bugs/show_bug.cgi?id=15659. llvm-svn: 178690
-
Richard Osborne authored
llvm-svn: 178689
-
Richard Osborne authored
Previously some instructions were unintentionally covered twice and others were not covered at all. llvm-svn: 178688
-
Anna Zaks authored
As they are relevant on both Mac and iOS. llvm-svn: 178687
-
Anna Zaks authored
This also allows us to ensure IDC/return null suppression gets triggered in such cases. llvm-svn: 178686
-
Anna Zaks authored
llvm-svn: 178685
-
Anna Zaks authored
1) Look for the node where the condition expression is live when checking if it is constrained to true or false. 2) Fix a bug in ProgramState::isNull, which was masking the problem. When the expression is not a symbol (,which is the case when it is Unknown) return unconstrained value, instead of value constrained to “false”! (Thankfully other callers of isNull have not been effected by the bug.) llvm-svn: 178684
-
Anna Zaks authored
Thanks Jordan! llvm-svn: 178683
-