LLVM 19.0.0git
Namespaces | Macros | Functions
PPCMacroFusion.cpp File Reference
#include "PPC.h"
#include "PPCSubtarget.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/CodeGen/MacroFusion.h"
#include "llvm/CodeGen/ScheduleDAGMutation.h"
#include <optional>
#include "PPCMacroFusion.def"

Go to the source code of this file.

Namespaces

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

Macros

#define FUSION_KIND(KIND)   FK_##KIND
 
#define FUSION_FEATURE(KIND, HAS_FEATURE, DEP_OP_IDX, OPSET1, OPSET2)    FUSION_KIND(KIND),
 
#define FUSION_FEATURE(KIND, HAS_FEATURE, DEP_OP_IDX, OPSET1, OPSET2)
 

Functions

std::unique_ptr< ScheduleDAGMutationllvm::createPowerPCMacroFusionDAGMutation ()
 Note that you have to add: DAG.addMutation(createPowerPCMacroFusionDAGMutation()); to PPCPassConfig::createMachineScheduler() to have an effect.
 

Macro Definition Documentation

◆ FUSION_FEATURE [1/2]

#define FUSION_FEATURE (   KIND,
  HAS_FEATURE,
  DEP_OP_IDX,
  OPSET1,
  OPSET2 
)     FUSION_KIND(KIND),

Definition at line 30 of file PPCMacroFusion.cpp.

◆ FUSION_FEATURE [2/2]

#define FUSION_FEATURE (   KIND,
  HAS_FEATURE,
  DEP_OP_IDX,
  OPSET1,
  OPSET2 
)
Value:
{ \
FusionFeature::FUSION_KIND(KIND), ST.HAS_FEATURE(), DEP_OP_IDX, { OPSET1 },\
{ OPSET2 } },
#define KIND(ENUM, FIELD)
Definition: LVSupport.h:96

Definition at line 30 of file PPCMacroFusion.cpp.

◆ FUSION_KIND

#define FUSION_KIND (   KIND)    FK_##KIND

Definition at line 29 of file PPCMacroFusion.cpp.