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().