tree: b9bbcd01fc828dc11ccf9ff32bc95688f4fe496a [path history] [tgz]
  1. Binaryen/
  2. MCTargetDesc/
  3. TargetInfo/
  4. AllocaManager.cpp
  5. AllocaManager.h
  6. Binaryen.h
  7. BinaryenBackend.cpp
  8. BinaryenTargetMachine.cpp
  9. BinaryenTargetMachine.h
  10. BinaryenTargetTransformInfo.cpp
  11. BinaryenTargetTransformInfo.h
  12. CallHandlers.h
  13. CMakeLists.txt
  14. ExpandBigSwitches.cpp
  15. LLVMBuild.txt
  16. Makefile
  17. OptPasses.h
  18. README.md
  19. RemoveLLVMAssume.cpp
  20. SimplifyAllocas.cpp
lib/Target/BinaryenBackend/README.md

Binaryen Backend

This generates code by translating LLVM IR into Binaryen IR, then optimizing in Binaryen, and then emitting WebAssembly.

Building

From a subdirectory of the LLVM root (e.g. ./build), run

    cmake .. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86;JSBackend;BinaryenBackend" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_EXAMPLES=OFF -DCLANG_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ASSERTIONS=ON

You may want to remove assertions (the last command) for speed.

Then

    make