| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 136197
|
|
|
|
|
|
| |
chunks of consequtive instructions. But, there is not any way to describe this in .debug_inline accelerator table used by gdb. However, describe non contiguous ranges of inlined function body appropriately using AT_range of DW_TAG_inlined_subroutine debug info entry.
llvm-svn: 136196
|
|
|
|
|
|
| |
know their own frames.
llvm-svn: 136194
|
|
|
|
|
|
| |
they're still wanted.
llvm-svn: 136193
|
|
|
|
| |
llvm-svn: 136192
|
|
|
|
|
|
| |
to clang now, the rest are in process (6) or have been deleted.
llvm-svn: 136191
|
|
|
|
|
|
|
| |
This required converting the StringMaps to use a BumpPtrAllocator. I measured the
compile time and saw no observable regression.
llvm-svn: 136190
|
|
|
|
|
|
| |
SourceManager.
llvm-svn: 136189
|
|
|
|
| |
llvm-svn: 136188
|
|
|
|
| |
llvm-svn: 136187
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When splitting global live ranges, it is now possible to split for
multiple destination intervals at once. Previously, we only had the main
and stack intervals.
Each edge bundle is assigned to a split candidate, and splitAroundRegion
will insert copies between the candidate intervals and the stack
interval as needed.
The multi-way splitting is used to split around compact regions when
enabled with -compact-regions. The best candidate register still gets
all the bundles it wants, but everything outside the main interval is
first split around compact regions before we create single-block
intervals.
Compact region splitting still causes some regressions, so it is not
enabled by default.
llvm-svn: 136186
|
|
|
|
| |
llvm-svn: 136185
|
|
|
|
|
|
| |
main().
llvm-svn: 136184
|
|
|
|
|
|
| |
their undefined behavior.
llvm-svn: 136183
|
|
|
|
| |
llvm-svn: 136182
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[dcl.init.list] as is possible without generalized initializer lists or full
constant expression support, and adds a c++0x-compat warning in C++98 mode.
The FixIt currently uses a typedef's basename without qualification, which is
likely to be incorrect on some code. If it's incorrect on too much code, we
should write a function to get the string that refers to a type from a
particular context.
The warning is currently off by default. I'll fix LLVM and clang before turning
it on.
llvm-svn: 136181
|
|
|
|
|
|
|
|
|
| |
destructors of abstract classes. It's undefined behavior to actually
call the destructor (e.g., via delete), but the presence of code that
calls this destructor doesn't make the program
ill-formed. Fixes <rdar://problem/9819242>.
llvm-svn: 136180
|
|
|
|
| |
llvm-svn: 136179
|
|
|
|
| |
llvm-svn: 136178
|
|
|
|
| |
llvm-svn: 136177
|
|
|
|
|
|
|
|
|
|
| |
These copies would coalesce easily, but the resulting value would be
defined by a deleted instruction. Now we also remove the undefined value
number from the destination register.
This fixes PR10503.
llvm-svn: 136174
|
|
|
|
| |
llvm-svn: 136173
|
|
|
|
|
|
|
|
| |
destructor. PR10504.
I'm not completely sure the standard allows us to reject this, but if it doesn't, it should. :)
llvm-svn: 136172
|
|
|
|
| |
llvm-svn: 136170
|
|
|
|
| |
llvm-svn: 136169
|
|
|
|
| |
llvm-svn: 136168
|
|
|
|
|
|
|
|
|
|
| |
On x86 we can't encode an immediate LHS of a sub directly. If the RHS comes from a XOR with a constant we can
fold the negation into the xor and add one to the immediate of the sub. Then we can turn the sub into an add,
which can be commuted and encoded efficiently.
This code is generated for __builtin_clz and friends.
llvm-svn: 136167
|
|
|
|
|
|
| |
build bots.
llvm-svn: 136166
|
|
|
|
| |
llvm-svn: 136165
|
|
|
|
| |
llvm-svn: 136164
|
|
|
|
| |
llvm-svn: 136163
|
|
|
|
| |
llvm-svn: 136162
|
|
|
|
|
|
|
|
|
| |
1. Attempting to delete an expression of incomplete class type should be an error, not a warning.
2. If someone tries to delete a pointer to an incomplete class type, make sure we actually emit
the delete expression after we warn.
llvm-svn: 136161
|
|
|
|
| |
llvm-svn: 136160
|
|
|
|
|
|
| |
most of them to FileCheck.
llvm-svn: 136159
|
|
|
|
| |
llvm-svn: 136158
|
|
|
|
|
|
|
| |
different from the previous 128-bit because they work in lanes.
Update a few comments and add testcases
llvm-svn: 136157
|
|
|
|
| |
llvm-svn: 136156
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
@interface Foo : NSObject
@property (readonly) id myProp;
@end
@implementation Foo
@synthesize myProp;
@end
t.m:9:13: error: ARC forbids synthesizing a property of an Objective-C object with unspecified storage attribute
@synthesize myProp;
^
which is fine, we want the ownership of the synthesized ivar to be explicit. But we should _not_ emit an error
for the following cases, because we can get the ownership either from the declared ivar or from the property type:
@interface Foo : NSObject {
__weak id _myProp1;
id myProp2;
}
@property (readonly) id myProp1;
@property (readonly) id myProp2;
@property (readonly) __strong id myProp3;
@end
@implementation Foo
@synthesize myProp1 = _myProp1;
@synthesize myProp2;
@synthesize myProp3;
@end

