summaryrefslogtreecommitdiffstats
path: root/llvm/tools/gold/gold-plugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add modules to codegen as soon as possible. This reduces the link timeRafael Espindola2011-02-191-30/+24
| | | | | | of libxul from 12m31.084s to 7m1.359s. llvm-svn: 126052
* Add a debug obj-path option to make it easy to keep the .o produce by LTO.Rafael Espindola2011-02-161-14/+24
| | | | llvm-svn: 125663
* Switch llvm to using comdats. For now always use groups with a singleRafael Espindola2011-02-141-2/+2
| | | | | | section. llvm-svn: 125526
* Don't open the file again in the gold plugin. To be able to do this, updateRafael Espindola2011-02-081-7/+23
| | | | | | MemoryBuffer::getOpenFile to not close the file descriptor. llvm-svn: 125128
* gold: MinGW fix.Michael J. Spencer2011-01-201-0/+7
| | | | llvm-svn: 123886
* I swear I did a make clean and make before committing all this...Michael J. Spencer2010-11-291-3/+3
| | | | llvm-svn: 120304
* Move tool_output_file into its own file.Dan Gohman2010-10-071-1/+1
| | | | llvm-svn: 115973
* Fix compile errors.Nick Lewycky2010-09-021-4/+4
| | | | llvm-svn: 112808
* Convert tools to use tool_output_file, and introduce errorDan Gohman2010-08-201-2/+9
| | | | | | checking to places which previously lacked it. llvm-svn: 111651
* Make it possible to set the cpu used for codegen.Rafael Espindola2010-08-111-0/+6
| | | | llvm-svn: 110759
* Make it possible to set the flags passed to the assembler.Rafael Espindola2010-08-101-0/+12
| | | | | | Nick, please review. llvm-svn: 110705
* Fix silly bug.Rafael Espindola2010-08-101-1/+1
| | | | llvm-svn: 110684
* Make it possible to set the target triple and expose that with an option in theRafael Espindola2010-08-091-0/+7
| | | | | | gold plugin. llvm-svn: 110604
* Remove variables that are written by not read.Duncan Sands2010-06-291-6/+0
| | | | llvm-svn: 107126
* Add an extra-library-path option to the plugin. This is used to supportRafael Espindola2010-06-231-0/+13
| | | | | | | | | | | | having a library both as bitcode and native code. We want to use the bitcode first, but if codegen produces new undefined references we have to use the native code to satisfy those references. Gold has no notion of bitcode and native search directories, so instead it has an API where the plugin can instruct it to look for the libraries it is passing to it. This patch uses that API. llvm-svn: 106674
* add_input_file and add_input_library now take const arguments, remove theRafael Espindola2010-06-211-2/+2
| | | | | | const_cast. llvm-svn: 106410
* Add a pass-through option to the plugin. The use case for this option is toRafael Espindola2010-06-181-0/+26
| | | | | | | | ask the linker to take another look into some library or object. The case when one might want to do this is when codegen introduces a new undefined reference. The canonical example is libgcc. llvm-svn: 106303
* Don't produce output only if *all* files are unused.Rafael Espindola2010-06-141-7/+7
| | | | llvm-svn: 105962
* Plug a leak in the non-error case by removing one level of indirection.Nick Lewycky2010-06-071-6/+4
| | | | llvm-svn: 105556
* Misc cleanups to the gold plugin.Rafael Espindola2010-06-071-15/+16
| | | | llvm-svn: 105534
* Add a emit-llvm option to the plugin and make the path argument to ↵Rafael Espindola2010-06-031-2/+23
| | | | | | also-emit-llvm optional. llvm-svn: 105414
* Perfer !string.empty() over string != "".Nick Lewycky2010-06-031-2/+2
| | | | llvm-svn: 105397
* Whitespace cleanup.Nick Lewycky2010-06-031-5/+5
| | | | llvm-svn: 105395
* Don't preserve all symbols in a .so and instead trust gold to know what isRafael Espindola2010-06-031-12/+10
| | | | | | | needed. The result is that now we are able to drop unnecessary symbol from shared libraries. llvm-svn: 105389
* Add an also-emit-llvm option to the gold plugin.Rafael Espindola2010-05-131-0/+14
| | | | llvm-svn: 103714
* Revert r64616 which worked around http://gcc.gnu.org/PR42757 , we just didn'tNick Lewycky2010-04-161-4/+2
| | | | | | know it at the time. llvm-svn: 101439
* Make things static that don't need to be referenced from outside the file.Dan Gohman2010-04-161-12/+12
| | | | llvm-svn: 101430
* Fix to pass options from Gold plugin to LTO codegenViktor Kutuzov2009-10-281-20/+44
| | | | llvm-svn: 85419
* Include config.h in order to have HAVE_STDINT_H be defined.Duncan Sands2009-10-221-0/+1
| | | | | | | In the latest binutils the plugin-api.h needs this - without it the LLVM gold plugin fails to compile. llvm-svn: 84861
* Make LLVM command-line tools overwrite their output files without -f.Dan Gohman2009-08-251-1/+1
| | | | | | | | | | | | | | | | This is conventional command-line tool behavior. -f now just means "enable binary output on terminals". Add a -f option to llvm-extract and llvm-link, for consistency. Remove F_Force from raw_fd_ostream and enable overwriting and truncating by default. Introduce an F_Excl flag to permit users to enable a failure when the file already exists. This flag is currently unused. Update Makefiles and documentation accordingly. llvm-svn: 79990
* Change raw_fd_ostream to take flags as an optional bitmask Chris Lattner2009-08-231-4/+3
| | | | | | | | | | | | | | | | instead of as two bools. Use this to add a F_Append flag which has the obvious behavior. Other unrelated changes conflated into this patch: 1. REmove EH stuff from llvm-dis and llvm-as, the try blocks are dead. 2. Simplify the filename inference code in llvm-as/llvm-dis, because raw_fd_ostream does the right thing with '-'. 3. Switch machine verifier to use raw_ostream instead of ostream (Which is the thing that needed append in the first place). llvm-svn: 79807
* Add a Force option to raw_fd_ostream to specify whether openingDan Gohman2009-07-151-1/+3
| | | | | | | | an existing file is considered an error. Convert several tools to use raw_fd_ostream instead of std::ostream, and to use this new option instead of doing a manual check. llvm-svn: 75801
* Add a portable strerror*() wrapper, llvm::sys::StrError(). This includes theJeffrey Yasskin2009-07-011-2/+3
| | | | | | | | Windows variant, strerror_s, but I couldn't test that. I'll update configure and config.h.in in a subsequent patch. llvm-svn: 74621
* Remove the gcc= option. llvm-gcc uses only as=Rafael Espindola2009-06-151-12/+5
| | | | | | | | Look for as in the path. Doing it here instead of llvm-gcc because llvm-gcc has nothing as convenient as sys::Program::FindProgramByName. llvm-svn: 73383
* Add option for specifying the path to assembler, "as". This overrides the pathNick Lewycky2009-06-071-0/+10
| | | | | | to gcc. llvm-svn: 73008
* Allow a user of libLTO to specify the full pathname of the gcc executable toNick Lewycky2009-04-301-0/+10
| | | | | | | | | run when assembling. Wire this up to the gold plugin. You can now pass --plugin-opt gcc=/foo/bar/gcc and it will run that gcc instead of looking for it on the path. llvm-svn: 70490
* Add LTO_SYMBOL_DEFINITION_WEAKUNDEF, use that on the gold plugin.Rafael Espindola2009-04-241-0/+3
| | | | llvm-svn: 69972
* Add an option to the gold plugin to make it emit a file with the public apiNick Lewycky2009-02-221-1/+23
| | | | | | | | | | list that can in turn be passed to -internalize pass through -internalize-public-api-file. Pass gold -plugin-opt=generate-api-file to produce "apifile.txt" in the current directory. llvm-svn: 65295
* really fix styleRafael Espindola2009-02-181-6/+6
| | | | llvm-svn: 64923
* fix styleRafael Espindola2009-02-181-4/+2
| | | | llvm-svn: 64905
* tools like nm and ar only need register_claim_file and add_symbols. Don't abortRafael Espindola2009-02-171-5/+10
| | | | | | if other hooks are missing. llvm-svn: 64812
* Shoot! Remove this debugging line again!Nick Lewycky2009-02-151-2/+0
| | | | llvm-svn: 64617
* Don't discard definitions of common symbols. Not sure if this is the right fix.Nick Lewycky2009-02-151-1/+5
| | | | | | | | | | Before this change, the program: int var; int main(void) { return 0; } when run under 'nm -g' would show 'U var' with the gold plugin and 'B var' with gcc. llvm-svn: 64616
* Free the buffer in the case where we don't create a module out of it, asNick Lewycky2009-02-071-6/+9
| | | | | | | | pointed out by Torok Edwin. Remove trailing whitespaces. llvm-svn: 64002
* Free the buffer.Nick Lewycky2009-02-061-7/+2
| | | | llvm-svn: 63907
* It's not obvious, but lto_module_create_from_memory doesn't need to use theNick Lewycky2009-02-051-6/+0
| | | | | | | buffer after it creates the Module. Thus, we don't need to store this pointer in claimed_file. llvm-svn: 63834
* Remove accidentally included debug message!Nick Lewycky2009-02-051-6/+4
| | | | | | Reword a comment for clarity. Remove some extra whitespace. llvm-svn: 63823
* Alphabetize includes. Update comment.Torok Edwin2009-02-041-4/+3
| | | | llvm-svn: 63771
* remove printf - it was there only for debugging!Torok Edwin2009-02-041-1/+0
| | | | llvm-svn: 63742
* add support for .a files containing LLVM IR to the gold pluginTorok Edwin2009-02-041-6/+45
| | | | llvm-svn: 63741
OpenPOWER on IntegriCloud