summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm-c
Commit message (Collapse)AuthorAgeFilesLines
...
* add C api for hte new type system rewrite API. Patch by Vitaly Lugovskiy!Chris Lattner2011-07-141-1/+4
| | | | llvm-svn: 135132
* Land the long talked about "type system rewrite" patch. ThisChris Lattner2011-07-092-26/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-) Removing almost 3K lines of code is a good thing. Other advantages include: 1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere. Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this. There are still some cleanups pending after this, this patch is large enough as-is. llvm-svn: 134829
* Cast unused parameter to void.Hans Wennborg2011-06-041-0/+1
| | | | llvm-svn: 132641
* Fix some minor typos and grammar.Chris Lattner2011-05-221-40/+31
| | | | llvm-svn: 131835
* Declare this function here so that it doesn't get C++ mangling.Nick Lewycky2011-05-151-0/+2
| | | | llvm-svn: 131379
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-152-5/+5
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558
* Add the alias analysis to the C api.Rafael Espindola2011-04-131-0/+7
| | | | llvm-svn: 129447
* Adding support for printing operands symbolically to llvm's public 'C'Kevin Enderby2011-04-111-0/+43
| | | | | | | | | | | | | disassembler API. Hooked this up to the ARM target so such tools as Darwin's otool(1) can now print things like branch targets for example this: blx _puts instead of this: blx #-36 And even print the expression encoded in the Mach-O relocation entried for things like this: movt r0, :upper16:((_foo-_bar)+1234) llvm-svn: 129284
* Expose more passes to the C API.Rafael Espindola2011-04-071-0/+12
| | | | llvm-svn: 129087
* Add a set of C bindings for the Object interface.Eric Christopher2011-04-031-0/+77
| | | | | | Patch by Patrick Walton! llvm-svn: 128798
* C-API: Include DataTypes.h instead of stdint.h.Daniel Dunbar2011-03-291-1/+1
| | | | llvm-svn: 128446
* Again adding a C API to the disassembler for use by such tools as Darwin'sKevin Enderby2011-03-281-0/+106
| | | | | | | | | | | otool(1), this time with the needed fix for case sensitive file systems :) . This is a work in progress as the interface for producing symbolic operands is not done. But a hacked prototype using information from the object file's relocation entiries and replacing immediate operands with MCExpr's has been shown to work with no changes to the instrucion printer. These APIs will be moved into a dynamic library at some point. llvm-svn: 128415
* Remove the files for r128308 as it is causing a buildbot failure.Kevin Enderby2011-03-261-106/+0
| | | | llvm-svn: 128309
* Adding a C API to the disassembler for use by such tools as Darwin's otool(1).Kevin Enderby2011-03-261-0/+106
| | | | | | | | | | This is a work in progress as the interface for producing symbolic operands is not done. But a hacked prototype using information from the object file's relocation entiries and replacing immediate operands with MCExpr's has been shown to work with no changes to the instrucion printer. These APIs will be moved into a dynamic library at some point. llvm-svn: 128308
* Add a lto_codegen_compile_to_file to avoid producing a file, reading it toRafael Espindola2011-03-221-0/+7
| | | | | | memory and writing it back to disk. llvm-svn: 128108
* Add support in the LTO library for loading an object from the middleRafael Espindola2011-03-171-1/+9
| | | | | | of an file. llvm-svn: 127781
* Trailing whitespace.Jim Grosbach2011-03-141-26/+26
| | | | llvm-svn: 127620
* Expose getTypeName to the C API. Patch by Patrick Walton.Rafael Espindola2011-02-181-0/+1
| | | | llvm-svn: 125845
* Don't open the file again in the gold plugin. To be able to do this, updateRafael Espindola2011-02-081-0/+8
| | | | | | MemoryBuffer::getOpenFile to not close the file descriptor. llvm-svn: 125128
* Do not include DataTypes.h in llvm-c/lto.h.Devang Patel2011-01-071-4/+3
| | | | | | This means avoid using uint32_t. This patch reverts r112200 and fixes original problem by fixing argument type in lto.cpp. llvm-svn: 123038
* I swear I did a make clean and make before committing all this...Michael J. Spencer2010-11-292-2/+2
| | | | llvm-svn: 120304
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* add a function to the C api to get the context out of a module, patchChris Lattner2010-11-281-0/+3
| | | | | | by Eric Dobson! llvm-svn: 120259
* add a 'LLVMConstIntOfArbitraryPrecision' api to the C api,Chris Lattner2010-11-231-0/+3
| | | | | | patch by Greg Pfeil! llvm-svn: 119989
* Fix comment typo.Duncan Sands2010-11-021-1/+1
| | | | llvm-svn: 118016
* remove dead prototype, PR8351Chris Lattner2010-10-111-3/+0
| | | | llvm-svn: 116209
* Add initialization routines for Instrumentation.Owen Anderson2010-10-071-0/+1
| | | | llvm-svn: 115971
* Add initialization routines to InstCombine.Owen Anderson2010-10-071-0/+1
| | | | llvm-svn: 115965
* Add initialization routines for VMCore.Owen Anderson2010-10-071-0/+1
| | | | llvm-svn: 115963
* Add initialization routines for Target.Owen Anderson2010-10-071-0/+1
| | | | llvm-svn: 115957
* Add initialization routines for CodeGen.Owen Anderson2010-10-071-0/+1
| | | | llvm-svn: 115949
* Add initialization routines for Analysis and IPA.Owen Anderson2010-10-071-0/+2
| | | | llvm-svn: 115946
* Add an initialization routine for libLLVMipo.aOwen Anderson2010-10-071-0/+1
| | | | llvm-svn: 115933
* Add a header that I forgot to commit.Owen Anderson2010-10-071-0/+32
| | | | llvm-svn: 115932
* Next step on the getting-rid-of-static-ctors train: begin adding per-libraryOwen Anderson2010-10-071-0/+10
| | | | | | | initialization functions that initialize the set of passes implemented in that library. Add C bindings for these functions as well. llvm-svn: 115927
* Add a new scope type "LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN" for theBill Wendling2010-09-271-17/+18
| | | | | | "linker_private_weak_auto_def" linkage type for LTO. llvm-svn: 114868
* Add missing X86 MMX declarations. Hopefully fixes buildbot?Dale Johannesen2010-09-101-0/+2
| | | | llvm-svn: 113643
* Add X86 MMX type to bitcode and Type.Dale Johannesen2010-09-101-1/+2
| | | | | | | (The Ada bindings probably need it too, but all the obvious places to change say "do not edit this file".) llvm-svn: 113618
* Fix LLVM target initialization to deal with sociopathic outside projectsEric Christopher2010-08-301-8/+3
| | | | | | | | | | | that like to randomly define things like "X86", regenerate autoconf bits and update cmake. Fixes PR7852. Patch by Xerxes RÄnby! llvm-svn: 112499
* remove unions from LLVM IR. They are severely buggy and notChris Lattner2010-08-281-10/+1
| | | | | | being actively maintained, improved, or extended. llvm-svn: 112356
* Fix prototypes.Devang Patel2010-08-261-3/+4
| | | | llvm-svn: 112200
* lto_codegen_set_gcc_path was removed.Dan Gohman2010-08-251-8/+0
| | | | llvm-svn: 112069
* Create the new linker type "linker_private_weak_def_auto".Bill Wendling2010-08-201-1/+3
| | | | | | | | | | | It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). llvm-svn: 111684
* Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.Erick Tryzelaar2010-08-201-0/+2
| | | | llvm-svn: 111625
* Make it possible to set the cpu used for codegen.Rafael Espindola2010-08-111-0/+7
| | | | llvm-svn: 110759
* Make it possible to set the flags passed to the assembler.Rafael Espindola2010-08-101-0/+6
| | | | | | Nick, please review. llvm-svn: 110705
* Make it possible to set the target triple and expose that with an option in theRafael Espindola2010-08-091-0/+6
| | | | | | gold plugin. llvm-svn: 110604
* Fix PR7809 by creating a header for just llvm variables that can beEric Christopher2010-08-081-18/+18
| | | | | | included in exported interfaces. Update a couple of exported interfaces. llvm-svn: 110532
* start straightening out libedis's dependencies and make it fitChris Lattner2010-07-201-10/+7
| | | | | | | | | | | | | | | | better in the llvm world. Among other things, this changes: 1. The guts of libedis are now moved into lib/MC/MCDisassembler 2. llvm-mc now depends on lib/MC/MCDisassembler, not tools/edis, so edis and mc don't have to be built in series. 3. lib/MC/MCDisassembler no longer depends on the C api, the C API depends on it. 4. Various code cleanup changes. There is still a lot to be done to make edis fit with the llvm design, but this is an incremental step in the right direction. llvm-svn: 108869
* Expose BasicBlock::moveBefore and moveAfter in C API, patchDuncan Sands2010-07-191-0/+3
| | | | | | by Benjamin Saunders. llvm-svn: 108699
OpenPOWER on IntegriCloud