class OverflowingBinaryOperator

Declaration

class OverflowingBinaryOperator : public Operator { /* full declaration omitted */ };

Description

Utility class for integer operators which may exhibit overflow - Add, Sub, Mul, and Shl. It does not include SDiv, despite that operator having the potential for overflow.

Declared at: llvm/include/llvm/IR/Operator.h:66

Inherits from: Operator

Member Variables

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 29
public static MaximumAlignment = 1U << MaxAlignmentExponent

Method Overview

Inherited from Operator:

Inherited from User:

Inherited from Value:

Methods

static bool classof(const llvm::Instruction* I)

Declared at: llvm/include/llvm/IR/Operator.h:100

Parameters

const llvm::Instruction* I

static bool classof(const llvm::ConstantExpr* CE)

Declared at: llvm/include/llvm/IR/Operator.h:106

Parameters

const llvm::ConstantExpr* CE

static bool classof(const llvm::Value* V)

Declared at: llvm/include/llvm/IR/Operator.h:112

Parameters

const llvm::Value* V

bool hasNoSignedWrap() const

Description

Test whether this operation is known to never undergo signed overflow, aka the nsw property.

Declared at: llvm/include/llvm/IR/Operator.h:96

bool hasNoUnsignedWrap() const

Description

Test whether this operation is known to never undergo unsigned overflow, aka the nuw property.

Declared at: llvm/include/llvm/IR/Operator.h:90