History log of /external/llvm/include/llvm-c/Core.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e20cf3d14997c3511e264748c59687a801caa6ed 04-Sep-2012 Bob Wilson <bob.wilson@apple.com> Make sure macros in the include subdirectory are not used without being defined.

Rationale: For each preprocessor macro, either the definedness is what's
meaningful, or the value is what's meaningful, or both. If definedness is
meaningful, we should use #ifdef. If the value is meaningful, we should use
and #ifdef interchangeably for the same macro, seems ugly to me, even if
undefined macros are zero if used.

This also has the benefit that including an LLVM header doesn't prevent
you from compiling with -Wundef -Werror.

Patch by John Garvin!
<rdar://problem/12189979>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
2d892c5a72cf6941234f4d48e92b4973aa79721b 02-Sep-2012 Nuno Lopes <nunoplopes@sapo.pt> replace a couple of single-line comments with /* */ to fix the build of stuff depending on the C headers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
32811bef956e0fae4329e6515420d85f7e510660 17-Aug-2012 Bill Wendling <isanbard@gmail.com> Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to
make it more consistent with its intended semantics.

The `linker_private_weak_def_auto' linkage type was meant to automatically hide
globals which never had their addresses taken. It has nothing to do with the
`linker_private' linkage type, which outputs the symbols with a `l' (ell) prefix
among other things.

The intended semantic is more like the `linkonce_odr' linkage type.

Change the name of the linkage type to `linkonce_odr_auto_hide'. And therefore
changing the semantics so that it produces the correct output for the linker.

Note: The old linkage name `linker_private_weak_def_auto' will still parse but
is not a synonym for `linkonce_odr_auto_hide'. This should be removed in 4.0.
<rdar://problem/11754934>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
ac8a4ad47d17bac8c107d9f0e407d87befcd314e 10-Aug-2012 Eli Bendersky <eli.bendersky@intel.com> A couple of addition comment fixes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
dadace036efe0304d6aee5c00fb9a9c594bde268 10-Aug-2012 Eli Bendersky <eli.bendersky@intel.com> Fix a couple of typos in comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
06cb8ed00696eb14d1b831921452e50ec0568ea2 29-Jun-2012 Chandler Carruth <chandlerc@gmail.com> Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h

This was always part of the VMCore library out of necessity -- it deals
entirely in the IR. The .cpp file in fact was already part of the VMCore
library. This is just a mechanical move.

I've tried to go through and re-apply the coding standard's preferred
header sort, but at 40-ish files, I may have gotten some wrong. Please
let me know if so.

I'll be committing the corresponding updates to Clang and Polly, and
Duncan has DragonEgg.

Thanks to Bill and Eric for giving the green light for this bit of cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
d9b0b025612992a0b724eeca8bdf10b1d7a5c355 02-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix typos found by http://github.com/lyda/misspell-check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
5c87b4958d1a5dabf2400be5b3a86aed4f82db91 09-May-2012 Hans Wennborg <hans@hanshq.net> Introduce llvm-c function LLVMPrintModuleToFile.

This lets you save the textual representation of the LLVM IR to a file.
Before this patch it could only be printed to STDERR from llvm-c.

Patch by Carlo Kok!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
eabe3ad57d824c2b07016352fd97ce85777b6f9d 22-Mar-2012 Chris Lattner <sabre@nondot.org> add load/store volatility control to the C API, patch by Yiannis Tsiouris!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
57f33c86c76e149f5be266e678f408133e5d88d9 21-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> Finish organizing C API docs.

Remaining "uncategorized" functions have been organized into their
proper place in the hierarchy. Some functions were moved around so
groups are defined together.

No code changes were made.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
6244b518880842f2c15200ee041e06799e4cc779 21-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> Organize LLVM C API docs into doxygen modules; add docs

This gives a lot of love to the docs for the C API. Like Clang's
documentation, the C API is now organized into a Doxygen "module"
(LLVMC). Each C header file is a child of the main module. Some modules
(like Core) have a hierarchy of there own. The produced documentation is
thus better organized (before everything was in one monolithic list).

