|
LLVM 24.0.0git
|
Optimize LiveIntervals for use in a post-RA context. More...
#include "WebAssembly.h"#include "WebAssemblyMachineFunctionInfo.h"#include "WebAssemblySubtarget.h"#include "llvm/CodeGen/LiveIntervals.h"#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachinePassManager.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/Passes.h"#include "llvm/CodeGen/SlotIndexes.h"#include "llvm/IR/Analysis.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-optimize-live-intervals" |
Functions | |
| INITIALIZE_PASS (WebAssemblyOptimizeLiveIntervalsLegacy, DEBUG_TYPE, "Optimize LiveIntervals for WebAssembly", false, false) FunctionPass *llvm | |
| static bool | optimizeLiveIntervals (MachineFunction &MF, LiveIntervals &LIS) |
Optimize LiveIntervals for use in a post-RA context.
Definition in file WebAssemblyOptimizeLiveIntervals.cpp.
| #define DEBUG_TYPE "wasm-optimize-live-intervals" |
Definition at line 37 of file WebAssemblyOptimizeLiveIntervals.cpp.
| INITIALIZE_PASS | ( | WebAssemblyOptimizeLiveIntervalsLegacy | , |
| DEBUG_TYPE | , | ||
| "Optimize LiveIntervals for WebAssembly" | , | ||
| false | , | ||
| false | ) |
Definition at line 69 of file WebAssemblyOptimizeLiveIntervals.cpp.
References llvm::createWebAssemblyOptimizeLiveIntervalsLegacyPass(), and DEBUG_TYPE.
|
static |
Definition at line 76 of file WebAssemblyOptimizeLiveIntervals.cpp.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorImpl< T >::clear(), llvm::dbgs(), E(), llvm::MachineFunction::front(), llvm::MachineFunction::getInfo(), llvm::LiveIntervals::getInstructionIndex(), llvm::LiveIntervals::getInterval(), llvm::MachineFunction::getName(), llvm::MachineRegisterInfo::getNumVirtRegs(), llvm::MachineFunction::getRegInfo(), llvm::SlotIndex::getRegSlot(), llvm::MachineFunction::getSubtarget(), I, llvm::Register::index2VirtReg(), llvm::MachineRegisterInfo::leaveSSA(), LLVM_DEBUG, llvm::make_early_inc_range(), MI, Reg, llvm::MachineRegisterInfo::reg_nodbg_empty(), llvm::LiveIntervals::RemoveMachineInstrFromMaps(), llvm::LiveIntervals::removeVRegDefAt(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::LiveIntervals::splitSeparateComponents(), llvm::MachineRegisterInfo::tracksLiveness(), and TRI.
Referenced by llvm::WebAssemblyOptimizeLiveIntervalsPass::run().