summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Unnest; no functionality change.John McCall2010-11-111-42/+42
| | | | llvm-svn: 118753
* It's not necessary to clear out the Size and TBAATag at each ofDan Gohman2010-11-111-12/+1
| | | | | | these points. llvm-svn: 118752
* Improve ASTUnit's capture of diagnostics so that theDouglas Gregor2010-11-116-58/+70
| | | | | | | | | | diagnostic-capturing client lives as long as the ASTUnit itself does. Otherwise, we can end up with crashes when we get a diagnostic outside of parsing/code completion. The circumstances under which this happen are really hard to reproduce, because a file needs to change from under us. llvm-svn: 118751
* Set NonLocalDepInfo's Size field to UnknownSize when invalidatingDan Gohman2010-11-112-6/+6
| | | | | | it, so that it doesn't appear to be a known size. llvm-svn: 118748
* Insert two blank SlotIndexes between basic blocks instead of just one.Jakob Stoklund Olesen2010-11-112-2/+8
| | | | | | | | | | | | | | | | | This is the first small step towards using closed intervals for liveness instead of the half-open intervals we're using now. We want to be able to distinguish between a SlotIndex that represents a variable being live-out of a basic block, and an index representing a variable live-in to its successor. That requires two separate indexes between blocks. One for live-outs and one for live-ins. With this change, getMBBEndIdx(MBB).getPrevSlot() becomes stable so it stays greater than any instructions inserted at the end of MBB. llvm-svn: 118747
* Document debuginfo-tests.Devang Patel2010-11-111-0/+38
| | | | llvm-svn: 118746
* Adding couple of Block API, a bug fix andFariborz Jahanian2010-11-115-12/+167
| | | | | | a test change, all for blocks. wip. llvm-svn: 118745
* Delete unused function.Jakob Stoklund Olesen2010-11-101-23/+0
| | | | llvm-svn: 118743
* No need to add liveness that's already there.Jakob Stoklund Olesen2010-11-101-4/+1
| | | | llvm-svn: 118742
* Hook up AliasAnalysis in InlineSpiller. This is used for rematerializingJakob Stoklund Olesen2010-11-102-1/+8
| | | | | | constant loads. llvm-svn: 118741
* add a note about inline asm compatibility.Chris Lattner2010-11-101-0/+44
| | | | llvm-svn: 118740
* Some rewordings of the assert messages for process stopped due to breakpoint.Johnny Chen2010-11-101-2/+3
| | | | llvm-svn: 118739
* Move LDM predicate operand encoding into base clase. Add STM missing STMJim Grosbach2010-11-102-10/+18
| | | | | | encoding bits. llvm-svn: 118738
* Added initial support to the lldb_private::SymbolFile for findingGreg Clayton2010-11-108-113/+211
| | | | | | | | | | | | | | | namespaces by name given an optional symbol context. I might end up dressing up the "clang::NamespaceDecl" into a lldb_private::Namespace class if we need to do more than is currenlty required of namespaces. Currently we only need to be able to lookup a namespace by name when parsing expressions, so I kept it simple for now. The idea here is even though we are passing around a "clang::NamespaceDecl *", that we always have it be an opaque pointer (it is forward declared inside of "lldb/Core/ClangForward.h") and we only use clang::NamespaceDecl implementations inside of ClangASTContext, or ClangASTType when we need to extract information from the namespace decl object. llvm-svn: 118737
* ARM LDM encoding for the mode (ia, ib, da, db) operand.Jim Grosbach2010-11-104-1/+19
| | | | llvm-svn: 118736
* When -Wconversion computes the range of a type, it uses the (bit-)range John McCall2010-11-102-19/+46
| | | | | | | | | | | of the enumerators rather than the actual expressible range. This is great when dealing with opaque *values* of that type, but when computing the range of the type for purposes of converting *into* it, it produces warnings in cases we don't care about (e.g. enum_t x = 500;). Divide the logic into these two cases and use the more conservative range for targets. llvm-svn: 118735
* Factor some code into WriteSection.Rafael Espindola2010-11-101-62/+72
| | | | llvm-svn: 118733
* Fix ARM encoding of non-return LDM instructions.Jim Grosbach2010-11-102-4/+11
| | | | llvm-svn: 118732
* Slight changes to how to phrase the assert for Python API ↵Johnny Chen2010-11-104-12/+16
| | | | | | thread.GetStopReason(). llvm-svn: 118731
* Fix ARM encoding of LDM+Return instruction.Jim Grosbach2010-11-102-3/+10
| | | | llvm-svn: 118730
* When clearing a non-local pointer dependency cache entry, clearDan Gohman2010-11-101-0/+8
| | | | | | the reverse map too. This fixes seflhost build errors. llvm-svn: 118729
* Update the section index map after we add the medatada sections.Rafael Espindola2010-11-101-0/+4
| | | | llvm-svn: 118728
* test case for r118726.Devang Patel2010-11-101-0/+15
| | | | llvm-svn: 118727
* Take care of special characters while creating named MDNode name to hold ↵Devang Patel2010-11-103-13/+48
| | | | | | | | function specific local variable's info. This fixes radar 8653152. I am checking in testcase as a separate check-in. llvm-svn: 118726
* Use SectionIndexMap in WriteSymbolTable to make it a little less brittle.Rafael Espindola2010-11-101-16/+17
| | | | llvm-svn: 118725
* Add a variant of GCC-style vector types for ARM NEON.Bob Wilson2010-11-1012-52/+53
| | | | | | | | | NEON vector types need to be mangled in a special way to comply with ARM's ABI, similar to some of the AltiVec-specific vector types. This patch is mostly just renaming a bunch of "AltiVecSpecific" things, since they will no longer be specific to AltiVec. Besides that, it just adds the new "NeonVector" enum. llvm-svn: 118724
* Factor out the code for computing an AliasAnalysis::LocationDan Gohman2010-11-101-82/+101
| | | | | | for a given instruction into a helper function. llvm-svn: 118723
* Factor some code into ComputeIndexMap.Rafael Espindola2010-11-101-14/+28
| | | | llvm-svn: 118722
* Fully invalidate cached results when a prior query's size orDan Gohman2010-11-102-10/+114
| | | | | | type is insufficient for, or incompatible with, the current query. llvm-svn: 118721
* Fix an issue where we tried to turn a v2f32 build_vector into a v4i32 build ↵Nate Begeman2010-11-101-2/+2
| | | | | | vector with 2 elts llvm-svn: 118720
* Reduce the maximum recursion depth, 5 seems pointlessly too much.Duncan Sands2010-11-101-1/+1
| | | | | | Probably it should just be 1, but compromise with 3. llvm-svn: 118718
* Enhance GVN to do more precise alias queries for non-local memoryDan Gohman2010-11-106-27/+129
| | | | | | | | | | | | | | | references. For example, this allows gvn to eliminate the load in this example: void foo(int n, int* p, int *q) { p[0] = 0; p[1] = 1; if (n) { *q = p[0]; } } llvm-svn: 118714
* Finish adding the actual stop reason as part of the assert message when ↵Johnny Chen2010-11-104-6/+7
| | | | | | | | asserting: thread.GetStopReason() == lldb.eStopReasonBreakpoint llvm-svn: 118713
* Document a language-compatibility issue with function parameter names in ↵Douglas Gregor2010-11-101-0/+13
| | | | | | function prototypes in C++ llvm-svn: 118712
* Add the actual stop reason to an assert message for bitfields_variable_python()Johnny Chen2010-11-102-2/+6
| | | | | | | | test method when asserting: thread.GetStopReason() == lldb.eStopReasonBreakpoint llvm-svn: 118711
* Silence a bunch of clang warnings.Benjamin Kramer2010-11-103-3/+3
| | | | llvm-svn: 118710
* Change the String<size> methods to take a fragment instead of a buffer.Rafael Espindola2010-11-101-77/+40
| | | | llvm-svn: 118709
* Instantiate class member template partial specialization declarationsDouglas Gregor2010-11-105-102/+181
| | | | | | | | | in the order they occur within the class template, delaying out-of-line member template partial specializations until after the class has been fully instantiated. This fixes a regression introduced by r118454 (itself a fix for PR8001). llvm-svn: 118704
* Don't keep appending to the current crash description with each formatted ↵Greg Clayton2010-11-101-0/+1
| | | | | | crash description call. llvm-svn: 118703
* Basic rematerialization during splitting.Jakob Stoklund Olesen2010-11-102-38/+66
| | | | | | | | | | | Whenever splitting wants to insert a copy, it checks if the value can be rematerialized cheaply instead. Missing features: - Delete instructions when all uses have been rematerialized. - Truncate live ranges to the remaining uses after rematerialization. llvm-svn: 118702
* RABasic is nearly functionally complete. There are a few remainingAndrew Trick2010-11-109-90/+228
| | | | | | | | | benchmarks hitting an assertion. Adds LiveIntervalUnion::collectInterferingVRegs. Fixes "late spilling" by checking for any unspillable live vregs among all physReg aliases. llvm-svn: 118701
* Move the embedded Python interpreter onto a separate thread, to preventCaroline Tice2010-11-104-9/+128
| | | | | | | main thread from having to wait on it (which was causing some I/O hangs). llvm-svn: 118700
* Use MCSectionELF in places we know we have an ELF section.Rafael Espindola2010-11-103-11/+11
| | | | llvm-svn: 118699
* Use getValueOperand() and getPointerOperand() on load and storeDan Gohman2010-11-101-12/+13
| | | | | | instructions instead of hard-coding operand numbers. llvm-svn: 118698
* Trivial fix for an error message.Johnny Chen2010-11-101-1/+1
| | | | llvm-svn: 118697
* Rename AccessesArguments and AccessesArgumentsReadonly, and rewriteDan Gohman2010-11-102-9/+10
| | | | | | their comments. llvm-svn: 118696
* Remove @skip decorator:Johnny Chen2010-11-101-1/+0
| | | | | | | | @unittest2.skip("rdar://problem/8648070 'expression *bar_ptr' seg faults") It has been fixed by r118672. llvm-svn: 118695
* Teach InstructionSimplify how to look through PHI nodes. Since PHIDuncan Sands2010-11-102-32/+210
| | | | | | | | | nodes can be used in loops, this could result in infinite looping if there is no recursion limit, so add such a limit. It is also used for the SelectInst case because in theory there could be an infinite loop there too if the basic block is unreachable. llvm-svn: 118694
* Fix a copy+pasto Duncan noticed.Dan Gohman2010-11-101-2/+2
| | | | llvm-svn: 118693
* Add a doesAccessArgPointees helper function, and update code to useDan Gohman2010-11-103-23/+33
| | | | | | it, and to be consistent. llvm-svn: 118692
OpenPOWER on IntegriCloud