| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
checker.
llvm-svn: 49756
|
| |
|
|
|
|
|
|
| |
to start logically organizing them.
Added initial plug-in transfer function support for Objective-C message expressions.
llvm-svn: 49752
|
| |
|
|
|
|
| |
as before r49748 (where BlockVarDecl was removed).
llvm-svn: 49749
|
| |
|
|
|
|
|
|
| |
VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl().
This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it).
llvm-svn: 49748
|
| |
|
|
| |
llvm-svn: 49742
|
| |
|
|
|
|
|
|
|
|
| |
terminator, don't reprocess it.
LiveVariables analysis now does a flow-insensitive analysis to determine what variables have their address taken; these variables are now always treated as being live.
The DataflowSolver now uses "SetTopValue()" when getting the initial value for the entry/exit block.
llvm-svn: 49734
|
| |
|
|
| |
llvm-svn: 49727
|
| |
|
|
| |
llvm-svn: 49712
|
| |
|
|
| |
llvm-svn: 49711
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Block-level expression
in a block's terminator. This expression is visited within a block, but it is accessed by the
terminator. This is important to observe because for live-variables analysis the block-level
expression is live between the terminator and where the expression occurs in the block. So far
this hasn't been an issue to not observe this because the block-level expression used in the
terminator is always the last one in the block, and we have never queried the liveness information
about this point (but before the terminator).
llvm-svn: 49709
|
| |
|
|
|
|
| |
in a DeclStmt.
llvm-svn: 49708
|
| |
|
|
|
|
| |
"Alive" as opposed to staying the same.
llvm-svn: 49707
|
| |
|
|
|
|
| |
is still live.
llvm-svn: 49705
|
| |
|
|
| |
llvm-svn: 49703
|
| |
|
|
| |
llvm-svn: 49699
|
| |
|
|
|
|
|
| |
the new RHS directly instead of indirecting through the 'InsertResult'
struct. This eliminates InsertResult.
llvm-svn: 49694
|
| |
|
|
| |
llvm-svn: 49689
|
| |
|
|
|
|
| |
of errors.
llvm-svn: 49686
|
| |
|
|
|
|
|
|
| |
the files of different SourceLocations. These methods correctly handle the
case where a file may have multiple FileIDs due to it being large enough
to be spread across several chunks.
llvm-svn: 49682
|
| |
|
|
| |
llvm-svn: 49679
|
| |
|
|
| |
llvm-svn: 49678
|
| |
|
|
|
|
| |
is the one attached to the Diagnostic object.
llvm-svn: 49677
|
| |
|
|
| |
llvm-svn: 49672
|
| |
|
|
| |
llvm-svn: 49668
|
| |
|
|
| |
llvm-svn: 49664
|
| |
|
|
|
|
| |
assume that DeclStmts only have VarDecls; they can have TypedefDecls.
llvm-svn: 49662
|
| |
|
|
|
|
| |
to functions with NULL summaries.
llvm-svn: 49660
|
| |
|
|
|
|
| |
warnings are emitted as part of the warnings registered by GRSimpleVals.
llvm-svn: 49658
|
| |
|
|
| |
llvm-svn: 49651
|
| |
|
|
|
|
|
|
|
|
|
|
| |
a nice shiny B+ Tree variant. This fixes the last of the known algorithmic
issues with the rewriter, allowing a significant speedup. For example,
-emit-html on Ted's 500K .i file speeds up from 26.8s -> 0.64s in a
debug build (41x!) and 5.475s -> 0.132s (41x!) in an optimized build.
This code is functional but needs to be cleaned up, ifdefs removed, better
commented, and moved to a .cpp file. I plan to do this tomorrow.
llvm-svn: 49635
|
| |
|
|
| |
llvm-svn: 49633
|
| |
|
|
| |
llvm-svn: 49632
|
| |
|
|
|
|
| |
IdentifierResolver::AddDecl
llvm-svn: 49631
|
| |
|
|
|
|
| |
state
llvm-svn: 49629
|
| |
|
|
| |
llvm-svn: 49628
|
| |
|
|
|
|
|
|
|
|
|
| |
inheritance in C++. It'll parse the base-specifier list, e.g.,
class D : public B1, virtual public B2 { };
and do some of the simpler semantic checks (B1 and B2 are classes;
they aren't unions or incomplete types, etc).
llvm-svn: 49623
|
| |
|
|
|
|
| |
in C++
llvm-svn: 49621
|
| |
|
|
|
|
| |
more nice.
llvm-svn: 49619
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allows the parsing of "class" in addition to "struct" and "union" to
declare a record. So this patch allows:
class C { };
class C c1;
But it does not contain the lookup bits, so this won't work yet:
C c2;
Patch by Doug Gregor!
llvm-svn: 49613
|
| |
|
|
|
|
|
|
| |
This results in an (IMO) simpler algorithm, results in fewer splits, and
is more amenable to delta handling (there is no reason to mutate the tree
at all when adding a delta to a position that already exists in the tree).
llvm-svn: 49609
|
| |
|
|
| |
llvm-svn: 49608
|
| |
|
|
| |
llvm-svn: 49607
|
| |
|
|
|
|
| |
Kirtzidis!
llvm-svn: 49603
|
| |
|
|
|
|
| |
Doug Gregor!
llvm-svn: 49598
|
| |
|
|
| |
llvm-svn: 49592
|
| |
|
|
| |
llvm-svn: 49591
|
| |
|
|
| |
llvm-svn: 49587
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(but simple!) datastructures in the rewriter with a more complex but
more efficient one.
This replaces the Deltas vector with a specialized BTree that makes
delta lookups much more efficient. This speeds up -emit-html on a 500K
.i file from 157.154 to 27.127 seconds on my machine (5.8x).
While this code is functional, it isn't very pretty, I have much
refactoring planned for it, and will remove the USE_VECTOR ifdef.
Stay tuned.
llvm-svn: 49586
|
| |
|
|
| |
llvm-svn: 49582
|
| |
|
|
| |
llvm-svn: 49575
|