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 DebugLoc that has line number information, 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 106 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 DebugLoc that has line number information, given a range of instructions.

The search range is from FirstMI to LastMI (exclusive). Otherwise return the first DILocation or an empty location if there are none.

Definition at line 90 of file MachineInstrBundle.cpp.

References DL.

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.