Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
MachineInstrBundle.cpp File Reference

Go to the source code of this file.

Functions

 INITIALIZE_PASS (UnpackMachineBundles, "unpack-mi-bundles", "Unpack machine instruction bundles", false, false) bool UnpackMachineBundles
static DebugLoc getDebugLoc (MachineBasicBlock::instr_iterator FirstMI, MachineBasicBlock::instr_iterator LastMI)
 Return the first found DebugLoc that has a DILocation, given a range of instructions.
static bool containsReg (SmallSetVector< Register, 32 > LocalDefsV, const BitVector &LocalDefsP, Register Reg, const TargetRegisterInfo *TRI)
 Check if target reg is contained in given lists, which are: LocalDefsV as given list for virtual regs LocalDefsP as given list for physical regs, in BitVector[RegUnit] form.

Function Documentation

◆ containsReg()

bool containsReg ( SmallSetVector< Register, 32 > LocalDefsV,
const BitVector & LocalDefsP,
Register Reg,
const TargetRegisterInfo * TRI )
static

Check if target reg is contained in given lists, which are: LocalDefsV as given list for virtual regs LocalDefsP as given list for physical regs, in BitVector[RegUnit] form.

Definition at line 100 of file MachineInstrBundle.cpp.

References llvm::SetVector< T, Vector, Set, N >::contains(), Reg, and TRI.

Referenced by checkLowRegisterList(), and llvm::finalizeBundle().

◆ getDebugLoc()

Return the first found DebugLoc that has a DILocation, given a range of instructions.

The search range is from FirstMI to LastMI (exclusive). If no DILocation is found, then an empty location is returned.

Definition at line 89 of file MachineInstrBundle.cpp.

References llvm::dwarf_linker::DebugLoc.

Referenced by llvm::VPlanTransforms::attachCheckBlock(), llvm::VPBlendRecipe::clone(), llvm::VPBranchOnMaskRecipe::clone(), llvm::VPInstruction::clone(), llvm::VPInterleaveRecipe::clone(), llvm::VPPhi::clone(), llvm::VPPredInstPHIRecipe::clone(), llvm::VPReductionRecipe::clone(), llvm::VPScalarIVStepsRecipe::clone(), llvm::VPWidenCallRecipe::clone(), llvm::VPWidenLoadRecipe::clone(), llvm::VPWidenPHIRecipe::clone(), llvm::VPWidenRecipe::clone(), llvm::VPWidenStoreRecipe::clone(), llvm::DebugVariable::DebugVariable(), llvm::DebugVariableAggregate::DebugVariableAggregate(), llvm::DiagnosticInfoMisExpect::DiagnosticInfoMisExpect(), llvm::finalizeBundle(), INITIALIZE_PASS(), llvm::InlineAdvice::InlineAdvice(), llvm::InlineFunctionImpl(), ARMInstructionSelector::InsertInfo::InsertInfo(), LLVMInstructionGetDebugLoc(), llvm::AMDGPUTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::NVPTXTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::MachineOptimizationRemarkAnalysis::MachineOptimizationRemarkAnalysis(), llvm::MIMetadata::MIMetadata(), llvm::MIMetadata::MIMetadata(), llvm::OptimizationRemark::OptimizationRemark(), llvm::OptimizationRemarkAnalysis::OptimizationRemarkAnalysis(), llvm::OptimizationRemarkMissed::OptimizationRemarkMissed(), and llvm::SGPRSpillBuilder::SGPRSpillBuilder().

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( UnpackMachineBundles ,
"unpack-mi-bundles" ,
"Unpack machine instruction bundles" ,
false ,
false  )

Definition at line 44 of file MachineInstrBundle.cpp.

References Changed, MBB, and MI.