LLVM
9.0.0svn
|
Does various transformations for exception handling. More...
#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
#include "WebAssembly.h"
#include "WebAssemblySubtarget.h"
#include "WebAssemblyUtilities.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/WasmEHFuncInfo.h"
#include "llvm/MC/MCAsmInfo.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "wasm-exception-prepare" |
Functions | |
INITIALIZE_PASS (WebAssemblyLateEHPrepare, DEBUG_TYPE, "WebAssembly Late Exception Preparation", false, false) FunctionPass *llvm | |
static MachineBasicBlock * | getMatchingEHPad (MachineInstr *MI) |
template<typename Container > | |
static void | eraseDeadBBsAndChildren (const Container &MBBs) |
Does various transformations for exception handling.
Definition in file WebAssemblyLateEHPrepare.cpp.
#define DEBUG_TYPE "wasm-exception-prepare" |
Definition at line 24 of file WebAssemblyLateEHPrepare.cpp.
|
static |
Definition at line 86 of file WebAssemblyLateEHPrepare.cpp.
References llvm::MachineInstrBuilder::addExternalSymbol(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::addSuccessor(), llvm::SmallVectorImpl< T >::append(), assert(), llvm::MachineBasicBlock::begin(), llvm::ISD::BR, llvm::BuildMI(), llvm::Catch, llvm::ISD::CATCHRET, llvm::WebAssembly::ClangCallTerminateFn, llvm::ISD::CLEANUPRET, llvm::SmallSet< T, N, C >::count(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::dbgs(), llvm::SmallVectorBase::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::eraseFromParent(), llvm::MachineInstr::eraseFromParent(), llvm::MachineInstr::getDebugLoc(), llvm::MCAsmInfo::getExceptionHandlingType(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::MachineFunction::getFunction(), llvm::MachineOperand::getGlobal(), getMatchingEHPad(), llvm::MachineOperand::getMBB(), llvm::TargetMachine::getMCAsmInfo(), llvm::Value::getName(), llvm::MachineFunction::getName(), llvm::ilist_node_with_parent< NodeTy, ParentTy, Options >::getNextNode(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), llvm::MachineFunction::getWasmEHFuncInfo(), llvm::Function::hasPersonalityFn(), llvm::SmallSet< T, N, C >::insert(), llvm::MachineBasicBlock::insert(), llvm::MachineOperand::isGlobal(), LLVM_DEBUG, MI, llvm::WebAssemblyII::MO_SYMBOL_EVENT, MRI, llvm::MachineBasicBlock::pred_empty(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::MachineInstr::removeFromParent(), llvm::MachineBasicBlock::removeSuccessor(), llvm::MachineBasicBlock::succ_begin(), llvm::MachineBasicBlock::succ_end(), TII, and llvm::Wasm.
|
static |
Definition at line 59 of file WebAssemblyLateEHPrepare.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::SmallVectorBase::empty(), llvm::MachineFunction::front(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::MachineBasicBlock::isEHPad(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::MachineBasicBlock::pred_begin(), llvm::MachineBasicBlock::pred_end(), and llvm::SmallVectorTemplateBase< T >::push_back().
Referenced by eraseDeadBBsAndChildren().
INITIALIZE_PASS | ( | WebAssemblyLateEHPrepare | , |
DEBUG_TYPE | , | ||
"WebAssembly Late Exception Preparation" | , | ||
false | , | ||
false | |||
) |
Definition at line 46 of file WebAssemblyLateEHPrepare.cpp.