LLVM 24.0.0git
SystemZShortenInst.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "systemz-shorten-inst"

Functions

 INITIALIZE_PASS (SystemZShortenInstLegacy, DEBUG_TYPE, "SystemZ Instruction Shortening", false, false) FunctionPass *llvm
static void tieOpsIfNeeded (MachineInstr &MI)
static bool shortenIIF (MachineInstr &MI, unsigned LLIxL, unsigned LLIxH, const SystemZInstrInfo *TII, const TargetRegisterInfo *TRI, LiveRegUnits &LiveRegs)
static bool shortenOn0 (MachineInstr &MI, unsigned Opcode, const SystemZInstrInfo *TII)
static bool shortenOn01 (MachineInstr &MI, unsigned Opcode, const SystemZInstrInfo *TII)
static bool shortenOn001 (MachineInstr &MI, unsigned Opcode, const SystemZInstrInfo *TII)
static bool shortenOn001AddCC (MachineInstr &MI, unsigned Opcode, const SystemZInstrInfo *TII, LiveRegUnits &LiveRegs)
static bool shortenFPConv (MachineInstr &MI, unsigned Opcode, const SystemZInstrInfo *TII)
static bool shortenFusedFPOp (MachineInstr &MI, unsigned Opcode, const SystemZInstrInfo *TII)
static bool processBlock (MachineBasicBlock &MBB, LiveRegUnits &LiveRegs, const SystemZInstrInfo *TII, const TargetRegisterInfo *TRI)
static bool shortenInstructionsInMF (MachineFunction &F)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "systemz-shorten-inst"

Definition at line 28 of file SystemZShortenInst.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( SystemZShortenInstLegacy ,
DEBUG_TYPE ,
"SystemZ Instruction Shortening" ,
false ,
false  )

◆ processBlock()

◆ shortenFPConv()

bool shortenFPConv ( MachineInstr & MI,
unsigned Opcode,
const SystemZInstrInfo * TII )
static

◆ shortenFusedFPOp()

bool shortenFusedFPOp ( MachineInstr & MI,
unsigned Opcode,
const SystemZInstrInfo * TII )
static

◆ shortenIIF()

bool shortenIIF ( MachineInstr & MI,
unsigned LLIxL,
unsigned LLIxH,
const SystemZInstrInfo * TII,
const TargetRegisterInfo * TRI,
LiveRegUnits & LiveRegs )
static

◆ shortenInstructionsInMF()

bool shortenInstructionsInMF ( MachineFunction & F)
static

Definition at line 392 of file SystemZShortenInst.cpp.

References Changed, F, MBB, processBlock(), TII, and TRI.

Referenced by llvm::SystemZShortenInstPass::run().

◆ shortenOn0()

bool shortenOn0 ( MachineInstr & MI,
unsigned Opcode,
const SystemZInstrInfo * TII )
static

Definition at line 105 of file SystemZShortenInst.cpp.

References llvm::SystemZMC::getFirstReg(), MI, and TII.

Referenced by processBlock().

◆ shortenOn001()

bool shortenOn001 ( MachineInstr & MI,
unsigned Opcode,
const SystemZInstrInfo * TII )
static

Definition at line 129 of file SystemZShortenInst.cpp.

References llvm::SystemZMC::getFirstReg(), MI, tieOpsIfNeeded(), and TII.

Referenced by processBlock(), and shortenOn001AddCC().

◆ shortenOn001AddCC()

bool shortenOn001AddCC ( MachineInstr & MI,
unsigned Opcode,
const SystemZInstrInfo * TII,
LiveRegUnits & LiveRegs )
static

◆ shortenOn01()

bool shortenOn01 ( MachineInstr & MI,
unsigned Opcode,
const SystemZInstrInfo * TII )
static

Definition at line 116 of file SystemZShortenInst.cpp.

References llvm::SystemZMC::getFirstReg(), MI, and TII.

Referenced by processBlock().

◆ tieOpsIfNeeded()

void tieOpsIfNeeded ( MachineInstr & MI)
static

Definition at line 62 of file SystemZShortenInst.cpp.

References MI, and llvm::MCOI::TIED_TO.

Referenced by shortenOn001().