|
LLVM 22.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/IR/GlobalVariable.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) |
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 | ) |
Definition at line 186 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 | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
| 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 2046 of file PPCMIPeephole.cpp.
|
static |
|
static |
|
static |
| PowerPC MI Peephole false |
Definition at line 2047 of file PPCMIPeephole.cpp.
|
static |
| PowerPC MI Peephole Optimization |
Definition at line 2047 of file PPCMIPeephole.cpp.