- Jul 11, 2012
-
-
Jakob Stoklund Olesen authored
It will surely be needed by heuristics. llvm-svn: 160027
-
Chandler Carruth authored
generalizing its implementation sufficiently to support this value number scenario as well. This cuts out another significant performance hit in large functions (over 10k basic blocks, etc), especially those with "natural" CFG structures. llvm-svn: 160026
-
Jakob Stoklund Olesen authored
This ordering allows nested if-conversion without using a work list, and it makes it possible to update the dominator tree on the fly as well. Any erased basic blocks will always be dominated by the current post-order position, so the domtree can be pruned without invalidating the iterator. llvm-svn: 160025
-
Richard Smith authored
value-initialization for an array of class type with a trivial default constructor. llvm-svn: 160024
-
Jordan Rose authored
Also contains a number of tweaks to inlining that are necessary for constructors and destructors. (I have this enabled on a private branch, but it is very much unstable.) llvm-svn: 160023
-
Jordan Rose authored
In order to accomplish this, we now build the callee's stack frame as part of the CallEnter node, rather than the subsequent BlockEdge node. This should not have any effect on perceived behavior or diagnostics. This makes it safe to re-enable inlining of member overloaded operators. llvm-svn: 160022
-
Jordan Rose authored
These ProgramPoints are used in inlining calls, and not all calls have associated statements anymore. llvm-svn: 160021
-
Jordan Rose authored
While this work is still fairly tentative (destructors are still left out of the CFG by default), we now handle destructors in the same way as any other calls, instead of just automatically trying to inline them. llvm-svn: 160020
-
Jordan Rose authored
These are currently unused, but are intended to be used in lieu of PreStmt and PostStmt when the call is implicit (e.g. an automatic object destructor). This also modifies the Data1 field of ProgramPoints to allow storing any pointer-sized value, as opposed to only aligned pointers. This is necessary to store SourceLocations. There is currently no BugReporter support for these; they should be skipped over in any diagnostic output. This commit also tags checkers that currently rely on function calls only occurring at StmtPoints. llvm-svn: 160019
-
- Jul 10, 2012
-
-
DeLesley Hutchins authored
llvm-svn: 160018
-
Chad Rosier authored
llvm-svn: 160017
-
Sean Callanan authored
loop if "memory read" is run with the -t option and the type name contains a keyword like "struct" that isn't followed by a space. Now if a keyword isn't followed by a space we continue searching after it, instead of at the beginning of the type name. Also optimized the code to not call strlen() on a fixed set of statically-declared constant strings. llvm-svn: 160016
-
Daniel Jasper authored
Reviewers: klimek Differential Revision: http://ec2-50-18-127-156.us-west-1.compute.amazonaws.com/D2 llvm-svn: 160013
-
Enrico Granata authored
Turning the interpreter mutex into a static global to avoid a potential leak. Might need to be turned back into a pointer if it causes issues with the destructor chain. llvm-svn: 160012
-
Chad Rosier authored
X86MachineFunctionInfo as this is currently only used by X86. If this ever becomes an issue on another arch (e.g., ARM) then we can hoist it back out. llvm-svn: 160009
-
rdar://problem/11751427Enrico Granata authored
<rdar://problem/11751427> Fixing an issue where multiple threads could concurrently try and initialize Python and cause crashes llvm-svn: 160008
-
Chad Rosier authored
llvm-svn: 160006
-
Chad Rosier authored
llvm-svn: 160004
-
Chad Rosier authored
X86. Basically, this is a reapplication of r158087 with a few fixes. Specifically, (1) the stack pointer is restored from the base pointer before popping callee-saved registers and (2) in obscure cases (see comments in patch) we must cache the value of the original stack adjustment in the prologue and apply it in the epilogue. rdar://11496434 llvm-svn: 160002
-
Benjamin Kramer authored
llvm-svn: 160000
-
Arnaud A. de Grandmaison authored
Adds support for auto-detection of compilation databases, looking in a directory and all its parents. llvm-svn: 159998
-
Axel Naumann authored
Implement UniqueFileContainer::erase(), camelCase, add comment on future optimizations of the cache versus de-optimizations of invalidations. llvm-svn: 159997
-
Anna Zaks authored
PR13319 Reported by Jozsef Mihalicza. llvm-svn: 159996
-
Axel Naumann authored
The consumer might see multiple input files (e.g. for cling) and since r159977 the count is maintained across input files. llvm-svn: 159995
-
Chandler Carruth authored
back of it. I don't have anything even remotely close to a test case for this. It only broke two build bots, both of them doing bootstrap builds, one of them a dragonegg bootstrap. It doesn't break for me when I bootstrap either. It doesn't reproduce every time or on many machines during the bootstrap. Many thanks to Duncan Sands who got the exact command (and stage of the bootstrap) which failed on the dragonegg bootstrap and managed to get it to trigger under valgrind with debug symbols. The fix was then found by inspection. llvm-svn: 159993
-
Manuel Klimek authored
llvm-svn: 159992
-
Nadav Rotem authored
Improve the loading of load-anyext vectors by allowing the codegen to load multiple scalars and insert them into a vector. Next, we shuffle the elements into the correct places, as before. Also fix a small dagcombine bug in SimplifyBinOpWithSameOpcodeHands, when the migration of bitcasts happened too late in the SelectionDAG process. llvm-svn: 159991
-
Manuel Klimek authored
from a source file and changes clang-check to make use of this. This makes clang-check just work on in-tree builds, and allows easy setup via a symlink per source directory to make clang-check work without any extra configuration. llvm-svn: 159990
-
Richard Barton authored
Fix instruction description of VMOV (between two ARM core registers and two single-precision resiters) (and do it properly this time! llvm-svn: 159989
-
Alexey Samsonov authored
llvm-svn: 159988
-
Manuel Klimek authored
llvm-svn: 159987
-
Alexey Samsonov authored
llvm-svn: 159985
-
Craig Topper authored
llvm-svn: 159983
-
Chandler Carruth authored
quadratic behavior when performing pathological merges. Fixes the core element of PR12652. There is only one user of addRangeFrom left: join. I'm hoping to refactor further in a future patch and have join use this merge operation as well. llvm-svn: 159982
-
Chandler Carruth authored
of the trick merge routines. This adds a layer of testing that was necessary when implementing more efficient (and complex) merge logic for this datastructure. No functionality changed here. llvm-svn: 159981
-
Chris Lattner authored
*errors* with fixits on them by following the recovery advised by the fixit, but if it is a fixit on a warning, then obviously the AST should be for the code as-written. llvm-svn: 159980
-
Jordan Rose authored
void f(); // expected-note 0+ {{previous declaration is here}} void g(); // expected-note 0-1 {{previous declaration is here}} The old "+" syntax is still an alias for "1+", and single numbers still work. Patch by Andy Gibbs! llvm-svn: 159979
-
Jordan Rose authored
// expected-warning@10 {{some text}} The line number may be absolute (as above), or relative to the current line by prefixing the number with either '+' or '-'. Patch by Andy Gibbs! llvm-svn: 159978
-
Jordan Rose authored
Patch by Andy Gibbs! llvm-svn: 159977
-
Richard Trieu authored
back to regular type printing. llvm-svn: 159976
-