- Oct 25, 2013
-
-
Rafael Espindola authored
llvm-svn: 193404
-
Tim Northover authored
When assembling, a .thumb_func directive is supposed to be applicable to the next symbol definition, even if there are intervening directives. We were racing ahead to try and find it, and this commit should fix the issue. Patch by Gabor Ballabas llvm-svn: 193403
-
Tim Northover authored
ARM processors without ldrex/strex need to be able to make libcalls for all atomic operations, including the newer min/max versions. The alternative would probably be expanding these operations in terms of cmpxchg (as x86 does always), but in the configurations where this matters code-size tends to be paramount so the libcall is more desirable. llvm-svn: 193398
-
Richard Smith authored
llvm-svn: 193391
-
Yuchen Wu authored
llvm-cov will now be able to read program counts from the GCDA file and output it in the same format as gcov. The program summary tag was identified from gcov-io.h as "\0\0\0\a3". There is currently a bug in GCOVProfiling.cpp which does not generate the run- or program-counting IR, so this change was tested manually by modifying the GCDA file and comparing the gcov and llvm-cov outputs. llvm-svn: 193389
-
David Blaikie authored
MCStreamer: Reimplement the virtual EmitRawText as a protected member, EmitRawTextImpl, to avoid string literal ambiguities Also improve the implementation of EmitRawText(Twine) so it doesn't bother using the SmallString buffer if the Twine is a simple StringRef anyway. llvm-svn: 193378
-
Reid Kleckner authored
This reverts commit r193255 and instead creates an lto_bool_t typedef that points to bool, _Bool, or unsigned char depending on what is available. Only recent versions of MSVC provide a stdbool.h header. Reviewers: rafael.espindola Differential Revision: http://llvm-reviews.chandlerc.com/D2019 llvm-svn: 193377
-
- Oct 24, 2013
-
-
Eric Christopher authored
llvm-svn: 193370
-
John Thompson authored
llvm-svn: 193350
-
John Thompson authored
llvm-svn: 193344
-
Nuno Lopes authored
LLVM optimizers may widen accesses to packed structures that overflow the structure itself, but should be in bounds up to the alignment of the object llvm-svn: 193317
-
Zonr Chang authored
llvm-svn: 193315
-
Elena Demikhovsky authored
llvm-svn: 193312
-
Yuchen Wu authored
This was a fundamental flaw in llvm-cov where it treated the values in the GCDA files as block counts instead of edge counts. This created incorrect line counts when branching was present. Instead, the edge counts should be summed to obtain the correct block count. The fix was tested using custom test files as well as single source files from the test-suite directory. The behaviour can be verified by reading the GCOV documentation that describes the GCDA spec ("ARC_COUNTS gives the counter values for those arcs that are instrumented") and the header description provided by GCOVProfiling.cpp ("instruments the code that runs to records (sic) the edges between blocks that run and emit a complementary "gcda" file on exit"). llvm-svn: 193299
-
Andrew Kaylor authored
Patch co-developed with Yaron Keren. llvm-svn: 193291
-
- Oct 23, 2013
-
-
Yuchen Wu authored
llvm-svn: 193273
-
Yuchen Wu authored
There are a few motivations for this: - Using a map allows for checking if line is in map. This differentiates unexecutable lines (such as comments) from unexecuted logical lines of code. "#####" is now outputted in this case, in line with gcov. - Source files are no longer read in twice: once when storing the line counts, and once when outputting the data. - Greatly simplifies the function FileInfo::addLineCount(). llvm-svn: 193264
-
NAKAMURA Takumi authored
FIXME: I don't think it'd be smart. llvm-svn: 193256
-
NAKAMURA Takumi authored
llvm-svn: 193255
-
NAKAMURA Takumi authored
llvm-svn: 193253
-
Shuxin Yang authored
Major steps include: 1). introduces a not-addr-taken bit-field in GlobalVariable 2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable dosen't have its address taken. 3). AA use this info for disambiguation. llvm-svn: 193251
-
Benjamin Kramer authored
Pacifies GCC's -Wstrict-prototypes. llvm-svn: 193249
-
Zoran Jovanovic authored
llvm-svn: 193247
-
Tom Stellard authored
For some targets, it is useful to be able to look at the original type of an argument without having to dig through the original IR. This also fixes a bug in SelectionDAGBuilder where InputArg.PartOffset was not taking into account the offset of structure elements. Patch by: Justin Holewinski Tom Stellard: - Changed the type of ArgVT to EVT, so it can store non-simple types like v3i32. llvm-svn: 193214
-
- Oct 22, 2013
-
-
Bob Wilson authored
Line counts in llvm-cov are read in as 64-bit integers but were being truncated to 32-bit in collectLineCounts(), which caused overflow for large counts. This patch fixes all counts to be uint64_t. Patch by Yuchen Wu! llvm-svn: 193172
-
Benjamin Kramer authored
llvm-svn: 193165
-
Wan Xiaofei authored
VTList has a long life cycle through the module and getVTList is frequently called. In current getVTList, sequential search over a std::vector is used, this is inefficient in big module. This patch use FoldingSet to implement hashing mechanism when searching. Reviewer: Nadav Rotem Test : Pass unit tests & LNT test suite llvm-svn: 193150
-
Anders Waldenborg authored
Differential Revision: http://llvm-reviews.chandlerc.com/D1963 llvm-svn: 193149
-
Bob Wilson authored
- Replaced tabs with proper padding - print() takes two arguments, which are the GCNO and GCDA filenames - Files are listed at the top of output, appended by line 0 - Stripped strings of trailing \0s - Removed last two lines of whitespace in output Patch by Yuchen Wu! llvm-svn: 193148
-
Adrian Prantl authored
llvm-svn: 193133
-
- Oct 21, 2013
-
-
Chad Rosier authored
llvm-svn: 193117
-
Matt Arsenault authored
llvm-svn: 193113
-
Matt Arsenault authored
llvm-svn: 193112
-
Matt Arsenault authored
llvm-svn: 193097
-
Andrew Kaylor authored
llvm-svn: 193094
-
David Blaikie authored
This allows various variables to be more self-documenting and easier to debug by being of specific types without overlapping enum values. Precommit review by Eric Christopher. llvm-svn: 193091
-
Rafael Espindola authored
When a linkonce_odr value that is on the dso list is not unnamed_addr we can still look to see if anything is actually using its address. If not, it is safe to hide it. This patch implements that by moving GlobalStatus to Transforms/Utils and using it in Internalize. llvm-svn: 193090
-
Matheus Almeida authored
The second parameter of the SLD intrinsic is the number of columns (GPR) to slide left the source array. llvm-svn: 193076
-
- Oct 19, 2013
-
-
Michael J. Spencer authored
llvm-svn: 193004
-
- Oct 18, 2013
-
-
Hans Wennborg authored
This is another (final?) stab at making us able to parse our own asm output on Windows. Symbols on Windows often contain @'s and ?'s in their names. Our asm parser didn't like this. ?'s were not allowed, and @'s were intepreted as trying to reference PLT/GOT/etc. We can't just add quotes around the bad names, since e.g. for MinGW, we use gas to assemble, and it doesn't like quotes in some places (notably in .def directives). This commit makes us allow ?'s in symbol names, and @'s in symbol names for MS assembly. Differential Revision: http://llvm-reviews.chandlerc.com/D1978 llvm-svn: 193000
-