LLVM  6.0.0svn
Macros | Functions
WebAssemblyRegColoring.cpp File Reference

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

#include "WebAssembly.h"
#include "WebAssemblyMachineFunctionInfo.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.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.


#define DEBUG_TYPE   "wasm-reg-coloring"


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


#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