summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Stop verifying hasPHIKill() flags.Jakob Stoklund Olesen2011-09-152-11/+2
| | | | | | | | | | There is only one legitimate use remaining, in addIntervalsForSpills(). All other calls to hasPHIKill() are only used to update PHIKill flags. The addIntervalsForSpills() function is part of the old spilling framework, only used by linearscan. llvm-svn: 139783
* RemoveCopyByCommutingDef doesn't need hasPHIKill().Jakob Stoklund Olesen2011-09-151-8/+8
| | | | | | | | | | | Instead, let HasOtherReachingDefs() test for defs in B that overlap any phi-defs in A as well. This test is slightly different, but almost identical. A perfectly precise test would only check those phi-defs in A that are reachable from AValNo. llvm-svn: 139782
* It is safe to remat a value killed by phis.Jakob Stoklund Olesen2011-09-151-3/+1
| | | | | | | | | | | | | The source live range is recomputed using shrinkToUses() which does handle phis correctly. The hasPHIKill() condition was relevant in the old days when ReMaterializeTrivialDef() tried to recompute the live range itself. The shrinkToUses() function will mark the original def as dead when no more uses and phi kills remain. It is then removed by runOnMachineFunction(). llvm-svn: 139781
* Leave hasPHIKill flags alone in LiveInterval::RenumberValues.Jakob Stoklund Olesen2011-09-152-22/+0
| | | | | | | | | | | It is conservatively correct to keep the hasPHIKill flags, even after deleting PHI-defs. The calculation can be very expensive after taildup has created a quadratic number of indirectbr edges in the CFG, and the hasPHIKill flag isn't used for anything after RenumberValues(). llvm-svn: 139780
* Update Dwarf enums list for DWARF 4.Nick Lewycky2011-09-152-1/+33
| | | | | | Note that DW_TAG_rvalue_reference_type is officially 0x42, not 0x41. llvm-svn: 139779
* DWARF: Print the number for unknown abbrev fields.Benjamin Kramer2011-09-151-5/+18
| | | | | | Thanks Nick! llvm-svn: 139778
* DWARF: Fail gracefully when encountering unknown values in an abbrev.Benjamin Kramer2011-09-151-4/+9
| | | | llvm-svn: 139777
* Give structs with virtual methods a virtual destructor.Nick Lewycky2011-09-152-0/+6
| | | | llvm-svn: 139776
* DWARF: Silence GCC -Wsign-compare warning.Benjamin Kramer2011-09-151-1/+1
| | | | llvm-svn: 139775
* DWARF: Fix indentation.Benjamin Kramer2011-09-152-82/+81
| | | | llvm-svn: 139774
* DWARF: Include <algorithm> explicitly.Benjamin Kramer2011-09-151-0/+1
| | | | llvm-svn: 139773
* This patch modifies the expression parser to allow itSean Callanan2011-09-1527-525/+2345
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to execute expressions even in the absence of a process. This allows expressions to run in situations where the target cannot run -- e.g., to perform calculations based on type information, or to inspect a binary's static data. This modification touches the following files: lldb-private-enumerations.h Introduce a new enum specifying the policy for processing an expression. Some expressions should always be JITted, for example if they are functions that will be used over and over again. Some expressions should always be interpreted, for example if the target is unsafe to run. For most, it is acceptable to JIT them, but interpretation is preferable when possible. Target.[h,cpp] Have EvaluateExpression now accept the new enum. ClangExpressionDeclMap.[cpp,h] Add support for the IR interpreter and also make the ClangExpressionDeclMap more robust in the absence of a process. ClangFunction.[cpp,h] Add support for the new enum. IRInterpreter.[cpp,h] New implementation. ClangUserExpression.[cpp,h] Add support for the new enum, and for running expressions in the absence of a process. ClangExpression.h Remove references to the old DWARF-based method of evaluating expressions, because it has been superseded for now. ClangUtilityFunction.[cpp,h] Add support for the new enum. ClangExpressionParser.[cpp,h] Add support for the new enum, remove references to DWARF, and add support for checking whether the expression could be evaluated statically. IRForTarget.[h,cpp] Add support for the new enum, and add utility functions to support the interpreter. IRToDWARF.cpp Removed CommandObjectExpression.cpp Remove references to the obsolete -i option. Process.cpp Modify calls to ClangUserExpression::Evaluate to pass the correct enum (for dlopen/dlclose) SBValue.cpp Add support for the new enum. SBFrame.cpp Add support for he new enum. BreakpointOptions.cpp Add support for the new enum. llvm-svn: 139772
* DWARF: Add basic support for line tables.Benjamin Kramer2011-09-156-1/+709
| | | | | | The llvm-dwarfdump output isn't very verbose yet. llvm-svn: 139771
* Sorry, that assertion actually already exists.John McCall2011-09-151-2/+0
| | | | llvm-svn: 139770
* We don't generate null initializer expressions anymore, andJohn McCall2011-09-151-5/+3
| | | | | | we don't need to. llvm-svn: 139769
* Make demanded-elt simplification for shufflevector slightly stronger. ↵Eli Friedman2011-09-152-0/+14
| | | | | | Spotted by inspection. llvm-svn: 139768
* Modify MachThread::NotifyException() to allow the arch specific protocol to ↵Johnny Chen2011-09-151-26/+5
| | | | | | | | | | process the passed in (MachException::Data &)exc first before possible reassignment of the member m_stop_exception with exc. This allows lldb to stop at the watchpoint of a simple test program. llvm-svn: 139767
* Take out all the separate places in Attach where we were getting the target ↵Jim Ingham2011-09-151-49/+17
| | | | | | architecture, and move that but of functionality into CompleteAttach. llvm-svn: 139766
* [regcoalescing] bug fix for RegistersDefinedFromSameValue.Andrew Trick2011-09-153-2/+128
| | | | | | | An improper SlotIndex->VNInfo lookup was leading to unsafe copy removal. Fixes PR10920 401.bzip2 miscompile with no IV rewrite. llvm-svn: 139765
* Change the "attach" command to always wait synchronously for the target to ↵Jim Ingham2011-09-151-26/+11
| | | | | | stop. It's not very useful to return the prompt in mid-attach, and it makes reporting the result of the attach hard to do. llvm-svn: 139764
* [analyzer] Refactor: make PathDiagnosticLocation responsible for validation ↵Anna Zaks2011-09-157-69/+87
| | | | | | | | | of SourceLocations (commit 2 of ?): - Modify all PathDiagnosticLocation constructors that take Stmt to also requre LocationContext. - Add a constructor which should be used in case there is no valid statement/location (it will grab the location of the enclosing function). llvm-svn: 139763
* Fix ArchSpec::operator== to take the Triple into account as well as the ↵Jim Ingham2011-09-151-41/+63
| | | | | | Core. Also make the constructors explicit. llvm-svn: 139762
* Fix ArchSpec::operator== to take the Triple into account as well as the ↵Jim Ingham2011-09-151-0/+3
| | | | | | Core. Also make the constructors explicit. llvm-svn: 139761
* Have the FuncUnwinder object request & provide an architecture-definedJason Molenda2011-09-156-5/+61
| | | | | | | | | | | | | | | | | | | | | UnwindPlan for unwinding from the first instruction of an otherwise unknown function call (GetUnwindPlanArchitectureDefaultAtFunctionEntry()). Update RegisterContextLLDB::GetFullUnwindPlanForFrame() to detect the case of a frame 0 at address 0x0 which indicates that we jumped through a NULL function pointer. Use the ABI's FunctionEntryUnwindPlan to find the caller frame. These changes make it so lldb can identify the calling frame correctly in code like int main () { void (*f)(void) = 0; f(); } llvm-svn: 139760
* Set the OS in the triple correctly in response to the qHostInfo packet.Greg Clayton2011-09-151-1/+1
| | | | llvm-svn: 139759
* Fix the code creating VZEXT_LOAD so that it creates the right memoperand. ↵Eli Friedman2011-09-141-3/+6
| | | | | | Issue spotted in -debug output. I can't think of any practical effects at the moment, but it might matter if we start doing more aggressive alias analysis in CodeGen. llvm-svn: 139758
* Thumb2 assembly parsing and encoding for PLI.Jim Grosbach2011-09-141-0/+44
| | | | llvm-svn: 139757
* Thumb2 assembly parsing and encoding for PLD.Jim Grosbach2011-09-141-0/+42
| | | | llvm-svn: 139756
* Update the comment for system_temp_directory() to indicate when itDouglas Gregor2011-09-142-2/+5
| | | | | | | will ignore the erasedOnReboot option, and properly escape the backslash in "C:\TEMP". Thanks to Aaron and Francois. llvm-svn: 139755
* Thumb2 assembly parsing and encoding for PKH.Jim Grosbach2011-09-142-4/+36
| | | | llvm-svn: 139754
* ARMv7a has the PKH instructions.Jim Grosbach2011-09-141-2/+2
| | | | llvm-svn: 139753
* Emit debug info for c++0x nullptr.Devang Patel2011-09-143-4/+13
| | | | llvm-svn: 139752
* Add support to emit debug info for C++0x nullptr type.Devang Patel2011-09-144-5/+42
| | | | llvm-svn: 139751
* Make -E work with module importsDouglas Gregor2011-09-142-5/+14
| | | | llvm-svn: 139750
* ARM tighten up the register classes for the PKH instructions.Jim Grosbach2011-09-141-21/+22
| | | | llvm-svn: 139748
* Fix a crasher in Thumb2 MOV-immediate encoding for certain inputs.Owen Anderson2011-09-142-1/+3
| | | | llvm-svn: 139747
* Fix a bug where re-use of the same existing target-wise watchpoint did not ↵Johnny Chen2011-09-141-19/+21
| | | | | | work correctly. llvm-svn: 139746
* Don't try to write a macro offset for an identifier that names a ↵Douglas Gregor2011-09-142-17/+18
| | | | | | non-exported macro, for real this time llvm-svn: 139745
* Include limits.h to make sure PATH_MAX is known on Solaris 10.Bill Wendling2011-09-141-0/+3
| | | | | | Patch by Joakim Johansson! llvm-svn: 139743
* Thumb2 assembly parsing and encoding for ORR.Jim Grosbach2011-09-141-0/+20
| | | | llvm-svn: 139742
* Thumb2 assembly parsing and encoding for ORN.Jim Grosbach2011-09-141-0/+22
| | | | llvm-svn: 139741
* Thumb2 assembly parsing and encoding for NOP.W.Jim Grosbach2011-09-142-3/+7
| | | | llvm-svn: 139740
* Thumb2 assembly parsing and encoding for MVN.Jim Grosbach2011-09-142-42/+92
| | | | llvm-svn: 139739
* platform/clang_darwin: Allow use of an RC_SUPPORTED_ARCHS variable to limit theDaniel Dunbar2011-09-141-0/+13
| | | | | | architectures we try to build for. llvm-svn: 139738
* Nested IT blocks are UNPREDICTABLE. Mark them as such when disassembling them.Owen Anderson2011-09-141-0/+4
| | | | llvm-svn: 139736
* Thumb2 assembly parsing and encoding for MUL.Jim Grosbach2011-09-142-1/+38
| | | | llvm-svn: 139735
* Revert my exported-macro hackery. Something is amissDouglas Gregor2011-09-142-17/+13
| | | | llvm-svn: 139734
* Thread safety: small fixes in commentsCaitlin Sadowski2011-09-141-22/+16
| | | | llvm-svn: 139733
* DWARF: Generate the address lookup table from the DIE tree if .debug_aranges ↵Benjamin Kramer2011-09-147-1/+87
| | | | | | | | is not available. Ported from LLDB. llvm-svn: 139732
* Make sure that we actually keep the key length and data length in sync when ↵Douglas Gregor2011-09-141-14/+12
| | | | | | dealing with non-exported macros llvm-svn: 139731
OpenPOWER on IntegriCloud