rdar://9844006.
llvm-svn: 136155
|
|
|
|
|
|
|
| |
Allow the rot_imm operand to be optional. This sets the stage for refactoring
away the "rr" versions from the multiclasses and replacing them with Pat<>s.
llvm-svn: 136154
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CodeGen/2003-08-21-WideString.c
CodeGen/2003-10-02-UnionLValueError.c
CodeGen/2004-02-20-Builtins.c
CodeGen/2008-01-04-WideBitfield.c
CodeGen/2002-07-14-MiscTests3.c
CodeGen/2005-04-09-ComplexOps.c
CodeGen/2008-12-23-AsmIntPointerTie.c
CodeGen/2005-07-20-SqrtNoErrno.c
CodeGen/2005-01-02-VAArgError-ICE.c
CodeGen/2004-06-17-UnorderedCompares.c
CodeGen/2002-06-25-FWriteInterfaceFailure.c
CodeGen/2002-02-18-64bitConstant.c
CodeGen/2002-05-24-Alloca.c
CodeGen/2006-01-13-Includes.c
CodeGen/2007-09-27-ComplexIntCompare.c
CodeGen/2004-02-13-IllegalVararg.c
CodeGen/2007-09-12-PragmaPack.c
CodeGen/2002-08-02-UnionTest.c
from test/FrontendC with changes to remove header file includes.
llvm-svn: 136153
|
|
|
|
|
|
|
|
| |
Start of cleaning this up a bit. First step is to remove the encoder hook by
storing the operand as the bits it'll actually encode to so it can just be
directly used. Map it to the assembly source values 8/16/24 when we print it.
llvm-svn: 136152
|
|
|
|
|
|
|
|
|
|
| |
PreprocessingRecord::getTotalMemory().
Most of the memory was already reported; but now we report more memory from side data structures.
Fixes <rdar://problem/9379717>.
llvm-svn: 136150
|
|
|
|
|
|
| |
could not be selected). Fixes a minor isel issue that was breaking the testcase from r136130.
llvm-svn: 136148
|
|
|
|
| |
llvm-svn: 136147
|
|
|
|
| |
llvm-svn: 136145
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
end of list test function as __eol_test__.
The simple example can be reduced to:
for t in task_head.linked_list_iter('next'):
print t
Modify the test program to exercise the API for both cases: supplying or not
supplying an end of list test function.
llvm-svn: 136144
|
|
|
|
|
|
| |
for allowing the fixed-length disassembler to distinguish between SBFX and STR_PRE.
llvm-svn: 136141
|
|
|
|
| |
llvm-svn: 136138
|
|
|
|
| |
llvm-svn: 136135
|