- Oct 25, 2011
-
-
NAKAMURA Takumi authored
r142914: "Introduce a placeholder type for "pseudo object"" r142915: "Pull the pseudo-object stuff into its own file." llvm-svn: 142921
-
Duncan Sands authored
down to this commit. Original commit message: An MBB which branches to an EH landing pad shouldn't be considered for tail merging. In SjLj EH, the jump to the landing pad is not done explicitly through a branch statement. The EH landing pad is added as a successor to the throwing BB. Because of that however, the branch folding pass could mistakenly think that it could merge the throwing BB with another BB. This isn't safe to do. <rdar://problem/10334833> llvm-svn: 142920
-
Duncan Sands authored
bots. Original commit messages: - Reapply r142781 with fix. Original message: Enhance SCEV's brute force loop analysis to handle multiple PHI nodes in the loop header when computing the trip count. With this, we now constant evaluate: struct ListNode { const struct ListNode *next; int i; }; static const struct ListNode node1 = {0, 1}; static const struct ListNode node2 = {&node1, 2}; static const struct ListNode node3 = {&node2, 3}; int test() { int sum = 0; for (const struct ListNode *n = &node3; n != 0; n = n->next) sum += n->i; return sum; } - Now that we look at all the header PHIs, we need to consider all the header PHIs when deciding that the loop has stopped evolving. Fixes miscompile in the gcc torture testsuite! llvm-svn: 142919
-
David Chisnall authored
Change an int64_t to an intptr_t so that we don't end up with crashes in the back end on large classes on 32-bit. llvm-svn: 142918
-
Chandler Carruth authored
classifying many edges as exiting which were in fact not. These mainly formed edges into sub-loops. It was also not correctly classifying all returning edges out of loops as leaving the loop. With this match most of the loop heuristics are more rational. Several serious regressions on loop-intesive benchmarks like perlbench's loop tests when built with -enable-block-placement are fixed by these updated heuristics. Unfortunately they in turn uncover some other regressions. There are still several improvemenst that should be made to loop heuristics including trip-count, and early back-edge management. llvm-svn: 142917
-
Duncan Sands authored
the dragonegg and llvm-gcc self-host buildbots. Original commit messages: - Reapply r142781 with fix. Original message: Enhance SCEV's brute force loop analysis to handle multiple PHI nodes in the loop header when computing the trip count. With this, we now constant evaluate: struct ListNode { const struct ListNode *next; int i; }; static const struct ListNode node1 = {0, 1}; static const struct ListNode node2 = {&node1, 2}; static const struct ListNode node3 = {&node2, 3}; int test() { int sum = 0; for (const struct ListNode *n = &node3; n != 0; n = n->next) sum += n->i; return sum; } - Now that we look at all the header PHIs, we need to consider all the header PHIs when deciding that the loop has stopped evolving. Fixes miscompile in the gcc torture testsuite! llvm-svn: 142916
-
John McCall authored
Tidy up some marginally related code just to annoy single-purpose-commit lovers. No functionality change. llvm-svn: 142915
-
John McCall authored
expressions: expressions which refer to a logical rather than a physical l-value, where the logical object is actually accessed via custom getter/setter code. A subsequent patch will generalize the AST for these so that arbitrary "implementing" sub-expressions can be provided. Right now the only client is ObjC properties, but this should be generalizable to similar language features, e.g. Managed C++'s __property methods. llvm-svn: 142914
-
Eric Christopher authored
of the compiler. Fixes PR10198 Patch by Brian Foley! llvm-svn: 142913
-
Nick Lewycky authored
llvm-svn: 142912
-
Greg Clayton authored
OptionGroupFormat. Updated OptionGroupFormat to be able to also use the "--size" and "--count" options. Commands that use a OptionGroupFormat instance can choose which of the options they want by initializing OptionGroupFormat accordingly. Clients can either get only the "--format", "--format" + "--size", or "--format" + "--size" + "--count". This is in preparation for upcoming chnages where there are alternate ways (GDB format specification) to set a format. llvm-svn: 142911
-
Richard Smith authored
dependent ->, where the member being referred to is an anonymous struct or union. This path was missed by the fix in r142890. llvm-svn: 142910
-
Ted Kremenek authored
Relax restriction of assigning to 'self' in ARC when a method is attributed with ns_consumes_self. Fixes <rdar://problem/10274056>. llvm-svn: 142909
-
Ted Kremenek authored
Tweak printf format string parsing to accept 'hh' conversion specifier to accept any char, not just signed char. Fixes <rdar://problem/10303638>. llvm-svn: 142908
-
Douglas Gregor authored
llvm-svn: 142907
-
Douglas Gregor authored
Microsoft __if_exists/__if_not_exists statement. Also note that we weren't traversing DeclarationNameInfo *at all* within the RecursiveASTVisitor, which would be rather fatal for variadic templates. llvm-svn: 142906
-
Ted Kremenek authored
Remove extra copy of contents of header file resulting in a patch being applied twice. Aren't include guards great? llvm-svn: 142905
-
Douglas Gregor authored
valid C++98/03 code. However, add these warnings to -Wall, for those who obviously already like clean code. llvm-svn: 142903
-
Jason Molenda authored
style of the other regexp command aliases. llvm-svn: 142902
-
Douglas Gregor authored
statements. As noted in the documentation for the AST node, the semantics of __if_exists/__if_not_exists are somewhat different from the way Visual C++ implements them, because our parsed-template representation can't accommodate VC++ semantics without serious contortions. Hopefully this implementation is "good enough". llvm-svn: 142901
-
Jason Molenda authored
llvm-svn: 142900
-
Jason Molenda authored
Add new "Examining Variables" section. Updated a few command entries to match current lldb behavior. llvm-svn: 142898
-
rdar://problem/10335756Greg Clayton authored
Fixed an issue where bad DWARF from clang would get recycled from DWARF back into types and cause clang to assert and die, killing the lldb binary, when it tried to used the type in an expression. llvm-svn: 142897
-
Chad Rosier authored
bitcode reader/writer backward compatibility. llvm-svn: 142896
-
Richard Smith authored
llvm-svn: 142895
-
Dan Gohman authored
llvm-svn: 142894
-
Bill Wendling authored
llvm-svn: 142893
-
Eric Christopher authored
llvm-svn: 142892
-
Bill Wendling authored
In SjLj EH, the jump to the landing pad is not done explicitly through a branch statement. The EH landing pad is added as a successor to the throwing BB. Because of that however, the branch folding pass could mistakenly think that it could merge the throwing BB with another BB. This isn't safe to do. <rdar://problem/10334833> llvm-svn: 142891
-
Richard Smith authored
it during template instantiation, for a known RHS decl. llvm-svn: 142890
-
Dan Gohman authored
llvm-svn: 142889
-
Greg Clayton authored
function and having it not require both a bool and a quote char to fill in. We intend to get rid of this functionality when we rewrite the command interpreter for streams eventually, but not for now. llvm-svn: 142888
-
Argyrios Kyrtzidis authored
preprocessed entities that are #included in the range that we are interested. This is useful when we are interested in preprocessed entities of a specific file, e.g when we are annotating tokens. There is also an optimization where we cache the last result of PreprocessingRecord::getPreprocessedEntitiesInRange and we re-use it if there is a call with the same range as before. rdar://10313365 llvm-svn: 142887
-
Argyrios Kyrtzidis authored
llvm-svn: 142886
-
Ted Kremenek authored
llvm-svn: 142885
-
Richard Smith authored
llvm-svn: 142884
-
Dan Gohman authored
llvm-svn: 142883
-
Jim Grosbach authored
Four entry register lists. llvm-svn: 142882
-
Dan Gohman authored
llvm-svn: 142881
-
Dan Gohman authored
llvm-svn: 142880
-