| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Fixes the bootstrap regression I introduced in r179067.
llvm-svn: 179079
|
| |
|
|
|
|
| |
Fixes rdar://13589856
llvm-svn: 179078
|
| |
|
|
|
|
|
|
|
| |
behalf of the JIT. We don't need it to be writable
since we are using special APIs to write into it.
<rdar://problem/13599185>
llvm-svn: 179077
|
| |
|
|
| |
llvm-svn: 179076
|
| |
|
|
|
|
|
|
|
|
|
| |
report mismatched deallocator
Test that the path notes do not change. I don’t think we should print a note on escape.
Also, I’ve removed a check that assumed that the family stored in the RefStete could be
AF_None and added an assert in the constructor.
llvm-svn: 179075
|
| |
|
|
|
|
| |
Use it when we don't need to know if we have a 32 or 64 bit SymbolTableEntry.
llvm-svn: 179074
|
| |
|
|
|
|
|
|
|
|
|
| |
Some parts of PointerIntPair assumed that the IntType of the pair was implicitly
convertible to intptr_t, which is not the case for enum class values. Add a
static_cast<intptr_t> to make these conversions explicit and allow
PointerIntPair to be used with an enum class IntType. While we're here, rename
some of the argument values so we don't have variables named "Int" floating
around.
llvm-svn: 179073
|
| |
|
|
|
|
|
| |
Use it to share code and when we don't need to know if we have a 32 or 64
bit Section.
llvm-svn: 179072
|
| |
|
|
|
|
|
|
| |
uninitialized memory.
Users may overide new-operators and implement any function that they like.
llvm-svn: 179071
|
| |
|
|
|
|
|
|
| |
that method gets a warning.
Test case from <rdar://problem/11627873>.
llvm-svn: 179070
|
| |
|
|
|
|
|
|
|
| |
It turns out that the optimizer can't eliminate this without extra
information, for which there's a separate bug.
rdar://13588325
llvm-svn: 179069
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
have integral values.
We were assuming that any expression used as a converted constant
expression would either not have a folded constant value or would be
an integer, which is not the case for some ill-formed constant
expressions. Because converted constant expressions are only used
where integral values are expected, we can simply treat this as an
error path. If that ever changes, we'll need to widen the interface of
Sema::CheckConvertedConstantExpression() anyway.
llvm-svn: 179068
|
| |
|
|
|
|
|
|
|
|
|
|
| |
contexts not represented by scopes.
This fixes a regression I introduced in r178136, where we would not
consider the using directives from the semantic declaration contexts
that aren't represented by the lexical scopes (Scope) when performing
unqualified name lookup. This lead to horribly funny diagnostics like
"no identifier named 'foo'; did you mean 'foo'?".
llvm-svn: 179067
|
| |
|
|
| |
llvm-svn: 179066
|
| |
|
|
|
|
| |
-fno-delayed-template-parsing.
llvm-svn: 179065
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Preserve line breaks after function-like macro usages without
semicolon, e.g.:
QQQ(xxx)
class X {
};
Reviewers: djasper, klimek
Reviewed By: djasper
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D638
llvm-svn: 179064
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
invalidation in Reassociate.
I brazenly think this change is slightly simpler than r178793 because:
- no "state" in functor
- "OpndPtrs[i]" looks simpler than "&Opnds[OpndIndices[i]]"
While I can reproduce the probelm in Valgrind, it is rather difficult to come up
a standalone testing case. The reason is that when an iterator is invalidated,
the stale invalidated elements are not yet clobbered by nonsense data, so the
optimizer can still proceed successfully.
Thank Benjamin for fixing this bug and generously providing the test case.
llvm-svn: 179062
|
| |
|
|
| |
llvm-svn: 179061
|
| |
|
|
|
|
| |
default for -O3.
llvm-svn: 179060
|
| |
|
|
|
|
|
| |
Remove the custom lowering code dealing with it, disallow it in PNaclTargetInfo
and adjust tests accordingly.
llvm-svn: 179059
|
| |
|
|
|
|
|
| |
/Volumes/KernelDebugKit (the default mount point for the Kernel Debug
Kit dmgs).
llvm-svn: 179058
|
| |
|
|
|
|
| |
to 256, since we're blowing the stack for a trivial "factorial" class template.
llvm-svn: 179057
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When two template decls with the same name are used in this diagnostic,
force them to print their qualified names. This changes the bad message of:
candidate template ignored: could not match 'array' against 'array'
to the better message of:
candidate template ignored: could not match 'NS2::array' against 'NS1::array'
llvm-svn: 179056
|
| |
|
|
| |
llvm-svn: 179055
|
| |
|
|
|
|
|
| |
This was committed without tests and contains obvious bugs. That's not
acceptable. It broke address sanitizer for most programs using glob(3).
llvm-svn: 179054
|
| |
|
|
|
|
| |
a non-variable iteration declaration.
llvm-svn: 179053
|
| |
|
|
| |
llvm-svn: 179052
|
| |
|
|
| |
llvm-svn: 179051
|
| |
|
|
|
|
| |
order.
llvm-svn: 179050
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idea is to indent according to operator precedence and pretty much
identical to how stuff would be indented with parenthesis.
Before:
bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ==
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb &&
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >
ccccccccccccccccccccccccccccccccccccccccc;
After:
bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ==
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb &&
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >
ccccccccccccccccccccccccccccccccccccccccc;
llvm-svn: 179049
|
| |
|
|
| |
llvm-svn: 179048
|
| |
|
|
| |
llvm-svn: 179047
|
| |
|
|
|
|
| |
These checks are enabled with the -Wthread-safety-beta flag.
llvm-svn: 179046
|
| |
|
|
| |
llvm-svn: 179043
|
| |
|
|
|
|
| |
// rdar://12379114
llvm-svn: 179042
|
| |
|
|
|
|
| |
set by the C headers <wchar.h> and <string.h> indicating C support for the C++-altered wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr, strchr, strpbrk, strrchr, memchr, and strstr. This was already done in <cstring> for other platforms using other flags, so just had to add one more flag to the list there.
llvm-svn: 179041
|
| |
|
|
|
|
|
|
| |
is no longer a win of GCC.
This whole doc should really be looked at.
llvm-svn: 179040
|
| |
|
|
|
|
| |
// rdar://12379114
llvm-svn: 179039
|
| |
|
|
|
|
| |
First feature is not CPU subtype anymore since r134127
llvm-svn: 179038
|
| |
|
|
|
|
| |
for loop that end up being Objective-C fast enumeration loops.
llvm-svn: 179037
|
| |
|
|
| |
llvm-svn: 179036
|
| |
|
|
|
|
| |
that is actually an Objective-C fast enumeration loop.
llvm-svn: 179035
|
| |
|
|
| |
llvm-svn: 179034
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The costs are overfitted so that I can still use the legalization factor.
For example the following kernel has about half the throughput vectorized than
unvectorized when compiled with SSE2. Before this patch we would vectorize it.
unsigned short A[1024];
double B[1024];
void f() {
int i;
for (i = 0; i < 1024; ++i) {
B[i] = (double) A[i];
}
}
radar://13599001
llvm-svn: 179033
|
| |
|
|
|
|
|
|
|
|
|
| |
try to reload it.
Add a regression test for the case where such behavior helps TSan:
1. race is reported in the main module
2. new shared library is loaded
3. race is reported in the shared library
llvm-svn: 179032
|
| |
|
|
| |
llvm-svn: 179031
|
| |
|
|
|
|
| |
rdar://13521249
llvm-svn: 179030
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
functions to the conversion function set eagerly.
This slightly propagates an existing hack that delays when we provide
access specifiers for the visible conversion functions of a class by
copying the available access specifier early. The only client this
affects is LLDB, which tends to discover and add conversion functions
after the class is technically "complete". As such, the only
observable difference is in LLDB, so the testing will go there.
llvm-svn: 179029
|
| |
|
|
| |
llvm-svn: 179027
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
PowerPC has a conditional branch to the link register (return) instruction: BCLR.
This should be used any time when we'd otherwise have a conditional branch to a
return. This adds a small pass, PPCEarlyReturn, which runs just prior to the
branch selection pass (and, importantly, after block placement) to generate
these conditional returns when possible. It will also eliminate unconditional
branches to returns (these happen rarely; most of the time these have already
been tail duplicated by the time PPCEarlyReturn is invoked). This is a nice
optimization for small functions that do not maintain a stack frame.
llvm-svn: 179026
|