LLVM 20.0.0git
Functions | Variables
TargetInstrInfo.cpp File Reference
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/CodeGen/MachineCombinerPattern.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/MachineScheduler.h"
#include "llvm/CodeGen/MachineTraceMetrics.h"
#include "llvm/CodeGen/PseudoSourceValue.h"
#include "llvm/CodeGen/ScoreboardHazardRecognizer.h"
#include "llvm/CodeGen/StackMaps.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSchedule.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCInstrItineraries.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"

Go to the source code of this file.

Functions

static bool isAsmComment (const char *Str, const MCAsmInfo &MAI)
 
static const TargetRegisterClasscanFoldCopy (const MachineInstr &MI, const TargetInstrInfo &TII, unsigned FoldIdx)
 
static MachineInstrfoldPatchpoint (MachineFunction &MF, MachineInstr &MI, ArrayRef< unsigned > Ops, int FrameIndex, const TargetInstrInfo &TII)
 
static void foldInlineAsmMemOperand (MachineInstr *MI, unsigned OpNo, int FI, const TargetInstrInfo &TII)
 
static MachineInstrfoldInlineAsmMemOperand (MachineInstr &MI, ArrayRef< unsigned > Ops, int FI, const TargetInstrInfo &TII)
 
static void transferImplicitOperands (MachineInstr *MI, const TargetRegisterInfo *TRI)
 transferImplicitOperands - MI is a pseudo-instruction, and the lowered replacement instructions immediately precede it.
 
static std::pair< bool, boolmustSwapOperands (unsigned Pattern)
 

Variables

static cl::opt< boolDisableHazardRecognizer ("disable-sched-hazard", cl::Hidden, cl::init(false), cl::desc("Disable hazard detection during preRA scheduling"))
 

Function Documentation

◆ canFoldCopy()

static const TargetRegisterClass * canFoldCopy ( const MachineInstr MI,
const TargetInstrInfo TII,
unsigned  FoldIdx 
)
static

◆ foldInlineAsmMemOperand() [1/2]

static MachineInstr * foldInlineAsmMemOperand ( MachineInstr MI,
ArrayRef< unsigned Ops,
int  FI,
const TargetInstrInfo TII 
)
static

◆ foldInlineAsmMemOperand() [2/2]

static void foldInlineAsmMemOperand ( MachineInstr MI,
unsigned  OpNo,
int  FI,
const TargetInstrInfo TII 
)
static

◆ foldPatchpoint()

static MachineInstr * foldPatchpoint ( MachineFunction MF,
MachineInstr MI,
ArrayRef< unsigned Ops,
int  FrameIndex,
const TargetInstrInfo TII 
)
static

◆ isAsmComment()

static bool isAsmComment ( const char Str,
const MCAsmInfo MAI 
)
static

◆ mustSwapOperands()

static std::pair< bool, bool > mustSwapOperands ( unsigned  Pattern)
static

◆ transferImplicitOperands()

static void transferImplicitOperands ( MachineInstr MI,
const TargetRegisterInfo TRI 
)
static

transferImplicitOperands - MI is a pseudo-instruction, and the lowered replacement instructions immediately precede it.

Copy any implicit operands from MI to the replacement instruction.

Definition at line 782 of file TargetInstrInfo.cpp.

References MI, and TRI.

Referenced by llvm::TargetInstrInfo::lowerCopy().

Variable Documentation

◆ DisableHazardRecognizer

cl::opt< bool > DisableHazardRecognizer("disable-sched-hazard", cl::Hidden, cl::init(false), cl::desc("Disable hazard detection during preRA scheduling")) ( "disable-sched-hazard"  ,
cl::Hidden  ,
cl::init(false)  ,
cl::desc("Disable hazard detection during preRA scheduling")   
)
static