Skip to content
  1. Feb 27, 2008
  2. Feb 26, 2008
  3. Feb 02, 2008
  4. Jan 01, 2008
  5. Dec 30, 2007
  6. Dec 29, 2007
  7. Dec 27, 2007
  8. Dec 23, 2007
  9. Dec 19, 2007
  10. Dec 17, 2007
  11. Dec 12, 2007
  12. Dec 11, 2007
    • Gordon Henriksen's avatar
      Adding Ocaml bindings for the bitreader as requested by Sarah · 2b0eed27
      Gordon Henriksen authored
      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
      2b0eed27
  13. Dec 10, 2007
    • Gordon Henriksen's avatar
      Adding a collector name attribute to Function in the IR. These · 71183b67
      Gordon Henriksen authored
      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
      71183b67
  14. Oct 08, 2007
  15. Oct 07, 2007
  16. Oct 06, 2007
  17. Sep 26, 2007
  18. Sep 18, 2007
    • Gordon Henriksen's avatar
      Tests of the ocaml (and thus C) bindings for constants. · dc88c067
      Gordon Henriksen authored
      llvm-svn: 42101
      dc88c067
    • Gordon Henriksen's avatar
      C bindings for libLLVMCore.a and libLLVMBitWriter.a. · 76a0374b
      Gordon Henriksen authored
      - 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
      76a0374b
  19. Jan 07, 2007
Loading