14#ifndef LLVM_LIB_TARGET_SPARC_SPARC_H
15#define LLVM_LIB_TARGET_SPARC_SPARC_H
223 inline static unsigned HI22(int64_t imm) {
224 return (
unsigned)((imm >> 10) & ((1 << 22)-1));
227 inline static unsigned LO10(int64_t imm) {
228 return (
unsigned)(imm & 0x3FF);
231 inline static unsigned HIX22(int64_t imm) {
235 inline static unsigned LOX10(int64_t imm) {
This header defines various interfaces for pass management in LLVM.
This class is intended to be used as a driving class for all asm writers.
FunctionPass class - This class is used to implement most global optimizations.
Instances of this class represent a single low-level machine instruction.
Properties which a MachineFunction may have at a given point in time.
Representation of each machine instruction.
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
A set of analyses that are preserved following a run of a transformation pass.
SelectionDAGISelPass(std::unique_ptr< SelectionDAGISel > Selector)
SparcDAGToDAGISelPass(SparcTargetMachine &TM, CodeGenOptLevel OptLevel)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
MachineFunctionProperties getRequiredProperties() const
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
Pass manager infrastructure for declaring and invalidating analyses.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
static const char * SPARCCondCodeToString(SPCC::CondCodes CC)
static unsigned HI22(int64_t imm)
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
static unsigned HIX22(int64_t imm)
void initializeSparcAsmPrinterPass(PassRegistry &)
void initializeSparcDAGToDAGISelLegacyPass(PassRegistry &)
void initializeSparcErrataWorkaroundLegacyPass(PassRegistry &)
CodeGenOptLevel
Code generation optimization level.
static unsigned LOX10(int64_t imm)
FunctionPass * createSparcDAGToDAGISelLegacyPass(SparcTargetMachine &TM, CodeGenOptLevel OptLevel)
createSparcISelDag - This pass converts a legalized DAG into a SPARC-specific DAG,...
FunctionPass * createSparcDelaySlotFillerLegacyPass()
createSparcDelaySlotFillerPass - Returns a pass that fills in delay slots in Sparc MachineFunctions
static unsigned LO10(int64_t imm)
A CRTP mix-in for passes that should not be skipped.