LLVM 20.0.0git
|
#include "MCTargetDesc/PPCMCTargetDesc.h"
#include "MCTargetDesc/PPCPredicates.h"
#include "PPC.h"
#include "PPCInstrInfo.h"
#include "PPCMachineFunctionInfo.h"
#include "PPCTargetMachine.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachinePostDominators.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/DebugCounter.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "ppc-mi-peepholes" |
#define | addRegToUpdate(R) addRegToUpdateWithLine(R, __LINE__) |
Functions | |
STATISTIC (RemoveTOCSave, "Number of TOC saves removed") | |
STATISTIC (MultiTOCSaves, "Number of functions with multiple TOC saves that must be kept") | |
STATISTIC (NumTOCSavesInPrologue, "Number of TOC saves placed in the prologue") | |
STATISTIC (NumEliminatedSExt, "Number of eliminated sign-extensions") | |
STATISTIC (NumEliminatedZExt, "Number of eliminated zero-extensions") | |
STATISTIC (NumOptADDLIs, "Number of optimized ADD instruction fed by LI") | |
STATISTIC (NumConvertedToImmediateForm, "Number of instructions converted to their immediate form") | |
STATISTIC (NumFunctionsEnteredInMIPeephole, "Number of functions entered in PPC MI Peepholes") | |
STATISTIC (NumFixedPointIterations, "Number of fixed-point iterations converting reg-reg instructions " "to reg-imm ones") | |
STATISTIC (NumRotatesCollapsed, "Number of pairs of rotate left, clear left/right collapsed") | |
STATISTIC (NumEXTSWAndSLDICombined, "Number of pairs of EXTSW and SLDI combined as EXTSWSLI") | |
STATISTIC (NumLoadImmZeroFoldedAndRemoved, "Number of LI(8) reg, 0 that are folded to r0 and removed") | |
DEBUG_COUNTER (PeepholeXToICounter, "ppc-xtoi-peephole", "Controls whether PPC reg+reg to reg+imm peephole is performed on a MI") | |
DEBUG_COUNTER (PeepholePerOpCounter, "ppc-per-op-peephole", "Controls whether PPC per opcode peephole is performed on a MI") | |
INITIALIZE_PASS_BEGIN (PPCMIPeephole, DEBUG_TYPE, "PowerPC MI Peephole Optimization", false, false) INITIALIZE_PASS_END(PPCMIPeephole | |
Variables | |
static cl::opt< bool > | FixedPointRegToImm ("ppc-reg-to-imm-fixed-point", cl::Hidden, cl::init(true), cl::desc("Iterate to a fixed point when attempting to " "convert reg-reg instructions to reg-imm")) |
static cl::opt< bool > | ConvertRegReg ("ppc-convert-rr-to-ri", cl::Hidden, cl::init(true), cl::desc("Convert eligible reg+reg instructions to reg+imm")) |
static cl::opt< bool > | EnableSExtElimination ("ppc-eliminate-signext", cl::desc("enable elimination of sign-extensions"), cl::init(true), cl::Hidden) |
static cl::opt< bool > | EnableZExtElimination ("ppc-eliminate-zeroext", cl::desc("enable elimination of zero-extensions"), cl::init(true), cl::Hidden) |
static cl::opt< bool > | EnableTrapOptimization ("ppc-opt-conditional-trap", cl::desc("enable optimization of conditional traps"), cl::init(false), cl::Hidden) |
DEBUG_TYPE | |
PowerPC MI Peephole | Optimization |
PowerPC MI Peephole | false |
#define addRegToUpdate | ( | R | ) | addRegToUpdateWithLine(R, __LINE__) |
Definition at line 188 of file PPCMIPeephole.cpp.
#define DEBUG_TYPE "ppc-mi-peepholes" |
Definition at line 51 of file PPCMIPeephole.cpp.
DEBUG_COUNTER | ( | PeepholePerOpCounter | , |
"ppc-per-op-peephole" | , | ||
"Controls whether PPC per opcode peephole is performed on a MI" | |||
) |
DEBUG_COUNTER | ( | PeepholeXToICounter | , |
"ppc-xtoi-peephole" | , | ||
"Controls whether PPC reg+reg to reg+imm peephole is performed on a MI" | |||
) |
INITIALIZE_PASS_BEGIN | ( | PPCMIPeephole | , |
DEBUG_TYPE | , | ||
"PowerPC MI Peephole Optimization" | , | ||
false | , | ||
false | |||
) |
STATISTIC | ( | MultiTOCSaves | , |
"Number of functions with multiple TOC saves that must be kept" | |||
) |
STATISTIC | ( | NumConvertedToImmediateForm | , |
"Number of instructions converted to their immediate form" | |||
) |
STATISTIC | ( | NumEliminatedSExt | , |
"Number of eliminated sign-extensions" | |||
) |
STATISTIC | ( | NumEliminatedZExt | , |
"Number of eliminated zero-extensions" | |||
) |
STATISTIC | ( | NumEXTSWAndSLDICombined | , |
"Number of pairs of EXTSW and SLDI combined as EXTSWSLI" | |||
) |
STATISTIC | ( | NumFixedPointIterations | , |
"Number of fixed-point iterations converting reg-reg instructions " "to reg-imm ones" | |||
) |
STATISTIC | ( | NumLoadImmZeroFoldedAndRemoved | , |
"Number of LI(8) | reg, | ||
0 that are folded to r0 and removed" | |||
) |
STATISTIC | ( | NumOptADDLIs | , |
"Number of optimized ADD instruction fed by LI" | |||
) |
STATISTIC | ( | NumRotatesCollapsed | , |
"Number of pairs of rotate | left, | ||
clear left/right collapsed" | |||
) |
STATISTIC | ( | NumTOCSavesInPrologue | , |
"Number of TOC saves placed in the prologue" | |||
) |
STATISTIC | ( | RemoveTOCSave | , |
"Number of TOC saves removed" | |||
) |
|
static |
DEBUG_TYPE |
Definition at line 2049 of file PPCMIPeephole.cpp.
|
static |
|
static |
|
static |
PowerPC MI Peephole false |
Definition at line 2050 of file PPCMIPeephole.cpp.
|
static |
PowerPC MI Peephole Optimization |
Definition at line 2050 of file PPCMIPeephole.cpp.