summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* According to my auto-simplifier the most common missed simplifications inDuncan Sands2011-01-254-13/+299
| | | | | | | | | | | optimized code are: (non-negative number)+(power-of-two) != 0 -> true and (x | 1) != 0 -> true Instcombine knows about the second one of course, but only does it if X|1 has only one use. These fire thousands of times in the testsuite. llvm-svn: 124183
* Teach mergefunc how to emit aliases safely again -- but keep it turned it offNick Lewycky2011-01-252-25/+83
| | | | | | | for now. It's controlled by the HasGlobalAliases variable which is not attached to any flag yet. llvm-svn: 124182
* Bumped Xcode project versions to lldb-44 and debugserver-129.Greg Clayton2011-01-253-16/+17
| | | | llvm-svn: 124181
* Reverting recent thread resume changes as it was causing testing issues.Greg Clayton2011-01-253-121/+65
| | | | | | We will need to try again soon, but this change was causing instability. llvm-svn: 124180
* Fixed an issue that was stopping LLDB from finding complete definitions forGreg Clayton2011-01-251-7/+18
| | | | | | | | | | | | types. What was happening was the DWARF parser was almost ignoring definitions (DIEs with the DW_AT_declaration set to 1). It wasn't ignoring declarations that had _some_ children. When this happened, we would treat the declaration as a complete type. Often we would have a declaration of a type with just some enum definitions inside and nothing else. Now we correctly ignore these definitions, and also I added some changes to allow us to figure out what decl context these special declarations actually point to. llvm-svn: 124179
* When we are stepping a thread, force it to resume ALL the way to 0. And of ↵Jim Ingham2011-01-255-64/+119
| | | | | | | | course, when we stop if we undid some user provided suspends, we need to re-do the suspends. llvm-svn: 124178
* One more fix to ProcessGDBRemote::DoDestroy(). This one will make sure weGreg Clayton2011-01-251-1/+11
| | | | | | parse the exit status in case we send this packet while stopped. llvm-svn: 124177
* Document the ns_returns_retained, ns_consumed, etc. attributes.John McCall2011-01-251-0/+45
| | | | llvm-svn: 124176
* Change the wording of the bad-decl-for-attribute warning and errorJohn McCall2011-01-2514-30/+30
| | | | | | to make it clear that we're talking about the declarations and not the types. llvm-svn: 124175
* Add the ns_consumes_self, ns_consumed, cf_consumed, and ns_returns_autoreleasedJohn McCall2011-01-256-23/+132
| | | | | | attributes for the benefit of the static analyzer. llvm-svn: 124174
* Revert one unintended change checked in to DWARFCallFrameInfo.cppJason Molenda2011-01-251-1/+1
| | | | | | | | | with my last commit. The change should be correct but it's not fixing anything important and right now unneeded changes are not a good idea. llvm-svn: 124173
* Use new Section::IsEncrypted() method to check if the eh_frameJason Molenda2011-01-251-4/+4
| | | | | | | section is encrypted before trying to read it. Fixes assert / crash when trying to unwind an executable w/ encrypted eh_frame sect. llvm-svn: 124172
* Fixed ProcessGDBRemote to kill the process correctly when it is either runningGreg Clayton2011-01-257-112/+113
| | | | | | | | or stopped. Added support for sections to be able to state if they are encrypted or not. llvm-svn: 124171
* Check for a NULL saved stop info shared pointer.Jim Ingham2011-01-251-1/+2
| | | | llvm-svn: 124170
* Downgrade the error about rvalue references to an extension warningDouglas Gregor2011-01-255-10/+10
| | | | | | | | and turn on __has_feature(cxx_rvalue_references). The core rvalue references proposal seems to be fully implemented now, pending lots more testing. llvm-svn: 124169
* Reorganize this so that the early exit and special cases come earlyEric Christopher2011-01-251-26/+26
| | | | | | rather than interspersed. No functional change. llvm-svn: 124168
* Don't merge restore with tail call instruction.Evan Cheng2011-01-252-1/+28
| | | | llvm-svn: 124167
* Eliminate the C++0x-only is_convertible testing function that acceptsDouglas Gregor2011-01-252-4/+15
| | | | | | | | | | | | | | | | | | | | | | | a cv-qualifier rvalue reference to the type, e.g., template <class _Tp> char __test(const volatile typename remove_reference<_Tp>::type&&); The use of this function signature rather than the more straightforward one used in C++98/03 mode, e.g., template <class _Tp> char __test(_Tp); is broken in two ways: 1) An rvalue reference cannot bind to lvalues, so is_convertible<X&, X&>::value would be false. This breaks two of the unique_ptr tests on Clang and GCC >= 4.5. Prior GCC's seem to have allowed rvalue references to bind to lvalues, allowing this bug to slip in. 2) By adding cv-qualifiers to the type we're converting to, we get some incorrect "true" results for, e.g., is_convertible<const X&, X&>::value. llvm-svn: 124166
* Add an emulate-callback function emulate_str_rt_sp() to the g_arm_opcodes table.Johnny Chen2011-01-251-8/+87
| | | | llvm-svn: 124165
* [analyzer] Handle the dot syntax for properties in the ExprEngine.Argyrios Kyrtzidis2011-01-259-12/+241
| | | | | | | | | | We translate property accesses to obj-c messages by simulating "loads" or "stores" to properties using a pseudo-location SVal kind (ObjCPropRef). Checkers can now reason about obj-c messages for both explicit message expressions and implicit messages due to property accesses. llvm-svn: 124161
* [analyzer] Introduce ExprEngine::VisitObjCMessage for handling general ↵Argyrios Kyrtzidis2011-01-252-12/+21
| | | | | | | | ObjCMessages (both message expressions and property access) and use it in ExprEngine::VisitObjCMessageExpr. llvm-svn: 124160
* [analyzer] Introduce ObjCMessage which represents both explicit ObjC message ↵Argyrios Kyrtzidis2011-01-2513-187/+530
| | | | | | | | | | expressions and implicit messages that are sent for handling properties in dot syntax. Replace all direct uses of ObjCMessageExpr in the checkers and checker interface with ObjCMessage. llvm-svn: 124159
* In a ObjCMessageExpr with the super class as receiver, 'super' is actually a ↵Argyrios Kyrtzidis2011-01-251-3/+3
| | | | | | ObjCInterfaceType. llvm-svn: 124158
* [analyzer] Simplify GetReceiverType function in ↵Argyrios Kyrtzidis2011-01-251-18/+2
| | | | | | BasicObjCFoundationChecks.cpp; no functionality change. llvm-svn: 124157
* Use two opcode tables g_arm_opcodes and g_thumb_opcodes, instead of lumping ↵Johnny Chen2011-01-241-5/+10
| | | | | | arm and thumb opcodes together. llvm-svn: 124156
* Fixed a crasher due to not checking if a shared pointer ↵Greg Clayton2011-01-241-2/+5
| | | | | | | | (m_last_created_breakpoint) contained a valid object pointer. llvm-svn: 124155
* tblgen/AsmMatcherEmitter: Fix alias handling to honor -match-prefix.Daniel Dunbar2011-01-241-0/+11
| | | | llvm-svn: 124154
* Revert r124146 for now. It appears to be failing on a few platforms.Eric Christopher2011-01-244-83/+24
| | | | llvm-svn: 124153
* Fix typo of encoding T2 (push) in the original ARM Architecture Reference ↵Johnny Chen2011-01-241-1/+1
| | | | | | | | Manual, which has been corrected in the subsequent errata. llvm-svn: 124152
* Provide correct registers for EH stuff on ARMAnton Korobeynikov2011-01-241-3/+4
| | | | llvm-svn: 124151
* Support printing exception section into the current one. This is the case ↵Anton Korobeynikov2011-01-241-1/+2
| | | | | | when LSDASection is blank llvm-svn: 124150
* Add comment about using Encoding A1 push instruction to emulate the "stmfd ↵Johnny Chen2011-01-241-0/+3
| | | | | | | | sp!, reg" case, i.e., pushing one register onto the full descending stacks. llvm-svn: 124149
* Perhaps a bit too much vertical whitespace.Eric Christopher2011-01-241-2/+0
| | | | llvm-svn: 124148
* Make the assembler mnemonic lowercase.Johnny Chen2011-01-241-5/+5
| | | | llvm-svn: 124147
* pre/post increase/decrease for AltiVec vectorsAnton Yartsev2011-01-244-24/+83
| | | | llvm-svn: 124146
* [AVX] Add type checking support for vector/subvector type constraints.David Greene2011-01-242-1/+54
| | | | | | | | | This will be used to check patterns referencing a forthcoming INSERT_SUBVECTOR SDNode. INSERT_SUBVECTOR in turn is very useful for matching to VINSERTF128 instructions and complements the already existing EXTRACT_SUBVECTOR SDNode. llvm-svn: 124145
* Add Encoding T1 of the PUSH instructions to the g_arm_opcodes table.Johnny Chen2011-01-241-1/+12
| | | | llvm-svn: 124144
* Fix typo in the instruction descriptions for Encoding T2 and T3 of PUSH.Johnny Chen2011-01-241-2/+2
| | | | llvm-svn: 124143
* Speculatively revert r124138.Devang Patel2011-01-242-3/+2
| | | | llvm-svn: 124142
* Move some #define's to the ARMUtils.h header file.Johnny Chen2011-01-242-37/+37
| | | | llvm-svn: 124141
* Add Encoding T2 & T3 of the PUSH instructions to the g_arm_opcodes table.Johnny Chen2011-01-242-9/+47
| | | | | | Plus add an extra field ARMInstrSize to the table entry type 'ARMOpcode'. llvm-svn: 124140
* Jörg Sonnenberger noticed that we were missing this test.Rafael Espindola2011-01-241-0/+9
| | | | llvm-svn: 124139
* Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value ↵Devang Patel2011-01-242-1/+106
| | | | | | intrinisic. llvm-svn: 124138
* Temporarily workaround JM/lencod miscompile (SIGSEGV).Andrew Trick2011-01-241-0/+2
| | | | | | rdar://problem/8893967 llvm-svn: 124137
* Enhance the diagnostic for referring to a typedef with an elaborated name to beNick Lewycky2011-01-242-3/+38
| | | | | | as useful in a templated context as it is without templates. Fixes PR8755! llvm-svn: 124136
* Disallow function template partial specializations, from HansDouglas Gregor2011-01-243-2/+11
| | | | | | Wennborg! Fixes PR8295. llvm-svn: 124135
* Give GetUnderlyingObject a TargetData, to keep it in syncDan Gohman2011-01-249-19/+24
| | | | | | | | | | | with BasicAA's DecomposeGEPExpression, which recently began using a TargetData. This fixes PR8968, though the testcase is awkward to reduce. Also, update several off GetUnderlyingObject's users which happen to have a TargetData handy to pass it in. llvm-svn: 124134
* Eliminate the use of getTypeForDecl from clang_getCursorType() andDouglas Gregor2011-01-242-19/+22
| | | | | | | | clang_getDeclObjCTypeEncoding(); use ASTContext's methods instead, which will (lazily) create the type as needed. Otherwise, we can end up with null QualTypes. llvm-svn: 124133
* fix PR8928 by clearing a stale map, patch by Jakub Staszak!Chris Lattner2011-01-241-0/+1
| | | | llvm-svn: 124132
* Add an ARMUtils.h file to house utility functions for the ARM/Thumb ↵Johnny Chen2011-01-243-0/+29
| | | | | | Instruction Set Architecture. llvm-svn: 124131
OpenPOWER on IntegriCloud