mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
Add methods to support type inquiry. Rename TmpInstruction values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1978 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b6efb3605f
commit
4fad513704
@ -88,10 +88,6 @@ public:
|
||||
Operands.push_back(Use(s1, this)); // s1 must be nonnull
|
||||
if (s2) {
|
||||
Operands.push_back(Use(s2, this));
|
||||
#if 0
|
||||
assert(s2->getType() == getType() &&
|
||||
"TmpInstruction operand types do not match!");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -100,13 +96,22 @@ public:
|
||||
TmpInstruction(const Type *Ty, Value *s1 = 0, Value* s2 = 0,
|
||||
const std::string &name = "")
|
||||
: Instruction(Ty, Instruction::UserOp1, name) {
|
||||
if (s1) { Operands.push_back(Use(s1, this)); /*assert(s1->getType() == Ty);*/ }
|
||||
if (s2) { Operands.push_back(Use(s2, this)); /*assert(s2->getType() == Ty);*/ }
|
||||
if (s1) { Operands.push_back(Use(s1, this)); }
|
||||
if (s2) { Operands.push_back(Use(s2, this)); }
|
||||
}
|
||||
|
||||
virtual Instruction *clone() const { return new TmpInstruction(*this); }
|
||||
virtual const char *getOpcodeName() const {
|
||||
return "TemporaryInstruction";
|
||||
return "TempValueForMachineInstr";
|
||||
}
|
||||
|
||||
// Methods for support type inquiry through isa, cast, and dyn_cast:
|
||||
static inline bool classof(const TmpInstruction *) { return true; }
|
||||
static inline bool classof(const Instruction *I) {
|
||||
return (I->getOpcode() == Instruction::UserOp1);
|
||||
}
|
||||
static inline bool classof(const Value *V) {
|
||||
return isa<Instruction>(V) && classof(cast<Instruction>(V));
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user