- Apr 26, 2011
-
-
Jakob Stoklund Olesen authored
This has two effects: 1. We never inflate to a larger register class than what the sub-target can handle. 2. Completely unconstrained virtual registers get the largest possible register class. llvm-svn: 130229
-
Jakob Stoklund Olesen authored
The hook will be used by the register allocator when recomputing register classes after removing constraints. Thumb1 code doesn't allow anything larger than tGPR, and x86 needs to ensure that the spill size doesn't change. llvm-svn: 130228
-
Johnny Chen authored
Modify EmulateInstructionARM::SetArchitecture() to treat "arm" and "thumb" as wild card architectures for now, in order to fix the test failure for the 'arm_emulation' directory. There might be a better way. llvm-svn: 130227
-
Benjamin Kramer authored
llvm-svn: 130226
-
Devang Patel authored
This worked untill now because stars are aligned (i.e. num of complex address elments are always 0 or 2+ and when it is 2+ at least two elements are access together) llvm-svn: 130225
-
Fariborz Jahanian authored
(and ignore it for now) - wip. llvm-svn: 130224
-
Argyrios Kyrtzidis authored
Emit a -Wnull-dereference warning for "*null" not just "*null = something". Addresses rdar://9269271. llvm-svn: 130207
-
Chris Lattner authored
translation fails. We were bailing out in some cases that would cause us to miss GVN'ing some non-local cases away. llvm-svn: 130206
-
Dan Gohman authored
llvm-svn: 130205
-
Argyrios Kyrtzidis authored
Disable a test that fails on windows; for some reason we don't detect that the header has different timestamp. llvm-svn: 130204
-
Oscar Fuentes authored
llvm-svn: 130199
-
Rafael Espindola authored
llvm-svn: 130198
-
Duncan Sands authored
llvm-svn: 130193
-
Chris Lattner authored
symbols. For example, don't emit: .comm _i,4,2 ## @i ## @i instead emit: .comm _i,4,2 ## @i llvm-svn: 130192
-
Nick Lewycky authored
llvm-svn: 130191
-
Evan Cheng authored
llvm-svn: 130190
-
Greg Clayton authored
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
-
Rafael Espindola authored
Remove previous DwarfCFI hack. llvm-svn: 130187
-
Nick Lewycky authored
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
-
NAKAMURA Takumi authored
llvm-svn: 130183
-
Rafael Espindola authored
llvm-svn: 130181
-
Chris Lattner authored
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
-
Eric Christopher authored
llvm-svn: 130179
-
Devang Patel authored
Let dwarf writer allocate extra space in the debug location expression. This space, if requested, will be used for complex addresses of the Blocks' variables. llvm-svn: 130178
-
Devang Patel authored
llvm-svn: 130177
-
-
Devang Patel authored
llvm-svn: 130175
-
Johnny Chen authored
And modify the test cases accordingly. llvm-svn: 130174
-
Fariborz Jahanian authored
side-effect to generate their ir. Not just for __builtin_expect. // rdar://9330105 llvm-svn: 130172
-
Devang Patel authored
llvm-svn: 130171
-
Devang Patel authored
s/addVariableAddress/addFrameVariableAddress/g llvm-svn: 130170
-
Argyrios Kyrtzidis authored
For the warnings related to -Wparentheses, display first the note about how to silence the warning and any other suggestion after that. Related to rdar://9300260. llvm-svn: 130169
-
Ted Kremenek authored
Re-enable disable free optimization where the FrontendAction is not freed when -disable-free is passed. This accidentally was commited in r128011. llvm-svn: 130168
-
Devang Patel authored
Observed this while reading code, so I do not have a test case handy here. llvm-svn: 130167
-
Dan Gohman authored
llvm-svn: 130166
-
Eric Christopher authored
llvm-svn: 130165
-
Ted Kremenek authored
When generating printf fixits, preserve the original formating for unsigned integers (e.g., 'x', 'o'). llvm-svn: 130164
-
Fariborz Jahanian authored
constant-folded. // rdar://9330105 llvm-svn: 130163
-
Argyrios Kyrtzidis authored
llvm-svn: 130162
-
Lenny Maiorani authored
Implements the strncmp() checker just like the strcmp() checker, but with bounds. Requires LLVM svn r129582. llvm-svn: 130161
-