|
LLVM
4.0.0
|
#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.
Macros | |
| #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) |
| Check if any YMM register will be clobbered by this instruction. More... | |
| #define DEBUG_TYPE "x86-vzeroupper" |
Definition at line 30 of file X86VZeroUpper.cpp.
|
static |
Check if any YMM register will be clobbered by this instruction.
Definition at line 145 of file X86VZeroUpper.cpp.
References assert(), llvm::MachineInstr::isCall(), and llvm::MachineInstr::operands().
|
static |
Definition at line 113 of file X86VZeroUpper.cpp.
References E, I, isYmmReg(), llvm::MachineRegisterInfo::livein_begin(), and llvm::MachineRegisterInfo::livein_end().
|
static |
Definition at line 122 of file X86VZeroUpper.cpp.
References llvm::MachineOperand::clobbersPhysReg().
Referenced by hasYmmReg().
|
static |
Definition at line 130 of file X86VZeroUpper.cpp.
References clobbersAllYmmRegs(), llvm::MachineInstr::isCall(), isYmmReg(), and llvm::MachineInstr::operands().
Definition at line 109 of file X86VZeroUpper.cpp.
Referenced by checkFnHasLiveInYmm(), and hasYmmReg().
| STATISTIC | ( | NumVZU | , |
| "Number of vzeroupper instructions inserted" | |||
| ) |
1.8.6