LLVM 22.0.0git
|
#include "llvm/CodeGen/MachineInstrBundle.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/PassRegistry.h"
#include <utility>
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. |
|
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().
|
static |
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 | ( | UnpackMachineBundles | , |
"unpack-mi-bundles" | , | ||
"Unpack machine instruction bundles" | , | ||
false | , | ||
false | ) |
Definition at line 44 of file MachineInstrBundle.cpp.