|
LLVM
4.0.0
|
#include "HexagonInstrInfo.h"#include "HexagonSubtarget.h"#include "llvm/ADT/SmallSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/ADT/StringRef.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineDominators.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineLoopInfo.h"#include "llvm/CodeGen/MachineOperand.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DebugLoc.h"#include "llvm/Pass.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetRegisterInfo.h"#include <cassert>#include <cstdint>#include <cstdlib>#include <iterator>#include <map>#include <set>#include <utility>#include <vector>Go to the source code of this file.
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Macros | |
| #define | DEBUG_TYPE "hwloops" |
Functions | |
| STATISTIC (NumHWLoops,"Number of loops converted to hardware loops") | |
| FunctionPass * | llvm::createHexagonHardwareLoops () |
| void | llvm::initializeHexagonHardwareLoopsPass (PassRegistry &) |
| INITIALIZE_PASS_BEGIN (HexagonHardwareLoops,"hwloops","Hexagon Hardware Loops", false, false) INITIALIZE_PASS_END(HexagonHardwareLoops | |
| static bool | isImmValidForOpcode (unsigned CmpOpc, int64_t Imm) |
Variables | |
| static cl::opt< int > | HWLoopLimit ("hexagon-max-hwloop", cl::Hidden, cl::init(-1)) |
| static cl::opt< std::string > | PHFn ("hexagon-hwloop-phfn", cl::Hidden, cl::init("")) |
| static cl::opt< bool > | HWCreatePreheader ("hexagon-hwloop-preheader", cl::Hidden, cl::init(true), cl::desc("Add a preheader to a hardware loop if one doesn't exist")) |
| static cl::opt< bool > | SpecPreheader ("hwloop-spec-preheader", cl::init(false), cl::Hidden, cl::ZeroOrMore, cl::desc("Allow speculation of preheader ""instructions")) |
| hwloops | |
| Hexagon Hardware | Loops |
| Hexagon Hardware | false |
| #define DEBUG_TYPE "hwloops" |
Definition at line 63 of file HexagonHardwareLoops.cpp.
| INITIALIZE_PASS_BEGIN | ( | HexagonHardwareLoops | , |
| "hwloops" | , | ||
| "Hexagon Hardware Loops" | , | ||
| false | , | ||
| false | |||
| ) |
Definition at line 1572 of file HexagonHardwareLoops.cpp.
References llvm::isInt< 8 >(), and llvm::isUInt< 8 >().
| Hexagon Hardware false |
Definition at line 367 of file HexagonHardwareLoops.cpp.
|
static |
|
static |
| hwloops |
Definition at line 367 of file HexagonHardwareLoops.cpp.
| Hexagon Hardware Loops |
Definition at line 367 of file HexagonHardwareLoops.cpp.
Referenced by llvm::BlockFrequencyInfoImplBase::analyzeIrreducible(), llvm::internal::appendLoopsToWorklist(), llvm::BlockFrequencyInfoImplBase::clear(), llvm::MachineTraceMetrics::runOnMachineFunction(), SortBlocks(), llvm::BlockFrequencyInfoImplBase::unwrapLoops(), and llvm::LoopInfoBase< N, M >::verify().
|
static |
1.8.6