LLVM  8.0.1
Macros | Functions
WebAssemblyRegColoring.cpp File Reference

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

#include "WebAssembly.h"
#include "WebAssemblyMachineFunctionInfo.h"
#include "llvm/CodeGen/LiveIntervals.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.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 WebAssemblyRegColoring.cpp:

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)
 

Detailed Description

This file implements a virtual register coloring pass.

WebAssembly doesn't have a fixed number of registers, but it is still desirable to minimize the total number of registers used in each function.

This code is modeled after lib/CodeGen/StackSlotColoring.cpp.

Definition in file WebAssemblyRegColoring.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "wasm-reg-coloring"

Definition at line 30 of file WebAssemblyRegColoring.cpp.

Function Documentation

◆ computeWeight()

static float computeWeight ( const MachineRegisterInfo MRI,
const MachineBlockFrequencyInfo MBFI,
unsigned  VReg 
)
static

◆ INITIALIZE_PASS()

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

Definition at line 58 of file WebAssemblyRegColoring.cpp.