struct DivRemPairWorklistEntry
Declaration
struct DivRemPairWorklistEntry { /* full declaration omitted */ };
Description
A thin wrapper to store two values that we matched as div-rem pair. We want this extra indirection to avoid dealing with RAUW'ing the map keys.
Declared at: llvm/lib/Transforms/Scalar/DivRemPairs.cpp:76
Member Variables
- public AssertingVH<llvm::Instruction> DivInst
- The actual udiv/sdiv instruction. Source of truth.
- public AssertingVH<llvm::Instruction> RemInst
- The instruction that we have matched as a remainder instruction. Should only be used as Value, don't introspect it.
Method Overview
- public DivRemPairWorklistEntry(llvm::Instruction * DivInst_, llvm::Instruction * RemInst_)
- public llvm::Value * getDividend() const
- public llvm::Value * getDivisor() const
- public llvm::Type * getType() const
- public bool isRemExpanded() const
- public bool isSigned() const
Methods
¶DivRemPairWorklistEntry(
llvm::Instruction* DivInst_,
llvm::Instruction* RemInst_)
DivRemPairWorklistEntry(
llvm::Instruction* DivInst_,
llvm::Instruction* RemInst_)
Declared at: llvm/lib/Transforms/Scalar/DivRemPairs.cpp:84
Parameters
- llvm::Instruction* DivInst_
- llvm::Instruction* RemInst_
¶llvm::Value* getDividend() const
llvm::Value* getDividend() const
Description
In this pair, what are the divident and divisor?
Declared at: llvm/lib/Transforms/Scalar/DivRemPairs.cpp:101
¶llvm::Value* getDivisor() const
llvm::Value* getDivisor() const
Declared at: llvm/lib/Transforms/Scalar/DivRemPairs.cpp:102
¶llvm::Type* getType() const
llvm::Type* getType() const
Description
The type for this pair, identical for both the div and rem.
Declared at: llvm/lib/Transforms/Scalar/DivRemPairs.cpp:95
¶bool isRemExpanded() const
bool isRemExpanded() const
Declared at: llvm/lib/Transforms/Scalar/DivRemPairs.cpp:104
¶bool isSigned() const
bool isSigned() const
Description
Is this pair signed or unsigned?
Declared at: llvm/lib/Transforms/Scalar/DivRemPairs.cpp:98