LLVM API Documentation
#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"
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 |
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 DEBUG_TYPE "si-fix-sgpr-live-ranges" |
Definition at line 30 of file SIFixSGPRLiveRanges.cpp.
INITIALIZE_PASS_BEGIN | ( | SIFixSGPRLiveRanges | , |
DEBUG_TYPE | , | ||
"SI Fix SGPR Live Ranges" | , | ||
false | , | ||
false | |||
) |
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 |
Definition at line 63 of file SIFixSGPRLiveRanges.cpp.
Referenced by llvm::SelectionDAG::computeKnownBits(), llvm::FastISel::createMachineMemOperandFor(), llvm::DbgValueHistoryMap::endInstrRange(), llvm::SelectionDAG::getLoad(), llvm::DbgValueHistoryMap::getRegisterForVar(), llvm::yaml::Stream::printError(), llvm::yaml::Scanner::printError(), and llvm::DbgValueHistoryMap::startInstrRange().