summaryrefslogtreecommitdiffstats
path: root/llvm/tools
Commit message (Collapse)AuthorAgeFilesLines
...
* [llvm-cov] Drop another redundant 'No.' suffixVedant Kumar2016-09-191-1/+1
| | | | llvm-svn: 281872
* [llvm-objump] Simplify the code. NFCI.Davide Italiano2016-09-181-23/+12
| | | | llvm-svn: 281844
* Don't create a SymbolTable in Function when the LLVMContext discards value ↵Mehdi Amini2016-09-171-6/+3
| | | | | | | | | | | | | | names (NFC) The ValueSymbolTable is used to detect name conflict and rename instructions automatically. This is not needed when the value names are automatically discarded by the LLVMContext. No functional change intended, just saving a little bit of memory. This is a recommit of r281806 after fixing the accessor to return a pointer instead of a reference and updating all the call-sites. llvm-svn: 281813
* [LTO] Add ability to parse AA pipelines.Davide Italiano2016-09-161-0/+5
| | | | | | | This is supposed to be a drop in replacement for what lld provides via --lto-newpm-aa-pipeline. llvm-svn: 281774
* [pdb] Write the IPI stream.Zachary Turner2016-09-156-0/+38
| | | | | | | | The IPI stream is structurally identical to the TPI stream, but it contains different record types. So we just re-use the TPI writing code. llvm-svn: 281638
* [llvm-cov] Move some layout logic to the right spot (NFC)Vedant Kumar2016-09-152-2/+3
| | | | llvm-svn: 281590
* [llvm-cov] Hide instantiation views for unexecuted functionsVedant Kumar2016-09-153-16/+31
| | | | | | | | Copying in the full text of the function doesn't help at all when we already know that it's never executed. Just say that it's unexecuted -- the relevant source text has already been printed. llvm-svn: 281589
* [llvm-cov] Don't create 'jump to ...' links in nested viewsVedant Kumar2016-09-151-1/+1
| | | | | | | Doing so is pointless, since the whole view is usually visible in a small amount of space. llvm-svn: 281588
* [llvm-cov] Make a method name more accurate (NFC)Vedant Kumar2016-09-156-12/+10
| | | | llvm-svn: 281581
* [llvm-cov] Don't print a verbose title when looking at one fileVedant Kumar2016-09-151-1/+1
| | | | | | | Having the same title, timestamp, etc. occur repeatedly creates an unnecessary distraction when paging through a report. llvm-svn: 281579
* [pdb] Get rid of Data and RawData in CVType.Zachary Turner2016-09-144-14/+67
| | | | | | | | | | | The `CVType` had two redundant fields which were confusing and error-prone to fill out. By treating member records as a distinct type from leaf records, we are able to simplify this quite a bit. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D24432 llvm-svn: 281556
* [pdb] Write TPI hash values to the TPI stream.Zachary Turner2016-09-142-31/+11
| | | | | | | | | | This completes being able to write all the interesting values of a PDB TPI stream. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D24370 llvm-svn: 281555
* Fix auto-upgrade of TBAA tags in Bitcode ReaderMehdi Amini2016-09-141-4/+11
| | | | | | | | | | | | | | | | | | If TBAA is on an intrinsic and it gets upgraded, it'll delete the call instruction that we collected in a vector. Even if we were to use WeakVH, it'll drop the TBAA and we'll hit the assert on the upgrade path. r263673 gave a shot to make sure the TBAA upgrade happens before intrinsics upgrade, but failed to account for all cases. Instead of collecting instructions in a vector, this patch makes it just upgrade the TBAA on the fly, because metadata are always already loaded at this point. Differential Revision: https://reviews.llvm.org/D24533 llvm-svn: 281549
* [ThinLTO] Add an option to llvm-lto to print some basic statistics for the indexMehdi Amini2016-09-141-0/+44
| | | | | | Differential Revision: https://reviews.llvm.org/D24290 llvm-svn: 281537
* [Stackmap] Added callsite counts to emitted function information.Sanjoy Das2016-09-144-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: It was previously not possible for tools to use solely the stackmap information emitted to reconstruct the return addresses of callsites in the map, which is necessary to use the information to walk a stack. This patch adds per-function callsite counts when emitting the stackmap section in order to resolve the problem. Note that this slightly alters the stackmap format, so external tools parsing these maps will need to be updated. **Problem Details:** Records only store their offset from the beginning of the function they belong to. While these records and the functions are output in program order, it is not possible to determine where the end of one function's records are without the callsite count when processing the records to compute return addresses. Patch by Kavon Farvardin! Reviewers: atrick, ributzka, sanjoy Subscribers: nemanjai Differential Revision: https://reviews.llvm.org/D23487 llvm-svn: 281532
* Ensure Polly linking works without BUILD_SHARED_LIBSTobias Grosser2016-09-141-0/+2
| | | | | | | | | This change ensures all necessary symbols are resolved correctly. Before this change on some systems, the linker may have eliminated some symbols not directly used in bugpoint, but used in Polly. Suggested-by: Michael Kruse <lvm@meinersbur.de> llvm-svn: 281438
* gold: Simplify. Do not unnecessarily enumerate Obj's symbols.Peter Collingbourne2016-09-141-6/+2
| | | | llvm-svn: 281437
* [llvm-cov] Just emit the version number in the index fileVedant Kumar2016-09-132-6/+2
| | | | | | | Having the version information in every view is distracting, especially if there are several sub-views. llvm-svn: 281414
* [llvm-cov] - Included footer "Generated by llvm-cov -- llvm version <version ↵Ying Yi2016-09-133-3/+18
| | | | | | | | | | number>" in the coverage report. The llvm-cov version information will be useful to the user when comparing the code coverage across different versions of llvm-cov. This patch provides the llvm-cov version information in the generated coverage report. Differential Revision: https://reviews.llvm.org/D24457 llvm-svn: 281321
* llvm-size: Add --totals optionHemant Kulkarni2016-09-121-2/+39
| | | | | | Differential Revision: https://reviews.llvm.org/D24308 llvm-svn: 281233
* llvm-objdump: Add --start-address and --stop-address optionsHemant Kulkarni2016-09-121-4/+41
| | | | | | Differential Revision: https://reviews.llvm.org/D24160 llvm-svn: 281232
* [ORC] Rename RPCChannel to RPCByteChannel. NFC.Lang Hames2016-09-112-3/+4
| | | | llvm-svn: 281171
* [llvm-cov] Move the 'jump to first unexecuted line' linkVedant Kumar2016-09-106-33/+31
| | | | | | | Having it in the same row as the source name is jarring. Move it next to the "Source" column label. llvm-svn: 281146
* [llvm-cov] Minor visual tweaks for html reportsVedant Kumar2016-09-102-56/+23
| | | | | | | - Change the location of the 'Region Coverage' column. - Use less css and text for some labels. llvm-svn: 281145
* [pdb] Print out some more info when dumping a raw stream.Zachary Turner2016-09-092-16/+40
| | | | | | | | | | | | | | | We have various command line options that print the type of a stream, the size of a stream, etc but nowhere that it can all be viewed together. Since a previous patch introduced the ability to dump the bytes of a stream, this seems like a good place to present a full view of the stream's properties including its size, what kind of data it represents, and the blocks it occupies. So I added the ability to print that information to the -stream-data command line option. llvm-svn: 281077
* [llvm-cov] Remove some asserts in the html renderer (NFC)Vedant Kumar2016-09-091-5/+1
| | | | | | | | | | | These asserts are making tests fragile. The renderer does not enter an invalid state when they fail, however, it may spit out a garbled coverage report because the source text no longer matches the provided coverage mapping. Another follow-up to r281072. llvm-svn: 281076
* [pdb] Add command line options for dumping individual streams and blocksZachary Turner2016-09-094-81/+94
| | | | | | | | | | | | | I ran into a situation where I wanted to print out the contents of page 6 of a PDB as a binary blob, and there was no straightforward way to do that. In addition to adding that, this patch also adds the ability to dump a stream by index as a binary blob, and it will stitch together all the blocks and dump the whole thing as one seemingly contiguous sequence of bytes. llvm-svn: 281070
* [pdb] Pass CVRecord's through the visitor as non-const references.Zachary Turner2016-09-093-33/+12
| | | | | | | | | | | | | | | | | | This simplifies a lot of code, and will actually be necessary for an upcoming patch to serialize TPI record hash values. The idea before was that visitors should be examining records, not modifying them. But this is no longer true with a visitor that constructs a CVRecord from Yaml. To handle this until now, we were doing some fixups on CVRecord objects at a higher level, but the code is really awkward, and it makes sense to just have the visitor write the bytes into the CVRecord. In doing so I uncovered a few bugs related to `Data` and `RawData` and fixed those. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D24362 llvm-svn: 281067
* [pdb] Write PDB TPI Stream from Yaml.Zachary Turner2016-09-098-60/+156
| | | | | | | | | | This writes the full sequence of type records described in Yaml to the TPI stream of the PDB file. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D24316 llvm-svn: 281063
* [llvm-cov] Handle native paths correctly in the text indexVedant Kumar2016-09-091-1/+5
| | | | | | | | | | Treat filenames the same way in the text index as we do in the html index. This is a follow-up to r281008 (an attempt to unbreak the native_separators.c test on Windows). Patch by Maggie Yi! llvm-svn: 281062
* [llvm-cov] Emit a summary in the report directory's indexVedant Kumar2016-09-096-28/+125
| | | | | | | | llvm-cov writes out an index file in '-output-dir' mode, albeit not a very informative one. Try to fix that by using the CoverageReport API to include some basic summary information in the index file. llvm-svn: 281011
* [llvm-cov] Constify some methods (NFC)Vedant Kumar2016-09-092-4/+5
| | | | llvm-svn: 281010
* [llvm-cov] Add an API to prepare file reports (NFC)Vedant Kumar2016-09-092-20/+47
| | | | | | | | It would be nice to prepare file reports (using the CoverageReport API) without actually rendering them to the console. I plan on using this to flesh out the 'index' files in the coverage views. llvm-svn: 281009
* llvm-objdump: add missing ) in help output, NFCSaleem Abdulrasool2016-09-081-1/+1
| | | | | | Add a missing ')' in the help output. NFC. llvm-svn: 281000
* [llvm-cov] Fix issues with segment highlighting in the html viewVedant Kumar2016-09-081-16/+10
| | | | | | | | | | | | | The text and html coverage views take different approaches to emitting highlighted regions. That's because this problem is easier in the text view: there's no need to worry about escaping text or adding tooltip content to a highlighted snippet. Unfortunately, the html view didn't get region highlighting quite right. This patch fixes the situation, bringing parity between the two views. llvm-svn: 280981
* [pdb] Make YamlTypeDumperCallbacks reuse *this.Zachary Turner2016-09-082-9/+18
| | | | | | | | | | | | | | | Previously we were making new instances of YamlTypeDumperCallbacks in order to recurse down and serialize / deserialize nested records such as field lists. This meant you could not pass context from a higher operation to a lower operation because it would be using a new instance of the visitor callback delegate. YAMLIO library was updated to support context-sensitive mappings, so now we can reuse the same instance of the visitor callback delegate even for nested operations. llvm-svn: 280978
* [llvm-cov] Use less space to describe source namesVedant Kumar2016-09-087-42/+33
| | | | | | | | In r279628, we made SourceCoverageView list the binary associated with a view and started adding labels (e.g "Source: foo" or "Function: bar") to everything. Condense this information a bit to unclutter reports. llvm-svn: 280896
* [llvm-cov] Drop the longest common filename prefix from summariesVedant Kumar2016-09-081-2/+20
| | | | | | | Remove the longest common prefix from filenames when printing coverage summaries. This makes them easier to compare. llvm-svn: 280895
* [lib/LTO] Add a way to run a custom pipelineDavide Italiano2016-09-071-0/+7
| | | | | | Differential Revision: https://reviews.llvm.org/D24095 llvm-svn: 280830
* [opt] Remove an unused argument to runPassPipeline().Davide Italiano2016-09-073-3/+3
| | | | | | I have plans to use this API also in libLTO (and maybe lld). llvm-svn: 280770
* Re-add "Make FieldList records print as a YAML sequence"Zachary Turner2016-09-063-2/+51
| | | | | | | | | | | | This was originally submitted in r280549, and reverted in r280577 due to breaking one MSVC buildbot. The issue is that MSVC 2013 doesn't synthesize move constructors. So even though i was writing std::move(A) it was copying it, leading to a bogus ArrayRef. The solution here is to simply remove the std::vector<> from the type, since it is unused and unnecessary. This way the ArrayRef continues to point into the original memory backing the CVType. llvm-svn: 280769
* [llvm-cov] Use colors consistently in the summaryVedant Kumar2016-09-061-32/+32
| | | | | | | | Use the same color for counts and percentages. There doesn't seem to be a reason for them to be different, and the summary looks more consistent this way. llvm-svn: 280765
* [llvm-cov] Clean up the summary class, delete dead code (NFC)Vedant Kumar2016-09-063-59/+59
| | | | llvm-svn: 280764
* [llvm-cov] Add the project summary to the text coverage report for each ↵Ying Yi2016-09-065-9/+16
| | | | | | | | | | source file. This patch is a spin-off from https://reviews.llvm.org/D23922. It extends the text view to preserve the same feature as the html view. Differential Revision: https://reviews.llvm.org/D24241 llvm-svn: 280756
* [llvm-cov] Add the "Go to first unexecuted line" feature.Ying Yi2016-09-066-8/+47
| | | | | | | | This patch provides easy navigation to find the zero count lines, especially useful when the source file is very large. Differential Revision: https://reviews.llvm.org/D23277 llvm-svn: 280739
* Add an c++ itanium demangler to llvm.Rafael Espindola2016-09-065-17/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a copy of the demangler in libcxxabi. The code also has no dependencies on anything else in LLVM. To enforce that I added it as another library. That way a BUILD_SHARED_LIBS will fail if anyone adds an use of StringRef for example. The no llvm dependency combined with the fact that this has to build on linux, OS X and Windows required a few changes to the code. In particular: No constexpr. No alignas On OS X at least this library has only one global symbol: __ZN4llvm16itanium_demangleEPKcPcPmPi My current plan is: Commit something like this Change lld to use it Change lldb to use it as the fallback Add a few #ifdefs so that exactly the same file can be used in libcxxabi to export abi::__cxa_demangle. Once the fast demangler in lldb can handle any names this implementation can be replaced with it and we will have the one true demangler. llvm-svn: 280732
* bugpoint: Return Errors instead of passing around stringsJustin Bogner2016-09-0610-543/+558
| | | | | | | | | | | | | This replaces the threading of `std::string &Error` through all of these APIs with checked Error returns instead. There are very few places here that actually emit any errors right now, but threading the APIs through will allow us to replace a bunch of exit(1)'s that are scattered through this code with proper error handling. This is more or less NFC, but does move around where a couple of error messages are printed out. llvm-svn: 280720
* Revert "bugpoint: Stop threading errors through APIs that never fail"Justin Bogner2016-09-067-90/+112
| | | | | | | | | | | | | This isn't the right thing to do - it turns out a number of the APIs that "never fail" just exit(1) if something bad happens. We can and should thread Error through this instead. That diff will make more sense with this reverted. Sorry for the noise. This reverts r280690 llvm-svn: 280691
* bugpoint: Stop threading errors through APIs that never failJustin Bogner2016-09-067-112/+90
| | | | | | | | | | | | | This simplifies ListReducer and most of its subclasses by removing the std::string &Error that was threaded through all of them but almost never used. If we end up needing error handling in more places here we can reinstate it using llvm::Error instead of these unwieldy strings. The 2 cases (out of 12) that actually can hit the error cases are a little bit awkward now, but those will clean up as I refactor this API further. llvm-svn: 280690
* [ORC] Clone module flags metadata into the globals module in theLang Hames2016-09-041-6/+6
| | | | | | | | CompileOnDemandLayer. Also contains a tweak to the orc-lazy jit in LLI to enable the test case. llvm-svn: 280632
OpenPOWER on IntegriCloud