aboutsummaryrefslogtreecommitdiff
path: root/tools/gccld/GenerateCode.cpp
AgeCommit message (Collapse)Author
2007-02-09End of life for gccld. Remove its source code and enable the generationReid Spencer
of a shell script to stand in its place. The shell script just pawns the execution off to llvm-ld. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34090 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05For PR411:Reid Spencer
This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-03add an instcombine pass to clean up after heavy-lifting IP passesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33843 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21default to emiting an uncompressed .bc fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33420 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling
now cerr, cout, and NullStream resp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-29Replacing std::iostreams with llvm iostreams. Some of these changes involveBill Wendling
adding a temporary wrapper around the ostream to make it friendly to functions expecting an LLVM stream. This should be fixed in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-22Update to new predicate simplifier VRP design. Fixes PR966 and PR967.Nick Lewycky
Remove predicate simplifier from default gcc3 pipeline. New design is too slow to enable by default. Add new testcases for problems encountered in development. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31895 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-21Added the --disable-compression option which controls whether theJohn Criswell
generated bytecode uses compression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31891 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-24Enable 'predsimplify' optimization.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30589 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-09Move ipsccp pass earlier to clean up obvious bogositiesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30232 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23For PR797:Reid Spencer
Remove exception throwing from Path::getDirectoryContents and its users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29841 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21For PR797:Reid Spencer
Adjust usage of the ExecuteAndWait function to use the last argument which is the ErrMsg string. This is necessitated because this function no longer throws exceptions on error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29791 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01Use Path::getFileStatus to get status-related info.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29444 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28831 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14Free memory allocated by copy_env.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28299 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22Implement PR679:Reid Spencer
* Changed the -rpath option from cl::opt to cl::list * Changed the interface to GenerateNative to take a std::vector<std::string> instead of just a std::string * Changed GenerateNative to generate multiple -Wl,-rpath, options to be passed to gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-03add a hack that fixes:Chris Lattner
llvm-gcc main.c -Wl,-native -o a.out -g This is important because it used by many configure scripts. John, please pull this onto the 1.6 branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24163 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Fix PR637Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23784 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23Speed up isBytecodeLPath from 20s to .01s in common cases. This makes -nativeChris Lattner
not completely painful to use. Once we decide a directory has a bytecode library, we know it this function returns true, no need to scan entire directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23405 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-231. Do not use .c_str() to keep a persistent handle on a temporary string.Chris Lattner
2. Concatenate -lfoo and -L/bar options into a single option instead of passing "-L /bar" (for example) which doesn't work on Darwin. 3. Send -v output to stderr instead of stdout git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23404 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-02Pass -export-dynamic to gcc when compiling with -native and the link isChris Lattner
performed with -export-dynamic (aka. -disable-internalize). Patch by Nicholas Riley! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22601 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-08Make sure we don't error out if an invalid path is used, just simplyReid Spencer
exit from isBytecodeLPath with "false". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22360 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-07For PR495:Reid Spencer
Get rid of the difference between file paths and directory paths. The Path class now simply stores a path that can refer to either a file or a directory. This required various changes in the implementation and interface of the class with the corresponding impact to its users. Doxygen comments were also updated to reflect these changes. Interface changes are: appendDirectory -> appendComponent appendFile -> appendComponent elideDirectory -> eraseComponent elideFile -> eraseComponent elideSuffix -> eraseSuffix renameFile -> rename setDirectory -> set setFile -> set Changes pass Dejagnu and llvm-test/SingleSource tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22349 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-20Eliminate trailing spaces at end-of-lineMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21372 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-20* Print commands as we execute them with `-v'Misha Brukman
* Add option `-save-temps' Patch contributed by Markus Oberhumer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21367 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-10The first argument to ExecuteAndWait should be the program name, but pointedChris Lattner
out by Markus F.X.J. Oberhumer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21211 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-28Changes to enable creation of native executables directly from gccld and toReid Spencer
ensure that -L paths don't contain both bytecode and native libraries. This patch contributed by Adam Treat. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20370 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13Make sure to null terminate argument lists!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20166 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-19For PR351:Reid Spencer
* Support changes in sys::Program::ExecuteAndWait interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19044 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-14For PR351:Reid Spencer
* Change ExecWait calls to sys::Program::ExecuteAndWait * Convert to use sys::Path where it makes sense git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18929 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10This pass is no longer needed.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18782 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10Turn on ipsccp by default instead of simple IPCPChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02Recognize --strip-all as a synonym for -s.Chris Lattner
Add -S and --strip-debug option support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-17-disable-opt is not -O0, it's okay for it to disable internalize.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17911 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16Even with -disable-opt we should still internalize and strip if requested.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17903 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14Linker.h has a new home.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-11Don't miss global optimizations because we run before the inlinerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16913 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07Rename passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01Changes For Bug 352Reid Spencer
Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02This pass has proven its metal, remove -disable option.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15411 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27Run DSE at link-time, and turn on an IP alias analysis by default in gccld!Chris Lattner
The -disable-globalsmodref is temporary and will be removed eventually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15268 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23Linker.h moved to include/llvm/SupportMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02Move some functions out of gccld.cpp to GenerateCode.cpp. This allows usChris Lattner
to reduce the inter-file interface in the gccld tool and gets some uninteresting code out of gccld.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13942 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-12Add a couple more IPO'sChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-08Disable strict alias analysis in the backend c compiler, as the code weChris Lattner
generate is not TBAA safe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12774 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-08Revert previous patch, I'm a moron :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12773 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-08Right, we break strict aliasing requirements. Make sure to disable strictChris Lattner
aliasing in the C compiler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12772 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06Minor cleanupsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12700 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06Add a new gccld -native-cbe option which causes gccld to generate native codeChris Lattner
for the application with the C backend instead of the native LLVM code generator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12698 91177308-0d34-0410-b5e6-96231b3b80d8