blob: 59856de95534679abf1c6d2441538e6e8a16001e [file] [log] [blame]
Dan Gohman10e730a2015-06-29 23:51:55 +00001//===-- WebAssembly.h - Top-level interface for WebAssembly ----*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9///
10/// \file
11/// \brief This file contains the entry points for global functions defined in
12/// the LLVM WebAssembly back-end.
13///
14//===----------------------------------------------------------------------===//
15
16#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLY_H
17#define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLY_H
18
19#include "llvm/Support/CodeGen.h"
20
21namespace llvm {
22
23class WebAssemblyTargetMachine;
24class FunctionPass;
25
26FunctionPass *createWebAssemblyISelDag(WebAssemblyTargetMachine &TM,
27 CodeGenOpt::Level OptLevel);
28
Dan Gohman1462faa2015-11-16 16:18:28 +000029FunctionPass *createWebAssemblyRegStackify();
30FunctionPass *createWebAssemblyRegColoring();
Dan Gohman950a13c2015-09-16 16:51:30 +000031FunctionPass *createWebAssemblyCFGStackify();
Dan Gohmancf4748f2015-11-12 17:04:33 +000032FunctionPass *createWebAssemblyRegNumbering();
Dan Gohman950a13c2015-09-16 16:51:30 +000033
JF Bastien53bd9752015-10-16 16:35:49 +000034FunctionPass *createWebAssemblyRelooper();
35
Dan Gohman10e730a2015-06-29 23:51:55 +000036} // end namespace llvm
37
38#endif