summaryrefslogtreecommitdiffstats
path: root/llvm/tools
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Remove the explicit SDNodeIterator::operator= in favor of the ↵David Blaikie2015-03-031-2/+0
| | | | | | | | | | | implicit default" Accidentally committed a few more of these cleanup changes than intended. Still breaking these out & tidying them up. This reverts commit r231135. llvm-svn: 231136
* Remove the explicit SDNodeIterator::operator= in favor of the implicit defaultDavid Blaikie2015-03-031-0/+2
| | | | | | | | | | There doesn't seem to be any need to assert that iterator assignment is between iterators over the same node - if you want to reuse an iterator variable to iterate another node, that's perfectly acceptable. Just don't mix comparisons between iterators into disjoint sequences, as usual. llvm-svn: 231135
* Correctly handle -pass-remarks in the gold plugin.Rafael Espindola2015-03-031-5/+2
| | | | llvm-svn: 231132
* Add r230655 back with a fix.Rafael Espindola2015-03-021-11/+32
| | | | | | | | | | | | | | | | | | | | The issue is that now we have a diag handler during optimizations and get forward every optimization remark, flooding stdout. The same filtering should probably be done with or without a custom handler, but for now just ignore remarks. Original message: gold-plugin: "Upgrade" debug info and handle its warnings. The gold plugin never calls MaterializeModule, so any old debug info was not deleted and could cause crashes. Now that it is being "upgraded", the plugin also has to handle warnings and create Modules with a nice id (it shows in the warning). llvm-svn: 230991
* [llvm-pdbdump] Many minor fixes and improvementsZachary Turner2015-03-0210-64/+134
| | | | | | | | | | | | | | | | | A short list of some of the improvements: 1) Now supports -all command line argument, which implies many other command line arguments to simplify usage. 2) Now supports -no-compiler-generated command line argument to exclude compiler generated types. 3) Prints base class list. 4) -class-definitions implies -types. 5) Proper display of bitfields. 6) Can now distinguish between struct/class/interface/union. And a few other minor tweaks. llvm-svn: 230933
* Add missing includes. make_unique proliferated everywhere.Benjamin Kramer2015-03-013-0/+3
| | | | llvm-svn: 230909
* [llvm-pdbdump] Fix GCC build.Zachary Turner2015-03-011-3/+10
| | | | llvm-svn: 230890
* [llvm-pdbdump] Clean up method signatures.Zachary Turner2015-03-0115-236/+154
| | | | llvm-svn: 230889
* [llvm-pdbdump] Add regex-based filtering.Zachary Turner2015-03-018-14/+114
| | | | llvm-svn: 230888
* Revert r230655, "gold-plugin: "Upgrade" debug info and handle its warnings."NAKAMURA Takumi2015-03-011-29/+11
| | | | | | It emits *millions of warnings* during selfhosting LTO build, to choke the buildbot with gigbytes of log. llvm-svn: 230885
* [llvm-pdbdump] Better error handling.Zachary Turner2015-02-281-5/+20
| | | | | | | | | | | | | Previously it was impossible to distinguish between "There is no PDB implementation for this platform" and "I tried to load the PDB, but couldn't find the file", making it hard to figure out if you built llvm-pdbdump incorrectly or if you just mistyped a file name. This patch adds proper error handling so that we can know exactly what went wrong. llvm-svn: 230868
* [dsymutil] Fully qualify llvm::make_unique<>.Frederic Riss2015-02-281-2/+3
| | | | llvm-svn: 230826
* [dsymutil] Add the DwarfStreamer class.Frederic Riss2015-02-286-6/+156
| | | | | | | | | | | | | | | | | | | | This class is responsible for getting the linked data to the disk in the appropriate form. Today it it an empty shell that just instantiates an MC layer. As we do not put anything in the resulting file yet, we just check it has the right architecture (and check that -o does the right thing). To be able to create all the components, this commit adds a few dependencies to llvm-dsymutil, namely all-targets, MC and AsmPrinter. Also add a -no-output option, so that tests that do not need the binary result can continue to run even if they do not have the required target linked in. llvm-svn: 230824
* [dsymutil] Add a LinkOptions struct to pass to the DwarfLinker. NFC.Frederic Riss2015-02-283-14/+26
| | | | | | | The only option we have to pass down currently is verbosity, but there are more to come. llvm-svn: 230823
* [dsymutil] clang-format a fileFrederic Riss2015-02-281-3/+2
| | | | llvm-svn: 230822
* [dsymutil] Add -o option to select ouptut filenameFrederic Riss2015-02-281-4/+14
| | | | | | We do not create the output file yet, so no means to test. llvm-svn: 230821
* [dsymutil] Create warn() global helper...Frederic Riss2015-02-281-3/+8
| | | | | | | | | ...and reimplement DwarfLinker::reportWarning in terms of it. Other compenents than the DwarfLinker will need to report warnings, and I'm about to add a similar "error()" helper at the same global level so make that consistent. llvm-svn: 230820
* [dsymutil] Make trivial accessor const.Frederic Riss2015-02-281-1/+1
| | | | llvm-svn: 230819
* llvm-vtabledump: Update field with a better nameDavid Majnemer2015-02-271-3/+3
| | | | llvm-svn: 230804
* [llvm-pdbdump] Fix member initialization order warnings.Zachary Turner2015-02-272-2/+2
| | | | llvm-svn: 230747
* [llvm-pdbdump] Colorize output.Zachary Turner2015-02-2718-191/+493
| | | | llvm-svn: 230746
* [llvm-pdbdump] Add support for dumping global variables.Zachary Turner2015-02-273-31/+48
| | | | llvm-svn: 230744
* llvm-vtabledump: Dump catch/throw exception structures for MS ABIDavid Majnemer2015-02-271-2/+107
| | | | llvm-svn: 230713
* [llvm-pdbdump] Add missing files.Zachary Turner2015-02-262-0/+105
| | | | llvm-svn: 230704
* [llvm-pdbdump] Fix dumping of function pointers and basic types.Zachary Turner2015-02-267-22/+47
| | | | | | | | | | | | Function pointers were not correctly handled by the dumper, and they would print as "* name". They now print as "int (__cdecl *name)(int arg1, int arg2)" as they should. Also, doubles were being printed as floats. This fixes that bug as well, and adds tests for all builtin types. as well as a test for function pointers. llvm-svn: 230703
* gold-plugin: "Upgrade" debug info and handle its warnings.Rafael Espindola2015-02-261-11/+29
| | | | | | | | | | The gold plugin never calls MaterializeModule, so any old debug info was not deleted and could cause crashes. Now that it is being "upgraded", the plugin also has to handle warnings and create Modules with a nice id (it shows in the warning). llvm-svn: 230655
* Replace a few instances of NULL with nullptr.David Majnemer2015-02-262-3/+3
| | | | llvm-svn: 230599
* llvm-dis: Stop crashing when dropping debug infoDuncan P. N. Exon Smith2015-02-251-3/+10
| | | | | | | | | | | | | | | | | | Since r199356, we've printed a warning when dropping debug info. r225562 started crashing on that, since it registered a diagnostic handler that only expected errors. This fixes the handler to expect other severities. As a side effect, it now prints "error: " at the start of error messages, similar to `llvm-as`. There was a testcase for r199356, but it only really checked the assembler. Move `test/Bitcode/drop-debug-info.ll` to `test/Assembler`, and introduce `test/Bitcode/drop-debug-info.3.5.ll` (and companion `.bc`) to test the bitcode reader. Note: tools/gold/gold-plugin.cpp has an equivalent bug, but I'm not sure what the best fix is there. I'll file a PR. llvm-svn: 230416
* [opaque pointer type] Bitcode support for explicit type parameter on GEP.David Blaikie2015-02-251-2/+6
| | | | | | | | | | | | | | | | | | | Like r230414, add bitcode support including backwards compatibility, for an explicit type parameter to GEP. At the suggestion of Duncan I tried coalescing the two older bitcodes into a single new bitcode, though I did hit a wrinkle: I couldn't figure out how to create an explicit abbreviation for a record with a variable number of arguments (the indicies to the gep). This means the discriminator between inbounds and non-inbounds gep is a full variable-length field I believe? Is my understanding correct? Is there a way to create such an abbreviation? Should I just use two bitcodes as before? Reviewers: dexonsmith Differential Revision: http://reviews.llvm.org/D7736 llvm-svn: 230415
* Revert "Raising minimum required CMake version to 2.8.12.2."Tobias Grosser2015-02-241-1/+1
| | | | | | | | | | | This reverts commit r230062. Debian stable (wheezy) ships still with cmake 2.8.9. The commit broke my LLVM/Polly buildbot, to my knowledge our only Linux+cmake buildbot. llvm-svn: 230343
* [LTO API] add lto_codegen_set_module to set the destination module.Manman Ren2015-02-243-4/+20
| | | | | | | | | | | | | | | | | | When debugging LTO issues with ld64, we use -save-temps to save the merged optimized bitcode file, then invoke ld64 again on the single bitcode file to speed up debugging code generation passes and ld64 stuff after code generation. llvm linking a single bitcode file via lto_codegen_add_module will generate a different bitcode file from the single input. With the newly-added lto_codegen_set_module, we can make sure the destination module is the same as the input. lto_codegen_set_module will transfer the ownship of the module to code generator. rdar://19024554 llvm-svn: 230290
* InstrProf: Teach llvm-cov to show the max count instead of the lastJustin Bogner2015-02-231-4/+3
| | | | | | | | | | | | When multiple regions start on the same line, llvm-cov was just showing the count of the last one as the line count. This can be confusing and misleading for things like one-liner loops, where the count at the end isn't very interesting, or even "if" statements with an opening brace at the end of the line. Instead, use the maximum of all of the region start counts. llvm-svn: 230263
* Revert "Revert "Raising minimum required CMake version to 2.8.12.2.""Chad Rosier2015-02-231-1/+1
| | | | | | This reverts commit r230240, which was an accidental commit. llvm-svn: 230246
* Revert "Raising minimum required CMake version to 2.8.12.2."Chad Rosier2015-02-231-1/+1
| | | | | | This reverts commit 247aed4710e8befde76da42b27313661dea7cf66. llvm-svn: 230240
* [llvm-pdbdump] Remove unused variables.Benjamin Kramer2015-02-232-6/+1
| | | | llvm-svn: 230216
* [llvm-pdbdump] Fix builders again.Zachary Turner2015-02-232-12/+13
| | | | llvm-svn: 230205
* [llvm-pdbdump] Very minor code cleanup.Zachary Turner2015-02-235-8/+1
| | | | | | | This just removes some dead enums as well as some debug flushes of stdout. llvm-svn: 230204
* [llvm-pdbdump] Add an option to dump full class definitions.Zachary Turner2015-02-2312-37/+512
| | | | | | | | | | | This adds the --class-definitions flag. If specified, when dumping types, instead of "class Foo" you will see the full class definition, with member functions, constructors, access specifiers. NOTE: Using this option can be very slow, as generating a full class definition requires accessing many different parts of the PDB. llvm-svn: 230203
* llvm-pdbdump: Fix gcc/clang buildDavid Majnemer2015-02-221-1/+1
| | | | llvm-svn: 230187
* [llvm-pdbdump] Fix a few compilation failures.Zachary Turner2015-02-222-3/+2
| | | | llvm-svn: 230186
* [llvm-pdbdump] Rewrite dumper using visitor pattern.Zachary Turner2015-02-2211-15/+683
| | | | | | | | | | This increases the flexibility of how to dump different symbol types -- necessary for context-sensitive formatting of symbol types -- and also improves the modularity by allowing the dumping to be implemented in the actual dumper, as opposed to in the PDB library. llvm-svn: 230184
* [llvm-pdbdump] Simplify options and output.Zachary Turner2015-02-221-71/+15
| | | | | | | | | This removes a wealth of options, and instead now only provides three options. -symbols, -types, and -compilands. This greatly simplifies use of the tool, and makes it easier to understand what you're going to see when you run the tool. llvm-svn: 230182
* [obj2yaml/yaml2obj] Add SHT_GROUP support.Shankar Easwaran2015-02-212-1/+89
| | | | | | This adds section group support to the tools obj2yaml and yaml2obj. llvm-svn: 230124
* Set the datalayout in the gold plugin.Rafael Espindola2015-02-211-0/+3
| | | | | | This fixes the gold tests after r230054. llvm-svn: 230098
* Raising minimum required CMake version to 2.8.12.2.Chris Bieneman2015-02-201-1/+1
| | | | llvm-svn: 230062
* llvm-mc: Use Target::createNullStreamer to fix crashes on target-specific ↵Peter Collingbourne2015-02-191-1/+1
| | | | | | asm directives. llvm-svn: 229798
* Add an IR-to-IR test for dwarf EH preparation using optReid Kleckner2015-02-181-0/+1
| | | | | | | This tests the simple resume instruction elimination logic that we have before making some changes to it. llvm-svn: 229768
* Modify llvm-readobj to dump symbol record bytes.Zachary Turner2015-02-183-14/+33
| | | | | | | | | | This will help us study the format of individual symbol records more closely. Differential Revision: http://reviews.llvm.org/D7664 Reviewed by: Timur Iskhodzhanov llvm-svn: 229730
* Fixing a CMake developer warning.Chris Bieneman2015-02-181-1/+3
| | | | llvm-svn: 229721
* Add code to llvm-objdump so the -section option with -macho will dump ↵Kevin Enderby2015-02-171-18/+196
| | | | | | | | | | | literal pointer sections with the Mach-O S_LITERAL_POINTERS section type. Also fix the printing of the leading addresses for literal sections to be consistent and not print the 0x prefix. Updated test cases to match. llvm-svn: 229548
OpenPOWER on IntegriCloud