mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-01 00:02:16 +00:00
Re-fix bug: Put back MachineCodeForInstruction::dropAllReferences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1970 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e4e4d4e2f9
commit
ded1bf8cd8
@ -18,6 +18,7 @@
|
||||
|
||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
||||
#include "llvm/CodeGen/MachineInstr.h"
|
||||
#include "llvm/CodeGen/InstrSelection.h"
|
||||
#include "llvm/Instruction.h"
|
||||
|
||||
static AnnotationID MCFI_AID(
|
||||
@ -35,18 +36,37 @@ static struct Initializer {
|
||||
}
|
||||
} RegisterAID;
|
||||
|
||||
MachineCodeForInstruction &MachineCodeForInstruction::get(const Instruction *I){
|
||||
|
||||
MachineCodeForInstruction&
|
||||
MachineCodeForInstruction::get(const Instruction *I){
|
||||
return *(MachineCodeForInstruction*)I->getOrCreateAnnotation(MCFI_AID);
|
||||
}
|
||||
|
||||
void MachineCodeForInstruction::destroy(const Instruction *I) {
|
||||
|
||||
void
|
||||
MachineCodeForInstruction::destroy(const Instruction *I) {
|
||||
I->deleteAnnotation(MCFI_AID);
|
||||
}
|
||||
|
||||
|
||||
MachineCodeForInstruction::MachineCodeForInstruction() : Annotation(MCFI_AID) {}
|
||||
void
|
||||
MachineCodeForInstruction::dropAllReferences()
|
||||
{
|
||||
for (unsigned i=0, N=tempVec.size(); i < N; i++)
|
||||
cast<TmpInstruction>(tempVec[i])->dropAllReferences();
|
||||
}
|
||||
|
||||
MachineCodeForInstruction::~MachineCodeForInstruction() {
|
||||
|
||||
MachineCodeForInstruction::MachineCodeForInstruction()
|
||||
: Annotation(MCFI_AID)
|
||||
{}
|
||||
|
||||
|
||||
MachineCodeForInstruction::~MachineCodeForInstruction()
|
||||
{
|
||||
// Let go of all uses in temp. instructions
|
||||
dropAllReferences();
|
||||
|
||||
// Free the Value objects created to hold intermediate values
|
||||
for (unsigned i=0, N=tempVec.size(); i < N; i++)
|
||||
delete tempVec[i];
|
||||
|
Loading…
x
Reference in New Issue
Block a user