summaryrefslogtreecommitdiffstats
path: root/llvm/tools
Commit message (Collapse)AuthorAgeFilesLines
...
* Beginnings of MC-JIT code generation.Jim Grosbach2011-03-181-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 forRafael Espindola2011-03-182-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 Grosbach2011-03-181-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 Fuentes2011-03-181-1/+1
| | | | llvm-svn: 127887
* Naming conventional tidy up.Jim Grosbach2011-03-181-2/+2
| | | | llvm-svn: 127886
* MachO file loader and execution utility.Jim Grosbach2011-03-185-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 walkingRafael Espindola2011-03-182-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 Takumi2011-03-181-1/+0
| | | | llvm-svn: 127859
* llvm-bcanalyzer.cpp: Tweak format string to suppress warnings on mingw32-g++.NAKAMURA Takumi2011-03-181-5/+5
| | | | llvm-svn: 127858
* Use RequiresNullTerminator to create buffers without a null terminatorRafael Espindola2011-03-171-9/+2
| | | | | | instead of copying. llvm-svn: 127835
* Reapply: Add type output to llvm-dis annotations. Patch by Yuri!Stuart Hastings2011-03-171-1/+1
| | | | llvm-svn: 127824
* Revert 127813 while fixing broken test.Stuart Hastings2011-03-171-1/+1
| | | | llvm-svn: 127814
* Add type output to llvm-dis. Patch by Yuri!Stuart Hastings2011-03-171-1/+1
| | | | llvm-svn: 127813
* Add support in the LTO library for loading an object from the middleRafael Espindola2011-03-175-41/+36
| | | | | | of an file. llvm-svn: 127781
* Make llvm::Consumer a class (to remove a MSVC warning since Consumer is ↵Francois Pichet2011-03-141-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 Golin2011-03-148-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 Fuentes2011-03-131-1/+4
| | | | llvm-svn: 127562
* Build EnhancedDisassembly as a shared library too.Oscar Fuentes2011-03-121-5/+28
| | | | llvm-svn: 127555
* Build LTO as a static library too.Oscar Fuentes2011-03-121-4/+12
| | | | llvm-svn: 127553
* Build LTO as a static library too.Oscar Fuentes2011-03-122-5/+9
| | | | llvm-svn: 127549
* Update link components for llvm-dis and LTO.Oscar Fuentes2011-03-122-2/+4
| | | | llvm-svn: 127545
* Force re-linking of LLVMgold.so when its exports file changes.Oscar Fuentes2011-03-111-0/+6
| | | | llvm-svn: 127473
* Fix processing of gold.exports.Oscar Fuentes2011-03-111-1/+1
| | | | llvm-svn: 127471
* While printing annotations, print line number and variable name if debug ↵Devang Patel2011-03-112-5/+50
| | | | | | info is present. llvm-svn: 127470
* Add LTO and gold plugin to the CMake build. Linux-only, support forOscar Fuentes2011-03-113-0/+58
| | | | | | | | other systems pending. PR9456. llvm-svn: 127466
* Add a special streamer to libLTO that just records symbols definitions andRafael Espindola2011-03-024-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 notRafael Espindola2011-02-271-22/+0
| | | | | | necessary anymore. llvm-svn: 126580
* bfd was fixed, remove the work around.Rafael Espindola2011-02-271-12/+1
| | | | llvm-svn: 126579
* LTO uses MC now.Rafael Espindola2011-02-261-24/+0
| | | | llvm-svn: 126546
* Switch LTO to use MC. This takes the linking of libxul.so from about 7m toRafael Espindola2011-02-243-129/+35
| | | | | | 6m30. llvm-svn: 126426
* fit in 80 cols.Chris Lattner2011-02-241-1/+2
| | | | llvm-svn: 126399
* Plug some leaks in edis.Benjamin Kramer2011-02-241-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 thatSean Callanan2011-02-231-82/+86
| | | | | | caused it to only parse one line of input. llvm-svn: 126301
* CMake: remove unnecessary variable.Oscar Fuentes2011-02-221-2/+1
| | | | llvm-svn: 126224
* Fixed llvm-mc in edis mode to use the result ofSean Callanan2011-02-221-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 beingRafael Espindola2011-02-201-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 Espindola2011-02-202-35/+53
| | | | | | libxul links in 7m0.403s. llvm-svn: 126085
* This patch lets LLDB build as an LLVM subproject. LLDB is not built inStephen Wilson2011-02-201-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 timeRafael Espindola2011-02-191-30/+24
| | | | | | of libxul from 12m31.084s to 7m1.359s. llvm-svn: 126052
* Make "-opt [-emit-llvm]" work for .ll files.Mikhail Glushenkov2011-02-191-2/+4
| | | | | | Patch by Kaelyn Uhrain! llvm-svn: 126000
* add a way to disable all builtins, wire it up to opt's ↵Chris Lattner2011-02-181-2/+6
| | | | | | -disable-simplifylibcalls flag. llvm-svn: 125978
* Have opt set up a specific TargetLibraryInfo for modulesChris Lattner2011-02-181-2/+8
| | | | | | with a triple. llvm-svn: 125970
* Move library stuff out of the toplevel CMakeLists.txt file.Oscar Fuentes2011-02-181-0/+3
| | | | llvm-svn: 125968
* Revert r125956, which broke the build if you _don't_ have lldb checked out.Owen Anderson2011-02-181-6/+1
| | | | llvm-svn: 125964
* This patch lets LLDB build as an LLVM subproject. LLDB is not built inStephen Wilson2011-02-181-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-optsPeter Collingbourne2011-02-181-1/+1
| | | | llvm-svn: 125824
* 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
* improve solaris support, from PR9109, patch by Yuri!Chris Lattner2011-02-131-0/+5
| | | | llvm-svn: 125456
* Preserve aliases if needed.Rafael Espindola2011-02-121-0/+8
| | | | llvm-svn: 125439
OpenPOWER on IntegriCloud