| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 179110
|
| |
|
|
|
|
|
|
|
|
|
| |
rather than deriving the StringRef from the Start and End SMLocs.
Using the Start and End SMLocs works fine for operands such as [Symbol], but
not for operands such as [Symbol + ImmDisp]. All existing test cases that
reference a variable exercise this patch.
rdar://13602265
llvm-svn: 179109
|
| |
|
|
|
|
|
|
|
|
|
| |
when result type of protocol property and getter method
differ by fixing a more serious problem. When a forward
protocol declaration comes between its definition and
its use in class protocol list, the forward protocol
ast was being used in building the protocol list.
// rdar://12522752
llvm-svn: 179108
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
switch (...) {
// a
// b
// c
case first:
break;
}
After:
switch (...) {
// a
// b
// c
case first:
break;
}
llvm-svn: 179107
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
possible.
This pattern occurs in SROA output due to the way vector arguments are lowered
on ARM.
The testcase from PR15525 now compiles into this, which is better than the code
we got with the old scalarrepl:
_Store:
ldr.w r9, [sp]
vmov d17, r3, r9
vmov d16, r1, r2
vst1.8 {d16, d17}, [r0]
bx lr
Differential Revision: http://llvm-reviews.chandlerc.com/D647
llvm-svn: 179106
|
| |
|
|
|
|
|
|
|
|
|
|
| |
On PowerPC, non-vector loads and stores have r+i forms; however, in functions
with large stack frames these were not being used to access slots far from the
stack pointer because such slots were out of range for the signed 16-bit
immediate offset field. This increases register pressure because we need a
separate register for each offset (when the r+r form is used). By enabling
virtual base registers, we can deal with large stack frames without unduly
increasing register pressure.
llvm-svn: 179105
|
| |
|
|
| |
llvm-svn: 179104
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This happens whenever there is a c-style explicit cast to nullptr not
surrounded by parentheses following a return statement.
- Added a white space before nullptr if the character before is alphanumeric
when replacing the null pointer expression.
- Simplified visitor
- Addes tests
llvm-svn: 179103
|
| |
|
|
|
|
|
|
|
|
| |
Some translations here are not 1x1 because there are grep|grep
chains that are non-trivial to implement in terms of FileCheck features. I
made an effort for the tests to remain as similar as possible; do let me know
if you notice anything fishy. The good news are that some buggy tests were
fixed (grep | not grep - a bug waiting to happen).
llvm-svn: 179102
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some codebases use these kinds of macros in functions, e.g. Chromium's
IPC_BEGIN_MESSAGE_MAP, IPC_BEGIN_MESSAGE_HANDLER, etc.
Reviewers: djasper, klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D645
llvm-svn: 179099
|
| |
|
|
|
|
|
|
| |
This adds an emacs editor integration (thanks to Ami Fischman). Also
pulls out the style into a variable for the vi integration and just
uses clang-formats defaults style in clang-format-diff.py.
llvm-svn: 179098
|
| |
|
|
|
|
|
| |
For now it is templated only on being 64 or 32 bits. I will add little/big
endian next.
llvm-svn: 179097
|
| |
|
|
| |
llvm-svn: 179096
|
| |
|
|
|
|
| |
same as DW_FORM_addr in DWARF2, and is 4/8 bytes on 32/64-bit DWARF starting from DWARF3. Adding a test for this is a huge pain - generating and uploading pre-built binary with DWARF3 debug info is way too ugly, and writing fine-grained unittests for DebugInfo is impossible, as it doesn't expose any headers in include/llvm. That said, I'm going to choose the second approach and submit the patch exposing DebugInfo headers for review soon enough.
llvm-svn: 179095
|
| |
|
|
| |
llvm-svn: 179094
|
| |
|
|
|
|
| |
Credit goes to Timur Iskhodzhanov for finding the problem and solution.
llvm-svn: 179093
|
| |
|
|
|
|
| |
that force default PIC (like Darwin x86-64), otherwise specifying -fPIC will produce bogus unused argument warning
llvm-svn: 179092
|
| |
|
|
| |
llvm-svn: 179091
|
| |
|
|
|
|
| |
load_shared_lib test only in lit
llvm-svn: 179090
|
| |
|
|
|
|
| |
-f(no-)sanitize-address-zero-base-shadow on Android
llvm-svn: 179089
|
| |
|
|
| |
llvm-svn: 179088
|
| |
|
|
| |
llvm-svn: 179087
|
| |
|
|
| |
llvm-svn: 179086
|
| |
|
|
| |
llvm-svn: 179085
|
| |
|
|
|
|
| |
new/new[] operators.
llvm-svn: 179084
|
| |
|
|
|
|
|
|
|
|
| |
The save area is twice as big and there is no struct return slot. The
stack pointer is always 16-byte aligned (after adding the bias).
Also eliminate the stack adjustment instructions around calls when the
function has a reserved stack frame.
llvm-svn: 179083
|
| |
|
|
|
|
|
|
| |
when appropriate.
Differential Revision: http://llvm-reviews.chandlerc.com/D502
llvm-svn: 179082
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the analyzer used isIntegerType() everywhere, which uses the C
definition of "integer". The C++ predicate with the same behavior is
isIntegerOrUnscopedEnumerationType().
However, the analyzer is /really/ using this to ask if it's some sort of
"integrally representable" type, i.e. it should include C++11 scoped
enumerations as well. hasIntegerRepresentation() sounds like the right
predicate, but that includes vectors, which the analyzer represents by its
elements.
This commit audits all uses of isIntegerType() and replaces them with the
general isIntegerOrEnumerationType(), except in some specific cases where
it makes sense to exclude scoped enumerations, or any enumerations. These
cases now use isIntegerOrUnscopedEnumerationType() and getAs<BuiltinType>()
plus BuiltinType::isInteger().
isIntegerType() is hereby banned in the analyzer - lib/StaticAnalysis and
include/clang/StaticAnalysis. :-)
Fixes real assertion failures. PR15703 / <rdar://problem/12350701>
llvm-svn: 179081
|
| |
|
|
|
|
|
|
| |
expression, look through pseudo-object expressions.
rdar://13602832
llvm-svn: 179080
|
| |
|
|
|
|
| |
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
|