| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Patch by Erick Tryzelaar.
llvm-svn: 48014
|
| |
|
|
| |
llvm-svn: 47695
|
| |
|
|
|
|
| |
llvm/tools/Makefile, so no one will build it be default yet
llvm-svn: 47621
|
| |
|
|
|
|
|
| |
than double through the C bindings. Thanks to Tomas Lindquist
Olsen for reporting it.
llvm-svn: 46656
|
| |
|
|
|
|
| |
Patch by Bryan O'Sullivan!
llvm-svn: 45481
|
| |
|
|
| |
llvm-svn: 45450
|
| |
|
|
| |
llvm-svn: 45422
|
| |
|
|
|
|
| |
discussion of this change. Boy are my fingers tired. ;-)
llvm-svn: 45411
|
| |
|
|
| |
llvm-svn: 45369
|
| |
|
|
| |
llvm-svn: 45367
|
| |
|
|
| |
llvm-svn: 45335
|
| |
|
|
|
|
| |
to exceptions rather than variants for error handling in Ocaml.
llvm-svn: 45226
|
| |
|
|
|
|
| |
for Ocaml-based compilers targeting embedded devices. :)
llvm-svn: 45096
|
| |
|
|
| |
llvm-svn: 44899
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thompson. Usage should be something like this:
open Llvm
open Llvm_bitreader
match read_bitcode_file fn with
| Bitreader_failure msg ->
prerr_endline msg
| Bitreader_success m ->
...;
dispose_module m
Compile with: ocamlc llvm.cma llvm_bitreader.cma
ocamlopt llvm.cmxa llvm_bitreader.cmxa
llvm-svn: 44824
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 44769
|
| |
|
|
| |
llvm-svn: 42760
|
| |
|
|
|
|
|
| |
the Objective Caml 'declare_*' functions to behave more or less like
getOrInsertFunction.
llvm-svn: 42740
|
| |
|
|
| |
llvm-svn: 42736
|
| |
|
|
| |
llvm-svn: 42713
|
| |
|
|
| |
llvm-svn: 42707
|
| |
|
|
| |
llvm-svn: 42698
|
| |
|
|
| |
llvm-svn: 42697
|
| |
|
|
| |
llvm-svn: 42696
|
| |
|
|
| |
llvm-svn: 42668
|
| |
|
|
|
|
| |
bindings headers themselves, hidden behind #ifdef __cplusplus.
llvm-svn: 42666
|
| |
|
|
|
|
|
|
|
| |
instruction creation. No support yet for instruction introspection.
Also eliminated allocas from the Ocaml bindings for portability,
and avoided unnecessary casts.
llvm-svn: 42367
|
| |
|
|
| |
llvm-svn: 42101
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
llvm-svn: 42077
|
|
|
llvm-svn: 32966
|