LLVM  13.0.0git
Classes | Namespaces | Macros | Functions
ARMBlockPlacement.cpp File Reference
#include "ARM.h"
#include "ARMBaseInstrInfo.h"
#include "ARMBasicBlockInfo.h"
#include "ARMSubtarget.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
Include dependency graph for ARMBlockPlacement.cpp:

Go to the source code of this file.

Classes

class  llvm::ARMBlockPlacement
 

Namespaces

 llvm
 

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 t2WhileLoopStartLR in the loop predecessor BB or otherwise in its only predecessor. More...
 

Macro Definition Documentation

◆ DEBUG_PREFIX

#define DEBUG_PREFIX   "ARM Block Placement: "

Definition at line 25 of file ARMBlockPlacement.cpp.

◆ DEBUG_TYPE

#define DEBUG_TYPE   "arm-block-placement"

Definition at line 24 of file ARMBlockPlacement.cpp.

Function Documentation

◆ findWLS()

static MachineInstr* findWLS ( MachineLoop ML)
static

Find t2WhileLoopStartLR 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 72 of file ARMBlockPlacement.cpp.

References llvm::LoopBase< BlockT, LoopT >::getLoopPredecessor(), 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   
)