Name Date Size #Lines LOC

..--

InstPrinter/H10-Jan-2016-8342

MCTargetDesc/H10-Jan-2016-204100

TargetInfo/H10-Jan-2016-3113

README.txtHD10-Jan-20161.3 KiB2721

WebAssembly.hHD10-Jan-2016932 3210

WebAssembly.tdHD10-Jan-20162.4 KiB6347

WebAssemblyFrameLowering.cppHD10-Jan-20162.7 KiB7538

WebAssemblyFrameLowering.hHD10-Jan-20161.7 KiB4923

WebAssemblyISelDAGToDAG.cppHD10-Jan-20162.5 KiB7440

WebAssemblyISelLowering.cppHD10-Jan-20162.5 KiB6629

WebAssemblyISelLowering.hHD10-Jan-20161.4 KiB5020

WebAssemblyInstrAtomics.tdHD10-Jan-20161.5 KiB4834

WebAssemblyInstrCall.tdHD10-Jan-2016690 2220

WebAssemblyInstrConv.tdHD10-Jan-20162.6 KiB4543

WebAssemblyInstrFloat.tdHD10-Jan-20161.3 KiB4540

WebAssemblyInstrFormats.tdHD10-Jan-20162.1 KiB5652

WebAssemblyInstrInfo.cppHD10-Jan-20161,005 2911

WebAssemblyInstrInfo.hHD10-Jan-20161 KiB3814

WebAssemblyInstrInfo.tdHD10-Jan-20162.3 KiB6049

WebAssemblyInstrInteger.tdHD10-Jan-20161.3 KiB4642

WebAssemblyInstrMemory.tdHD10-Jan-20161.7 KiB4745

WebAssemblyInstrSIMD.tdHD10-Jan-2016573 1715

WebAssemblyMachineFunctionInfo.cppHD10-Jan-2016654 203

WebAssemblyMachineFunctionInfo.hHD10-Jan-20161.2 KiB3814

WebAssemblyRegisterInfo.cppHD10-Jan-20163.1 KiB8860

WebAssemblyRegisterInfo.hHD10-Jan-20161.7 KiB5324

WebAssemblyRegisterInfo.tdHD10-Jan-20162.2 KiB5547

WebAssemblySelectionDAGInfo.cppHD10-Jan-2016681 214

WebAssemblySelectionDAGInfo.hHD10-Jan-2016888 3110

WebAssemblySubtarget.cppHD10-Jan-20161.6 KiB4925

WebAssemblySubtarget.hHD10-Jan-20162.6 KiB8041

WebAssemblyTargetMachine.cppHD10-Jan-20166 KiB174110

WebAssemblyTargetMachine.hHD10-Jan-20161.6 KiB5224

WebAssemblyTargetObjectFile.hHD10-Jan-20162 KiB6842

WebAssemblyTargetTransformInfo.cppHD10-Jan-2016947 2910

WebAssemblyTargetTransformInfo.hHD10-Jan-20162.2 KiB7227

README.txt

1//===-- README.txt - Notes for WebAssembly code gen -----------------------===//
2
3This WebAssembly backend is presently in a very early stage of development.
4The code should build and not break anything else, but don't expect a lot more
5at this point.
6
7For more information on WebAssembly itself, see the design documents:
8  * https://github.com/WebAssembly/design/blob/master/README.md
9
10The following documents contain some information on the planned semantics and
11binary encoding of WebAssembly itself:
12  * https://github.com/WebAssembly/design/blob/master/AstSemantics.md
13  * https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md
14
15Interesting work that remains to be done:
16* Write a pass to restructurize irreducible control flow. This needs to be done
17  before register allocation to be efficient, because it may duplicate basic
18  blocks and WebAssembly performs register allocation at a whole-function
19  level. Note that LLVM's GPU code has such a pass, but it linearizes control
20  flow (e.g. both sides of branches execute and are masked) which is undesirable
21  for WebAssembly.
22* Basic relooper to expose control flow as an AST.
23* Figure out how to properly use MC for virtual ISAs. This may require some
24  refactoring of MC.
25
26//===---------------------------------------------------------------------===//
27