LLVM 22.0.0git
ARMBlockPlacement.cpp File Reference

Go to the source code of this file.

Classes

class  llvm::ARMBlockPlacement

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Macros

#define DEBUG_TYPE   "arm-block-placement"
#define DEBUG_PREFIX   "ARM Block Placement: "

Functions

 INITIALIZE_PASS (ARMBlockPlacement, DEBUG_TYPE, "ARM block placement", false, false) static MachineInstr *findWLSInBlock(MachineBasicBlock *MBB)
static MachineInstrfindWLS (MachineLoop *ML)
 Find WhileLoopStart in the loop predecessor BB or otherwise in its only predecessor.

Macro Definition Documentation

◆ DEBUG_PREFIX

#define DEBUG_PREFIX   "ARM Block Placement: "

Definition at line 27 of file ARMBlockPlacement.cpp.

◆ DEBUG_TYPE

#define DEBUG_TYPE   "arm-block-placement"

Definition at line 26 of file ARMBlockPlacement.cpp.

Function Documentation

◆ findWLS()

MachineInstr * findWLS ( MachineLoop * ML)
static

Find WhileLoopStart in the loop predecessor BB or otherwise in its only predecessor.

If found, returns (BB, WLS Instr) pair, otherwise a null pair.

Definition at line 76 of file ARMBlockPlacement.cpp.

References ML, llvm::MachineBasicBlock::pred_begin(), and llvm::MachineBasicBlock::pred_size().

Referenced by llvm::ARMBlockPlacement::fixBackwardsWLS().

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( ARMBlockPlacement ,
DEBUG_TYPE ,
"ARM block placement" ,
false ,
false  )

Definition at line 63 of file ARMBlockPlacement.cpp.

References DEBUG_TYPE, and MBB.