- Aug 06, 2011
-
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 136994
-
Jakob Stoklund Olesen authored
These functions are no longer used, and they are easily replaced with a loop calling shouldSplitSingleBlock and splitSingleBlock. llvm-svn: 136993
-
Jakob Stoklund Olesen authored
Drop the use of SplitAnalysis::getMultiUseBlocks, there is no need to go through a SmallPtrSet any more. llvm-svn: 136992
-
Chad Rosier authored
This fixes cases where the anonymous bitfield is followed by a bitfield member. E.g., struct t4 { char foo; long : 0; char bar : 1; }; rdar://9859156 llvm-svn: 136991
-
Johnny Chen authored
On second thought, add the IsValid() method to SBTypeList, making it similar to SBSymbolContextList and SBValueList. Modify the test suite accordingly. llvm-svn: 136990
-
Jakob Stoklund Olesen authored
Normally, we don't create a live range for a single instruction in a basic block, the spiller does that anyway. However, when splitting a live range that belongs to a proper register sub-class, inserting these extra COPY instructions completely remove the constraints from the remainder interval, and it may be allocated from the larger super-class. The spiller will mop up these small live ranges if we end up spilling anyway. It calls them snippets. llvm-svn: 136989
-
Jonathan D. Turner authored
llvm-svn: 136987
-
Jim Grosbach authored
Parsing and encoding for shifted index operands for load instructions. llvm-svn: 136986
-
- Aug 05, 2011
-
-
Johnny Chen authored
SBTypeList does not have IsValid() method defined. It's always valid in a sense. So the Python's truth value testing in turn delegates to __len__() method, which is defined for SBTypeList, and returns 0. llvm-svn: 136985
-
Ted Kremenek authored
Make test/SemaObjC/qualified-protocol-method-conflicts.m always fail and mark it XFAIL. This is a stop gap until the output of the test is deterministic. llvm-svn: 136984
-
Johnny Chen authored
Add docstring for SBType, too. llvm-svn: 136983
-
Jim Grosbach authored
More parsing support for indexed loads. Fix pre-indexed with writeback parsing for register offsets and handle basic post-indexed offsets. llvm-svn: 136982
-
Jakob Stoklund Olesen authored
Some instructions require restricted register classes, but most of the time that doesn't affect register allocation. For example, some instructions don't work with the stack pointer, but that is a reserved register anyway. Sometimes it matters, GR32_ABCD only has 4 allocatable registers. For such a proper sub-class, the register allocator should try to enable register class inflation since that makes more registers available for allocation. Make sure only legal super-classes are considered. For example, tGPR is not a proper sub-class in Thumb mode, but in ARM mode it is. llvm-svn: 136981
-
Greg Clayton authored
a native architecture that doesn't match the universal slice that is being used for all executables, we weren't correctly descending through the platform architectures and resolving the binaries. llvm-svn: 136980
-
Johnny Chen authored
llvm-svn: 136979
-
Jim Grosbach authored
Refactor STR[B] pre and post indexed instructions to use addressing modes for memory operands, which is necessary for assembly parsing and is more consistent with the rest of the memory instruction definitions. Make some incremental progress on refactoring away the mega-operand addrmode2 along the way, which is nice. llvm-svn: 136978
-
Jim Grosbach authored
llvm-svn: 136977
-
Johnny Chen authored
SWIG doesn't care about the private section of class SBTypeList. llvm-svn: 136976
-
Johnny Chen authored
Add the rich comparison methods (__eq__, __ne__) to SBType, too. o lldbtest.py: Add debug utility method TestBase.DebugSBType(). o test/python_api/type: Add tests for exercising SBType/SBTypeList API, including the SBTarget.FindTypes(type_name) API which returns a SBTypeList matching the type_name. llvm-svn: 136975
-
Jakob Stoklund Olesen authored
The old code would look at kills and defs in one pass over the instruction operands, causing problems with this code: %R0<def>, %CPSR<def,dead> = tLSLri %R5<kill>, 2, pred:14, pred:%noreg %R0<def>, %CPSR<def,dead> = tADDrr %R4<kill>, %R0<kill>, pred:14, %pred:%noreg The last instruction kills and redefines %R0, so it is still live after the instruction. This caused a register scavenger crash when compiling 483.xalancbmk for armv6. I am not including a test case because it requires too much bad luck to expose this old bug. First you need to convince the register allocator to use %R0 twice on the tADDrr instruction, then you have to convince BranchFolding to do something that causes it to run the register scavenger on he bad block. <rdar://problem/9898200> llvm-svn: 136973
-
Roman Divacky authored
llvm-svn: 136971
-
Jim Grosbach authored
The immediate portion of the operand is just a boolean (the 'U' bit indicating add vs. subtract). Treat it as such. llvm-svn: 136969
-
Jim Grosbach authored
llvm-svn: 136968
-
Chandler Carruth authored
arrays. This now suppresses the warning only in the case of a one-element array as the last field in a struct where the array size is a literal '1' rather than any macro expansion or template parameter. This doesn't distinguish between the language standard in use to allow code which dates from C89 era to compile without the warning even in C99 and C++ builds. We could add a separate warning (under a different flag) with fixit hints to switch to a flexible array, but its not clear that this would be desirable. Much of the code using this idiom is striving for maximum portability. Tests were also fleshed out a bit, and the diagnostic itself tweaked to be more pretty w.r.t. single elment arrays. This is more ugly than I would like due to APInt's not being supported by the diagnostic rendering engine. A pseudo-patch for this was proposed by Nicola Gigante, but I reworked it both for several correctness issues and for code style. Sorry this was so long in coming. llvm-svn: 136965
-
Chandler Carruth authored
1-element character arrays which are serving as flexible arrays. This is the initial step, which is to restrict the 1-element array whitelist to arrays that are member declarations. I'll refine it from here based on the proposed patch. llvm-svn: 136964
-
Abramo Bagnara authored
llvm-svn: 136963
-
Bob Wilson authored
<rdar://problem/9878189> llvm-svn: 136962
-
Chandler Carruth authored
~or~ Paint the bikeshed green. llvm-svn: 136959
-
Johnny Chen authored
This patch takes some time because the old Python constructor pattern was not a valid one, and breaks with SBTypeList's __init__ signature. Oops. llvm-svn: 136958
-
Enrico Granata authored
- Added a test case in python-synth Minor code improvements in categories, making them ready for adding new element types llvm-svn: 136957
-
Chandler Carruth authored
llvm-svn: 136956
-
Matt Beaumont-Gay authored
llvm-svn: 136955
-
-
Chandler Carruth authored
inlined variable, based on the discussion in PR10542. This explodes the runtime of several passes down the pipeline due to a large number of "copies" remaining live across a large function. This only shows up with both debug and opt, but when it does it creates a many-minute compile when self-hosting LLVM+Clang. There are several other cases that show these types of regressions. All of this is tracked in PR10542, and progress is being made on fixing the issue. Once its addressed, the re-instated, but until then this restores the performance for self-hosting and other opt+debug builds. Devang, let me know if this causes any trouble, or impedes fixing it in any way, and thanks for working on this! llvm-svn: 136953
-
Anna Zaks authored
KeychainAPI checker: Generate an error on double allocation. Pull out getAsPointeeMemoryRegion so that it could be reused. llvm-svn: 136952
-
Peter Collingbourne authored
llvm-svn: 136951
-
Matt Beaumont-Gay authored
llvm-svn: 136950
-
John McCall authored
releasing the collection. llvm-svn: 136949
-
Kaelyn Uhrain authored
functions when performing function overload resolution. llvm-svn: 136948
-
Johnny Chen authored
Remove expectedFailure decorator for test_SBType, which does not take an empty constructor after the recent changes. And remove expectedFailure decorator for test_SBTypeMember, which no longer exists after the recent changes, replace it with test_SBTypeList. llvm-svn: 136947
-