LLVM API Documentation

Namespaces | Defines | Functions | Variables
PPCInstrInfo.cpp File Reference
#include "PPCInstrInfo.h"
#include "MCTargetDesc/PPCPredicates.h"
#include "PPC.h"
#include "PPCHazardRecognizers.h"
#include "PPCInstrBuilder.h"
#include "PPCMachineFunctionInfo.h"
#include "PPCTargetMachine.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/PseudoSourceValue.h"
#include "llvm/CodeGen/ScheduleDAG.h"
#include "llvm/CodeGen/SlotIndexes.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include "PPCGenInstrInfo.inc"
Include dependency graph for PPCInstrInfo.cpp:

Go to the source code of this file.

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Defines

#define DEBUG_TYPE   "ppc-instr-info"
#define GET_INSTRMAP_INFO
#define GET_INSTRINFO_CTOR_DTOR
#define DEBUG_TYPE   "ppc-vsx-fma-mutate"
#define DEBUG_TYPE   "ppc-vsx-copy"
#define DEBUG_TYPE   "ppc-vsx-copy-cleanup"
#define DEBUG_TYPE   "ppc-early-ret"

Functions

static bool MBBDefinesCTR (MachineBasicBlock &MBB)
 INITIALIZE_PASS_BEGIN (PPCVSXFMAMutate, DEBUG_TYPE,"PowerPC VSX FMA Mutation", false, false) INITIALIZE_PASS_END(PPCVSXFMAMutate
void llvm::initializePPCVSXCopyPass (PassRegistry &)
void llvm::initializePPCVSXCopyCleanupPass (PassRegistry &)
 STATISTIC (NumBCLR,"Number of early conditional returns")
 STATISTIC (NumBLR,"Number of early returns")
void llvm::initializePPCEarlyReturnPass (PassRegistry &)

Variables

static cl::opt< boolDisableCTRLoopAnal ("disable-ppc-ctrloop-analysis", cl::Hidden, cl::desc("Disable analysis for CTR loops"))
static cl::opt< boolDisableCmpOpt ("disable-ppc-cmp-opt", cl::desc("Disable compare instruction optimization"), cl::Hidden)
static cl::opt< boolDisableVSXFMAMutate ("disable-ppc-vsx-fma-mutation", cl::desc("Disable VSX FMA instruction mutation"), cl::Hidden)
static cl::opt< boolVSXSelfCopyCrash ("crash-on-ppc-vsx-self-copy", cl::desc("Causes the backend to crash instead of generating a nop VSX copy"), cl::Hidden)
 DEBUG_TYPE
PowerPC VSX FMA Mutation
PowerPC VSX FMA false

Define Documentation

#define DEBUG_TYPE   "ppc-instr-info"

Definition at line 2092 of file PPCInstrInfo.cpp.

#define DEBUG_TYPE   "ppc-vsx-fma-mutate"

Definition at line 2092 of file PPCInstrInfo.cpp.

#define DEBUG_TYPE   "ppc-vsx-copy"

Definition at line 2092 of file PPCInstrInfo.cpp.

#define DEBUG_TYPE   "ppc-vsx-copy-cleanup"

Definition at line 2092 of file PPCInstrInfo.cpp.

#define DEBUG_TYPE   "ppc-early-ret"

Definition at line 2092 of file PPCInstrInfo.cpp.

Definition at line 44 of file PPCInstrInfo.cpp.

Definition at line 43 of file PPCInstrInfo.cpp.


Function Documentation

INITIALIZE_PASS_BEGIN ( PPCVSXFMAMutate  ,
DEBUG_TYPE  ,
"PowerPC VSX FMA Mutation ,
false  ,
false   
)
static bool MBBDefinesCTR ( MachineBasicBlock MBB) [static]
STATISTIC ( NumBCLR  ,
"Number of early conditional returns"   
)
STATISTIC ( NumBLR  ,
"Number of early returns"   
)

Variable Documentation

Definition at line 1865 of file PPCInstrInfo.cpp.

cl::opt<bool> DisableCmpOpt("disable-ppc-cmp-opt", cl::desc("Disable compare instruction optimization"), cl::Hidden) [static]
cl:: opt<bool> DisableCTRLoopAnal("disable-ppc-ctrloop-analysis", cl::Hidden, cl::desc("Disable analysis for CTR loops")) [static]
cl::opt<bool> DisableVSXFMAMutate("disable-ppc-vsx-fma-mutation", cl::desc("Disable VSX FMA instruction mutation"), cl::Hidden) [static]
PowerPC VSX FMA false

Definition at line 1865 of file PPCInstrInfo.cpp.

PowerPC VSX FMA Mutation

Definition at line 1865 of file PPCInstrInfo.cpp.

cl::opt<bool> VSXSelfCopyCrash("crash-on-ppc-vsx-self-copy", cl::desc("Causes the backend to crash instead of generating a nop VSX copy"), cl::Hidden) [static]