LLVM  14.0.0git
Namespaces | Macros | Functions | Variables
AMDILCFGStructurizer.cpp File Reference
#include "MCTargetDesc/R600MCTargetDesc.h"
#include "R600.h"
#include "R600RegisterInfo.h"
#include "R600Subtarget.h"
#include "llvm/ADT/SCCIterator.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachinePostDominators.h"
#include "llvm/InitializePasses.h"
Include dependency graph for AMDILCFGStructurizer.cpp:

Go to the source code of this file.

Namespaces

 llvm
 This file implements support for optimizing divisions by a constant.
 

Macros

#define DEBUG_TYPE   "structcfg"
 
#define DEFAULT_VEC_SLOTS   8
 
#define SHOWNEWINSTR(i)   LLVM_DEBUG(dbgs() << "New instr: " << *i << "\n");
 
#define SHOWNEWBLK(b, msg)
 
#define SHOWBLK_DETAIL(b, msg)
 
#define INVALIDSCCNUM   -1
 

Functions

 STATISTIC (numSerialPatternMatch, "CFGStructurizer number of serial pattern " "matched")
 
 STATISTIC (numIfPatternMatch, "CFGStructurizer number of if pattern " "matched")
 
 STATISTIC (numClonedBlock, "CFGStructurizer cloned blocks")
 
 STATISTIC (numClonedInstr, "CFGStructurizer cloned instructions")
 
void llvm::initializeAMDGPUCFGStructurizerPass (PassRegistry &)
 
 INITIALIZE_PASS_BEGIN (AMDGPUCFGStructurizer, "amdgpustructurizer", "AMDGPU CFG Structurizer", false, false) INITIALIZE_PASS_END(AMDGPUCFGStructurizer
 

Variables

 amdgpustructurizer
 
AMDGPU CFG Structurizer
 
AMDGPU CFG false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "structcfg"

Definition at line 24 of file AMDILCFGStructurizer.cpp.

◆ DEFAULT_VEC_SLOTS

#define DEFAULT_VEC_SLOTS   8

Definition at line 26 of file AMDILCFGStructurizer.cpp.

◆ INVALIDSCCNUM

#define INVALIDSCCNUM   -1

Definition at line 70 of file AMDILCFGStructurizer.cpp.

◆ SHOWBLK_DETAIL

#define SHOWBLK_DETAIL (   b,
  msg 
)
Value:
LLVM_DEBUG(if (b) { \
dbgs() << msg << "BB" << b->getNumber() << "size " << b->size(); \
b->print(dbgs()); \
dbgs() << "\n"; \
});

Definition at line 63 of file AMDILCFGStructurizer.cpp.

◆ SHOWNEWBLK

#define SHOWNEWBLK (   b,
  msg 
)
Value:
LLVM_DEBUG(dbgs() << msg << "BB" << b->getNumber() << "size " << b->size(); \
dbgs() << "\n";);

Definition at line 59 of file AMDILCFGStructurizer.cpp.

◆ SHOWNEWINSTR

#define SHOWNEWINSTR (   i)    LLVM_DEBUG(dbgs() << "New instr: " << *i << "\n");

Definition at line 57 of file AMDILCFGStructurizer.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AMDGPUCFGStructurizer  ,
"amdgpustructurizer"  ,
"AMDGPU CFG Structurizer ,
false  ,
false   
)

◆ STATISTIC() [1/4]

STATISTIC ( numClonedBlock  ,
"CFGStructurizer cloned blocks"   
)

◆ STATISTIC() [2/4]

STATISTIC ( numClonedInstr  ,
"CFGStructurizer cloned instructions  
)

◆ STATISTIC() [3/4]

STATISTIC ( numIfPatternMatch  ,
"CFGStructurizer number of if pattern " "matched"   
)

◆ STATISTIC() [4/4]

STATISTIC ( numSerialPatternMatch  ,
"CFGStructurizer number of serial pattern " "matched"   
)

Variable Documentation

◆ amdgpustructurizer

amdgpustructurizer

Definition at line 1654 of file AMDILCFGStructurizer.cpp.

◆ false

AMDGPU CFG false

Definition at line 1655 of file AMDILCFGStructurizer.cpp.

◆ Structurizer

AMDGPU CFG Structurizer

Definition at line 1655 of file AMDILCFGStructurizer.cpp.

LLVM_DEBUG
#define LLVM_DEBUG(X)
Definition: Debug.h:101
llvm::dbgs
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
Definition: Debug.cpp:163
b
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int b
Definition: README.txt:418