LLVM 20.0.0git
|
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Analysis/ConstantFolding.h"
#include "llvm/Analysis/ProfileSummaryInfo.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/PseudoSourceValue.h"
#include "llvm/CodeGen/PseudoSourceValueManager.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/CodeGen/WasmEHFuncInfo.h"
#include "llvm/CodeGen/WinEHFuncInfo.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/EHPersonalities.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ModuleSlotTracker.h"
#include "llvm/IR/Value.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/SectionKind.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/DOTGraphTraits.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/GraphWriter.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <string>
#include <utility>
#include <vector>
#include "LiveDebugValues/LiveDebugValues.h"
Go to the source code of this file.
Classes | |
struct | llvm::DOTGraphTraits< const MachineFunction * > |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | DEBUG_TYPE "codegen" |
Functions | |
static const char * | getPropertyName (MachineFunctionProperties::Property Prop) |
void | setUnsafeStackSize (const Function &F, MachineFrameInfo &FrameInfo) |
static Align | getFnStackAlignment (const TargetSubtargetInfo *STI, const Function &F) |
static bool | CanShareConstantPoolEntry (const Constant *A, const Constant *B, const DataLayout &DL) |
Test whether the given two constants can be allocated the same constant pool entry referenced by. | |
template<> | |
std::optional< Function::ProfileCount > | ProfileSummaryInfo::getEntryCount< llvm::MachineFunction > (const llvm::MachineFunction *F) const |
Exception Handling | |
static const MachineInstr * | getCallInstr (const MachineInstr *MI) |
Return the call machine instruction or find a call within bundle. | |
Variables | |
static cl::opt< unsigned > | AlignAllFunctions ("align-all-functions", cl::desc("Force the alignment of all functions in log2 format (e.g. 4 " "means align on 16B boundaries)."), cl::init(0), cl::Hidden) |
#define DEBUG_TYPE "codegen" |
Definition at line 82 of file MachineFunction.cpp.
|
static |
Test whether the given two constants can be allocated the same constant pool entry referenced by.
A. |
Definition at line 1462 of file MachineFunction.cpp.
References A, B, llvm::ConstantFoldCastOperand(), DL, and llvm::IntegerType::get().
Referenced by llvm::MachineConstantPool::getConstantPoolIndex().
|
static |
Return the call machine instruction or find a call within bundle.
Definition at line 923 of file MachineFunction.cpp.
References llvm::getBundleEnd(), llvm::getBundleStart(), llvm_unreachable, llvm::make_range(), and MI.
Referenced by llvm::MachineFunction::copyCallSiteInfo(), llvm::MachineFunction::eraseCallSiteInfo(), and llvm::MachineFunction::moveCallSiteInfo().
|
inlinestatic |
Definition at line 157 of file MachineFunction.cpp.
References F, llvm::TargetSubtargetInfo::getFrameLowering(), and llvm::TargetFrameLowering::getStackAlign().
|
static |
Definition at line 90 of file MachineFunction.cpp.
References llvm_unreachable, and P.
std::optional< Function::ProfileCount > ProfileSummaryInfo::getEntryCount< llvm::MachineFunction > | ( | const llvm::MachineFunction * | F | ) | const |
Definition at line 1550 of file MachineFunction.cpp.
void setUnsafeStackSize | ( | const Function & | F, |
MachineFrameInfo & | FrameInfo | ||
) |
Definition at line 112 of file MachineFunction.cpp.
References F, N, and llvm::MachineFrameInfo::setUnsafeStackSize().
|
static |