LLVM 19.0.0git
Classes | Namespaces | Typedefs
CustomBehaviour.h File Reference

This file defines the base class CustomBehaviour which can be inherited from by specific targets (ex. More...

#include "llvm/ADT/SmallVector.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MCA/SourceMgr.h"
#include "llvm/MCA/View.h"

Go to the source code of this file.

Classes

class  llvm::mca::InstrPostProcess
 Class which can be overriden by targets to modify the mca::Instruction objects before the pipeline starts. More...
 
class  llvm::mca::CustomBehaviour
 Class which can be overriden by targets to enforce instruction dependencies and behaviours that aren't expressed well enough within the scheduling model for mca to automatically simulate them properly. More...
 
class  llvm::mca::Instrument
 
class  llvm::mca::InstrumentManager
 This class allows targets to optionally customize the logic that resolves scheduling class IDs. More...
 

Namespaces

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

Typedefs

using llvm::mca::UniqueInstrument = std::unique_ptr< Instrument >
 

Detailed Description

This file defines the base class CustomBehaviour which can be inherited from by specific targets (ex.

llvm/tools/llvm-mca/lib/X86CustomBehaviour.h). CustomBehaviour is designed to enforce custom behaviour and dependencies within the llvm-mca pipeline simulation that llvm-mca isn't already capable of extracting from the Scheduling Models.

Definition in file CustomBehaviour.h.