forked from OSchip/llvm-project
parent
0327866a53
commit
4f8bdcb738
|
@ -9,7 +9,7 @@
|
|||
//
|
||||
// This file defines the pass which inserts x86 AVX vzeroupper instructions
|
||||
// before calls to SSE encoded functions. This avoids transition latency
|
||||
// penalty when tranfering control between AVX encoded instructions and old
|
||||
// penalty when transferring control between AVX encoded instructions and old
|
||||
// SSE encoding mode.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -171,7 +171,7 @@ void VZeroUpperInserter::addDirtySuccessor(MachineBasicBlock &MBB) {
|
|||
}
|
||||
|
||||
/// processBasicBlock - Loop over all of the instructions in the basic block,
|
||||
/// inserting vzero upper instructions before function calls.
|
||||
/// inserting vzeroupper instructions before function calls.
|
||||
void VZeroUpperInserter::processBasicBlock(MachineBasicBlock &MBB) {
|
||||
|
||||
// Start by assuming that the block PASS_THROUGH, which implies no unguarded
|
||||
|
@ -202,7 +202,7 @@ void VZeroUpperInserter::processBasicBlock(MachineBasicBlock &MBB) {
|
|||
// If the call won't clobber any YMM register, skip it as well. It usually
|
||||
// happens on helper function calls (such as '_chkstk', '_ftol2') where
|
||||
// standard calling convention is not used (RegMask is not used to mark
|
||||
// register clobbered and register usage (def/imp-def/use) is well-dfined
|
||||
// register clobbered and register usage (def/imp-def/use) is well-defined
|
||||
// and explicitly specified.
|
||||
if (MI->isCall() && !callClobbersAnyYmmReg(MI))
|
||||
continue;
|
||||
|
@ -245,7 +245,7 @@ void VZeroUpperInserter::processBasicBlock(MachineBasicBlock &MBB) {
|
|||
}
|
||||
|
||||
/// runOnMachineFunction - Loop over all of the basic blocks, inserting
|
||||
/// vzero upper instructions before function calls.
|
||||
/// vzeroupper instructions before function calls.
|
||||
bool VZeroUpperInserter::runOnMachineFunction(MachineFunction &MF) {
|
||||
const X86Subtarget &ST = MF.getSubtarget<X86Subtarget>();
|
||||
if (!ST.hasAVX() || ST.hasAVX512())
|
||||
|
|
Loading…
Reference in New Issue