项目作者: regular

项目描述 :
helper script that compiles llvm tools (llvm-as, llvm-dis, opt, etc.) to llvm Bitcode for later transformation into JavaScript by emscripten
高级语言: C
项目地址: git://github.com/regular/make-llvm-bitcode-for-javascript.git


make-llvm-bitcode-for-javascript

helper script that compiles llvm tools (llvm-as, llvm-dis, opt, etc.) to llvm Bitcode for later transformation into JavaScript by emscripten

Why?

This enables you to use llvm in the browser!

Prerequisites

You need to have emscripten installed.

Usage

  1. download or clone an llvm source tree.

    1. git clone git@github.com:kripken/emscripten-fastcomp.git kripken-fastcomp
  2. run ./make-bitcode-for-javascript and provide the path to the llvm source tree

    1. ./make-bitcode-for-javascript.sh ../kripken-fastcomp
  3. Wait!

  4. Find .bc files in ./bitcode-for-js

  1. make-llvm-bitcode-for-javascript git:(master) ls bitcode-for-js
  2. bugpoint.bc llvm-diff.bc llvm-objdump.bc opt.bc
  3. llc.bc llvm-dis.bc llvm-pdbdump.bc pnacl-abicheck.bc
  4. lli-child-target.bc llvm-dsymutil.bc llvm-profdata.bc pnacl-bcanalyzer.bc
  5. lli.bc llvm-dwarfdump.bc llvm-readobj.bc pnacl-bccompress.bc
  6. llvm-ar.bc llvm-extract.bc llvm-rtdyld.bc pnacl-bcdis.bc
  7. llvm-as.bc llvm-link.bc llvm-size.bc pnacl-freeze.bc
  8. llvm-bcanalyzer.bc llvm-lto.bc llvm-stress.bc pnacl-llc.bc
  9. llvm-c-test.bc llvm-mc.bc llvm-symbolizer.bc pnacl-thaw.bc
  10. llvm-cov.bc llvm-mcmarkup.bc macho-dump.bc verify-uselistorder.bc
  11. llvm-cxxdump.bc llvm-nm.bc obj2yaml.bc yaml2obj.bc

Compile to JavaScipt

For example:

  1. emcc -Oz -v --llvm-lto 3 llvm-as.bc -o llvm-as.js