LLVM API Documentation

Defines | Functions | Variables
SIFixSGPRLiveRanges.cpp File Reference
#include "AMDGPU.h"
#include "SIRegisterInfo.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Support/Debug.h"
#include "llvm/Target/TargetMachine.h"
Include dependency graph for SIFixSGPRLiveRanges.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "si-fix-sgpr-live-ranges"

Functions

 INITIALIZE_PASS_BEGIN (SIFixSGPRLiveRanges, DEBUG_TYPE,"SI Fix SGPR Live Ranges", false, false) INITIALIZE_PASS_END(SIFixSGPRLiveRanges

Variables

 DEBUG_TYPE
SI Fix SGPR Live Ranges
SI Fix SGPR Live false

Detailed Description

SALU instructions ignore control flow, so we need to modify the live ranges of the registers they define.

The strategy is to view the entire program as if it were a single basic block and calculate the intervals accordingly. We implement this by walking this list of segments for each LiveRange and setting the end of each segment equal to the start of the segment that immediately follows it.

Definition in file SIFixSGPRLiveRanges.cpp.


Define Documentation

#define DEBUG_TYPE   "si-fix-sgpr-live-ranges"

Definition at line 30 of file SIFixSGPRLiveRanges.cpp.


Function Documentation

INITIALIZE_PASS_BEGIN ( SIFixSGPRLiveRanges  ,
DEBUG_TYPE  ,
"SI Fix SGPR Live Ranges ,
false  ,
false   
)

Variable Documentation

Definition at line 63 of file SIFixSGPRLiveRanges.cpp.

SI Fix SGPR Live false

Definition at line 63 of file SIFixSGPRLiveRanges.cpp.

SI Fix SGPR Live Ranges