summaryrefslogtreecommitdiffstats
path: root/llvm/tools
Commit message (Collapse)AuthorAgeFilesLines
...
* [gold] Handle modules that are not included in the link.Evgeniy Stepanov2016-03-041-75/+92
| | | | | | | | | | Gold has a newly added LDPT_GET_SYMBOLS_V3 callback that can distinguish between a module that is not included in the link, and one that is included but has its entire interface preempted by others. Fixes PR26674. llvm-svn: 262676
* [llvm-nm] Restore the previous behaviour (pre r262525).Davide Italiano2016-03-021-2/+1
| | | | | | | | It broke some buildbots. Pointy-hat to: me llvm-svn: 262529
* [llvm-nm] Fix rendering of -s grouping with all the othe options.Davide Italiano2016-03-021-1/+2
| | | | llvm-svn: 262525
* llvm-dwp: Add missing copyright notice to llvm-dwp.cppDavid Blaikie2016-03-011-0/+13
| | | | | | Addressing feedback on IRC by Sean Silva. llvm-svn: 262416
* Fix typo. NFC.Tim Northover2016-03-012-3/+3
| | | | llvm-svn: 262405
* Revert "llvm-dwp: Keep ObjectFiles alive until object emission their ↵David Blaikie2016-03-011-10/+8
| | | | | | | | | | contents can be referenced directly rather than copied" Accidentally committed. This reverts commit r262389. llvm-svn: 262395
* [lanai] Add ELF enum value and relocations.Jacques Pienaar2016-03-012-1/+3
| | | | | | | | | | Add ELF enum value and relocations for Lanai backed. General Lanai backend discussion on llvm-dev thread "[RFC] Lanai backend" (http://lists.llvm.org/pipermail/llvm-dev/2016-February/095118.html). Differential Revision: http://reviews.llvm.org/D17008 llvm-svn: 262394
* llvm-dwp: Keep ObjectFiles alive until object emission their contents can be ↵David Blaikie2016-03-011-8/+10
| | | | | | referenced directly rather than copied llvm-svn: 262389
* Move ObjectYAML code to a new library.Rafael Espindola2016-03-016-4/+6
| | | | | | | It is only ever used by obj2yaml and yaml2obj. No point in linking it everywhere. llvm-svn: 262368
* [LTO] Fix error reporting from lto_module_create_in_local_context()Petr Pavlu2016-03-012-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Function lto_module_create_in_local_context() would previously rely on the default LLVMContext being created for it by LTOModule::makeLTOModule(). This context exits the program on error and is not arranged to update sLastStringError in tools/lto/lto.cpp. Function lto_module_create_in_local_context() now creates an LLVMContext by itself, sets it up correctly to its needs and then passes it to LTOModule::createInLocalContext() which takes ownership of the context and keeps it present for the lifetime of the returned LTOModule. Function LTOModule::makeLTOModule() is modified to take a reference to LLVMContext (instead of a pointer) and no longer creates a default context when nullptr is passed to it. Method LTOModule::createInContext() that takes a pointer to LLVMContext is removed because it allows to pass a nullptr to it. Instead LTOModule::createFromBuffer() (that takes a reference to LLVMContext) should be used. Differential Revision: http://reviews.llvm.org/D17715 llvm-svn: 262330
* [sancov] print_coverage_points command.Mike Aizatsky2016-02-271-0/+18
| | | | | | Differential Revision: http://reviews.llvm.org/D17670 llvm-svn: 262104
* [CMake] Add the gold plugin before clangChris Bieneman2016-02-261-0/+1
| | | | | | | | | | This is needed to connect dependencies between the LLVMgold plugin and the clang stage-2 builds due to limitations in ExternalProject_Add. Patch by Mike Edwards Differential Revision: http://reviews.llvm.org/D17655 llvm-svn: 262067
* [CMake] Assigning the LTO component to lto.hChris Bieneman2016-02-261-1/+2
| | | | | | This makes it so lto.h is installed when you run the install-LTO target. llvm-svn: 262066
* llvm-dwp: provide diagnostics for duplicate DWO IDsDavid Blaikie2016-02-261-3/+75
| | | | | | | | | | | | | | These diagnostics aren't perfect - in the case of merging several dwos into dwps and those dwps into more dwps - just getting the message about the original source file name might not be much help (since it's the same in both dwos, by definition - but doesn't tell you which chain of dwps to backtrack) It might be worth adding the DW_AT_dwo_id to the split debug info to improve the diagnostic experience - might help track down the duplicates better. llvm-svn: 261988
* llvm-dwp: Support empty .dwo filesDavid Blaikie2016-02-261-9/+11
| | | | | | | | | Though a bit odd, this is handy for a few reasons - for example, in a build system that wants consistent input/output of build steps, but where split-dwarf might be overriden/disabled by the user on a per-file basis. llvm-svn: 261987
* Reverts change r261907 and r261918Hemant Kulkarni2016-02-253-682/+265
| | | | llvm-svn: 261927
* Fix endianness issue on BE machines introduced by r261907Hemant Kulkarni2016-02-251-3/+4
| | | | llvm-svn: 261918
* [llvm-readobj] Enable GNU style sections and relocations printingHemant Kulkarni2016-02-253-265/+681
| | | | | | http://reviews.llvm.org/D17523 llvm-svn: 261907
* PM: Implement a basic loop pass managerJustin Bogner2016-02-251-0/+5
| | | | | | | | | | | This creates the new-style LoopPassManager and wires it up with dummy and print passes. This version doesn't support modifying the loop nest at all. It will be far easier to discuss and evaluate the approaches to that with this in place so that the boilerplate is out of the way. llvm-svn: 261831
* Fix some abuse of auto flagged by clang's -Wrange-loop-analysis.Benjamin Kramer2016-02-221-1/+1
| | | | llvm-svn: 261524
* fixing msvc warning.Mike Aizatsky2016-02-201-1/+2
| | | | llvm-svn: 261396
* [sancov] sanitizer html report cosmetic improvements.Mike Aizatsky2016-02-191-15/+25
| | | | llvm-svn: 261375
* llvm-dwp: Improve performance (N^2 to amortized N) by using a MapVector ↵David Blaikie2016-02-191-39/+35
| | | | | | | | | | | | | | | instead of linear searches through a vector Figured this would be a problem, but didn't want to jump the gun - large inputs demonstrate it pretty easily (mostly for type units, but might as well do the same for CUs too). A random sample 6m27s -> 27s change. Also, by checking this up-front for CUs (rather than when building the cu_index) we can probably provide better error messages (see FIXMEs), hopefully providing the name of the CUs rather than just their signature. llvm-svn: 261364
* [llvm-nm] In C++, main implicitly returns 0. Pointed out by David Blaikie.Davide Italiano2016-02-191-2/+0
| | | | llvm-svn: 261300
* llvm-dwp: Don't test compression when zlib isn't availableDavid Blaikie2016-02-191-1/+1
| | | | llvm-svn: 261298
* llvm-dwp: Support compressed inputDavid Blaikie2016-02-191-5/+45
| | | | llvm-svn: 261296
* [sancov] widening default blacklist.Mike Aizatsky2016-02-191-1/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D17426 llvm-svn: 261291
* [sancov] Adding covered/uncovered tables to coverage report.Mike Aizatsky2016-02-191-204/+462
| | | | | | | | | | | | | | | Summary: This change adds 3 tables to html report: - list of covered files with number of functions covered. - list of not covered files - list of not covered functions. I tried to put most coverage-calculating functionality into SourceCoverageData. Differential Revision: http://reviews.llvm.org/D17421 llvm-svn: 261287
* Remove uses of builtin comma operator.Richard Trieu2016-02-182-14/+18
| | | | | | Cleanup for upcoming Clang warning -Wcomma. No functionality change intended. llvm-svn: 261270
* Add support for invoke/landingpad/resume in C API testAmaury Sechet2016-02-181-1/+35
| | | | | | | | | | | | Summary: As per title. There was a lot of part missing in the C API, so I had to extend the invoke and landingpad API. Reviewers: echristo, joker.eph, Wallbraker Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17359 llvm-svn: 261254
* Add parentheses around arithmetic in operand of '|'.Benjamin Kramer2016-02-181-1/+1
| | | | | | | | | | | | This avoids a operator precedence warning for mixing + and | in an expression. I checked that this matches the definition in the Split DWARF proposal. Patch by Cong Liu! Differential Revision: http://reviews.llvm.org/D17375 llvm-svn: 261207
* [PM/AA] Teach the new pass manager to use pass-by-lambda for registeringChandler Carruth2016-02-181-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | analysis passes, support pre-registering analyses, and use that to implement parsing and pre-registering a custom alias analysis pipeline. With this its possible to configure the particular alias analysis pipeline used by the AAManager from the commandline of opt. I've updated the test to show this effectively in use to build a pipeline including basic-aa as part of it. My big question for reviewers are around the APIs that are used to expose this functionality. Are folks happy with pass-by-lambda to do pass registration? Are folks happy with pre-registering analyses as a way to inject customized instances of an analysis while still using the registry for the general case? Other thoughts of course welcome. The next round of patches will be to add the rest of the alias analyses into the new pass manager and wire them up here so that they can be used from opt. This will require extending the (somewhate limited) functionality of AAManager w.r.t. module passes. Differential Revision: http://reviews.llvm.org/D17259 llvm-svn: 261197
* Add upport for bitcast in the C API echo testAmaury Sechet2016-02-171-1/+18
| | | | llvm-svn: 261177
* Add support for memory operations (load/store/gep) in C API echo testAmaury Sechet2016-02-171-0/+25
| | | | | | | | | | | | Summary: As per title. Reviewers: bogner, chandlerc, echristo, dblaikie, joker.eph, Wallbraker Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17245 llvm-svn: 261174
* [readobj] Remove uneeded braces in case statement.Michael J. Spencer2016-02-171-2/+1
| | | | llvm-svn: 261170
* Make sure functions are generated even there is no global in the C API echo testAmaury Sechet2016-02-171-6/+10
| | | | llvm-svn: 261169
* Add support for global variables in the C API echo testAmaury Sechet2016-02-171-32/+138
| | | | | | | | | | | | Summary: As per title Reviewers: bogner, chandlerc, echristo, dblaikie, joker.eph, Wallbraker Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17249 llvm-svn: 261164
* Add a profile summary class specific to instrumentation profiles.Easwaran Raman2016-02-171-2/+2
| | | | | | | | | Modify ProfileSummary class to make it not instrumented profile specific. Add a new InstrumentedProfileSummary class that inherits from ProfileSummary. Differential Revision: http://reviews.llvm.org/D17310 llvm-svn: 261119
* Represent the dynamic table itself with a DynRegionInfo.Rafael Espindola2016-02-171-12/+17
| | | | | | | | | | | | The dynamic table is also an array of a fixed structure, so it can be represented with a DynReginoInfo. No major functionality change. The extra error checking is covered by existing tests with a broken dynamic program header. Idea extracted from r260488. I did the extra cleanups. llvm-svn: 261107
* Add a unwrapOrError utility and use it to simplify ELFDumper.cpp.Rafael Espindola2016-02-172-119/+77
| | | | | | Utility extracted from r260488. llvm-svn: 261103
* Change how readobj stores info about dynamic symbols.Rafael Espindola2016-02-171-44/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to keep both a section and a pointer to the first symbol. The oddity of keeping a section for dynamic symbols is because there is a DT_SYMTAB but no DT_SYMTABZ, so to print the table we have to find the size via a section table. The reason for still keeping a pointer to the first symbol is because we want to be able to print relocation tables even if the section table is missing (it is mandatory only for files used in linking). With this patch we keep just a DynRegionInfo. This then requires changing a few places that were asking for a Elf_Shdr but actually just needed the first symbol. The test change is to delete the program header pointer. Now that we use the information of both DT_SYMTAB and .dynsym, we don't depend on the sh_entsize of .dynsym if we see DT_SYMTAB. Note: It is questionable if it is worth it putting the effort to report broken sh_entsize given that in files with no section table we have to assume it is sizeof(Elf_Sym), but that is for another change. Extracted from r260488. llvm-svn: 261099
* llvm-dwp: Support for type units when merging DWPs into larger DWPsDavid Blaikie2016-02-171-2/+54
| | | | llvm-svn: 261072
* Fix the hash function.David Blaikie2016-02-171-1/+1
| | | | llvm-svn: 261071
* Pass a std::unique_ptr to IRMover::move.Rafael Espindola2016-02-162-2/+2
| | | | | | | It was already the one "destroying" the source module, now the API reflects that. llvm-svn: 260989
* Reapply r260489.Rafael Espindola2016-02-161-0/+29
| | | | | | | | | | Original commit message: [readobj] Dump DT_JMPREL relocations when outputting dynamic relocations. The bits of r260488 it depends on have been committed. llvm-svn: 260970
* Introduce a getAsRange helper.Rafael Espindola2016-02-161-25/+9
| | | | | | | | | This requires making an error message a bit more generic, but that seems a reasonable tradeoff. Extracted from r260488 but simplified a bit. llvm-svn: 260967
* Move DynRegionInfo out of the ELFDumper.Rafael Espindola2016-02-161-11/+11
| | | | | | | | This reduces indentation in preparation to adding a bit more code to it. Extracted from r260488. llvm-svn: 260963
* This reverts commit r260488 and r260489.Rafael Espindola2016-02-162-187/+98
| | | | | | | | | | | Original messages: Revert "[readobj] Handle ELF files with no section table or with no program headers." Revert "[readobj] Dump DT_JMPREL relocations when outputting dynamic relocations." r260489 depends on r260488 and among other issues r260488 deleted error handling code. llvm-svn: 260962
* Make sure the functions' range is empty before going through it in the LLVM ↵Amaury Sechet2016-02-161-0/+5
| | | | | | C API test llvm-svn: 260947
* Do some refactoring in constant generation in the C API echo test. NFCAmaury Sechet2016-02-161-8/+10
| | | | llvm-svn: 260941
OpenPOWER on IntegriCloud