14#ifndef LLVM_CODEGEN_GLOBALISEL_LOADSTOREOPT_H
15#define LLVM_CODEGEN_GLOBALISEL_LOADSTOREOPT_H
39 std::optional<int64_t> Offset;
49 void setOffset(std::optional<int64_t> NewOff) { Offset = NewOff; }
This header defines various interfaces for pass management in LLVM.
This file declares the MachineIRBuilder class.
Represent the analysis usage information of a pass.
Helper struct to parse and store a memory address as base + index + offset.
Register getIndex() const
void setOffset(std::optional< int64_t > NewOff)
int64_t getOffset() const
BaseIndexOffset()=default
bool hasValidOffset() const
void setIndex(Register NewIndex)
void setBase(Register NewBase)
MachineFunctionProperties getRequiredProperties() const override
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
MachineFunctionProperties getRequiredProperties() const
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
MachineFunctionPass(char &ID)
Properties which a MachineFunction may have at a given point in time.
Representation of each machine instruction.
MachineRegisterInfo - Keep track of information for virtual and physical registers,...
A set of analyses that are preserved following a run of a transformation pass.
Wrapper class representing virtual and physical registers.
Represent a constant reference to a string, i.e.
This class defines information used to lower LLVM code to legal SelectionDAG operators that the targe...
Abstract Attribute helper functions.
LLVM_ABI bool aliasIsKnownForLoadStore(const MachineInstr &MI1, const MachineInstr &MI2, bool &IsAlias, MachineRegisterInfo &MRI)
Compute whether or not a memory access at MI1 aliases with an access at MI2.
LLVM_ABI BaseIndexOffset getPointerInfo(Register Ptr, MachineRegisterInfo &MRI)
Returns a BaseIndexOffset which describes the pointer in Ptr.
LLVM_ABI bool instMayAlias(const MachineInstr &MI, const MachineInstr &Other, MachineRegisterInfo &MRI, AliasAnalysis *AA)
Returns true if the instruction MI may alias Other.
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
AAResults AliasAnalysis
Temporary typedef for legacy code that uses a generic AliasAnalysis pointer or reference.
The LegalityQuery object bundles together all the information that's needed to decide whether a given...
A CRTP mix-in for passes that should not be skipped.