LLVM 19.0.0git
Classes | Namespaces | Macros | Functions
ARMBlockPlacement.cpp File Reference
#include "ARM.h"
#include "ARMBaseInstrInfo.h"
#include "ARMBasicBlockInfo.h"
#include "ARMSubtarget.h"
#include "MVETailPredUtils.h"
#include "llvm/CodeGen/LivePhysRegs.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineLoopInfo.h"

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()

static 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   
)