| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 155877
|
| |
|
|
|
|
| |
diagnostic, from Eitan Adler!
llvm-svn: 155876
|
| |
|
|
| |
llvm-svn: 155875
|
| |
|
|
| |
llvm-svn: 155874
|
| |
|
|
|
|
|
|
| |
Comparator we are using to sort the various lookup indices by symbol address. When we switched to weak pointers,
this lookup got slightly slower. Not enough to matter for most uses, but in the sort algorithm it does matter.
llvm-svn: 155873
|
| |
|
|
|
|
| |
Dmitri Gribenko!
llvm-svn: 155872
|
| |
|
|
| |
llvm-svn: 155871
|
| |
|
|
| |
llvm-svn: 155870
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to r155808 - this mistake has been made in a few iterators.
Based on Chandler Carruth's feedback to r155808 I added an implicit conversion
to Decl* to ease adoption/usage. Useful for the pointer comparison, but not the
dyn_cast (due to template argument deduction causing the conversion not to be
used) - there for future convenience, though. This idiom (op T* for iterators)
seems to be fairly idiomatic within the LLVM codebase & I'll likely add it as I
fix up the other iterators here.
llvm-svn: 155869
|
| |
|
|
|
|
|
| |
test for an invalid declaration at every single place in the
constant evaluator that's about to request a struct layout.
llvm-svn: 155868
|
| |
|
|
|
|
|
|
|
| |
<rdar://problem/11291436>.
This is a second attempt at a fix for this, the first was r155468. Thanks
to Chandler, Bob and others for the feedback that helped me improve this.
llvm-svn: 155866
|
| |
|
|
|
|
|
|
| |
a sizeof() type is compatible with a pointed type.
Fixes <rdar://problem/11292586>.
llvm-svn: 155864
|
| |
|
|
|
|
| |
Suggested by: Sebastian Pop
llvm-svn: 155863
|
| |
|
|
|
|
| |
support.
llvm-svn: 155861
|
| |
|
|
| |
llvm-svn: 155860
|
| |
|
|
| |
llvm-svn: 155859
|
| |
|
|
|
|
| |
declarations at the global scope, from Evan P. Fixes PR9083.
llvm-svn: 155858
|
| |
|
|
|
|
|
|
|
|
| |
being used in an exception specification in a way which isn't otherwise
ill-formed in C++98: this warning also incorrectly triggered on uses of 'this'
inside thread-safety attributes, and the mechanism required to tell these cases
apart is more complex than can be justified by the (minimal) value of this part
of -Wc++98-compat.
llvm-svn: 155857
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of a local variable, make sure we don't infinitely recurse when the
reference binds to itself.
e.g:
int* func() {
int& i = i; // assign non-exist variable to a reference which has same name.
return &i; // return pointer
}
rdar://11345441
llvm-svn: 155856
|
| |
|
|
|
|
|
|
| |
defined inside the objc class belong to class's
decl. scope. This is to conform to objective-c
rules. // rdar://11351299
llvm-svn: 155855
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This patch will optimize -(x != 0) on X86
FROM
cmpl $0x01,%edi
sbbl %eax,%eax
notl %eax
TO
negl %edi
sbbl %eax %eax
llvm-svn: 155853
|
| |
|
|
|
|
|
|
|
|
|
| |
Replace some assert() calls w/ actual diagnostics. In a perfect world,
there'd be range checks on these values long before things ever reached
this code. For now, though, issuing a better-late-than-never diagnostic
is still a big improvement over assert().
rdar://11347287
llvm-svn: 155851
|
| |
|
|
|
|
| |
rdar://11289247
llvm-svn: 155849
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
calculating it recursively.
boost::assign::tuple_list_of uses the trick of chaining call operator expressions in order to declare a "list of tuples", e.g:
std::vector<tuple> v = boost::assign::tuple_list_of(1, "foo")(2, "bar")(3, "qqq");
Due to CXXOperatorCallExpr calculating its source range recursively we would get
significant slowdowns with a large number of chained call operator expressions and the
potential for stack overflow.
rdar://11350116
llvm-svn: 155848
|
| |
|
|
| |
llvm-svn: 155847
|
| |
|
|
| |
llvm-svn: 155846
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This was exposed by SingleSource/UnitTests/Vector/constpool.c.
The computed size of a basic block isn't always a multiple of its known
alignment, and that can introduce extra alignment padding after the
block.
<rdar://problem/11347135>
llvm-svn: 155845
|
| |
|
|
|
|
|
|
|
|
|
| |
Thanks to "Gabor Greif" <ggreif@gmail.com> for reporting this problem.
The configure flag should be --with-default-sysroot as documented, and
not --with-sysroot. The reason we don't want to define --with-sysroot
is that GCC has a configure flag by that name and it has a different
semantics.
llvm-svn: 155844
|
| |
|
|
| |
llvm-svn: 155843
|
| |
|
|
| |
llvm-svn: 155842
|
| |
|
|
|
|
|
|
|
|
| |
SmallVector<CXCursor> objects
under the covers.
Fixes <rdar://problem/11289160>.
llvm-svn: 155841
|
| |
|
|
| |
llvm-svn: 155840
|
| |
|
|
|
|
| |
Reviewed by Doug Gregor.
llvm-svn: 155839
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently we weren't checking default arguments when they were instantiated.
This adds the check, fixes the lack of instantiation caching (which seems like
it was mostly implemented but just missed the last step), and avoids
implementing non-dependent default args (for non-dependent parameter types) as
uninstantiated default arguments (so that we don't warn once for every
instantiation when it's not instantiation dependent).
Reviewed by Richard Smith.
llvm-svn: 155838
|
| |
|
|
|
|
|
| |
when we're in an Objective-C container context. Fixes
<rdar://problem/11286701>.
llvm-svn: 155836
|
| |
|
|
|
|
| |
in the loop conditional do not change.
llvm-svn: 155835
|
| |
|
|
| |
llvm-svn: 155832
|
| |
|
|
|
|
| |
local rewriting functions.
llvm-svn: 155826
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
On x86-32, structure return via sret lets the callee pop the hidden
pointer argument off the stack, which the caller then re-pushes.
However if the calling convention is fastcc, then a register is used
instead, and the caller should not adjust the stack. This is
implemented with a check of IsTailCallConvention
X86TargetLowering::LowerCall but is now checked properly in
X86FastISel::DoSelectCall.
(this time, actually commit what was reviewed!)
llvm-svn: 155825
|
| |
|
|
|
|
|
|
| |
ARM BUILD_VECTORs created after type legalization cannot use i8 or i16
operands, since those types are not legal. Instead use i32 operands, which
will be implicitly truncated by the BUILD_VECTOR to match the element type.
llvm-svn: 155824
|
| |
|
|
|
|
|
| |
TentativeParsingAction is reverted, from Pasi Parviainen! Fixes
PR12480 / <rdar://problem/11341251>.
llvm-svn: 155823
|
| |
|
|
|
|
|
|
|
| |
relocations are resolved. It's much more reasonable to do this decision when
relocations are just being added - we have all the information at that point.
Also a bit of renaming and extra comments to clarify extensions.
llvm-svn: 155819
|
| |
|
|
|
|
| |
known zero in the LHS. Fixes PR12541.
llvm-svn: 155818
|
| |
|
|
|
|
|
|
|
|
|
| |
Allow the "SplitCriticalEdge" function to split the edge to a landing pad. If
the pass is *sure* that it thinks it knows what it's doing, then it may go ahead
and specify that the landing pad can have its critical edge split. The loop
unswitch pass is one of these passes. It will split the critical edges of all
edges coming from a loop to a landing pad not within the loop. Doing so will
retain important loop analysis information, such as loop simplify.
llvm-svn: 155817
|
| |
|
|
| |
llvm-svn: 155816
|
| |
|
|
|
|
|
|
|
| |
- Add comments
- Change field names to be more reasonable
- Fix indentation and naming to conform to coding conventions
- Remove unnecessary includes / replace them by forward declatations
llvm-svn: 155815
|
| |
|
|
|
|
| |
even a good hack.
llvm-svn: 155813
|
| |
|
|
| |
llvm-svn: 155811
|
| |
|
|
|
|
| |
emitter. Needs some major refactoring as these two code emitters are almost identical
llvm-svn: 155810
|
| |
|
|
|
|
| |
inputs.
llvm-svn: 155809
|