mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Delete User::dropHungOffUses and move it in to ~User which is the only caller. NFC.
Now that the subclasses which care about hung off uses let ~User clean it up, there's no need for a separate method. Just inline it to ~User and delete it. Reviewed by Duncan Exon Smith. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239491 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0aae8ce09f
commit
0fa7dc6b36
@ -2265,7 +2265,6 @@ public:
|
||||
const Twine &NameStr, BasicBlock *InsertAtEnd) {
|
||||
return new PHINode(Ty, NumReservedValues, NameStr, InsertAtEnd);
|
||||
}
|
||||
~PHINode() override;
|
||||
|
||||
/// Provide fast operand accessors
|
||||
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
|
||||
@ -2458,7 +2457,6 @@ public:
|
||||
static LandingPadInst *Create(Type *RetTy, Value *PersonalityFn,
|
||||
unsigned NumReservedClauses,
|
||||
const Twine &NameStr, BasicBlock *InsertAtEnd);
|
||||
~LandingPadInst() override;
|
||||
|
||||
/// Provide fast operand accessors
|
||||
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
|
||||
@ -2857,8 +2855,6 @@ public:
|
||||
return new SwitchInst(Value, Default, NumCases, InsertAtEnd);
|
||||
}
|
||||
|
||||
~SwitchInst() override;
|
||||
|
||||
/// Provide fast operand accessors
|
||||
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
|
||||
|
||||
@ -3043,7 +3039,6 @@ public:
|
||||
BasicBlock *InsertAtEnd) {
|
||||
return new IndirectBrInst(Address, NumDests, InsertAtEnd);
|
||||
}
|
||||
~IndirectBrInst() override;
|
||||
|
||||
/// Provide fast operand accessors.
|
||||
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
|
||||
|
@ -58,14 +58,16 @@ protected:
|
||||
/// \param IsPhi identifies callers which are phi nodes and which need
|
||||
/// N BasicBlock* allocated along with N
|
||||
Use *allocHungoffUses(unsigned N, bool IsPhi = false);
|
||||
void dropHungoffUses() {
|
||||
Use::zap(OperandList, OperandList + NumOperands, true);
|
||||
OperandList = nullptr;
|
||||
// Reset NumOperands so User::operator delete() does the right thing.
|
||||
NumOperands = 0;
|
||||
}
|
||||
public:
|
||||
~User() override { Use::zap(OperandList, OperandList + NumOperands); }
|
||||
~User() override {
|
||||
// drop the hung off uses.
|
||||
Use::zap(OperandList, OperandList + NumOperands, HasHungOffUses);
|
||||
if (HasHungOffUses) {
|
||||
OperandList = nullptr;
|
||||
// Reset NumOperands so User::operator delete() does the right thing.
|
||||
NumOperands = 0;
|
||||
}
|
||||
}
|
||||
/// \brief Free memory allocated for User and Use objects.
|
||||
void operator delete(void *Usr);
|
||||
/// \brief Placement delete - required by std, but never called.
|
||||
|
@ -93,10 +93,6 @@ PHINode::PHINode(const PHINode &PN)
|
||||
SubclassOptionalData = PN.SubclassOptionalData;
|
||||
}
|
||||
|
||||
PHINode::~PHINode() {
|
||||
dropHungoffUses();
|
||||
}
|
||||
|
||||
// removeIncomingValue - Remove an incoming value. This is useful if a
|
||||
// predecessor basic block is deleted.
|
||||
Value *PHINode::removeIncomingValue(unsigned Idx, bool DeletePHIIfEmpty) {
|
||||
@ -190,10 +186,6 @@ LandingPadInst::LandingPadInst(const LandingPadInst &LP)
|
||||
setCleanup(LP.isCleanup());
|
||||
}
|
||||
|
||||
LandingPadInst::~LandingPadInst() {
|
||||
dropHungoffUses();
|
||||
}
|
||||
|
||||
LandingPadInst *LandingPadInst::Create(Type *RetTy, Value *PersonalityFn,
|
||||
unsigned NumReservedClauses,
|
||||
const Twine &NameStr,
|
||||
@ -3325,10 +3317,6 @@ SwitchInst::SwitchInst(const SwitchInst &SI)
|
||||
SubclassOptionalData = SI.SubclassOptionalData;
|
||||
}
|
||||
|
||||
SwitchInst::~SwitchInst() {
|
||||
dropHungoffUses();
|
||||
}
|
||||
|
||||
|
||||
/// addCase - Add an entry to the switch instruction...
|
||||
///
|
||||
@ -3450,10 +3438,6 @@ IndirectBrInst::IndirectBrInst(const IndirectBrInst &IBI)
|
||||
SubclassOptionalData = IBI.SubclassOptionalData;
|
||||
}
|
||||
|
||||
IndirectBrInst::~IndirectBrInst() {
|
||||
dropHungoffUses();
|
||||
}
|
||||
|
||||
/// addDestination - Add a destination.
|
||||
///
|
||||
void IndirectBrInst::addDestination(BasicBlock *DestBB) {
|
||||
|
Loading…
Reference in New Issue
Block a user