Go to the documentation of this file.
9 #ifndef LLVM_LINKER_IRMOVER_H
10 #define LLVM_LINKER_IRMOVER_H
26 struct StructTypeKeyInfo {
37 static unsigned getHashValue(
const KeyTy &
Key);
77 bool IsPerformingImport);
82 IdentifiedStructTypeSet IdentifiedStructTypes;
This class represents lattice values for constants.
ArrayRef< Type * > ETypes
This currently compiles esp xmm0 movsd esp eax eax esp ret We should use not the dag combiner This is because dagcombine2 needs to be able to see through the X86ISD::Wrapper which DAGCombine can t really do The code for turning x load into a single vector load is target independent and should be moved to the dag combiner The code for turning x load into a vector load can only handle a direct load from a global or a direct load from the stack It should be generalized to handle any load from P
StructType * findNonOpaque(ArrayRef< Type * > ETypes, bool IsPacked)
void addNonOpaque(StructType *Ty)
bool isEqual(const GCNRPTracker::LiveRegSet &S1, const GCNRPTracker::LiveRegSet &S2)
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
KeyTy(ArrayRef< Type * > E, bool P)
bool operator==(const KeyTy &that) const
bool operator!=(const KeyTy &that) const
void addOpaque(StructType *Ty)
Reference model for inliner Oz decision policy Note that
bool hasType(StructType *Ty)
Implements a dense probed hash-table based set.
std::function< void(GlobalValue &)> ValueAdder
Error move(std::unique_ptr< Module > Src, ArrayRef< GlobalValue * > ValuesToLink, std::function< void(GlobalValue &GV, ValueAdder Add)> AddLazyFor, bool IsPerformingImport)
Move in the provide values in ValuesToLink from Src.
print Print MemDeps of function
A Module instance is used to store all the information related to an LLVM module.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Class to represent struct types.
Machine Check Debug Module
Lightweight error class with error context and mandatory checking.
void switchToNonOpaque(StructType *Ty)