This patch also includes a lot of new documentation for APIs in Core.h.
It doesn't document them all, but is better than none. Function docs are
missing @param and @return annotation, but the documentation body now
commonly provides help details (like the expected llvm::Value sub-type
to expect).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
8833ef03b9ceaa52063116819fff8b3d16fd8933 06-Feb-2012 Bill Wendling <isanbard@gmail.com> [unwind removal] Remove all of the code for the dead 'unwind' instruction. There
were no 'unwind' instructions being generated before this, so this is in effect
a no-op.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
9a5c0e8d9378d11cb5250265cf521db32968a56e 31-Jan-2012 Bill Wendling <isanbard@gmail.com> Remove the eh.exception and eh.selector intrinsics. Also remove a hack to copy
over the catch information. The catch information is now tacked to the invoke
instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
8f7fe08fee403994a50bb3c07384453c0d046558 25-Jan-2012 Chandler Carruth <chandlerc@gmail.com> Revert a tiny bit of r148553 which extended LLVM's function attributes
to 64-bits, and added a new attribute in bit #32. Specifically, remove
this new attribute from the enum used in the C API. It's not yet clear
what the best approach is for exposing these new attributes in the
C API, and several different proposals are on the table. Until then, we
can simply not expose this bit in the API at all.

Also, I've reverted a somewhat unrelated change in the same revision
which switched from "1 << 31" to "1U << 31" for the top enum. While "1
<< 31" is technically undefined behavior, implementations DTRT here.
However, MS and -pedantic mode warn about non-'int' type enumerator
values. If folks feel strongly about this I can put the 'U' back in, but
it seemed best to wait for the proper solution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
88e900808adf49ae35395544a169c15d2dc836f7 20-Jan-2012 Benjamin Kramer <benny.kra@googlemail.com> Don't use my favorite C++11 feature (comma at end of enum).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
164b86b4399559e45fab7846f1e3e09119cab4e2 20-Jan-2012 Kostya Serebryany <kcc@google.com> Extend Attributes to 64 bits

Problem: LLVM needs more function attributes than currently available (32 bits).
One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc).

Solution:
- extend the Attributes from 32 bits to 64-bits
- wrap the object into a class so that unsigned is never erroneously used instead
- change "unsigned" to "Attributes" throughout the code, including one place in clang.
- the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking.
- the class has "safe operator bool()" to support the common idiom: if (Attributes attr = getAttrs()) useAttrs(attr);
- The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls
- Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work.
- Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit.

Tested:
"make check" on Linux (32-bit and 64-bit) and Mac (10.6)
built/run spec CPU 2006 on Linux with clang -O2.


This change will break clang build in lib/CodeGen/CGCall.cpp.
The following patch will fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
45ca049f1f221f5fc1a118f6aab83ac290cb8211 20-Dec-2011 Devang Patel <dpatel@apple.com> Add support to add named metadata operand.
Patch by Andrew Wilkins!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
ce16339930a2b03e53b4e6399ef59c092a7f2cfa 17-Dec-2011 Dan Gohman <gohman@apple.com> The powers that be have decided that LLVM IR should now support 16-bit
"half precision" floating-point with a first-class type.

This patch adds basic IR support (but not codegen support).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
2fb655eefe700deca4fc14a7375dc1a0747ad35d 04-Nov-2011 Chad Rosier <mcrosier@apple.com> Remove declarations for functions that don't exist (and never have).
Patch by Anders Waldenborg <anders@0x63.nu>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
3dd16741864302af14b31b7f75375c09d8544a35 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> ocaml bindings: introduce classify_value

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
6563c879964c3bcf5c77d40da8d4c807adf605aa 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> ocaml bindings: add getopcode for constant and instruction, and int64_of_const.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
4df1557f4073cd91893a186acfee96bee64b28cc 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> Don't require C bindings opcode numbers to be kept in sync.

They are not in sync now, for example Bitcast would show up as LLVMCall.
So instead introduce 2 functions that map to and from the opcodes in the C
bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
6831b7c645c766a233ff779c26357d1add578c5d 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> Add uwtable, returnstwice and nonlazybind to the C bindings also.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
ff12c99d131789ccb9e8739963f4d8e0e95667d4 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> ocaml/C bindings: type->isSized()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
4917ec9ec775d7bc7fbc3362b4c576c32b7617f4 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> add binding to read icmp predicate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
4f661ab0fb87f97c4a12912249c3c366df882102 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> ocaml/C bindings: getmdstring, add num_op, get_op should work on metadata too

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
c44943ed4f4f2d44b6668e6b51eb355f8310660c 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> C/OCaml API to retrieve struct name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
0e6a24d92ab4661bb39f838ac390ccb17f649cb5 03-Oct-2011 Devang Patel <dpatel@apple.com> Add C api for Instruction->eraseFromParent().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
7ced7763cab4fc22b8198f39fbbb6b7264cd1628 23-Aug-2011 Nate Begeman <natebegeman@mac.com> Add some useful accessors to c++ api that appear to be missing from the c api


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
613d13beb03bb56a17e6b3262c5e8e539a7e9db8 19-Aug-2011 Benjamin Kramer <benny.kra@googlemail.com> C API functions must be able to see their extern "C" definitions, or it will be impossible to call them from C.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e6e8826870bee3facb04f950f0bd725f8a88623d 12-Aug-2011 Bill Wendling <isanbard@gmail.com> Initial commit of the 'landingpad' instruction.

