LLVM  4.0.0
Functions | Variables
PPCTargetMachine.cpp File Reference
#include "PPCTargetMachine.h"
#include "PPC.h"
#include "PPCTargetObjectFile.h"
#include "PPCTargetTransformInfo.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Transforms/Scalar.h"
Include dependency graph for PPCTargetMachine.cpp:

Go to the source code of this file.

Functions

void LLVMInitializePowerPCTarget ()
 
static std::string getDataLayoutString (const Triple &T)
 Return the datalayout string of a subtarget. More...
 
static std::string computeFSAdditions (StringRef FS, CodeGenOpt::Level OL, const Triple &TT)
 
static std::unique_ptr
< TargetLoweringObjectFile
createTLOF (const Triple &TT)
 
static PPCTargetMachine::PPCABI computeTargetABI (const Triple &TT, const TargetOptions &Options)
 
static Reloc::Model getEffectiveRelocModel (const Triple &TT, Optional< Reloc::Model > RM)
 

Variables

static cl::opt< boolDisableCTRLoops ("disable-ppc-ctrloops", cl::Hidden, cl::desc("Disable CTR loops for PPC"))
 
static cl::opt< boolDisablePreIncPrep ("disable-ppc-preinc-prep", cl::Hidden, cl::desc("Disable PPC loop preinc prep"))
 
static cl::opt< boolVSXFMAMutateEarly ("schedule-ppc-vsx-fma-mutation-early", cl::Hidden, cl::desc("Schedule VSX FMA instruction mutation early"))
 
static cl::opt< boolDisableVSXSwapRemoval ("disable-ppc-vsx-swap-removal", cl::Hidden, cl::desc("Disable VSX Swap Removal for PPC"))
 
static cl::opt< boolDisableQPXLoadSplat ("disable-ppc-qpx-load-splat", cl::Hidden, cl::desc("Disable QPX load splat simplification"))
 
static cl::opt< boolDisableMIPeephole ("disable-ppc-peephole", cl::Hidden, cl::desc("Disable machine peepholes for PPC"))
 
static cl::opt< boolEnableGEPOpt ("ppc-gep-opt", cl::Hidden, cl::desc("Enable optimizations on complex GEPs"), cl::init(true))
 
static cl::opt< boolEnablePrefetch ("enable-ppc-prefetching", cl::desc("disable software prefetching on PPC"), cl::init(false), cl::Hidden)
 
static cl::opt< boolEnableExtraTOCRegDeps ("enable-ppc-extra-toc-reg-deps", cl::desc("Add extra TOC register dependencies"), cl::init(true), cl::Hidden)
 
static cl::opt< boolEnableMachineCombinerPass ("ppc-machine-combiner", cl::desc("Enable the machine combiner pass"), cl::init(true), cl::Hidden)
 

Function Documentation

static std::string computeFSAdditions ( StringRef  FS,
CodeGenOpt::Level  OL,
const Triple TT 
)
static
static PPCTargetMachine::PPCABI computeTargetABI ( const Triple TT,
const TargetOptions Options 
)
static
static std::unique_ptr<TargetLoweringObjectFile> createTLOF ( const Triple TT)
static

Definition at line 148 of file PPCTargetMachine.cpp.

References llvm::Triple::isOSDarwin().

static std::string getDataLayoutString ( const Triple T)
static
static Reloc::Model getEffectiveRelocModel ( const Triple TT,
Optional< Reloc::Model RM 
)
static
void LLVMInitializePowerPCTarget ( )

Variable Documentation

cl:: opt<bool> DisableCTRLoops("disable-ppc-ctrloops", cl::Hidden, cl::desc("Disable CTR loops for PPC"))
static
cl:: opt<bool> DisableMIPeephole("disable-ppc-peephole", cl::Hidden, cl::desc("Disable machine peepholes for PPC"))
static
cl:: opt<bool> DisablePreIncPrep("disable-ppc-preinc-prep", cl::Hidden, cl::desc("Disable PPC loop preinc prep"))
static
cl:: opt<bool> DisableQPXLoadSplat("disable-ppc-qpx-load-splat", cl::Hidden, cl::desc("Disable QPX load splat simplification"))
static
cl:: opt<bool> DisableVSXSwapRemoval("disable-ppc-vsx-swap-removal", cl::Hidden, cl::desc("Disable VSX Swap Removal for PPC"))
static
cl::opt<bool> EnableExtraTOCRegDeps("enable-ppc-extra-toc-reg-deps", cl::desc("Add extra TOC register dependencies"), cl::init(true), cl::Hidden)
static
cl::opt<bool> EnableGEPOpt("ppc-gep-opt", cl::Hidden, cl::desc("Enable optimizations on complex GEPs"), cl::init(true))
static
cl::opt<bool> EnableMachineCombinerPass("ppc-machine-combiner", cl::desc("Enable the machine combiner pass"), cl::init(true), cl::Hidden)
static
cl::opt<bool> EnablePrefetch("enable-ppc-prefetching", cl::desc("disable software prefetching on PPC"), cl::init(false), cl::Hidden)
static
cl::opt<bool> VSXFMAMutateEarly("schedule-ppc-vsx-fma-mutation-early", cl::Hidden, cl::desc("Schedule VSX FMA instruction mutation early"))
static