| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are defined as enumerations. Current bits include:
eEmulateInstructionOptionAutoAdvancePC
eEmulateInstructionOptionIgnoreConditions
Modified the EmulateInstruction class to have a few more pure virtuals that
can help clients understand how many instructions the emulator can handle:
virtual bool
SupportsEmulatingIntructionsOfType (InstructionType inst_type) = 0;
Where instruction types are defined as:
//------------------------------------------------------------------
/// Instruction types
//------------------------------------------------------------------
typedef enum InstructionType
{
eInstructionTypeAny, // Support for any instructions at all (at least one)
eInstructionTypePrologueEpilogue, // All prologue and epilogue instructons that push and pop register values and modify sp/fp
eInstructionTypePCModifying, // Any instruction that modifies the program counter/instruction pointer
eInstructionTypeAll // All instructions of any kind
} InstructionType;
This allows use to tell what an emulator can do and also allows us to request
these abilities when we are finding the plug-in interface.
Added the ability for an EmulateInstruction class to get the register names
for any registers that are part of the emulation. This helps with being able
to dump and log effectively.
The UnwindAssembly class now stores the architecture it was created with in
case it is needed later in the unwinding process.
Added a function that can tell us DWARF register names for ARM that goes
along with the source/Utility/ARM_DWARF_Registers.h file:
source/Utility/ARM_DWARF_Registers.c
Took some of plug-ins out of the lldb_private namespace.
llvm-svn: 130189
|
|
|
|
|
|
| |
Remove previous DwarfCFI hack.
llvm-svn: 130187
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for switch and indirectbr edges. This works by densely numbering
all blocks which have such terminators, and then separately numbering the
possible successors. The predecessors write down a number, the successor knows
its own number (as a ConstantInt) and sends that and the pointer to the number
the predecessor wrote down to the runtime, who looks up the counter in a
per-function table.
Coverage data should now be functional, but I haven't tested it on anything
other than my 2-file synthetic test program for coverage.
llvm-svn: 130186
|
|
|
|
|
|
| |
libcxx needs it.
llvm-svn: 130183
|
|
|
|
| |
llvm-svn: 130181
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
return it as a clobber. This allows GVN to do smart things.
Enhance GVN to be smart about the case when a small load is clobbered
by a larger overlapping load. In this case, forward the value. This
allows us to compile stuff like this:
int test(void *P) {
int tmp = *(unsigned int*)P;
return tmp+*((unsigned char*)P+1);
}
into:
_test: ## @test
movl (%rdi), %ecx
movzbl %ch, %eax
addl %ecx, %eax
ret
which has one load. We already handled the case where the smaller
load was from a must-aliased base pointer.
llvm-svn: 130180
|
|
|
|
| |
llvm-svn: 130179
|
|
|
|
|
|
| |
space, if requested, will be used for complex addresses of the Blocks' variables.
llvm-svn: 130178
|
|
|
|
| |
llvm-svn: 130177
|
|
|
|
| |
llvm-svn: 130176
|
|
|
|
| |
llvm-svn: 130175
|
|
|
|
|
|
|
|
| |
to be consistent.
And modify the test cases accordingly.
llvm-svn: 130174
|
|
|
|
|
|
|
| |
side-effect to generate their ir. Not just for
__builtin_expect. // rdar://9330105
llvm-svn: 130172
|
|
|
|
| |
llvm-svn: 130171
|
|
|
|
|
|
| |
s/addVariableAddress/addFrameVariableAddress/g
llvm-svn: 130170
|
|
|
|
|
|
|
|
| |
to silence the warning and
any other suggestion after that. Related to rdar://9300260.
llvm-svn: 130169
|
|
|
|
|
|
| |
when -disable-free is passed. This accidentally was commited in r128011.
llvm-svn: 130168
|
|
|
|
|
|
| |
Observed this while reading code, so I do not have a test case handy here.
llvm-svn: 130167
|
|
|
|
| |
llvm-svn: 130166
|
|
|
|
| |
llvm-svn: 130165
|
|
|
|
|
|
| |
integers (e.g., 'x', 'o').
llvm-svn: 130164
|
|
|
|
|
|
| |
constant-folded. // rdar://9330105
llvm-svn: 130163
|
|
|
|
|
|
| |
Fixes rdar//9334563.
llvm-svn: 130162
|
|
|
|
|
|
| |
bounds. Requires LLVM svn r129582.
llvm-svn: 130161
|
|
|
|
| |
llvm-svn: 130160
|
|
|
|
|
|
| |
resulting infinite loops.
llvm-svn: 130159
|
|
|
|
| |
llvm-svn: 130158
|
|
|
|
|
|
| |
rdar://8883302, this time for C++ as well.
llvm-svn: 130157
|
|
|
|
| |
llvm-svn: 130156
|
|
|
|
| |
llvm-svn: 130155
|
|
|
|
| |
llvm-svn: 130154
|
|
|
|
| |
llvm-svn: 130153
|
|
|
|
|
|
| |
Wieczorek.
llvm-svn: 130152
|
|
|
|
|
|
| |
patch by Johannes Schaub!
llvm-svn: 130151
|
|
|
|
|
|
| |
write access to.
llvm-svn: 130150
|
|
|
|
|
|
| |
into user code which may warn about them with -pedantic. Patch by Jonathan Sauer!
llvm-svn: 130149
|
|
|
|
|
|
|
| |
the enum decl, we need to use an integer type the same size as the enumerator,
which may not be the promoted type with packed enums.
llvm-svn: 130148
|
|
|
|
|
|
|
|
|
|
| |
i.e., with 'SBStream &description' first, followed by 'DescriptionLevel level'.
Modify lldbutil.py so that get_description() for a target or breakpoint location
can just take the lldb object itself without specifying an option to mean option
lldb.eDescriptionLevelBrief. Modify TestTargetAPI.py to exercise this logic path.
llvm-svn: 130147
|
|
|
|
|
|
| |
This is wip.
llvm-svn: 130138
|
|
|
|
| |
llvm-svn: 130137
|
|
|
|
|
|
| |
when checking a qualification conversion
llvm-svn: 130136
|
|
|
|
|
|
| |
in a Utility directory.
llvm-svn: 130135
|
|
|
|
| |
llvm-svn: 130134
|
|
|
|
|
|
| |
respond to recent change.
llvm-svn: 130133
|
|
|
|
| |
llvm-svn: 130132
|
|
|
|
| |
llvm-svn: 130131
|
|
|
|
|
|
| |
incoming argument. However, It is appropriate to emit DBG_VALUE referring to this incoming argument in entry block in MachineFunction.
llvm-svn: 130129
|
|
|
|
|
|
|
| |
invalid expression rather than the far-more-generic "error". Fixes a
mild regression in error recovery uncovered by the GCC testsuite.
llvm-svn: 130128
|
|
|
|
|
|
| |
lit needs a linter ...
llvm-svn: 130126
|
|
|
|
|
|
|
| |
these was just one line of a file. Explicitly set the eol-style property on the
files to try and ensure this fix stays.
llvm-svn: 130125
|