diff options
author | Alkis Evlogimenos <alkis@evlogimenos.com> | 2003-12-14 13:24:17 +0000 |
---|---|---|
committer | Alkis Evlogimenos <alkis@evlogimenos.com> | 2003-12-14 13:24:17 +0000 |
commit | 4d7af65903cbc858464362e70a6adf499982ec8a (patch) | |
tree | 5f40fb851e4f08c9aa8ebe952bb876ccb02c2ffb /include/llvm/CodeGen/MachineInstr.h | |
parent | 97323a47d88315b98e5ac38d64ba2a9e3f02b501 (diff) | |
download | external_llvm-4d7af65903cbc858464362e70a6adf499982ec8a.zip external_llvm-4d7af65903cbc858464362e70a6adf499982ec8a.tar.gz external_llvm-4d7af65903cbc858464362e70a6adf499982ec8a.tar.bz2 |
Change interface of MachineOperand as follows:
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
b) add isUse(), isDef()
c) rename opHiBits32() to isHiBits32(),
opLoBits32() to isLoBits32(),
opHiBits64() to isHiBits64(),
opLoBits64() to isLoBits64().
This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10461 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineInstr.h')
-rw-r--r-- | include/llvm/CodeGen/MachineInstr.h | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h index 3e8c35a..2d04719 100644 --- a/include/llvm/CodeGen/MachineInstr.h +++ b/include/llvm/CodeGen/MachineInstr.h @@ -109,15 +109,13 @@ struct MachineOperand { private: // Bit fields of the flags variable used for different operand properties enum { - DEFONLYFLAG = 0x01, // this is a def but not a use of the operand - DEFUSEFLAG = 0x02, // this is both a def and a use + DEFFLAG = 0x01, // this is a def of the operand + USEFLAG = 0x02, // this is a use of the operand HIFLAG32 = 0x04, // operand is %hi32(value_or_immedVal) LOFLAG32 = 0x08, // operand is %lo32(value_or_immedVal) HIFLAG64 = 0x10, // operand is %hi64(value_or_immedVal) LOFLAG64 = 0x20, // operand is %lo64(value_or_immedVal) PCRELATIVE = 0x40, // Operand is relative to PC, not a global address - - USEDEFMASK = 0x03, }; private: @@ -157,9 +155,9 @@ private: opType(OpTy), regNum(Reg) { switch (UseTy) { - case MOTy::Use: flags = 0; break; - case MOTy::Def: flags = DEFONLYFLAG; break; - case MOTy::UseAndDef: flags = DEFUSEFLAG; break; + case MOTy::Use: flags = USEFLAG; break; + case MOTy::Def: flags = DEFFLAG; break; + case MOTy::UseAndDef: flags = DEFFLAG | USEFLAG; break; default: assert(0 && "Invalid value for UseTy!"); } } @@ -168,9 +166,9 @@ private: bool isPCRelative = false) : value(V), opType(OpTy), regNum(-1) { switch (UseTy) { - case MOTy::Use: flags = 0; break; - case MOTy::Def: flags = DEFONLYFLAG; break; - case MOTy::UseAndDef: flags = DEFUSEFLAG; break; + case MOTy::Use: flags = DEFFLAG; break; + case MOTy::Def: flags = USEFLAG; break; + case MOTy::UseAndDef: flags = DEFFLAG | USEFLAG; break; default: assert(0 && "Invalid value for UseTy!"); } if (isPCRelative) flags |= PCRELATIVE; @@ -283,13 +281,12 @@ public: return *SymbolName; } - bool opIsUse () const { return (flags & USEDEFMASK) == 0; } - bool opIsDefOnly () const { return flags & DEFONLYFLAG; } - bool opIsDefAndUse () const { return flags & DEFUSEFLAG; } - bool opHiBits32 () const { return flags & HIFLAG32; } - bool opLoBits32 () const { return flags & LOFLAG32; } - bool opHiBits64 () const { return flags & HIFLAG64; } - bool opLoBits64 () const { return flags & LOFLAG64; } + bool isUse () const { return flags & USEFLAG; } + bool isDef () const { return flags & DEFFLAG; } + bool isHiBits32 () const { return flags & HIFLAG32; } + bool isLoBits32 () const { return flags & LOFLAG32; } + bool isHiBits64 () const { return flags & HIFLAG64; } + bool isLoBits64 () const { return flags & LOFLAG64; } // used to check if a machine register has been allocated to this operand bool hasAllocatedReg() const { @@ -681,9 +678,8 @@ public: inline VTy operator->() const { return operator*(); } - inline bool isUseOnly() const { return MI->getOperand(i).opIsUse(); } - inline bool isDefOnly() const { return MI->getOperand(i).opIsDefOnly(); } - inline bool isDefAndUse() const { return MI->getOperand(i).opIsDefAndUse();} + inline bool isUse() const { return MI->getOperand(i).isUse(); } + inline bool isDef() const { return MI->getOperand(i).isDef(); } inline _Self& operator++() { i++; skipToNextVal(); return *this; } inline _Self operator++(int) { _Self tmp = *this; ++*this; return tmp; } |