mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-11 00:39:36 +00:00
Add internal read flags to MachineInstrBuilder and hook them into the MachineOperand flag of the same name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158137 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
13a53e6495
commit
4efea94fa5
@ -34,6 +34,7 @@ namespace RegState {
|
||||
Undef = 0x20,
|
||||
EarlyClobber = 0x40,
|
||||
Debug = 0x80,
|
||||
InternalRead = 0x100,
|
||||
DefineNoRead = Define | Undef,
|
||||
ImplicitDefine = Implicit | Define,
|
||||
ImplicitKill = Implicit | Kill
|
||||
@ -67,7 +68,8 @@ public:
|
||||
flags & RegState::Undef,
|
||||
flags & RegState::EarlyClobber,
|
||||
SubReg,
|
||||
flags & RegState::Debug));
|
||||
flags & RegState::Debug,
|
||||
flags & RegState::InternalRead));
|
||||
return *this;
|
||||
}
|
||||
|
||||
@ -310,6 +312,9 @@ inline unsigned getDeadRegState(bool B) {
|
||||
inline unsigned getUndefRegState(bool B) {
|
||||
return B ? RegState::Undef : 0;
|
||||
}
|
||||
inline unsigned getInternalReadRegState(bool B) {
|
||||
return B ? RegState::InternalRead : 0;
|
||||
}
|
||||
|
||||
} // End llvm namespace
|
||||
|
||||
|
@ -542,14 +542,15 @@ public:
|
||||
bool isUndef = false,
|
||||
bool isEarlyClobber = false,
|
||||
unsigned SubReg = 0,
|
||||
bool isDebug = false) {
|
||||
bool isDebug = false,
|
||||
bool isInternalRead = false) {
|
||||
MachineOperand Op(MachineOperand::MO_Register);
|
||||
Op.IsDef = isDef;
|
||||
Op.IsImp = isImp;
|
||||
Op.IsKill = isKill;
|
||||
Op.IsDead = isDead;
|
||||
Op.IsUndef = isUndef;
|
||||
Op.IsInternalRead = false;
|
||||
Op.IsInternalRead = isInternalRead;
|
||||
Op.IsEarlyClobber = isEarlyClobber;
|
||||
Op.IsDebug = isDebug;
|
||||
Op.SmallContents.RegNo = Reg;
|
||||
|
Loading…
x
Reference in New Issue
Block a user