|
LLVM
4.0.0
|
Fix up code to meet LiveInterval's requirements. More...
#include "WebAssembly.h"#include "MCTargetDesc/WebAssemblyMCTargetDesc.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"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "wasm-prepare-for-live-intervals" |
Functions | |
| static bool | HasArgumentDef (unsigned Reg, const MachineRegisterInfo &MRI) |
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.
| #define DEBUG_TYPE "wasm-prepare-for-live-intervals" |
Definition at line 35 of file WebAssemblyPrepareForLiveIntervals.cpp.
|
static |
Definition at line 63 of file WebAssemblyPrepareForLiveIntervals.cpp.
References llvm::tgtok::Def, llvm::MachineRegisterInfo::def_instructions(), and llvm::WebAssembly::isArgument().
1.8.6