LLVM  10.0.0svn
Classes | Namespaces | Macros | Functions | Variables
MachineFunction.cpp File Reference
#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/EHPersonalities.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/TargetFrameLowering.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/DebugInfoMetadata.h"
#include "llvm/IR/DerivedTypes.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/Debug.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>

Go to the source code of this file.

Classes

struct  llvm::DOTGraphTraits< const MachineFunction * >
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Macros

#define DEBUG_TYPE   "codegen"
 

Functions

static const chargetPropertyName (MachineFunctionProperties::Property Prop)
 
static unsigned 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. More...
 

Variables

static cl::opt< unsignedAlignAllFunctions ("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)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "codegen"

Definition at line 79 of file MachineFunction.cpp.

Function Documentation

◆ CanShareConstantPoolEntry()

static bool CanShareConstantPoolEntry ( const Constant A,
const Constant B,
const DataLayout DL 
)
static

Test whether the given two constants can be allocated the same constant pool entry.

Definition at line 1029 of file MachineFunction.cpp.

References B, llvm::ConstantFoldCastOperand(), llvm::IntegerType::get(), llvm::Value::getContext(), llvm::Value::getType(), and llvm::DataLayout::getTypeStoreSize().

Referenced by llvm::MachineConstantPool::getConstantPoolIndex().

◆ getFnStackAlignment()

static unsigned getFnStackAlignment ( const TargetSubtargetInfo STI,
const Function F 
)
inlinestatic

◆ getPropertyName()

static const char* getPropertyName ( MachineFunctionProperties::Property  Prop)
static

Definition at line 87 of file MachineFunction.cpp.

References llvm_unreachable, and P.

Variable Documentation

◆ AlignAllFunctions

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)
static