This implements the 'landingpad' instruction. It's used to indicate that a basic
block is a landing pad. There are several restrictions on its use (see
LangRef.html for more detail). These restrictions allow the exception handling
code to gather the information it needs in a much more sane way.

This patch has the definition, implementation, C interface, parsing, and bitcode
support in it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
16005253850679a34b09a70bca32a6c0233380d6 02-Aug-2011 Bill Wendling <isanbard@gmail.com> Remove the LLVMBuildUnwind C API function.

The 'unwind' function is going away with the new EH rewrite. This is step 0 in
keeping front-ends from using it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
dccc03b2423fe65efb5963ae816b99c24fc53374 31-Jul-2011 Bill Wendling <isanbard@gmail.com> Add the 'resume' instruction for the new EH rewrite.

This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existing (in-flight)
exception whose unwinding was interrupted with a 'landingpad' instruction (to be
added later).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
10c6d12a9fd4dab411091f64db4db69670b88850 30-Jul-2011 Bill Wendling <isanbard@gmail.com> Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
ff03048c1350fcc4fda1ef6d6c57252f3a950854 28-Jul-2011 Eli Friedman <eli.friedman@gmail.com> LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.

The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.

As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible. I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.

Optimizer/codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
c94eefb258fb35e6bb95ceea8f21ea030a907f08 27-Jul-2011 Bill Wendling <isanbard@gmail.com> Keep enums stable. Append EH stuff to the end.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
772fe17a6d07304ae2e6b3052bbb24ebb751f0f3 27-Jul-2011 Bill Wendling <isanbard@gmail.com> Merge the contents from exception-handling-rewrite to the mainline.

