LLVM  14.0.0git
Macros | Functions
SystemZElimCompare.cpp File Reference
#include "SystemZ.h"
#include "SystemZInstrInfo.h"
#include "SystemZTargetMachine.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/LivePhysRegs.h"
#include "llvm/CodeGen/MachineBasicBlock.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/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/MC/MCInstrDesc.h"
#include <cassert>
#include <cstdint>
Include dependency graph for SystemZElimCompare.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "systemz-elim-compare"
 

Functions

 STATISTIC (BranchOnCounts, "Number of branch-on-count instructions")
 
 STATISTIC (LoadAndTraps, "Number of load-and-trap instructions")
 
 STATISTIC (EliminatedComparisons, "Number of eliminated comparisons")
 
 STATISTIC (FusedComparisons, "Number of fused compare-and-branch instructions")
 
static bool preservesValueOf (MachineInstr &MI, unsigned Reg)
 
static bool resultTests (MachineInstr &MI, unsigned Reg)
 
static bool isLoadAndTestAsCmp (MachineInstr &MI)
 
static unsigned getCompareSourceReg (MachineInstr &Compare)
 
static bool isAddWithImmediate (unsigned Opcode)
 
static bool isCompareZero (MachineInstr &Compare)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "systemz-elim-compare"

Definition at line 36 of file SystemZElimCompare.cpp.

Function Documentation

◆ getCompareSourceReg()

static unsigned getCompareSourceReg ( MachineInstr Compare)
static

Definition at line 176 of file SystemZElimCompare.cpp.

References assert(), Compare, and isLoadAndTestAsCmp().

◆ isAddWithImmediate()

static bool isAddWithImmediate ( unsigned  Opcode)
static

Definition at line 338 of file SystemZElimCompare.cpp.

◆ isCompareZero()

static bool isCompareZero ( MachineInstr Compare)
static

Definition at line 501 of file SystemZElimCompare.cpp.

References Compare, and isLoadAndTestAsCmp().

◆ isLoadAndTestAsCmp()

static bool isLoadAndTestAsCmp ( MachineInstr MI)
static

Definition at line 165 of file SystemZElimCompare.cpp.

References MI.

Referenced by getCompareSourceReg(), and isCompareZero().

◆ preservesValueOf()

static bool preservesValueOf ( MachineInstr MI,
unsigned  Reg 
)
static

Definition at line 110 of file SystemZElimCompare.cpp.

References llvm::MipsISD::LDR, MI, and Reg.

Referenced by resultTests().

◆ resultTests()

static bool resultTests ( MachineInstr MI,
unsigned  Reg 
)
static

Definition at line 133 of file SystemZElimCompare.cpp.

References MI, preservesValueOf(), and Reg.

◆ STATISTIC() [1/4]

STATISTIC ( BranchOnCounts  ,
"Number of branch-on-count instructions  
)

◆ STATISTIC() [2/4]

STATISTIC ( EliminatedComparisons  ,
"Number of eliminated comparisons  
)

◆ STATISTIC() [3/4]

STATISTIC ( FusedComparisons  ,
"Number of fused compare-and-branch instructions  
)

◆ STATISTIC() [4/4]

STATISTIC ( LoadAndTraps  ,
"Number of load-and-trap instructions  
)