- Sep 15, 2011
-
-
Jakob Stoklund Olesen authored
Adjust counters when removing spill and reload instructions. We still don't account for reloads being removed by eliminateDeadDefs(). llvm-svn: 139806
-
Caitlin Sadowski authored
llvm-svn: 139805
-
Caitlin Sadowski authored
llvm-svn: 139804
-
Sean Callanan authored
attempt to obtain information from the process even in cases where the process isn't available. llvm-svn: 139803
-
Johnny Chen authored
llvm-svn: 139802
-
Caitlin Sadowski authored
Thread safety: refactoring various out of scope warnings to use the same inteface. This eliminates a lot of unnecessary duplicated code. llvm-svn: 139801
-
Johnny Chen authored
llvm-svn: 139800
-
Benjamin Kramer authored
llvm-svn: 139799
-
Jim Grosbach authored
If we see an EOF w/o a preceding end-of-line, return an EndOfStatement token before returning the Eof token. Based on patch by Stepan Dyatkovskiy. llvm-svn: 139798
-
Jakob Stoklund Olesen authored
When traceSiblingValue() encounters a PHI-def value created by live range splitting, don't look at all the predecessor blocks. That can be very expensive in a complicated CFG. Instead, consider that all the non-PHI defs jointly dominate all the PHI-defs. Tracing directly to all the non-PHI defs is much faster that zipping around in the CFG when there are many PHIs with many predecessors. This significantly improves compile time for indirectbr interpreters. llvm-svn: 139797
-
Jim Grosbach authored
llvm-svn: 139796
-
Jim Grosbach authored
llvm-svn: 139795
-
Jim Grosbach authored
llvm-svn: 139794
-
Jakob Stoklund Olesen authored
The getPrevIndex() function moves to the same slot in the previous instruction. For getVNInfoBefore(), we just need the previous slot in the same instruction. llvm-svn: 139793
-
Jakob Stoklund Olesen authored
Blocks with multiple PHI successors only need to go on the worklist once. Use a SmallPtrSet to track the live-out blocks that have already been handled. This is a lot faster than the two live range check we would otherwise do. Also stop recomputing hasPHIKill flags. Like RenumberValues(), it is conservatively correct to leave them in, and they are not used for anything important. llvm-svn: 139792
-
Douglas Gregor authored
llvm-svn: 139791
-
Justin Holewinski authored
llvm-svn: 139789
-
John McCall authored
possible for that to matter right now, but eventually I think we'll need to unify this better, and then it might. Also, use a more efficient looping structure. llvm-svn: 139788
-
Jakob Stoklund Olesen authored
It does, after all. RemoveCopyByCommutingDef rewrites the uses of one particular value number in A. It doesn't know how to rewrite phi uses, so there can't be any. llvm-svn: 139787
-
Benjamin Kramer authored
llvm-svn: 139786
-
Nick Lewycky authored
DW_AT_GNU_template_name = 0x2110, not 0x2108. That would explain those attr #0x2110 under the DW_TAG_GNU_template_template_param I'm seeing. Migrate from documented values to reality. llvm-svn: 139785
-
Nick Lewycky authored
1. http://gcc.gnu.org/wiki/TemplateParmsDwarf 2. ftp://ftp.software.ibm.com/software/os390/czos/dwarf/mips_extensions.pdf llvm-svn: 139784
-
Jakob Stoklund Olesen authored
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
-
Jakob Stoklund Olesen authored
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
-
Jakob Stoklund Olesen authored
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
-
Jakob Stoklund Olesen authored
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
-
Nick Lewycky authored
Note that DW_TAG_rvalue_reference_type is officially 0x42, not 0x41. llvm-svn: 139779
-
Benjamin Kramer authored
Thanks Nick! llvm-svn: 139778
-
Benjamin Kramer authored
llvm-svn: 139777
-
Nick Lewycky authored
llvm-svn: 139776
-
Benjamin Kramer authored
llvm-svn: 139775
-
Benjamin Kramer authored
llvm-svn: 139774
-
Benjamin Kramer authored
llvm-svn: 139773
-
Sean Callanan authored
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
-
Benjamin Kramer authored
The llvm-dwarfdump output isn't very verbose yet. llvm-svn: 139771
-
John McCall authored
llvm-svn: 139770
-
John McCall authored
we don't need to. llvm-svn: 139769
-
Eli Friedman authored
llvm-svn: 139768
-
Johnny Chen authored
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
-
Jim Ingham authored
Take out all the separate places in Attach where we were getting the target architecture, and move that but of functionality into CompleteAttach. llvm-svn: 139766
-