mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Added MachineInstr::isBundled() to check if an instruction is part of a bundle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150044 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -230,6 +230,10 @@ public:
|
|||||||
clearFlag(InsideBundle);
|
clearFlag(InsideBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// isBundled - Return true if this instruction part of a bundle. This is true
|
||||||
|
/// if either itself or its following instruction is marked "InsideBundle".
|
||||||
|
bool isBundled() const;
|
||||||
|
|
||||||
/// getDebugLoc - Returns the debug location id of this MachineInstr.
|
/// getDebugLoc - Returns the debug location id of this MachineInstr.
|
||||||
///
|
///
|
||||||
DebugLoc getDebugLoc() const { return debugLoc; }
|
DebugLoc getDebugLoc() const { return debugLoc; }
|
||||||
|
@ -904,7 +904,7 @@ void LiveIntervals::moveInstr(MachineBasicBlock::iterator insertPt,
|
|||||||
assert((insertPt == mbb->end() || insertPt->getParent() == mbb) &&
|
assert((insertPt == mbb->end() || insertPt->getParent() == mbb) &&
|
||||||
"Cannot handle moves across basic block boundaries.");
|
"Cannot handle moves across basic block boundaries.");
|
||||||
assert(&*insertPt != mi && "No-op move requested?");
|
assert(&*insertPt != mi && "No-op move requested?");
|
||||||
assert(!mi->isInsideBundle() && "Can't handle bundled instructions yet.");
|
assert(!mi->isBundled() && "Can't handle bundled instructions yet.");
|
||||||
|
|
||||||
// Grab the original instruction index.
|
// Grab the original instruction index.
|
||||||
SlotIndex origIdx = indexes_->getInstructionIndex(mi);
|
SlotIndex origIdx = indexes_->getInstructionIndex(mi);
|
||||||
|
@ -890,6 +890,16 @@ unsigned MachineInstr::getNumExplicitOperands() const {
|
|||||||
return NumOperands;
|
return NumOperands;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// isBundled - Return true if this instruction part of a bundle. This is true
|
||||||
|
/// if either itself or its following instruction is marked "InsideBundle".
|
||||||
|
bool MachineInstr::isBundled() const {
|
||||||
|
if (isInsideBundle())
|
||||||
|
return true;
|
||||||
|
MachineBasicBlock::const_instr_iterator nextMI = this;
|
||||||
|
++nextMI;
|
||||||
|
return nextMI != Parent->instr_end() && nextMI->isInsideBundle();
|
||||||
|
}
|
||||||
|
|
||||||
bool MachineInstr::isStackAligningInlineAsm() const {
|
bool MachineInstr::isStackAligningInlineAsm() const {
|
||||||
if (isInlineAsm()) {
|
if (isInlineAsm()) {
|
||||||
unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm();
|
unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm();
|
||||||
|
Reference in New Issue
Block a user