| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
constructors. Fixes PR12219.
llvm-svn: 152470
|
| |
|
|
| |
llvm-svn: 152469
|
| |
|
|
|
|
|
|
|
|
|
| |
doesn't understand. We registered
as aborted, but didn't treat such cases as sinks in the ExplodedGraph.
Along the way, add basic support for CXXCatchStmt, expanding the set of code we actually analyze (hopefully correctly).
Fixes: <rdar://problem/10892489>
llvm-svn: 152468
|
| |
|
|
| |
llvm-svn: 152467
|
| |
|
|
| |
llvm-svn: 152465
|
| |
|
|
| |
llvm-svn: 152464
|
| |
|
|
|
|
|
|
|
|
| |
for ios.
Greg disabled this back in 2012-01-10 r147886 but we still need to use it.
<rdar://problem/11016745>
llvm-svn: 152463
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- We do this when it is easy to determine that the backend will pass them on
the stack properly by itself.
Currently LLVM codegen is really bad in some cases with byval, for example, on
the test case here (which is derived from Sema code, which likes to pass
SourceLocations around)::
struct s47 { unsigned a; };
void f47(int,int,int,int,int,int,struct s47);
void test47(int a, struct s47 b) { f47(a, a, a, a, a, a, b); }
we used to emit code like this::
...
movl %esi, -8(%rbp)
movl -8(%rbp), %ecx
movl %ecx, (%rsp)
...
to handle moving the struct onto the stack, which is just appalling.
Now we generate::
movl %esi, (%rsp)
which seems better, no?
llvm-svn: 152462
|
| |
|
|
| |
llvm-svn: 152461
|
| |
|
|
| |
llvm-svn: 152460
|
| |
|
|
|
|
| |
// rdar://11023563
llvm-svn: 152459
|
| |
|
|
|
|
| |
Somehow we never verified SSA dominance before.
llvm-svn: 152458
|
| |
|
|
| |
llvm-svn: 152457
|
| |
|
|
|
|
| |
innermost type. Fixes PR12142.
llvm-svn: 152456
|
| |
|
|
|
|
|
|
| |
copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on
403.gcc/combine.c. The performance differences on my constexpr torture tests
are below the noise floor.
llvm-svn: 152455
|
| |
|
|
| |
llvm-svn: 152454
|
| |
|
|
|
|
|
|
|
| |
the process of handling the
load notification for the first load) then we will set it the runtime to NULL and won't re-search for it.
Added a way for the dynamic loader to force a re-search, since it knows the world has changed.
llvm-svn: 152453
|
| |
|
|
|
|
| |
operation action of nodes.
llvm-svn: 152452
|
| |
|
|
|
|
| |
ivars in the modern rewriter.
llvm-svn: 152451
|
| |
|
|
|
|
| |
combine pass.
llvm-svn: 152450
|
| |
|
|
|
|
| |
All uses of a virtual register must be dominated by its def.
llvm-svn: 152449
|
| |
|
|
|
|
| |
annotations. Fixes <rdar://problem/10824732>.
llvm-svn: 152448
|
| |
|
|
| |
llvm-svn: 152447
|
| |
|
|
|
|
| |
in Objective-C++.
llvm-svn: 152446
|
| |
|
|
|
|
| |
And add comments, since this is obviously confusing.
llvm-svn: 152445
|
| |
|
|
|
|
|
|
|
|
| |
basic source character set in C++98. Add -Wc++98-compat diagnostics for same in
literals in C++11. Extend such support to cover string literals as well as
character literals, and mark N2170 as done.
This seems too minor to warrant a release note to me. Let me know if you disagree.
llvm-svn: 152444
|
| |
|
|
| |
llvm-svn: 152443
|
| |
|
|
|
|
| |
actually happened.
llvm-svn: 152442
|
| |
|
|
| |
llvm-svn: 152441
|
| |
|
|
|
|
|
|
|
|
|
| |
We do not reanalyze a function, which has already been analyzed as an
inlined callee. As per PRELIMINARY testing, this gives over
50% run time reduction on some benchmarks without decreasing of the
number of bugs found.
Turning the mode on by default.
llvm-svn: 152440
|
| |
|
|
| |
llvm-svn: 152439
|
| |
|
|
|
|
| |
<rdar://problem/10681220>
llvm-svn: 152438
|
| |
|
|
|
|
|
|
| |
invalid ParmVarDecls.
Part of rdar://11007039.
llvm-svn: 152437
|
| |
|
|
|
|
|
|
|
|
| |
* Add enums and structures for GNU version information.
* Implement extraction of that information on a per-symbol basis (ELFObjectFile::getSymbolVersion).
* Implement a generic interface, GetELFSymbolVersion(), for getting the symbol version from the ObjectFile (hides the templating).
* Have llvm-readobj print out the version, when available.
* Add a test for the new feature: readobj-elf-versioning.test
llvm-svn: 152436
|
| |
|
|
|
|
| |
Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big
llvm-svn: 152435
|
| |
|
|
|
|
|
| |
LLVM_READONLY.", getTypeInfo() is totally not READONLY, which I should have
probably noticed given that I made it so mere hours ago. Oops.
llvm-svn: 152434
|
| |
|
|
| |
llvm-svn: 152433
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an error made a record member invalid, the record would stay as "isBeingDefined" and
not "completeDefinition". Even easily recoverable errors ended up propagating records in
such "beingDefined" state, for example:
struct A {
~A() const; // expected-error {{'const' qualifier is not allowed on a destructor}}
};
struct B : A {}; // A & B would stay as "not complete definition" and "being defined".
This weird state was impending lookups in the records and hitting assertion in the ASTWriter.
Part of rdar://11007039
llvm-svn: 152432
|
| |
|
|
| |
llvm-svn: 152431
|
| |
|
|
| |
llvm-svn: 152430
|
| |
|
|
| |
llvm-svn: 152429
|
| |
|
|
|
|
| |
LLVM_READONLY.
llvm-svn: 152428
|
| |
|
|
|
|
|
|
|
| |
BEFORE the loader code has
winnowed all the unloaded libraries from the process module list.
<rdar://problem/11015223>
llvm-svn: 152427
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The theory here is that we have these functions sprinkled in all over the
place. This should allow the optimizer to at least realize it can still do
load CSE across these calls.
- I blindly marked all instances as such, even though the optimizer can infer
this attribute in some instances (some of the inline ones) as that was easier
and also, when given the choice between thinking and not thinking, I prefer
the latter.
You might think this is mere frivolity, but actually this is good for a .7 -
1.1% speedup on 403.gcc/combine.c, JSC/Interpreter.cpp,
OGF/NSBezierPath-OAExtensions.m.
llvm-svn: 152426
|
| |
|
|
|
|
| |
to count the number of phis changed, not the number visited.
llvm-svn: 152425
|
| |
|
|
| |
llvm-svn: 152424
|
| |
|
|
|
|
| |
optimization to the whole Cocoa formatters infrastructure
llvm-svn: 152423
|
| |
|
|
|
|
| |
Previous code had a double free in MemoryBuffer. The tests now pass.
llvm-svn: 152422
|
| |
|
|
|
|
|
|
|
| |
traversal, consider nodes for which the only successors are backedges
which the traversal is ignoring to be exit nodes. This fixes a problem
where the bottom-up traversal was failing to visit split blocks along
split loop backedges. This fixes rdar://10989035.
llvm-svn: 152421
|
| |
|
|
|
|
|
| |
to forward class, and assigning to an 'id' type var, message
sends default to 'id'. // rdar"//10988847
llvm-svn: 152420
|