This adds the new instructions 'landingpad' and 'resume'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
abcd715fdfd786e59f68579f7a68007d46d5218b 27-Jul-2011 Eli Friedman <eli.friedman@gmail.com> The numbering of LLVMOpcode is supposed to be stable; revert my earlier change, and append Fence onto the end.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
be9a9afee58a1d62f528c6b30bf835c95e2b8bab 26-Jul-2011 Eli Friedman <eli.friedman@gmail.com> Fix a couple minor mistakes pointed out by Bill in adding 'fence' instruction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
64090bd2d468ec70b9644bdf492684dd278de8a7 14-Jul-2011 Rafael Espindola <rafael.espindola@gmail.com> Add LLVMConstNamedStruct to the C api to let its users create constants
of named struct types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
61afc8820f2bc85f7b7158850a0250f9d8c1ebaa 14-Jul-2011 Chris Lattner <sabre@nondot.org> add a couple more missing C api, patch by Vitaly Lugovskiy!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
d91aa14075d5c4c093ed1a84ea4b5397ce5f6eb4 14-Jul-2011 Chris Lattner <sabre@nondot.org> add C api for hte new type system rewrite API. Patch by Vitaly Lugovskiy!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1afcace3a3a138b1b18e5c6270caa8dae2261ae2 09-Jul-2011 Chris Lattner <sabre@nondot.org> Land the long talked about "type system rewrite" patch. This
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.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1777299737b0775093db44dab4781c6aedd5659c 04-Jun-2011 Hans Wennborg <hans@hanshq.net> Cast unused parameter to void.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
be1532ec66648f1c86d684f4840c03e29a4391ce 15-May-2011 Nick Lewycky <nicholas@mxc.ca> Declare this function here so that it doesn't get C++ mangling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1e09e5b979249ae08082569cbf0ab24d297ee0dd 18-Feb-2011 Rafael Espindola <rafael.espindola@gmail.com> Expose getTypeName to the C API. Patch by Patrick Walton.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
3cc52ea33c0b96d1682f14fc45c45b57df0f39b6 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> I swear I did a make clean and make before committing all this...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
a1ac3bbec703f7faf20cbc06fa0eb9d34bb4f5f6 28-Nov-2010 Chris Lattner <sabre@nondot.org> add a function to the C api to get the context out of a module, patch
by Eric Dobson!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
5400570097a25f05694d451afed7f949281b789e 23-Nov-2010 Chris Lattner <sabre@nondot.org> add a 'LLVMConstIntOfArbitraryPrecision' api to the C api,
patch by Greg Pfeil!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1a3d23362168ae6d8e07efd547a92cc36738a789 07-Oct-2010 Owen Anderson <resistor@mac.com> Next step on the getting-rid-of-static-ctors train: begin adding per-library
initialization functions that initialize the set of passes implemented in
that library. Add C bindings for these functions as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
401e2d3386219ac2e5cf734334fcbf99ccfc8634 10-Sep-2010 Dale Johannesen <dalej@apple.com> Add missing X86 MMX declarations. Hopefully fixes buildbot?



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
bb811a244567aa8a1522203f15588f4d001b7353 10-Sep-2010 Dale Johannesen <dalej@apple.com> Add X86 MMX type to bitcode and Type.
(The Ada bindings probably need it too, but all the
obvious places to change say "do not edit this file".)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
61c70e98ac3c7504d31dd9bc81c4e9cb998e9984 28-Aug-2010 Chris Lattner <sabre@nondot.org> remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
55ae515f9db484125a23429d4906c5edaf9f10d2 21-Aug-2010 Bill Wendling <isanbard@gmail.com> Create the new linker type "linker_private_weak_def_auto".

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).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
f7af931930dfab74b8a72b195e53df34b4ea2480 20-Aug-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
837a0c3b052cdbfd7b212d9e9f570f7aaf864b44 19-Jul-2010 Duncan Sands <baldrick@free.fr> Expose BasicBlock::moveBefore and moveAfter in C API, patch
by Benjamin Saunders.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
5e721d768254a920b78b9129d79a84c0163cb3f4 01-Jul-2010 Bill Wendling <isanbard@gmail.com> Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
07d317711781d8c9268f7d6afcf1ba7eadf1d127 30-Jun-2010 Bill Wendling <isanbard@gmail.com> Revert r107205 and r107207.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
207855cff9b4811004b9720f28a5bd0adf3784b7 29-Jun-2010 Bill Wendling <isanbard@gmail.com> Introducing the "linker_weak" linkage type. This will be used for Objective-C
metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:

.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
0941534c712d77243d9dda5e8c1d927563b4edff 10-Apr-2010 Chris Lattner <sabre@nondot.org> add attributes and module level asm to the ocaml bindings,
patch by Patrick Walton!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
4ad188ba8dde52201c16d46ec6558e32c0dd4805 04-Mar-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose alignment and stack alignment attributes to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
df7df075b723e926e51555bf5aff6e231279a479 03-Mar-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add Module functions in place of module providers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
24b3733425511cf60268fddda13c306ab140b55f 02-Mar-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Rename LLVMUseIteratorRef to LLVMUseRef since we don't refer to iterators in llvm-c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
8e130b1d0d53346e05d0a1161a52c6d62de163c4 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add support for global variables in an address space for llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
c59286bff1cca8c4fa15f390c9002db94117614e 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add indirect br support to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
46c80e0c5653e11ada7cebcb46f9a8f7df758e41 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add metadata functions to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
19f047f5f6c44d1cd5681f9314b3ff5e7bae122d 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add the new builder arthmetic instructions to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1940dd10dd6b79e3332f384756c268b85d0ad400 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add the new union arthmetic instructions to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
abbcc5ee6fa39daadadaa0b583579b3e17f32fd7 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add generic binary op and cast builder functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
a1461d3539f46efb90575bfb975f1ed02e24f4d6 16-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Fix a typo in an LLVMOpcode enum. LLVMTrunk -> LLVMTrunc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
b218b278fe890162e7abb636a761dc90f95840cc 15-Feb-2010 Bill Wendling <isanbard@gmail.com> Remove c++ style comments from c header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
cb0b7be886871f94edc46a425db7f65d86e4767f 15-Feb-2010 Bill Wendling <isanbard@gmail.com> Renumber Instruction enums in llvm-c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
fdfeb6976f07ad10d809b922ed7376ba2a3539be 12-Feb-2010 Chris Lattner <sabre@nondot.org> Add support for a union type in LLVM IR. Patch by Talin!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
570a4a5d9ca31f276a67502d1e0533d59d331fea 06-Feb-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Reintroduce the InlineHint function attribute.

This time it's for real! I am going to hook this up in the frontends as well.

