LLVM: lib/Target/WebAssembly/WebAssemblyRegColoring.cpp File Reference (original) (raw)

This file implements a virtual register coloring pass. More...

Go to the source code of this file.

Macros
#define DEBUG_TYPE "wasm-reg-coloring"
Functions
INITIALIZE_PASS (WebAssemblyRegColoring, DEBUG_TYPE, "Minimize number of registers used", false, false) FunctionPass *llvm
static float computeWeight (const MachineRegisterInfo *MRI, const MachineBlockFrequencyInfo *MBFI, unsigned VReg)
static DenseMap< Register, std::vector< std::pair< SlotIndex, MachineInstr * > > > buildVRegToDbgValueMap (MachineFunction &MF, const LiveIntervals *Liveness)
static void undefInvalidDbgValues (const LiveIntervals *Liveness, ArrayRef< SmallVector< LiveInterval *, 4 > > Assignments, DenseMap< Register, std::vector< std::pair< SlotIndex, MachineInstr * > > > &DbgVRegToValues)

Detailed Description

Macro Definition Documentation

DEBUG_TYPE

#define DEBUG_TYPE "wasm-reg-coloring"

Function Documentation

buildVRegToDbgValueMap()

Definition at line 80 of file WebAssemblyRegColoring.cpp.

References llvm::any_of(), llvm::SlotIndexes::getInstructionIndex(), llvm::SlotIndexes::getMBBEndIdx(), llvm::SlotIndexes::getMBBStartIdx(), llvm::LiveIntervals::getSlotIndexes(), MBB, MI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::sort(), and X.

computeWeight()

INITIALIZE_PASS()

INITIALIZE_PASS ( WebAssemblyRegColoring ,
DEBUG_TYPE ,
"Minimize number of registers used" ,
false ,
false )

undefInvalidDbgValues()