LLVM 20.0.0git
|
#include "HexagonInstrInfo.h"
#include "HexagonRegisterInfo.h"
#include "HexagonSubtarget.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/MachineBasicBlock.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/MachineMemOperand.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <limits>
#include <map>
#include <set>
#include <utility>
#include <vector>
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | DEBUG_TYPE "hsdr" |
Functions | |
FunctionPass * | llvm::createHexagonSplitDoubleRegs () |
void | llvm::initializeHexagonSplitDoubleRegsPass (PassRegistry &) |
INITIALIZE_PASS (HexagonSplitDoubleRegs, "hexagon-split-double", "Hexagon Split Double Registers", false, false) LLVM_DUMP_METHOD void HexagonSplitDoubleRegs | |
static int32_t | profitImm (unsigned Imm) |
Variables | |
static cl::opt< int > | MaxHSDR ("max-hsdr", cl::Hidden, cl::init(-1), cl::desc("Maximum number of split partitions")) |
static cl::opt< bool > | MemRefsFixed ("hsdr-no-mem", cl::Hidden, cl::init(true), cl::desc("Do not split loads or stores")) |
static cl::opt< bool > | SplitAll ("hsdr-split-all", cl::Hidden, cl::init(false), cl::desc("Split all partitions")) |
#define DEBUG_TYPE "hsdr" |
Definition at line 43 of file HexagonSplitDouble.cpp.
INITIALIZE_PASS | ( | HexagonSplitDoubleRegs | , |
"hexagon-split-double" | , | ||
"Hexagon Split Double Registers" | , | ||
false | , | ||
false | |||
) |
Definition at line 132 of file HexagonSplitDouble.cpp.
References llvm::dbgs(), I, llvm::printReg(), and TRI.
|
inlinestatic |
Definition at line 306 of file HexagonSplitDouble.cpp.
References P.
|
static |
|
static |