mirror of
https://github.com/RPCSX/llvm.git
synced 2026-01-31 01:05:23 +01:00
This pass implements a simple algorithm for conversion from CFG to wasm's structured control flow. It doesn't yet handle multiple-entry loops; that will be added in a future patch. It also adds initial support for switch statements. Differential Revision: http://reviews.llvm.org/D12735 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247818 91177308-0d34-0410-b5e6-96231b3b80d8
26 lines
790 B
C++
26 lines
790 B
C++
//- WebAssemblyISD.def - WebAssembly ISD ---------------------------*- C++ -*-//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
///
|
|
/// \file
|
|
/// \brief This file describes the various WebAssembly ISD node types.
|
|
///
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// NOTE: NO INCLUDE GUARD DESIRED!
|
|
|
|
HANDLE_NODETYPE(CALL1)
|
|
HANDLE_NODETYPE(CALL0)
|
|
HANDLE_NODETYPE(RETURN)
|
|
HANDLE_NODETYPE(ARGUMENT)
|
|
HANDLE_NODETYPE(Wrapper)
|
|
HANDLE_NODETYPE(BRIF)
|
|
HANDLE_NODETYPE(SWITCH)
|
|
|
|
// add memory opcodes starting at ISD::FIRST_TARGET_MEMORY_OPCODE here...
|