Lines Matching defs:RegisterCoalescer
1 //===- RegisterCoalescer.cpp - Generic Register Coalescing Interface ------===//
9 // This file implements the generic RegisterCoalescer interface which
15 #include "RegisterCoalescer.h"
124 class RegisterCoalescer : public MachineFunctionPass,
378 RegisterCoalescer() : MachineFunctionPass(ID) {
400 char RegisterCoalescer::ID = 0;
402 char &llvm::RegisterCoalescerID = RegisterCoalescer::ID;
404 INITIALIZE_PASS_BEGIN(RegisterCoalescer, "register-coalescer",
409 INITIALIZE_PASS_END(RegisterCoalescer, "register-coalescer",
586 void RegisterCoalescer::getAnalysisUsage(AnalysisUsage &AU) const {
597 void RegisterCoalescer::eliminateDeadDefs(LiveRangeEdit *Edit) {
607 void RegisterCoalescer::LRE_WillEraseInstruction(MachineInstr *MI) {
612 bool RegisterCoalescer::adjustCopiesBackFrom(const CoalescerPair &CP,
754 bool RegisterCoalescer::hasOtherReachingDefs(LiveInterval &IntA,
807 RegisterCoalescer::removeCopyByCommutingDef(const CoalescerPair &CP,
1090 bool RegisterCoalescer::removePartialRedundancy(const CoalescerPair &CP,
1289 bool RegisterCoalescer::reMaterializeTrivialDef(const CoalescerPair &CP,
1715 MachineInstr *RegisterCoalescer::eliminateUndefCopy(MachineInstr *CopyMI) {
1836 void RegisterCoalescer::addUndefFlag(const LiveInterval &Int, SlotIndex UseIdx,
1862 void RegisterCoalescer::updateRegDefsUses(Register SrcReg, Register DstReg,
1956 bool RegisterCoalescer::canJoinPhys(const CoalescerPair &CP) {
1974 bool RegisterCoalescer::copyValueUndefInPredecessors(
1988 void RegisterCoalescer::setUndefOnPrunedSubRegUses(LiveInterval &LI,
2017 bool RegisterCoalescer::joinCopy(
2268 bool RegisterCoalescer::joinReservedPhysReg(CoalescerPair &CP) {
3564 void RegisterCoalescer::joinSubRegRanges(LiveRange &LRange, LiveRange &RRange,
3626 void RegisterCoalescer::mergeSubRangeInto(LiveInterval &LI,
3646 bool RegisterCoalescer::isHighCostLiveInterval(LiveInterval &LI) {
3657 bool RegisterCoalescer::joinVirtRegs(CoalescerPair &CP) {
3838 bool RegisterCoalescer::joinIntervals(CoalescerPair &CP) {
3842 void RegisterCoalescer::buildVRegToDbgValueMap(MachineFunction &MF) {
3886 void RegisterCoalescer::checkMergingChangesDbgValues(CoalescerPair &CP,
3904 void RegisterCoalescer::checkMergingChangesDbgValuesImpl(Register Reg,
4030 void RegisterCoalescer::lateLiveIntervalUpdate() {
4042 bool RegisterCoalescer::copyCoalesceWorkList(
4087 bool RegisterCoalescer::applyTerminalRule(const MachineInstr &Copy) const {
4136 void RegisterCoalescer::copyCoalesceInMBB(MachineBasicBlock *MBB) {
4191 void RegisterCoalescer::coalesceLocals() {
4200 void RegisterCoalescer::joinAllIntervals() {
4232 void RegisterCoalescer::releaseMemory() {
4240 bool RegisterCoalescer::runOnMachineFunction(MachineFunction &fn) {
4247 // RegisterCoalescer should not run in functions with a setjmp to avoid
4353 void RegisterCoalescer::print(raw_ostream &O, const Module *m) const {