Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Beginnings of MC-JIT code generation. | Jim Grosbach | 2011-03-18 | 1 | -0/+1 | |
| | | | | | | | | | | | Proof-of-concept code that code-gens a module to an in-memory MachO object. This will be hooked up to a run-time dynamic linker library (see: llvm-rtdyld for similarly conceptual work for that part) which will take the compiled object and link it together with the rest of the system, providing back to the JIT a table of available symbols which will be used to respond to the getPointerTo*() queries. llvm-svn: 127916 | |||||
* | Use lazy parsing in LTO. Unfortunately this is only a 3% time saving for | Rafael Espindola | 2011-03-18 | 2 | -8/+27 | |
| | | | | | | 'ar'. Have to figure out how to make libLTO even lazier. llvm-svn: 127901 | |||||
* | Add llvm-rtdyld support for loading 32-bit code. | Jim Grosbach | 2011-03-18 | 1 | -66/+158 | |
| | | | | | | | Factor out the 64-bit specific bits into a helper function and add an equivalent that loads the 32-bit sections. This allows using llvm-rtdyld on ARM. llvm-svn: 127892 | |||||
* | Update list of link components for llvm-rtdyld. | Oscar Fuentes | 2011-03-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 127887 | |||||
* | Naming conventional tidy up. | Jim Grosbach | 2011-03-18 | 1 | -2/+2 | |
| | | | | llvm-svn: 127886 | |||||
* | MachO file loader and execution utility. | Jim Grosbach | 2011-03-18 | 5 | -3/+264 | |
| | | | | | | | | | | | Add a bone-simple utility to load a MachO object into memory, look for a function (main) in it, and run that function directly. This will be used as a test and development platform for MC-JIT work regarding symbol resolution, dynamic lookup, etc.. Code by Daniel Dunbar. llvm-svn: 127885 | |||||
* | Simplify the computation of undefined symbols. Instead of walking | Rafael Espindola | 2011-03-18 | 2 | -46/+2 | |
| | | | | | | | | | | | | | | | | | | | | | | | functions and initializers, just report the declarations present in the module. The motivation is to open the way for using the lazy module parsing, which should speed up clients that just want a symbol list (nm, ar). This is slightly less precise, but since both -strip-dead-prototypes and -globaldce are part of the standard pipeline, this shouldn't change the result for clang/dragonegg produced binaries. Any decl in an IL file was also put there because a FE expected it to be necessary, so this should not be a problem for "-O0 -emit-llvm". As a sanity check, I have bootstrapped clang on linux and built firefox on both linux and darwin. A clang bootstrap on darwin with LTO fails with or without this patch because, ironically, the linker doesn't like the combination of dead_strip and LTO when building libLTO.so :-) llvm-svn: 127870 | |||||
* | tools/lto/LTOModule.cpp: Eliminate an unused variable. | NAKAMURA Takumi | 2011-03-18 | 1 | -1/+0 | |
| | | | | llvm-svn: 127859 | |||||
* | llvm-bcanalyzer.cpp: Tweak format string to suppress warnings on mingw32-g++. | NAKAMURA Takumi | 2011-03-18 | 1 | -5/+5 | |
| | | | | llvm-svn: 127858 | |||||
* | Use RequiresNullTerminator to create buffers without a null terminator | Rafael Espindola | 2011-03-17 | 1 | -9/+2 | |
| | | | | | | instead of copying. llvm-svn: 127835 | |||||
* | Reapply: Add type output to llvm-dis annotations. Patch by Yuri! | Stuart Hastings | 2011-03-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 127824 | |||||
* | Revert 127813 while fixing broken test. | Stuart Hastings | 2011-03-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 127814 | |||||
* | Add type output to llvm-dis. Patch by Yuri! | Stuart Hastings | 2011-03-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 127813 | |||||
* | Add support in the LTO library for loading an object from the middle | Rafael Espindola | 2011-03-17 | 5 | -41/+36 | |
| | | | | | | of an file. llvm-svn: 127781 | |||||
* | Make llvm::Consumer a class (to remove a MSVC warning since Consumer is ↵ | Francois Pichet | 2011-03-14 | 1 | -1/+2 | |
| | | | | | | later forward declared as a struct) llvm-svn: 127632 | |||||
* | This patch is a big refactoring of llvm-diff. It doesn't add new features, ↵ | Renato Golin | 2011-03-14 | 8 | -321/+452 | |
| | | | | | | but it re-organizes the old features, so I can insert the MetadataEngine to use the same infrastructure. llvm-svn: 127627 | |||||
* | LTO is not ready for Windows. | Oscar Fuentes | 2011-03-13 | 1 | -1/+4 | |
| | | | | llvm-svn: 127562 | |||||
* | Build EnhancedDisassembly as a shared library too. | Oscar Fuentes | 2011-03-12 | 1 | -5/+28 | |
| | | | | llvm-svn: 127555 | |||||
* | Build LTO as a static library too. | Oscar Fuentes | 2011-03-12 | 1 | -4/+12 | |
| | | | | llvm-svn: 127553 | |||||
* | Build LTO as a static library too. | Oscar Fuentes | 2011-03-12 | 2 | -5/+9 | |
| | | | | llvm-svn: 127549 | |||||
* | Update link components for llvm-dis and LTO. | Oscar Fuentes | 2011-03-12 | 2 | -2/+4 | |
| | | | | llvm-svn: 127545 | |||||
* | Force re-linking of LLVMgold.so when its exports file changes. | Oscar Fuentes | 2011-03-11 | 1 | -0/+6 | |
| | | | | llvm-svn: 127473 | |||||
* | Fix processing of gold.exports. | Oscar Fuentes | 2011-03-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 127471 | |||||
* | While printing annotations, print line number and variable name if debug ↵ | Devang Patel | 2011-03-11 | 2 | -5/+50 | |
| | | | | | | info is present. llvm-svn: 127470 | |||||
* | Add LTO and gold plugin to the CMake build. Linux-only, support for | Oscar Fuentes | 2011-03-11 | 3 | -0/+58 | |
| | | | | | | | | other systems pending. PR9456. llvm-svn: 127466 | |||||
* | Add a special streamer to libLTO that just records symbols definitions and | Rafael Espindola | 2011-03-02 | 4 | -72/+322 | |
| | | | | | | | | | | | uses. The result produced by the streamer is used to give the linker more accurate information and to add to llvm.compiler.used. The second improvement removes the need for the user to add __attribute__((used)) to functions only used in inline asm. The first one lets us build firefox with LTO on Darwin :-) llvm-svn: 126830 | |||||
* | Gold now rescans archives as needed, so the pass-through options are not | Rafael Espindola | 2011-02-27 | 1 | -22/+0 | |
| | | | | | | necessary anymore. llvm-svn: 126580 | |||||
* | bfd was fixed, remove the work around. | Rafael Espindola | 2011-02-27 | 1 | -12/+1 | |
| | | | | llvm-svn: 126579 | |||||
* | LTO uses MC now. | Rafael Espindola | 2011-02-26 | 1 | -24/+0 | |
| | | | | llvm-svn: 126546 | |||||
* | Switch LTO to use MC. This takes the linking of libxul.so from about 7m to | Rafael Espindola | 2011-02-24 | 3 | -129/+35 | |
| | | | | | | 6m30. llvm-svn: 126426 | |||||
* | fit in 80 cols. | Chris Lattner | 2011-02-24 | 1 | -1/+2 | |
| | | | | llvm-svn: 126399 | |||||
* | Plug some leaks in edis. | Benjamin Kramer | 2011-02-24 | 1 | -5/+5 | |
| | | | | | | | - Don't leak parsed operands during tokenization. - Don't leak printed insts in llvm-mc. llvm-svn: 126381 | |||||
* | Fixed a bug in the enhanced disassembly tester that | Sean Callanan | 2011-02-23 | 1 | -82/+86 | |
| | | | | | | caused it to only parse one line of input. llvm-svn: 126301 | |||||
* | CMake: remove unnecessary variable. | Oscar Fuentes | 2011-02-22 | 1 | -2/+1 | |
| | | | | llvm-svn: 126224 | |||||
* | Fixed llvm-mc in edis mode to use the result of | Sean Callanan | 2011-02-22 | 1 | -1/+4 | |
| | | | | | | | operand.evaluate as an error code, not as the contents of the operand. llvm-svn: 126181 | |||||
* | Dispose modules early and only create codegen when the plugin is being | Rafael Espindola | 2011-02-20 | 1 | -5/+19 | |
| | | | | | | used by the linker and not by nm or ar. llvm-svn: 126089 | |||||
* | Fix some memory leaks and avoid looking in the hash tables twice. | Rafael Espindola | 2011-02-20 | 2 | -35/+53 | |
| | | | | | | libxul links in 7m0.403s. llvm-svn: 126085 | |||||
* | This patch lets LLDB build as an LLVM subproject. LLDB is not built in | Stephen Wilson | 2011-02-20 | 1 | -1/+6 | |
| | | | | | | | | | | | | parallel with the rest of the tools directory as it depends on Clang. This patch was first applied in r125956 and subsequently reverted in r125964 as it broke in-tree builds. Makefile.rules was fixed up in r126070 to handle missing optional directories for the in-tree case, so it should be safe now to bring this patch back in. llvm-svn: 126071 | |||||
* | Add modules to codegen as soon as possible. This reduces the link time | Rafael Espindola | 2011-02-19 | 1 | -30/+24 | |
| | | | | | | of libxul from 12m31.084s to 7m1.359s. llvm-svn: 126052 | |||||
* | Make "-opt [-emit-llvm]" work for .ll files. | Mikhail Glushenkov | 2011-02-19 | 1 | -2/+4 | |
| | | | | | | Patch by Kaelyn Uhrain! llvm-svn: 126000 | |||||
* | add a way to disable all builtins, wire it up to opt's ↵ | Chris Lattner | 2011-02-18 | 1 | -2/+6 | |
| | | | | | | -disable-simplifylibcalls flag. llvm-svn: 125978 | |||||
* | Have opt set up a specific TargetLibraryInfo for modules | Chris Lattner | 2011-02-18 | 1 | -2/+8 | |
| | | | | | | with a triple. llvm-svn: 125970 | |||||
* | Move library stuff out of the toplevel CMakeLists.txt file. | Oscar Fuentes | 2011-02-18 | 1 | -0/+3 | |
| | | | | llvm-svn: 125968 | |||||
* | Revert r125956, which broke the build if you _don't_ have lldb checked out. | Owen Anderson | 2011-02-18 | 1 | -6/+1 | |
| | | | | llvm-svn: 125964 | |||||
* | This patch lets LLDB build as an LLVM subproject. LLDB is not built in | Stephen Wilson | 2011-02-18 | 1 | -1/+6 | |
| | | | | | | parallel with the rest of the tools directory as it depends on Clang. llvm-svn: 125956 | |||||
* | Make -disable-simplify-libcalls work with -std-compile-opts | Peter Collingbourne | 2011-02-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 125824 | |||||
* | Add a debug obj-path option to make it easy to keep the .o produce by LTO. | Rafael Espindola | 2011-02-16 | 1 | -14/+24 | |
| | | | | llvm-svn: 125663 | |||||
* | Switch llvm to using comdats. For now always use groups with a single | Rafael Espindola | 2011-02-14 | 1 | -2/+2 | |
| | | | | | | section. llvm-svn: 125526 | |||||
* | improve solaris support, from PR9109, patch by Yuri! | Chris Lattner | 2011-02-13 | 1 | -0/+5 | |
| | | | | llvm-svn: 125456 | |||||
* | Preserve aliases if needed. | Rafael Espindola | 2011-02-12 | 1 | -0/+8 | |
| | | | | llvm-svn: 125439 |