summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
diff options
context:
space:
mode:
authorEugene Zelenko <eugene.zelenko@gmail.com>2017-07-25 23:51:02 +0000
committerEugene Zelenko <eugene.zelenko@gmail.com>2017-07-25 23:51:02 +0000
commit96d933da4f7e379c827d78a2fc0bc25ea335e4ed (patch)
treeddb75d6f9d515de02bd74306749c3cdc467edf1c /llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
parentd39a7ed1ace6967aa5f5262ef8131e987e065495 (diff)
downloadbcm5719-llvm-96d933da4f7e379c827d78a2fc0bc25ea335e4ed.tar.gz
bcm5719-llvm-96d933da4f7e379c827d78a2fc0bc25ea335e4ed.zip
[AArch64] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC).
llvm-svn: 309062
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp')
-rw-r--r--llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp b/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
index 2dfcd2d1c39..8bbef44a2e6 100644
--- a/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
@@ -60,20 +60,26 @@
#include "AArch64.h"
#include "MCTargetDesc/AArch64AddressingModes.h"
+#include "Utils/AArch64BaseInfo.h"
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
-#include "llvm/CodeGen/LiveIntervalAnalysis.h"
+#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
+#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
+#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
-#include "llvm/CodeGen/Passes.h"
+#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
+#include <cassert>
#include <cstdlib>
#include <tuple>
@@ -84,6 +90,7 @@ using namespace llvm;
STATISTIC(NumConditionsAdjusted, "Number of conditions adjusted");
namespace {
+
class AArch64ConditionOptimizer : public MachineFunctionPass {
const TargetInstrInfo *TII;
MachineDominatorTree *DomTree;
@@ -92,12 +99,14 @@ class AArch64ConditionOptimizer : public MachineFunctionPass {
public:
// Stores immediate, compare instruction opcode and branch condition (in this
// order) of adjusted comparison.
- typedef std::tuple<int, unsigned, AArch64CC::CondCode> CmpInfo;
+ using CmpInfo = std::tuple<int, unsigned, AArch64CC::CondCode>;
static char ID;
+
AArch64ConditionOptimizer() : MachineFunctionPass(ID) {
initializeAArch64ConditionOptimizerPass(*PassRegistry::getPassRegistry());
}
+
void getAnalysisUsage(AnalysisUsage &AU) const override;
MachineInstr *findSuitableCompare(MachineBasicBlock *MBB);
CmpInfo adjustCmp(MachineInstr *CmpMI, AArch64CC::CondCode Cmp);
@@ -105,10 +114,12 @@ public:
bool adjustTo(MachineInstr *CmpMI, AArch64CC::CondCode Cmp, MachineInstr *To,
int ToImm);
bool runOnMachineFunction(MachineFunction &MF) override;
+
StringRef getPassName() const override {
return "AArch64 Condition Optimizer";
}
};
+
} // end anonymous namespace
char AArch64ConditionOptimizer::ID = 0;
OpenPOWER on IntegriCloud