| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
<rdar://problem/13552724>
llvm-svn: 178597
|
| |
|
|
|
|
| |
<rdar://problem/13558979>
llvm-svn: 178596
|
| |
|
|
| |
llvm-svn: 178595
|
| |
|
|
|
|
|
| |
The generic structs and specializations will be refactored when obj2yaml is
changed to use yaml::IO.
llvm-svn: 178593
|
| |
|
|
|
|
|
|
| |
warning when doing a __bride cast in non-arc
mode (which has no retain count effect).
// rdar://13514210
llvm-svn: 178592
|
| |
|
|
| |
llvm-svn: 178591
|
| |
|
|
| |
llvm-svn: 178590
|
| |
|
|
| |
llvm-svn: 178589
|
| |
|
|
|
|
|
|
|
|
| |
This patch initializes t9 to the handler address, but only if the relocation
model is pic. This handles the case where handler to which eh.return jumps
points to the start of the function.
Patch by Sasa Stankovic.
llvm-svn: 178588
|
| |
|
|
|
|
|
|
| |
This reverts commit r178497 since the backend has been fixed.
Also add a test to ensure that we're emitting template information for unions.
llvm-svn: 178587
|
| |
|
|
| |
llvm-svn: 178586
|
| |
|
|
| |
llvm-svn: 178585
|
| |
|
|
|
|
|
|
|
|
| |
This patch fixes the following two tests which have been failing on
llvm-mips-linux builder since r178403:
LLVM :: Analysis/Profiling/load-branch-weights-ifs.ll
LLVM :: Analysis/Profiling/load-branch-weights-loops.ll
llvm-svn: 178584
|
| |
|
|
|
|
|
|
| |
and handle-move.ll, corresponding to r178549.
This reverts r176808, r176798, and r177914.
llvm-svn: 178583
|
| |
|
|
|
|
|
| |
It it still possible to extract information from itineraries, for
example.
llvm-svn: 178582
|
| |
|
|
|
|
| |
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077133.html
llvm-svn: 178581
|
| |
|
|
| |
llvm-svn: 178580
|
| |
|
|
|
|
| |
was generating to destination path like so /include// and dstdir can legally be blank from my interpretation of the script, and this would then generate a path like libcxx/include// which is illegal.
llvm-svn: 178579
|
| |
|
|
|
|
|
|
|
| |
- make an overload of Launch() that takes an init list of const char* if all you need to tweak in the launch info are the command-line arguments
- make Run() return an int that you can use as an exit-code
- make dynamic values work properly when recursing in FetchVariables()
- make the po output more obvious in verbose mode
llvm-svn: 178578
|
| |
|
|
|
|
|
|
| |
Fixing a bug where LLDB was not handling correctly CFStrings that have an explicit length but no NULL terminator
The data formatter was showing garbled data as part of the summary
The fix is to explicitly figure out the explicit length if we need to (bitfields tell us when that is the case) and use that as a size delimiter
llvm-svn: 178577
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
non-compiler-builtin
implementation of std::is_polymorphic does this:
template <class _Tp> struct __is_polymorphic1 : public _Tp {};
... and that g++ rejects this if _Tp has an inaccessible virtual destructor
(because __is_polymorphic1<_Tp> would have a deleted virtual destructor
overriding _Tp's non-deleted destructor). Clang was failing to reject this;
I've fixed that in r178563, but that causes libc++'s corresponding test
case to fail with both clang and gcc when using the fallback
implementation. The fallback code also incorrectly rejects final types.
The attached patch fixes the fallback implementation of is_polymorphic; we
now use dynamic_cast's detection of polymorphic class types rather than
trying to determine if adding a virtual function makes the type larger:
enable_if<sizeof((_Tp*)dynamic_cast<const volatile
void*>(declval<_Tp*>())) != 0, ...>
Two things of note here:
* the (_Tp*) cast is necessary to work around bugs in Clang and g++ where
we otherwise don't instantiate the dynamic_cast (filed as PR15656)
* the 'const volatile' is here to treat is_polymorphic<cv T> as true for a
polymorphic class type T -- my reading of the standard suggests this is
incorrect, but it matches our builtin __is_polymorphic and gcc
llvm-svn: 178576
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For variable declarations initialized with new expressions, use 'auto' for the
type specifier.
The 'auto' replacement happens only when the type of the VarDecl exactly
matches the type of the initializer and the VarDecl is *not* CV-qualified. The
only case that is currently handled is if the pointer type of the VarDecl is
itself CV qualified.
Some improvements need to be made to Clang's TypeLoc information in order for
other CV qualifier cases to be successfully handled. See the new test suite
new_cv_failing.cpp for examples of usages that could be handled with such an
improvement.
Function pointers are, for now, not transformed until the identifier info can
be extracted.
Reviewer: klimek
llvm-svn: 178575
|
| |
|
|
|
|
| |
Don't crash when there is no register context for a thread with kernel debugging. The kernel debugging uses the OperatingSystemPlugin that may behave badly when trying to get thread state, so be prepared to have invalid register contexts in threads.
llvm-svn: 178574
|
| |
|
|
|
|
|
|
| |
when we changed "rb" to "rbreak".
<rdar://problem/13552724>
llvm-svn: 178573
|
| |
|
|
| |
llvm-svn: 178572
|
| |
|
|
| |
llvm-svn: 178569
|
| |
|
|
| |
llvm-svn: 178568
|
| |
|
|
| |
llvm-svn: 178567
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
qualifiers.
This patch only adds support for parsing these identifiers in the
X86AsmParser. The front-end interface isn't capable of looking up
these identifiers at this point in time. The end result is the
compiler now errors during object file emission, rather than at
parse time. Test case coming shortly.
Part of rdar://13499009 and PR13340
llvm-svn: 178566
|
| |
|
|
| |
llvm-svn: 178565
|
| |
|
|
|
|
|
|
|
|
| |
Add utilities to create struct nodes in TBAA type DAG and to create path-aware
tags. The format of struct nodes in TBAA type DAG: a unique name, a list of
fields with field offsets and field types. The format of path-aware tags:
a base type in TBAA type DAG, an access type and an offset relative to the base
type.
llvm-svn: 178564
|
| |
|
|
|
|
|
| |
overriding a non-deleted virtual function. The existing check for this doesn't
catch this case, because it fires before we mark the method as deleted.
llvm-svn: 178563
|
| |
|
|
|
|
|
|
| |
about 'isa' ivar being explicitely accessed
when base is a user class object reference.
// rdar://13503456
llvm-svn: 178562
|
| |
|
|
| |
llvm-svn: 178561
|
| |
|
|
|
|
|
|
|
|
| |
When doing a partword atomic operation, a lwarx was being paired with
a stdcx. instead of a stwcx. when compiling for a 64-bit target. The
target has nothing to do with it in this case; we always need a stwcx.
Thanks to Kai Nacke for reporting the problem.
llvm-svn: 178559
|
| |
|
|
|
|
| |
This should fix the PPC buildbots.
llvm-svn: 178558
|
| |
|
|
|
|
| |
Updated tests and docs.
llvm-svn: 178556
|
| |
|
|
| |
llvm-svn: 178554
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new instruction scheduling models provide information about the
number of cycles consumed on each processor resource. This makes it
possible to estimate ILP more accurately than simply counting
instructions / issue width.
The functions getResourceDepth() and getResourceLength() now identify
the limiting processor resource, and return a cycle count based on that.
This gives more precise resource information, particularly in traces
that use one resource a lot more than others.
llvm-svn: 178553
|
| |
|
|
| |
llvm-svn: 178552
|
| |
|
|
|
|
|
| |
The IHM_ prefix was a fairly gross abbreviation to try to hit three
characters for uniqueness.
llvm-svn: 178551
|
| |
|
|
| |
llvm-svn: 178550
|
| |
|
|
| |
llvm-svn: 178549
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This makes it possible to share code between lib/AST/MicrosoftCXXABI.cpp
and lib/CodeGen/MicrosoftCXXABI.cpp. No functionality change.
Also adds comments about the layout of the member pointer structs as I
currently understand them.
Reviewers: rjmccall
CC: timurrrr, cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D590
llvm-svn: 178548
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is helps on architectures where i8,i16 are not legal but we have byte, and
short loads/stores. Allowing us to merge copies like the one below on ARM.
copy(char *a, char *b, int n) {
do {
int t0 = a[0];
int t1 = a[1];
b[0] = t0;
b[1] = t1;
radar://13536387
llvm-svn: 178546
|
| |
|
|
|
|
| |
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077132.html
llvm-svn: 178545
|
| |
|
|
|
|
| |
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130325/077131.html
llvm-svn: 178544
|
| |
|
|
|
|
| |
case when [[clang::fallthrough]]; is used in a method of a local class.
llvm-svn: 178543
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Basically we have always special-cased the top-level statement of an
unwrapped line (the one with ParenLevel == 0) and that lead to several
inconsistencies. All added tests were formatted in a strange way, for
example:
Before:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa();
if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()) {
}
After:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa();
if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()) {
}
llvm-svn: 178542
|
| |
|
|
|
|
| |
call memory indirect (32 and 64 bit).
llvm-svn: 178541
|