- Mar 23, 2013
-
-
Anna Zaks authored
[analyzer] Warn when a nil key or value are passed to NSMutableDictionary and ensure it works with subscripting. llvm-svn: 177789
-
Anna Zaks authored
llvm-svn: 177788
-
Tobias Grosser authored
llvm-svn: 177787
-
Tobias Grosser authored
Even though we will soon get rid of this pass, we reformat it on the way to make polly clang-format clean. llvm-svn: 177786
-
Tobias Grosser authored
llvm-svn: 177785
-
Richard Smith authored
specify which symbols are exported to DSOs when the sanitizer is statically linked into a binary. llvm-svn: 177784
-
Richard Smith authored
linker via --dynamic-list instead of using --export-dynamic. This reduces the size of the dynamic symbol table, and thus of the binary (in some cases by up to ~30%). llvm-svn: 177783
-
Tobias Grosser authored
llvm-svn: 177782
-
Tobias Grosser authored
llvm-svn: 177781
-
Hal Finkel authored
177774 broke the lld-x86_64-darwin11 builder; error: error: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') for (SI = 0; SI < Scavenged.size(); ++SI) ~~ ^ ~~~~~~~~~~~~~~~~ Fix this by making SI also unsigned. llvm-svn: 177780
-
Jason Molenda authored
skip every other float/double/long double as we extracted data from a buffer. <rdar://problem/13485062> llvm-svn: 177779
-
Sean Silva authored
The new wording cannot be construed as suggesting the use of SmallVectorImpl<T> as e.g. a class member (just because the class happens to be in an interface). llvm-svn: 177778
-
Tobias Grosser authored
Given the following code for (i = 0; i < 10; i++) { ; } S: A[i] = 0 When code generating S using scev based code generation, we need to retrieve the scev of 'i' at the location of 'S'. If we do not do this the scev that we obtain will be expressed as {0,+,1}_for and will reference loop iterators that do not surround 'S' and that we consequently do not know how to code generate. What we really want is the scev to be instantiated to the value of 'i' after the loop. This value is {10} and it can be code generated without troubles. llvm-svn: 177777
-
Jason Molenda authored
llvm-svn: 177776
-
Sean Silva authored
llvm-svn: 177775
-
Hal Finkel authored
This patch lets the register scavenger make use of multiple spill slots in order to guarantee that it will be able to provide multiple registers simultaneously. To support this, the RS's API has changed slightly: setScavengingFrameIndex / getScavengingFrameIndex have been replaced by addScavengingFrameIndex / isScavengingFrameIndex / getScavengingFrameIndices. In forthcoming commits, the PowerPC backend will use this capability in order to implement the spilling of condition registers, and some special-purpose registers, without relying on r0 being reserved. In some cases, spilling these registers requires two GPRs: one for addressing and one to hold the value being transferred. llvm-svn: 177774
-
- Mar 22, 2013
-
-
Jason Molenda authored
DWARFCallFrameInfo method which returns a RangeVector pre-size the vector based on the number of entries it will be adding insted of growing the vector as items are added. llvm-svn: 177773
-
Manman Ren authored
Add "evaluate-tbaa" to print alias queries of loads/stores. Alias queries between pointers do not include TBAA tags. Add testing case for "placement new". TBAA currently says NoAlias. llvm-svn: 177772
-
Sebastian Pop authored
llvm-svn: 177771
-
John McCall authored
llvm-svn: 177769
-
Bill Wendling authored
isIncompleteType() returns true or false for template types depending on whether the type is instantiated yet. In this context, that's arbitrary. The better way to check for a complete type is RequireCompleteType(). Thanks to Eli Friedman for noticing this! <rdar://problem/12700799> llvm-svn: 177768
-
Ted Kremenek authored
llvm-svn: 177767
-
rdar://problem/13479539Douglas Gregor authored
This eliminates excessive rebuilds of the global module cache. llvm-svn: 177766
-
Jordan Rose authored
The algorithm used here was ridiculously slow when a potential back-edge pointed to a node that already had a lot of successors. The previous commit makes this feature unnecessary anyway. This reverts r177468 / f4cf6b10f863b9bc716a09b2b2a8c497dcc6aa9b. Conflicts: lib/StaticAnalyzer/Core/BugReporter.cpp llvm-svn: 177765
-
Jordan Rose authored
For a given bug equivalence class, we'd like to emit the report with the shortest path. So far to do this we've been trimming the ExplodedGraph to only contain relevant nodes, then doing a reverse BFS (starting at all the error nodes) to find the shortest paths from the root. However, this is fairly expensive when we are suppressing many bug reports in the same equivalence class. r177468-9 tried to solve this problem by breaking cycles during graph trimming, then updating the BFS priorities after each suppressed report instead of recomputing the whole thing. However, breaking cycles is not a cheap operation because an analysis graph minus cycles is still a DAG, not a tree. This fix changes the algorithm to do a single forward BFS (starting from the root) and to use that to choose the report with the shortest path by looking at the error nodes with the lowest BFS priorities. This was Anna's idea, and has the added advantage of requiring no update step: we can just pick the error node with the next lowest priority to produce the next bug report. <rdar://problem/13474689> llvm-svn: 177764
-
Jordan Rose authored
llvm-svn: 177763
-
Jordan Rose authored
Debugging aid only, no functionality change. llvm-svn: 177762
-
Argyrios Kyrtzidis authored
-Serialize the macro directives history into its own section -Get rid of the macro updates section -When de/serializing an identifier from a module, associate only one macro per submodule that defined+exported it. llvm-svn: 177761
-
Argyrios Kyrtzidis authored
llvm-svn: 177760
-
Greg Clayton authored
llvm-svn: 177759
-
Bill Wendling authored
llvm-svn: 177758
-
Bill Wendling authored
llvm-svn: 177757
-
David Blaikie authored
This is the last change in transitioning all DIScopes to have a common prefix. llvm-svn: 177756
-
Howard Hinnant authored
Test cleanup with respect to use of deprecated tmpnam function. Also Windows port for these tests to use _tempnam. The bulk of this patch was donated anonymously. I've tested it on OS X and accept responsibility for it. If I've broken anyone's platform by switching from tmpnam to mktemp for the generation of temporary file names, just let me know. Should be easy to fix in test/support/platform_support.h llvm-svn: 177755
-
David Blaikie authored
llvm-svn: 177754
-
Reid Kleckner authored
Summary: For non-dynamic classes (no virtual bases), member data pointers are simple offsets from the base of the record. Dynamic classes use an aggregate for member data pointers and are therefore currently unsupported. Unlike Itanium, the ms ABI uses 0 to represent null for polymorphic classes. Non-polymorphic classes use -1 like Itanium, since 0 is a valid field offset. Reviewers: rjmccall CC: timurrrr, cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D558 llvm-svn: 177753
-
Galina Kistanova authored
Reverted r176374. In some cases the lit.site.cfg file does not get generated in tools/clang/tools/extra. llvm-svn: 177751
-
rdar://problem/13479539Douglas Gregor authored
<rdar://problem/13479539> Simplify ModuleManager/GlobalModuleIndex interaction to eliminate a pile of extraneous stats(). The refactoring in r177367 introduced a serious performance bug where the "lazy" resolution of module file names in the global module index to actual module file entries in the module manager would perform repeated negative stats(). The new interaction requires the module manager to inform the global module index when a module file has been loaded, eliminating the extraneous stat()s and a bunch of bookkeeping on both sides. llvm-svn: 177750
-
Bill Wendling authored
llvm-svn: 177749
-
Bill Wendling authored
llvm-svn: 177748
-