LLVM
15.0.0git
|
#include "MCTargetDesc/PPCPredicates.h"
#include "PPC.h"
#include "PPCInstrBuilder.h"
#include "PPCInstrInfo.h"
#include "PPCSubtarget.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Target/TargetMachine.h"
#include <algorithm>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "ppc-branch-select" |
Functions | |
STATISTIC (NumExpanded, "Number of branches expanded to long format") | |
STATISTIC (NumPrefixed, "Number of prefixed instructions") | |
STATISTIC (NumPrefixedAligned, "Number of prefixed instructions that have been aligned") | |
INITIALIZE_PASS (PPCBSel, "ppc-branch-select", "PowerPC Branch Selector", false, false) FunctionPass *llvm | |
createPPCBranchSelectionPass - returns an instance of the Branch Selection Pass More... | |
static unsigned | GetInitialOffset (MachineFunction &Fn) |
We need to be careful about the offset of the first block in the function because it might not have the function's alignment. More... | |
#define DEBUG_TYPE "ppc-branch-select" |
Definition at line 31 of file PPCBranchSelector.cpp.
|
inlinestatic |
We need to be careful about the offset of the first block in the function because it might not have the function's alignment.
This happens because, under the ELFv2 ABI, for functions which require a TOC pointer, we add a two-instruction sequence to the start of the function. Note: This needs to be synchronized with the check in PPCLinuxAsmPrinter::EmitFunctionBodyStart.
Definition at line 109 of file PPCBranchSelector.cpp.
References llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), llvm::PPCSubtarget::isELFv2ABI(), and llvm::MachineRegisterInfo::use_empty().
createPPCBranchSelectionPass - returns an instance of the Branch Selection Pass
Definition at line 73 of file PPCBranchSelector.cpp.
STATISTIC | ( | NumPrefixed | , |
"Number of prefixed instructions" | |||
) |
STATISTIC | ( | NumPrefixedAligned | , |
"Number of prefixed instructions that have been aligned" | |||
) |