The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.

We need some experiments to determine if that is the right thing to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
f0356fe140af1a30587b9a86bcfb1b2c51b8ce20 27-Jan-2010 Jeffrey Yasskin <jyasskin@google.com> Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.

Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.

Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e73a31f667ad2fe03e25c97ac45b58c30d7f07c3 22-Jan-2010 Chris Lattner <sabre@nondot.org> Stop building RTTI information for *most* llvm libraries. Notable
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.

This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
606a1d1f5984f20e79b0d2a2d38c121907426810 15-Jan-2010 Eric Christopher <echristo@apple.com> Remove the InlineHint attribute. There are no current or planned
users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
d686c8e73f74e37ab5f647b65a12051ee6cbad16 09-Jan-2010 Chris Lattner <sabre@nondot.org> "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for."

Patch by James Y Knight!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
44a29e066a24e88bdf127e88be4380a5f259c4b4 05-Jan-2010 Devang Patel <dpatel@apple.com> Remove dead debug info intrinsics.
Intrinsic::dbg_stoppoint
Intrinsic::dbg_region_start
Intrinsic::dbg_region_end
Intrinsic::dbg_func_start
AutoUpgrade simply ignores these intrinsics now.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e8e01b600cd377504e5288a31152b1db4b8477b1 23-Nov-2009 Duncan Sands <baldrick@free.fr> I forgot to update the prototype for LLVMBuildIntCast when correcting
the body to not pass the name for the isSigned parameter. However it
seems that changing prototypes is a big-no-no, so here I revert the
previous change and pass "true" for isSigned, meaning this always does
a signed cast, which was the previous behaviour assuming the name was
not NULL! Some other C function needs to be introduced for the general
case of signed or unsigned casts. This hopefully unbreaks the ocaml
binding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
046e78ce55a7c3d82b7b6758d2d77f2d99f970bf 27-Oct-2009 Victor Hernandez <vhernandez@apple.com> Remove FreeInst.
Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
8b67f774e9c38b7718b2b300b628388f966df4e0 26-Oct-2009 Chandler Carruth <chandlerc@gmail.com> Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
7b929dad59785f62a66f7c58615082f98441e95e 23-Oct-2009 Victor Hernandez <vhernandez@apple.com> Remove AllocationInst. Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
a276c603b82a11b0bf0b59f0517a69e4b63adeab 17-Oct-2009 Victor Hernandez <vhernandez@apple.com> Remove MallocInst from LLVM Instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
885dffc3914be3e33cffdd2496ed031f6d8acd08 12-Oct-2009 Chris Lattner <sabre@nondot.org> add some more hooks to the C bindings, patch by Kenneth Uildriks!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
d0c5a292aaf4d9d69c77fe059bfcbab0496d5f2c 28-Sep-2009 Dan Gohman <gohman@apple.com> Add C API calls for building FNeg operations. Patch by KS Sreeram!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
6e7ad958683f34bf6c014c88fef723e5a2d741be 04-Sep-2009 Dan Gohman <gohman@apple.com> Revert 80959. It isn't sufficient to solve the full problem. And it
introduced regressions in the Ocaml bindings tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e56a94ef91009ddb8d8b68783ff1650bcad3b326 04-Sep-2009 Dan Gohman <gohman@apple.com> Remove the API for creating ConstantExprs with the nsw, nuw, inbounds,
and exact flags. Because ConstantExprs are uniqued, creating an
expression with this flag causes all expressions with the same operands
to have the same flag, which may not be safe. Add, sub, mul, and sdiv
ConstantExprs are usually folded anyway, so the main interesting flag
here is inbounds, and the constant folder already knows how to set the
inbounds flag automatically in most cases, so there isn't an urgent need
for the API support.

