summaryrefslogtreecommitdiffstats
path: root/llvm/tools
Commit message (Collapse)AuthorAgeFilesLines
* [PGO] Revert r260146 as it breaks Darwin platforms.Rong Xu2016-02-081-11/+4
| | | | | | | r260146 | xur | 2016-02-08 13:07:46 -0800 (Mon, 08 Feb 2016) | 13 lines [PGO] Differentiate Clang instrumentation and IR level instrumentation profiles llvm-svn: 260170
* [llvm-nm] Yet another attempt of simplifying code.Davide Italiano2016-02-081-11/+5
| | | | llvm-svn: 260166
* [PGO] Differentiate Clang instrumentation and IR level instrumentation profilesRong Xu2016-02-081-4/+11
| | | | | | | | | | | | | | This patch uses one bit in profile version to differentiate Clang instrumentation and IR level instrumentation profiles. PGOInstrumenation generates a COMDAT variable __llvm_profile_raw_version so that the compiler runtime can set the right profile kind. PGOInstrumenation now checks this bit to make sure it's an IR level instrumentation profile. Differential Revision: http://reviews.llvm.org/D15540 llvm-svn: 260146
* [llvm-dwp] Merge cu_index from DWPsDavid Blaikie2016-02-061-6/+37
| | | | | | This is almost feature complete - just missing tu_index merging now. llvm-svn: 259971
* llvm-bcanalyzer: Produce summary information for the BLOCKINFO block, it can beRichard Smith2016-02-061-10/+17
| | | | | | | a significant fraction of the file size (for files that otherwise have few records). Also include an average size per record in the summary information. llvm-svn: 259965
* [llvm-nm] Prefer empty() over size() == 0.Davide Italiano2016-02-051-1/+1
| | | | | | Thanks to David Blaikie for pointing this out! llvm-svn: 259938
* [llvm-nm] Transform a switch() statement in a pair of if(s).Davide Italiano2016-02-051-7/+2
| | | | | | | This is more uniform wrt what other tools do and makes the code a little bit more readable. llvm-svn: 259937
* [llvm-nm] Simplify code logic. NFCI.Davide Italiano2016-02-051-7/+3
| | | | llvm-svn: 259917
* [codeview] Dump a missing field and change its signednessReid Kleckner2016-02-051-0/+2
| | | | llvm-svn: 259904
* Prefix external symbols in llvm-c-test.Benjamin Kramer2016-02-0510-46/+46
| | | | | | | | | This makes it less likely to clash with other stuff that might be linked in by change, e.g. ncurses exposes an external function called simply "echo", so linking ncurses statically into the binary explodes in funny ways. llvm-svn: 259882
* Add various binary operations in the LLVM C API echo testAmaury Sechet2016-02-051-0/+72
| | | | | | | | | | | | Summary: This diff increase the tested surface of the C API. Reviewers: bogner, chandlerc, echristo, dblaikie, joker.eph, Wallbraker Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16910 llvm-svn: 259863
* Add Support to llvm-c-test dependanciesAmaury Sechet2016-02-051-0/+1
| | | | | | | | | | | | Summary: As per title. It is required and don't get linked in in some builds. Reviewers: chapuni, joker.eph Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16903 llvm-svn: 259853
* Refactor profile summary support code. NFC.Easwaran Raman2016-02-041-0/+1
| | | | | | | | | | Summary computation is not just for instrumented profiling and so I have moved the ProfileSummary class to ProfileCommon.h (named so to allow code unrelated to summary but common to instrumented and sampled profiling to be placed there) Differential Revision: http://reviews.llvm.org/D16661 llvm-svn: 259846
* Improve testing for the C APIAmaury Sechet2016-02-048-6/+488
| | | | | | | | | | | | | | | | | | | Summary: This basically add an echo test case in C. The support is limited right now, but full support would just be too much to review at once. The echo test case simply get a module as input and try to output the same exact module. This allow to check the both reading and writing API are working as expected. I want to improve this test over time to support more and more of the API, in order to improve coverage (coverage is quite poor right now). Test Plan: Run the test. Reviewers: chandlerc, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10725 llvm-svn: 259844
* Correctly handle {Always,Never}StepIntoLineDavid Majnemer2016-02-041-8/+9
| | | | llvm-svn: 259806
* Add support for S_DEFRANGE and S_DEFRANGE_SUBFIELDDavid Majnemer2016-02-041-2/+27
| | | | llvm-svn: 259805
* Make the dumper's output for variable ranges easier to readDavid Majnemer2016-02-041-24/+14
| | | | llvm-svn: 259804
* Print the OffsetStart field's relocationDavid Majnemer2016-02-031-8/+15
| | | | llvm-svn: 259723
* [llvm-readobj] Add support for dumping S_DEFRANGE symbolsDavid Majnemer2016-02-031-1/+84
| | | | llvm-svn: 259719
* Correct size calculations for ELF filesHemant Kulkarni2016-02-021-0/+20
| | | | llvm-svn: 259578
* Fix Clang-tidy readability-redundant-control-flow warnings; other minor fixes.Eugene Zelenko2016-02-021-8/+5
| | | | | | Differential revision: http://reviews.llvm.org/D16793 llvm-svn: 259539
* [codeview] Wire up the .cv_inline_linetable directiveReid Kleckner2016-02-021-1/+1
| | | | | | | | This directive emits the binary annotations that describe line and code deltas in inlined call sites. Single-stepping through inlined frames in windbg now works. llvm-svn: 259535
* [llvm-nm] Simplify the code a bit. NFCI.Davide Italiano2016-02-011-6/+2
| | | | | | Fix a style violation while I'm here. llvm-svn: 259391
* [dsymutil] Skip mach-o paired relocationsFrederic Riss2016-02-011-0/+34
| | | | | | | | | Noticed while working on scattered relocations. I do not think these relocs can actually happen in the debug_info section, but if they happen the code would mishandle them. Explicitely skip them and warn if we encounter one. llvm-svn: 259341
* [dsymutil] Support scattered relocs.Frederic Riss2016-02-011-2/+15
| | | | | | | | | | Although it seems like clang will never emit scattered relocations in the debug information (at least I couldn't find a way), we have too support them for the benefit of other compilers. As clang doesn't generate them, the included testcase was produced from hacked up assembly. llvm-svn: 259339
* [dsymutil] Fix handling of common symbols.Frederic Riss2016-01-312-9/+11
| | | | | | | | | | | | | | | | | llvm-dsymutil was misinterpreting the value of common symbols as their address when it actually contains their size. This didn't impact llvm-dsymutil's ability to link the debug information for common symbols because these are always found by name and not by address. Things could however go wrong when the size of a common object matched the object file address of another symbol. Depending on the link order of the symbols the common object might incorrectly evict this other object from the address to symbol mapping, and then link the evicted symbol with a wrong binary address. Use the new ability to have symbols without an object file address to fix this. llvm-svn: 259318
* [dsymutil] Allow debug map mappings with no object file address. NFCFrederic Riss2016-01-314-21/+31
| | | | | | | | | | | This change just changes the data structure that ties symbol names, object file address and linked binary addresses to accept mappings with no object file address. Such symbol mappings are not fed into the debug map yet, so this patch is NFC. A subsequent patch will make use of this functionality for common symbols. llvm-svn: 259317
* Avoid overly large SmallPtrSet/SmallSetMatthias Braun2016-01-301-2/+2
| | | | | | | These sets perform linear searching in small mode so it is never a good idea to use SmallSize/N bigger than 32. llvm-svn: 259283
* [llvm-nm] Add a comment to explain why we initialize MC.Davide Italiano2016-01-291-0/+1
| | | | llvm-svn: 259266
* [Profiling] Add a -sparse mode to llvm-profdata mergeVedant Kumar2016-01-291-3/+7
| | | | | | | | | | Add an option to llvm-profdata merge for writing out sparse indexed profiles. These profiles omit InstrProfRecords for functions which are never executed. Differential Revision: http://reviews.llvm.org/D16727 llvm-svn: 259258
* [CodeView] Fix dumping the is_stmt bit from the line tableReid Kleckner2016-01-291-1/+1
| | | | | | Bug pointed out by George Rimar. llvm-svn: 259205
* [llvm-bcanalyzer] Dump bitcode wrapper headerAkira Hatanaka2016-01-291-1/+20
| | | | | | | | | | This patch enables llvm-bcanalyzer to print the bitcode wrapper header if the file has one, which is needed to test the changes made in r258627 (bitcode-wrapper-header-armv7m.ll is the test case for r258627). Differential Revision: http://reviews.llvm.org/D16642 llvm-svn: 259162
* Reland "[CodeView] Use assembler directives for line tables"Reid Kleckner2016-01-291-6/+5
| | | | | | | | This reverts commit r259126 and relands r259117. This time with updated library dependencies. llvm-svn: 259130
* Revert "[CodeView] Use assembler directives for line tables"Reid Kleckner2016-01-291-5/+6
| | | | | | | | | This reverts commit r259117. The LineInfo constructor is defined in the codeview library and we have to link against it now. Doing that isn't trivial, so reverting for now. llvm-svn: 259126
* Add missing raw_ostream includeReid Kleckner2016-01-291-0/+1
| | | | | | | | Prior to r259115 this was coming via LTOModule.h and MCContext.h. Apparently this target is not built by 'check'. =( llvm-svn: 259124
* Silence gcc warning about ternary and enumerationsReid Kleckner2016-01-281-299/+0
| | | | llvm-svn: 259123
* [CodeView] Use assembler directives for line tablesReid Kleckner2016-01-281-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a new family of .cv_* directives to LLVM's variant of GAS syntax: - .cv_file: Similar to DWARF .file directives - .cv_loc: Similar to the DWARF .loc directive, but starts with a function id. CodeView line tables are emitted by function instead of by compilation unit, so we needed an extra field to communicate this. Rather than overloading the .loc direction further, we decided it was better to have our own directive. - .cv_stringtable: Emits the codeview string table at the current position. Currently this just contains the filenames as null-terminated strings. - .cv_filechecksums: Emits the file checksum table for all files used with .cv_file so far. There is currently no support for emitting actual checksums, just filenames. This moves the line table emission code down into the assembler. This is in preparation for implementing the inlined call site line table format. The inline line table format encoding algorithm requires knowing the absolute code offsets, so it must run after the assembler has laid out the code. David Majnemer collaborated on this patch. llvm-svn: 259117
* [llvm-nm] Remove redundant check for file validity.Davide Italiano2016-01-271-2/+0
| | | | | | | | We already perform it at the beginning of the function so we can't arrive here with an invalid object. Also, add a test so that bugs won't sneak in the future. llvm-svn: 258982
* One more batch of self-containing headers.Benjamin Kramer2016-01-272-0/+3
| | | | llvm-svn: 258974
* Make more headers self-contained.Benjamin Kramer2016-01-271-0/+1
| | | | | | A lot of this comes from the new complete type requirement of DenseMap. llvm-svn: 258956
* Move SafeStack to CodeGen.Benjamin Kramer2016-01-271-0/+1
| | | | | | | It depends on the target machinery, that's not available for instrumentation passes. llvm-svn: 258942
* Remove superfluous call to std::to_string that's breaking the cygwin build.Benjamin Kramer2016-01-271-2/+1
| | | | llvm-svn: 258928
* Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs.Benjamin Kramer2016-01-271-1/+1
| | | | llvm-svn: 258917
* Remove autoconf supportChris Bieneman2016-01-2644-1083/+0
| | | | | | | | | | | | | | | | Summary: This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html "I felt a great disturbance in the [build system], as if millions of [makefiles] suddenly cried out in terror and were suddenly silenced. I fear something [amazing] has happened." - Obi Wan Kenobi Reviewers: chandlerc, grosbach, bob.wilson, tstellarAMD, echristo, whitequark Subscribers: chfast, simoncook, emaste, jholewinski, tberghammer, jfb, danalbert, srhines, arsenm, dschuff, jyknight, dsanders, joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D16471 llvm-svn: 258861
* Fix comparison warning (r258845)Hemant Kulkarni2016-01-261-1/+1
| | | | llvm-svn: 258856
* Fixes build break introduced by r258845Hemant Kulkarni2016-01-261-1/+1
| | | | llvm-svn: 258854
* [llvm-nm] Roll several conditions into a single if. NFCI.Davide Italiano2016-01-261-7/+2
| | | | llvm-svn: 258846
* [llvm-readobj] Add -elf-section-groups optionHemant Kulkarni2016-01-263-10/+67
| | | | | | | | | Adds a way to inspect SHT_GROUP sections in ELF objects. Displays signature, member sections of these sections. Differential revision: http://reviews.llvm.org/D16555 llvm-svn: 258845
* [llvm-nm] Simplify. No functional changes intended.Davide Italiano2016-01-261-4/+3
| | | | llvm-svn: 258837
* Fix Clang-tidy modernize-use-nullptr and modernize-use-override warnings; ↵Eugene Zelenko2016-01-261-5/+5
| | | | | | | | other minor fixes. Differential revision: reviews.llvm.org/D16568 llvm-svn: 258831
OpenPOWER on IntegriCloud