summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Changed the emulate instruction function to take emulate options whichGreg Clayton2011-04-2631-414/+944
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Print all the moves at a given label instead of just the first one.Rafael Espindola2011-04-263-15/+6
| | | | | | Remove previous DwarfCFI hack. llvm-svn: 130187
* Rename everything to follow LLVM style ... I think.Nick Lewycky2011-04-263-212/+329
| | | | | | | | | | | | | | 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
* include/clang/AST/StmtIterator.h: std::pair should be provided by <utility>. ↵NAKAMURA Takumi2011-04-261-0/+1
| | | | | | libcxx needs it. llvm-svn: 130183
* No relocation produces a SLEB or ULEB, make sure they are handled in MC.Rafael Espindola2011-04-262-11/+15
| | | | llvm-svn: 130181
* Enhance MemDep: When alias analysis returns a partial alias result,Chris Lattner2011-04-264-29/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Temporarily revert r130176, it appears to have broken a few tests.Eric Christopher2011-04-261-22/+11
| | | | llvm-svn: 130179
* Let dwarf writer allocate extra space in the debug location expression. This ↵Devang Patel2011-04-264-9/+14
| | | | | | space, if requested, will be used for complex addresses of the Blocks' variables. llvm-svn: 130178
* Emit intrinsic at current insert point, not at the end of current block.Devang Patel2011-04-251-1/+1
| | | | llvm-svn: 130177
* Turn on byval parameters in Clang for ARM APCS. rdar://problem/7662569Stuart Hastings2011-04-251-11/+22
| | | | llvm-svn: 130176
* Simplify. There is no need to have a method to just call another method.Devang Patel2011-04-252-26/+14
| | | | llvm-svn: 130175
* For lldbutil.py, Change a bunch of function names to all lower case formats ↵Johnny Chen2011-04-259-57/+56
| | | | | | | | to be consistent. And modify the test cases accordingly. llvm-svn: 130174
* Generalize case for built-in expressions havingFariborz Jahanian2011-04-251-11/+4
| | | | | | | side-effect to generate their ir. Not just for __builtin_expect. // rdar://9330105 llvm-svn: 130172
* Rename a local variable.Devang Patel2011-04-251-17/+21
| | | | llvm-svn: 130171
* Rename a method to match what it really does.Devang Patel2011-04-253-8/+10
| | | | | | s/addVariableAddress/addFrameVariableAddress/g llvm-svn: 130170
* For the warnings related to -Wparentheses, display first the note about how ↵Argyrios Kyrtzidis2011-04-251-16/+16
| | | | | | | | to silence the warning and any other suggestion after that. Related to rdar://9300260. llvm-svn: 130169
* Re-enable disable free optimization where the FrontendAction is not freed ↵Ted Kremenek2011-04-251-1/+4
| | | | | | when -disable-free is passed. This accidentally was commited in r128011. llvm-svn: 130168
* Do not drop a variable's complex address if it is not based on frame base.Devang Patel2011-04-251-1/+5
| | | | | | Observed this while reading code, so I do not have a test case handy here. llvm-svn: 130167
* Fix an iterator invalidation bug.Dan Gohman2011-04-251-9/+16
| | | | llvm-svn: 130166
* Make this test disable fast isel as it's not needed.Eric Christopher2011-04-251-1/+1
| | | | llvm-svn: 130165
* When generating printf fixits, preserve the original formating for unsigned ↵Ted Kremenek2011-04-252-1/+29
| | | | | | integers (e.g., 'x', 'o'). llvm-svn: 130164
* Ir-gen the side-effect(s) when __builtin_expect isFariborz Jahanian2011-04-252-1/+20
| | | | | | constant-folded. // rdar://9330105 llvm-svn: 130163
* Fix a crash when ASTReader emits diagnostic when another one is in flight. ↵Argyrios Kyrtzidis2011-04-254-5/+24
| | | | | | Fixes rdar//9334563. llvm-svn: 130162
* Implements the strncmp() checker just like the strcmp() checker, but with ↵Lenny Maiorani2011-04-252-2/+138
| | | | | | bounds. Requires LLVM svn r129582. llvm-svn: 130161
* mark a large static table static. Pointed out by Michael Ilseman!Chris Lattner2011-04-251-1/+1
| | | | llvm-svn: 130160
* Add 'lldb_private' namespace where necessary to prevent ambiguity andCaroline Tice2011-04-251-3/+3
| | | | | | resulting infinite loops. llvm-svn: 130159
* Move two functions around.Johnny Chen2011-04-251-40/+36
| | | | llvm-svn: 130158
* 'extern' variables in functions don't shadow externs in global scope. Fixes ↵Argyrios Kyrtzidis2011-04-252-14/+15
| | | | | | rdar://8883302, this time for C++ as well. llvm-svn: 130157
* Renamed UnwindAssemblyProfiler to UnwindAssembly along with its source files.Greg Clayton2011-04-2516-79/+79
| | | | llvm-svn: 130156
* Even more renaming.Greg Clayton2011-04-254-15/+13
| | | | llvm-svn: 130155
* More moving things around for the unwind plan and assembly unwind plug-ins.Greg Clayton2011-04-2510-52/+286
| | | | llvm-svn: 130154
* Improve adherence to general style, use "foo_t &x" instead of "foo_t& x"Chris Lattner2011-04-251-21/+21
| | | | llvm-svn: 130153
* Add libstdc++ search paths for GCC 4.6.0 on Arch Linux. Patch by Jakub ↵Nico Weber2011-04-251-0/+7
| | | | | | Wieczorek. llvm-svn: 130152
* allow adding a FoldingSetNodeID to a FastFoldingSetNode, resolving PR9499,Chris Lattner2011-04-252-2/+10
| | | | | | patch by Johannes Schaub! llvm-svn: 130151
* Driver: When compilation fails, don't try to remove output files we don't haveDaniel Dunbar2011-04-251-0/+6
| | | | | | write access to. llvm-svn: 130150
* don't use compound literals in MM macros, since they will be instantiatedChris Lattner2011-04-251-3/+5
| | | | | | into user code which may warn about them with -pedantic. Patch by Jonathan Sauer! llvm-svn: 130149
* fix PR9474, a crash with -fshort-enum and C++ templates: when instantiatingChris Lattner2011-04-253-12/+27
| | | | | | | 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
* Make SBBreakpointLocation::GetDescription() API to be consistent with SBTarget,Johnny Chen2011-04-255-8/+22
| | | | | | | | | | 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
* Recognize gcc's ms_struct pragma (and ignore for now).Fariborz Jahanian2011-04-259-2/+85
| | | | | | This is wip. llvm-svn: 130138
* add a missed bitfield instcombine.Chris Lattner2011-04-251-0/+47
| | | | llvm-svn: 130137
* Minor tweak to avoid having to dig through canonical types multiple times ↵Douglas Gregor2011-04-251-3/+6
| | | | | | when checking a qualification conversion llvm-svn: 130136
* Put plug-ins into the correct directories as they were incorrectly locatedGreg Clayton2011-04-2519-98/+131
| | | | | | in a Utility directory. llvm-svn: 130135
* Fix test failure for '-A i386'.Johnny Chen2011-04-251-1/+1
| | | | llvm-svn: 130134
* Update startstr argument of self.expect() to "a.out`sum(int, int)" to ↵Johnny Chen2011-04-251-1/+1
| | | | | | respond to recent change. llvm-svn: 130133
* Add Windows SEH keywords.Francois Pichet2011-04-251-0/+4
| | | | llvm-svn: 130132
* Lower BlockAddress node when relocation-model is static.Akira Hatanaka2011-04-253-21/+33
| | | | llvm-svn: 130131
* A dbg.declare may not be in entry block, even if it is referring to an ↵Devang Patel2011-04-252-4/+123
| | | | | | incoming argument. However, It is appropriate to emit DBG_VALUE referring to this incoming argument in entry block in MachineFunction. llvm-svn: 130129
* When Sema::ClassifyName() finds an invalid ivar reference, return anDouglas Gregor2011-04-253-12/+15
| | | | | | | invalid expression rather than the far-more-generic "error". Fixes a mild regression in error recovery uncovered by the GCC testsuite. llvm-svn: 130128
* Make tests more useful.Benjamin Kramer2011-04-258-12/+12
| | | | | | lit needs a linter ... llvm-svn: 130126
* Remove some hard coded CR-LFs. Some of these were the entire files, one ofChandler Carruth2011-04-257-499/+499
| | | | | | | 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
OpenPOWER on IntegriCloud