This can be reconsidered in the future, but for now just removing these
API bits eliminates a source of potential trouble with little downside.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
bf4a68ebe2007b42f2f7750e655341a7126e25d9 31-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Make sure we specify no arguments for context functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
de86d473fcc18fe769fa9edb075984880ef1a015 26-Aug-2009 Dale Johannesen <dalej@apple.com> Add an 'inline hint' attribute to represent source
code hints that it would be a good idea to inline
a function ("inline" keyword). No functional change
yet; FEs do not emit this and inliner does not use it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
44a708f6f44102cbfe3cdc68322674f6a9848a5b 19-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose some extra functions to llvm-c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e0a1bf64c9885df16bf596447d037f1c75f92637 17-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose creating constant ints and floats from strings in llvm-c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
5c1c2082968ff4c36063ed09c4eea772eb808b6a 16-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Add an llvm-c function that lets you insert an instruction with a name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
56b22697d81cc4f520e3023e914f38081b9b6a0c 16-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose most of the Constant creation functions to llvm-c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
f72596c04a06458c6152a51c9678690a34d59ab8 16-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose most of the rest of IRBuilder's functions to llvm-c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
22c3f1877d22972adb787c553192edb426874594 14-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose LLVMContext to llvm-c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
39a499b6c471e1db9853e9c8d087ca83f106c5d5 20-Jul-2009 Bill Wendling <isanbard@gmail.com> Put new enum at end of list to avoid changing ABI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
3d10a5a75794356a0a568ce283713adc3a963200 20-Jul-2009 Bill Wendling <isanbard@gmail.com> Add plumbing for the `linker_private' linkage type. This type is meant for
"private" symbols which the assember shouldn't strip, but which the linker may
remove after evaluation. This is mostly useful for Objective-C metadata.

This is plumbing, so we don't have a use of it yet. More to come, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
46a47f539d94349667f964a26dc636b468532657 17-Jul-2009 Anton Korobeynikov <asl@math.spbu.ru> Fix copy & paste errors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
0cb896a8f80cc988128b59103e64957c5e2ea08a 17-Jul-2009 Anton Korobeynikov <asl@math.spbu.ru> Add missed attributes to C bindings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
c5ec8a78ea898087ad361e5b755f74a76150e5fd 17-Jul-2009 Anton Korobeynikov <asl@math.spbu.ru> Add support for naked functions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
0df5c8e3f1061cd23f8abde64840828f713d4597 16-Jul-2009 Chris Lattner <sabre@nondot.org> Update the C bindings to keep the LLVMTypeKind up to date between the C/C++
stuff. Patch by Zoltan Varga!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
8b16f70a1a7d300d9561389a03b30373ecc0813d 10-Jul-2009 Chris Lattner <sabre@nondot.org> add missing *, patch by Peter O'Gorman!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
7f6aa2b162e5daaf7b9ccf05d749597d3d7cf460 08-Jul-2009 Nick Lewycky <nicholas@mxc.ca> Remove the vicmp and vfcmp instructions. Because we never had a release with
these instructions, no autoupgrade or backwards compatibility support is
provided.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e4840bc611f8260065d3879a412ea3b501550995 06-Jul-2009 Chris Lattner <sabre@nondot.org> Add two new accessors to the C bindings, patch by Wladimir van der Laan!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
c8897d9c2f9fcee6061a2c2d380028269026a836 02-Jul-2009 Owen Anderson <resistor@mac.com> Restore other bits of the C API that I tore up. All pre-existing APIs default to using the
default global context, while new *InContext() APIs have been added that take a LLVMContextRef parameter.

Apologies to anyone affected by this breakage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
c70e62110b7e165ab8f04c38ffd97f905dcda95d 02-Jul-2009 Owen Anderson <resistor@mac.com> Add a C wrapper for accessing the global default context.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
8b477ed579794ba6d76915d56b3f448a7dd20120 01-Jul-2009 Owen Anderson <resistor@mac.com> Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.

Patches for Clang and LLVM-GCC to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e149e9960ba0726f4b084763f7ef95afa12d9a88 06-May-2009 Duncan Sands <baldrick@free.fr> OCaml parameter attribute bindings from PR2752.
Incomplete, but better than nothing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
db1afd499eb64ecf8443f728eabe3f2b32a658ca 13-Apr-2009 Chris Lattner <sabre@nondot.org> add AvailableExternally linkage to C bindings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
4dc2b39bf89d7c87868008ef8a0f807e0419aca6 11-Mar-2009 Duncan Sands <baldrick@free.fr> It makes no sense to have a ODR version of common
linkage, so remove it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
5f4ee1fc5d00ae55c30fa2ce450c69be4c6d6e63 11-Mar-2009 Duncan Sands <baldrick@free.fr> Remove the one-definition-rule version of extern_weak
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
667d4b8de6dea70195ff12ef39a4deebffa2f5c7 07-Mar-2009 Duncan Sands <baldrick@free.fr> Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
95ca7314fdb8a9c92cd18cb54af7e320ca02913d 19-Dec-2008 Gordon Henriksen <gordonhenriksen@mac.com> Add dyn_cast_or_null bindings for some additional classes missed in r61252.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
2a9c671a51126def8020870103316e6aedc73edf 19-Dec-2008 Gordon Henriksen <gordonhenriksen@mac.com> C bindings for dyn_cast_or_null.
This operation can be used to build dyn_cast, isa, and cast.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
851ba39dab544ad986f150aec9573add9d978397 17-Dec-2008 Chris Lattner <sabre@nondot.org> This adds some missing functions to the C binding:
- ability to insert previously created instructions using a builder
- creation of aliases
- creation of inline asm constants

Patch by Zoltan Varga!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
b593117b44a74c72bc784080bb402576b3181d94 03-Nov-2008 Dan Gohman <gohman@apple.com> Add C bindings for extractvalue and insertvalue. Patch by Frits van Bommel!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
0598866c052147c31b808391f58434ce3dbfb838 25-Sep-2008 Devang Patel <dpatel@apple.com> Large mechanical patch.

s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g

This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.

This requires corresponding changes in llvm-gcc and clang.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
07cabf6102800aa701bc4d1bd282fafb63b8a416 30-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> PR2731: C and Ocaml bindings for setTailCall and isTailCall.

Based on patch by Giorgos Korfiatis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
5eca075b74d62c621b160aa216b4cd50829a2cc7 17-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Rename some GC classes so that their roll will hopefully be clearer.

In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:

Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)

Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
f068263cbc523a3d80f08735d92b347680707aa0 09-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Delete a redundant binding, LLVMHasInitializer.

Please use !LLVMIsDeclaration instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
7a61d701c0870642e075e90b6a1ad03a8ac9bc67 08-Aug-2008 Eric Christopher <echristo@apple.com> Have IRBuilder take a template argument on whether or not to preserve
names. This can save a lot of allocations if you aren't going to be
looking at the output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
83eaae19add8031b299fc657cb69ceb5bfa44ae4 19-May-2008 Gordon Henriksen <gordonhenriksen@mac.com> Remove a duplicative binding. Patch by Mahadevan R.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
16c1f44d91211a225497062ea508d58fd25085a9 04-May-2008 Gordon Henriksen <gordonhenriksen@mac.com> Use (void) instead of () in C code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1fcfc3b6b28b8138168271849001aea15a7a87f0 28-Apr-2008 Anton Korobeynikov <asl@math.spbu.ru> Correct parameter attributes encoding for C bindings.
Patch by Anders Johnsen!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e2435da8abe5ca62c7f08f29c242b6b98e0ec7af 28-Apr-2008 Gordon Henriksen <gordonhenriksen@mac.com> Expose parameter attributes via C bindings.

Patch by Anders Johnsen!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
877ee973e2d6ade85e38babbd303d96347c7dc8e 25-Apr-2008 Gordon Henriksen <gordonhenriksen@mac.com> PR2245: Misleading parameter name in llvm-c/Core.h:LLVMConstArray

Applying fix by Frits van Bommel.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
89f6d88db334ba088672ae0753deb7d7b7509bac 13-Apr-2008 Duncan Sands <baldrick@free.fr> Merge LLVMBuilder and FoldingBuilder, calling
the result IRBuilder. Patch by Dominic Hamon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
4733be38930ae81716bba9ae75a8281bcb180634 23-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> Objective Caml bindings for basic block, function, global, and arg iterators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
34000979662d9ae9b22e4d05272b77d944871d1c 19-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> C bindings for Module-, Function-, and BasicBlock::iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
dc1ce7bdc6e32e7a4c4a110caa32834730183c1b 19-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for the various getParent methods of the IR.

Based on Erick Tryzelaar's patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
395b4149061ba7a280b628a23bcfdce94ddbfdf5 16-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> Remove unnecessary includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
d78c0f5a7255e4347cbd82f7435c51401096652c 16-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for PassManagers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
af59b105bb3f9a31f1812e470eb9db28a8a1b491 15-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> Expose Module::dump via C and Ocaml.

Patch by Erick Tryzelaar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
bbf1c514bd832bf1306fe3e87221fd78bbc306ef 07-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> Cleanup some comments in the OCaml bindings.

Patch by Erick Tryzelaar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e62a8a353c3b21b551c00b9025800d3352e5349e 02-Feb-2008 Gordon Henriksen <gordonhenriksen@mac.com> Fixing a bug creating floating point constants of type other
than double through the C bindings. Thanks to Tomas Lindquist
Olsen for reporting it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
ab477ccde9382b58d3883eeb574ba09469d4cde8 01-Jan-2008 Gordon Henriksen <gordonhenriksen@mac.com> Adding C bindings for SwitchInst::addCase.

Patch by Bryan O'Sullivan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
dc2c07a7cf7b21cfb164fc9c2eee0523a43e4cea 30-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Add some doxygen comments to llvm-c/Core.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
cc0928ff22d9f3e8f2930874f6727db8c700ec35 29-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Bindings for instruction calling conventions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
a353ffa7e556bfd2864474911174da691117f691 27-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding bindings for target triple and data layout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1d2e49cd84290e19ffcf1011a650cf04dac6a1cd 27-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Switch the bindings to use LLVMFoldingBuilder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
da1435f86ebc9886dd7704294e01d192d79e069c 19-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding bindings for memory buffers and module providers. Switching
to exceptions rather than variants for error handling in Ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
57cebeec7ba08b55f29f5bf98ad0a3a17e9d0c71 17-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Ocaml bindings for address spaces, for that burgeoning market
for Ocaml-based compilers targeting embedded devices. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1ae6135fa37eb061499d079b9b33dc82dcc1283f 12-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Add (very basic) bindings for ModuleProvider.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
80a75bfae980df96f969f1c05b0c4a80ce975240 10-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding a collector name attribute to Function in the IR. These
methods are new to Function:

bool hasCollector() const;
const std::string &getCollector() const;
void setCollector(const std::string &);
void clearCollector();

The assembly representation is as such:

define void @f() gc "shadow-stack" { ...

The implementation uses an on-the-side table to map Functions to
collector names, such that there is no overhead. A StringPool is
further used to unique collector names, which are extremely
likely to be unique per process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
2618a6c1122d5d2007787fb56156be44b21ab32a 08-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for PHINode::addIncoming etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
6d6203dff3560a2cc3ac8ec620ac3b105b0c7cc7 08-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for getFunction and getNamedGlobal. Also enhanced
the Objective Caml 'declare_*' functions to behave more or less like
getOrInsertFunction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
c84c16be9b29b4f805b92bfc2d93e2dfaa952f8f 07-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for GlobalVariable::isConstant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
1cf08fddc7413076dedad58dbb8d8d67e69a490f 07-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for PATypeHolder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
81a788176ecf158432af2b208b0a85321e5ec74a 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adopting a uniform naming convention for type constructors in bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
e3b989d4a4ba47f77d5d38c35ff17e9673d9f87b 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adopting a uniform naming convention for constant constructors in bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
4647569fe7706e76135a08ca0e5f90a447ccc5b4 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding C and Ocaml bindings for ConstantExpr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
88cc699942f7f972ef9bc3afa1df0a44d059e1d8 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Wrapping Value::dump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
acd96191cd8d85f376ec0baafdc4f21b3042f677 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Removing the silly CHelpers header by rolling wrap and unwrap into the C
bindings headers themselves, hidden behind #ifdef __cplusplus.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
46abf91f7378fb7bb118d66fe6d69b5d3af1e9d5 26-Sep-2007 Gordon Henriksen <gordonhenriksen@mac.com> Added C and Ocaml bindings for functions, basic blocks, and
instruction creation. No support yet for instruction introspection.

Also eliminated allocas from the Ocaml bindings for portability,
and avoided unnecessary casts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
344be5fbecec9908bab611eafeae0549ba3be6d7 18-Sep-2007 Gordon Henriksen <gordonhenriksen@mac.com> Tests of the ocaml (and thus C) bindings for constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h
8b94a14a782867b1da1f272b6f502562d0c2a1aa 18-Sep-2007 Gordon Henriksen <gordonhenriksen@mac.com> C bindings for libLLVMCore.a and libLLVMBitWriter.a.

- The naming prefix is LLVM.
- All types are represented using opaque references.
- Functions are not named LLVM{Type}{Method}; the names became
unreadable goop. Instead, they are named LLVM{ImperativeSentence}.
- Where an attribute only appears once in the class hierarchy (e.g.,
linkage only applies to values; parameter types only apply to
function types), the class is omitted from identifiers for
brevity. Tastes like methods.
- Strings are C strings or string/length tuples on a case-by-case
basis.
- APIs which give the caller ownership of an object are not mapped
(removeFromParent, certain constructor overloads). This keeps
keep memory management as simple as possible.

For each library with bindings:

llvm-c/<LIB>.h - Declares the bindings.
lib/<LIB>/<LIB>.cpp - Implements the bindings.

So just link with the library of your choice and use the C header
instead of the C++ one.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm-c/Core.h