LLVM  6.0.0svn
Macros | Functions
WebAssemblyPrepareForLiveIntervals.cpp File Reference

Fix up code to meet LiveInterval's requirements. More...

#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
#include "WebAssembly.h"
#include "WebAssemblyMachineFunctionInfo.h"
#include "WebAssemblySubtarget.h"
#include "WebAssemblyUtilities.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for WebAssemblyPrepareForLiveIntervals.cpp:

Go to the source code of this file.


#define DEBUG_TYPE   "wasm-prepare-for-live-intervals"


static bool HasArgumentDef (unsigned Reg, const MachineRegisterInfo &MRI)

Detailed Description

Fix up code to meet LiveInterval's requirements.

Some CodeGen passes don't preserve LiveInterval's requirements, because they run after register allocation and it isn't important. However, WebAssembly runs LiveIntervals in a late pass. This pass transforms code to meet LiveIntervals' requirements; primarily, it ensures that all virtual register uses have definitions (IMPLICIT_DEF definitions if nothing else).

Definition in file WebAssemblyPrepareForLiveIntervals.cpp.

Macro Definition Documentation


#define DEBUG_TYPE   "wasm-prepare-for-live-intervals"

Definition at line 35 of file WebAssemblyPrepareForLiveIntervals.cpp.

Function Documentation

◆ HasArgumentDef()

static bool HasArgumentDef ( unsigned  Reg,
const MachineRegisterInfo MRI