summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMMacroFusion.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/ARM/ARMMacroFusion.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMMacroFusion.cpp24
1 files changed, 5 insertions, 19 deletions
diff --git a/llvm/lib/Target/ARM/ARMMacroFusion.cpp b/llvm/lib/Target/ARM/ARMMacroFusion.cpp
index d11fe9d5c50..df1da9d8e47 100644
--- a/llvm/lib/Target/ARM/ARMMacroFusion.cpp
+++ b/llvm/lib/Target/ARM/ARMMacroFusion.cpp
@@ -23,20 +23,13 @@ namespace llvm {
static bool isAESPair(const MachineInstr *FirstMI,
const MachineInstr &SecondMI) {
// Assume the 1st instr to be a wildcard if it is unspecified.
- unsigned FirstOpcode =
- FirstMI ? FirstMI->getOpcode()
- : static_cast<unsigned>(ARM::INSTRUCTION_LIST_END);
- unsigned SecondOpcode = SecondMI.getOpcode();
-
- switch(SecondOpcode) {
+ switch(SecondMI.getOpcode()) {
// AES encode.
case ARM::AESMC :
- return FirstOpcode == ARM::AESE ||
- FirstOpcode == ARM::INSTRUCTION_LIST_END;
+ return FirstMI == nullptr || FirstMI->getOpcode() == ARM::AESE;
// AES decode.
case ARM::AESIMC:
- return FirstOpcode == ARM::AESD ||
- FirstOpcode == ARM::INSTRUCTION_LIST_END;
+ return FirstMI == nullptr || FirstMI->getOpcode() == ARM::AESD;
}
return false;
@@ -46,15 +39,8 @@ static bool isAESPair(const MachineInstr *FirstMI,
static bool isLiteralsPair(const MachineInstr *FirstMI,
const MachineInstr &SecondMI) {
// Assume the 1st instr to be a wildcard if it is unspecified.
- unsigned FirstOpcode =
- FirstMI ? FirstMI->getOpcode()
- : static_cast<unsigned>(ARM::INSTRUCTION_LIST_END);
- unsigned SecondOpcode = SecondMI.getOpcode();
-
- // 32 bit immediate.
- if ((FirstOpcode == ARM::INSTRUCTION_LIST_END ||
- FirstOpcode == ARM::MOVi16) &&
- SecondOpcode == ARM::MOVTi16)
+ if ((FirstMI == nullptr || FirstMI->getOpcode() == ARM::MOVi16) &&
+ SecondMI.getOpcode() == ARM::MOVTi16)
return true;
return false;
OpenPOWER on IntegriCloud