mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
[CodeGen][ARC][SystemZ][WebAssembly] Use MachineInstr::isInlineAsm in more places instead of just comparing opcode. NFCI
I'm looking at adding a second INLINEASM opcode for better modeling asm-goto as a terminator. Using the existing predicate will reduce teh number of places that will need to use the new opcode. llvm-svn: 353095
This commit is contained in:
parent
606b1c439b
commit
efe45f4fe0
@ -1014,7 +1014,7 @@ public:
|
||||
bool isInlineAsm() const { return getOpcode() == TargetOpcode::INLINEASM; }
|
||||
|
||||
bool isMSInlineAsm() const {
|
||||
return getOpcode() == TargetOpcode::INLINEASM && getInlineAsmDialect();
|
||||
return isInlineAsm() && getInlineAsmDialect() == InlineAsm::AD_Intel;
|
||||
}
|
||||
|
||||
bool isStackAligningInlineAsm() const;
|
||||
|
@ -388,7 +388,7 @@ unsigned ARCInstrInfo::insertBranch(MachineBasicBlock &MBB,
|
||||
}
|
||||
|
||||
unsigned ARCInstrInfo::getInstSizeInBytes(const MachineInstr &MI) const {
|
||||
if (MI.getOpcode() == TargetOpcode::INLINEASM) {
|
||||
if (MI.isInlineAsm()) {
|
||||
const MachineFunction *MF = MI.getParent()->getParent();
|
||||
const char *AsmStr = MI.getOperand(0).getSymbolName();
|
||||
return getInlineAsmLength(AsmStr, *MF->getTarget().getMCAsmInfo());
|
||||
|
@ -1505,7 +1505,7 @@ bool SystemZInstrInfo::expandPostRAPseudo(MachineInstr &MI) const {
|
||||
}
|
||||
|
||||
unsigned SystemZInstrInfo::getInstSizeInBytes(const MachineInstr &MI) const {
|
||||
if (MI.getOpcode() == TargetOpcode::INLINEASM) {
|
||||
if (MI.isInlineAsm()) {
|
||||
const MachineFunction *MF = MI.getParent()->getParent();
|
||||
const char *AsmStr = MI.getOperand(0).getSymbolName();
|
||||
return getInlineAsmLength(AsmStr, *MF->getTarget().getMCAsmInfo());
|
||||
|
@ -316,7 +316,7 @@ bool WebAssemblyExplicitLocals::runOnMachineFunction(MachineFunction &MF) {
|
||||
// with inline asm register operands is to provide local indices as
|
||||
// immediates.
|
||||
if (MO.isDef()) {
|
||||
assert(MI.getOpcode() == TargetOpcode::INLINEASM);
|
||||
assert(MI.isInlineAsm());
|
||||
unsigned LocalId = getLocalId(Reg2Local, CurLocal, OldReg);
|
||||
// If this register operand is tied to another operand, we can't
|
||||
// change it to an immediate. Untie it first.
|
||||
@ -334,7 +334,7 @@ bool WebAssemblyExplicitLocals::runOnMachineFunction(MachineFunction &MF) {
|
||||
|
||||
// Our contract with inline asm register operands is to provide local
|
||||
// indices as immediates.
|
||||
if (MI.getOpcode() == TargetOpcode::INLINEASM) {
|
||||
if (MI.isInlineAsm()) {
|
||||
unsigned LocalId = getLocalId(Reg2Local, CurLocal, OldReg);
|
||||
// Untie it first if this reg operand is tied to another operand.
|
||||
MI.untieRegOperand(MI.getOperandNo(&MO));
|
||||
|
@ -789,11 +789,11 @@ bool WebAssemblyRegStackify::runOnMachineFunction(MachineFunction &MF) {
|
||||
MachineInstr *Insert = &*MII;
|
||||
// Don't nest anything inside an inline asm, because we don't have
|
||||
// constraints for $push inputs.
|
||||
if (Insert->getOpcode() == TargetOpcode::INLINEASM)
|
||||
if (Insert->isInlineAsm())
|
||||
continue;
|
||||
|
||||
// Ignore debugging intrinsics.
|
||||
if (Insert->getOpcode() == TargetOpcode::DBG_VALUE)
|
||||
if (Insert->isDebugValue())
|
||||
continue;
|
||||
|
||||
// Iterate through the inputs in reverse order, since we'll be pulling
|
||||
@ -821,7 +821,7 @@ bool WebAssemblyRegStackify::runOnMachineFunction(MachineFunction &MF) {
|
||||
|
||||
// Don't nest an INLINE_ASM def into anything, because we don't have
|
||||
// constraints for $pop outputs.
|
||||
if (Def->getOpcode() == TargetOpcode::INLINEASM)
|
||||
if (Def->isInlineAsm())
|
||||
continue;
|
||||
|
||||
// Argument instructions represent live-in registers and not real
|
||||
|
Loading…
Reference in New Issue
Block a user