LLVM API Documentation
#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/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "x86-vzeroupper" |
Functions | |
STATISTIC (NumVZU,"Number of vzeroupper instructions inserted") | |
static bool | isYmmReg (unsigned Reg) |
static bool | checkFnHasLiveInYmm (MachineRegisterInfo &MRI) |
static bool | clobbersAllYmmRegs (const MachineOperand &MO) |
static bool | hasYmmReg (MachineInstr *MI) |
static bool | callClobbersAnyYmmReg (MachineInstr *MI) |
#define DEBUG_TYPE "x86-vzeroupper" |
Definition at line 30 of file X86VZeroUpper.cpp.
static bool callClobbersAnyYmmReg | ( | MachineInstr * | MI | ) | [static] |
clobbersAnyYmmReg() - Check if any YMM register will be clobbered by this instruction.
Definition at line 142 of file X86VZeroUpper.cpp.
References llvm::MachineOperand::clobbersPhysReg(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::isCall(), and llvm::MachineOperand::isRegMask().
static bool checkFnHasLiveInYmm | ( | MachineRegisterInfo & | MRI | ) | [static] |
Definition at line 108 of file X86VZeroUpper.cpp.
References I, isYmmReg(), llvm::MachineRegisterInfo::livein_begin(), and llvm::MachineRegisterInfo::livein_end().
static bool clobbersAllYmmRegs | ( | const MachineOperand & | MO | ) | [static] |
Definition at line 117 of file X86VZeroUpper.cpp.
References llvm::MachineOperand::clobbersPhysReg().
Referenced by hasYmmReg().
static bool hasYmmReg | ( | MachineInstr * | MI | ) | [static] |
Definition at line 125 of file X86VZeroUpper.cpp.
References clobbersAllYmmRegs(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineInstr::isCall(), llvm::MachineOperand::isDebug(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isRegMask(), and isYmmReg().
Definition at line 104 of file X86VZeroUpper.cpp.
Referenced by checkFnHasLiveInYmm(), and hasYmmReg().
STATISTIC | ( | NumVZU | , |
"Number of vzeroupper instructions inserted" | |||
) |