LLVM 20.0.0git
|
This contains common combine transformations that may be used in a combine pass,or by the target elsewhere. More...
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/GlobalISel/GenericMachineInstrs.h"
#include "llvm/CodeGen/GlobalISel/Utils.h"
#include "llvm/CodeGen/Register.h"
#include "llvm/CodeGenTypes/LowLevelType.h"
#include "llvm/IR/InstrTypes.h"
#include <functional>
Go to the source code of this file.
Classes | |
struct | llvm::PreferredTuple |
struct | llvm::IndexedLoadStoreMatchInfo |
struct | llvm::PtrAddChain |
struct | llvm::RegisterImmPair |
struct | llvm::ShiftOfShiftedLogic |
struct | llvm::InstructionBuildSteps |
struct | llvm::InstructionStepsMatchInfo |
class | llvm::CombinerHelper |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Typedefs | |
using | llvm::BuildFnTy = std::function< void(MachineIRBuilder &)> |
using | llvm::OperandBuildSteps = SmallVector< std::function< void(MachineInstrBuilder &)>, 4 > |
This contains common combine transformations that may be used in a combine pass,or by the target elsewhere.
Targets can pick individual opcode transformations from the helper or use tryCombine which invokes all transformations. All of the transformations return true if the MachineInstruction changed and false otherwise.
Definition in file CombinerHelper.h.