LLVM API Documentation
#include "llvm/Transforms/Scalar.h"
#include "PPC.h"
#include "PPCTargetMachine.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/ScalarEvolutionExpander.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/PassSupport.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetLibraryInfo.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Transforms/Utils/LoopUtils.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include <algorithm>
#include <vector>
Go to the source code of this file.
Namespaces | |
namespace | llvm |
List of target independent CodeGen pass IDs. | |
Defines | |
#define | DEBUG_TYPE "ctrloops" |
Functions | |
STATISTIC (NumCTRLoops,"Number of loops converted to CTR loops") | |
void | llvm::initializePPCCTRLoopsPass (PassRegistry &) |
void | llvm::initializePPCCTRLoopsVerifyPass (PassRegistry &) |
INITIALIZE_PASS_BEGIN (PPCCTRLoops,"ppc-ctr-loops","PowerPC CTR Loops", false, false) INITIALIZE_PASS_END(PPCCTRLoops | |
INITIALIZE_PASS_BEGIN (PPCCTRLoopsVerify,"ppc-ctr-loops-verify","PowerPC CTR Loops Verify", false, false) INITIALIZE_PASS_END(PPCCTRLoopsVerify | |
static bool | isLargeIntegerTy (bool Is32Bit, Type *Ty) |
static bool | clobbersCTR (const MachineInstr *MI) |
static bool | verifyCTRBranch (MachineBasicBlock *MBB, MachineBasicBlock::iterator I) |
Variables | |
static cl::opt< int > | CTRLoopLimit ("ppc-max-ctrloop", cl::Hidden, cl::init(-1)) |
ppc ctr | loops |
ppc ctr PowerPC CTR | Loops |
ppc ctr PowerPC CTR | false |
ppc ctr loops | verify |
ppc ctr loops PowerPC CTR Loops | Verify |
#define DEBUG_TYPE "ctrloops" |
Definition at line 62 of file PPCCTRLoops.cpp.
static bool clobbersCTR | ( | const MachineInstr * | MI | ) | [static] |
Definition at line 554 of file PPCCTRLoops.cpp.
References llvm::MachineOperand::clobbersPhysReg(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), and llvm::MachineOperand::isRegMask().
Referenced by verifyCTRBranch().
INITIALIZE_PASS_BEGIN | ( | PPCCTRLoops | , |
"ppc-ctr-loops" | , | ||
"PowerPC CTR Loops" | , | ||
false | , | ||
false | |||
) |
INITIALIZE_PASS_BEGIN | ( | PPCCTRLoopsVerify | , |
"ppc-ctr-loops-verify" | , | ||
"PowerPC CTR Loops Verify" | , | ||
false | , | ||
false | |||
) |
static bool isLargeIntegerTy | ( | bool | Is32Bit, |
Type * | Ty | ||
) | [static] |
Definition at line 190 of file PPCCTRLoops.cpp.
static bool verifyCTRBranch | ( | MachineBasicBlock * | MBB, |
MachineBasicBlock::iterator | I | ||
) | [static] |
Definition at line 569 of file PPCCTRLoops.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineFunction::begin(), clobbersCTR(), llvm::SmallSet< T, N, C >::count(), llvm::dbgs(), DEBUG, llvm::SmallVectorBase::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getFullName(), llvm::MachineBasicBlock::getLastNonDebugInstr(), llvm::MachineBasicBlock::getNumber(), llvm::MachineBasicBlock::getParent(), I, llvm::ARM_PROC::IE, llvm::SmallSet< T, N, C >::insert(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::MachineBasicBlock::pred_begin(), llvm::MachineBasicBlock::pred_end(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
cl::opt<int> CTRLoopLimit("ppc-max-ctrloop", cl::Hidden, cl::init(-1)) [static] |
Definition at line 151 of file PPCCTRLoops.cpp.
ppc ctr loops |
Definition at line 151 of file PPCCTRLoops.cpp.
ppc ctr PowerPC CTR Loops |
Definition at line 151 of file PPCCTRLoops.cpp.
Definition at line 162 of file PPCCTRLoops.cpp.
Definition at line 162 of file PPCCTRLoops.cpp.
Referenced by llvm::DILocation::copyWithNewScope(), llvm::ExecutionEngine::setVerifyModules(), and llvm::EngineBuilder::setVerifyModules().