projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SKX] Enabling mask instructions: encoding, lowering
[oota-llvm.git]
/
lib
/
Target
/
X86
/
X86PadShortFunction.cpp
diff --git
a/lib/Target/X86/X86PadShortFunction.cpp
b/lib/Target/X86/X86PadShortFunction.cpp
index 746d0d666477f62e6959818e2d812a32e3ec079f..6639875d07e3add3ee839f30f195594a0ef14e29 100644
(file)
--- a/
lib/Target/X86/X86PadShortFunction.cpp
+++ b/
lib/Target/X86/X86PadShortFunction.cpp
@@
-15,9
+15,9
@@
#include <algorithm>
#include <algorithm>
-#define DEBUG_TYPE "x86-pad-short-functions"
#include "X86.h"
#include "X86InstrInfo.h"
#include "X86.h"
#include "X86InstrInfo.h"
+#include "X86Subtarget.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
@@
-30,6
+30,8
@@
using namespace llvm;
using namespace llvm;
+#define DEBUG_TYPE "x86-pad-short-functions"
+
STATISTIC(NumBBsPadded, "Number of basic blocks padded");
namespace {
STATISTIC(NumBBsPadded, "Number of basic blocks padded");
namespace {
@@
-49,7
+51,7
@@
namespace {
struct PadShortFunc : public MachineFunctionPass {
static char ID;
PadShortFunc() : MachineFunctionPass(ID)
struct PadShortFunc : public MachineFunctionPass {
static char ID;
PadShortFunc() : MachineFunctionPass(ID)
- , Threshold(4), TM(
0), TII(0
) {}
+ , Threshold(4), TM(
nullptr), TII(nullptr
) {}
bool runOnMachineFunction(MachineFunction &MF) override;
bool runOnMachineFunction(MachineFunction &MF) override;
@@
-100,6
+102,9
@@
bool PadShortFunc::runOnMachineFunction(MachineFunction &MF) {
}
TM = &MF.getTarget();
}
TM = &MF.getTarget();
+ if (!TM->getSubtarget<X86Subtarget>().padShortFunctions())
+ return false;
+
TII = TM->getInstrInfo();
// Search through basic blocks and mark the ones that have early returns
TII = TM->getInstrInfo();
// Search through basic blocks and mark the ones that have early returns