return static_cast<SubClass *>(this)->visitSymbolExpr(
expr.cast<AffineSymbolExpr>());
}
+ llvm_unreachable("Unknown AffineExpr");
}
//===--------------------------------------------------------------------===//
return *this;
return getAffineBinaryOpExpr(getKind(), newLHS, newRHS);
}
+ llvm_unreachable("Unknown AffineExpr");
}
/// Returns true if this expression is made out of only symbols and
expr.getRHS().isSymbolicOrConstant();
}
}
+ llvm_unreachable("Unknown AffineExpr");
}
/// Returns true if this is a pure affine expression, i.e., multiplication,
op.getRHS().template isa<AffineConstantExpr>();
}
}
+ llvm_unreachable("Unknown AffineExpr");
}
-/// Returns the greatest known integral divisor of this affine expression.
+// Returns the greatest known integral divisor of this affine expression.
uint64_t AffineExpr::getLargestKnownDivisor() const {
AffineBinaryOpExpr binExpr(nullptr);
switch (getKind()) {
binExpr.getRHS().getLargestKnownDivisor());
}
}
+ llvm_unreachable("Unknown AffineExpr");
}
bool AffineExpr::isMultipleOf(int64_t factor) const {
0;
}
}
+ llvm_unreachable("Unknown AffineExpr");
}
bool AffineExpr::isFunctionOfDim(unsigned position) const {
return attr.getInt();
return llvm::None;
}
+ llvm_unreachable("Unknown AffineExpr");
}
// TODO: Change these to operate on APInts too.
case DiagnosticSeverity::Remark:
return llvm::SourceMgr::DK_Remark;
}
+ llvm_unreachable("Unknown DiagnosticSeverity");
}
SourceMgrDiagnosticHandler::SourceMgrDiagnosticHandler(llvm::SourceMgr &mgr,
case DiagnosticSeverity::Remark:
return "remark";
}
+ llvm_unreachable("Unknown DiagnosticSeverity");
}
/// Returns the expected diagnostics for the given source file.
case SDBMExprKind::Constant:
return derived->visitConstant(expr.cast<SDBMConstantExpr>());
}
+ llvm_unreachable("Unknown SDBMExpr Kind");
}
protected:
case Value::Kind::OpResult:
return getDefiningOp()->getFunction();
}
+ llvm_unreachable("Unknown Value Kind");
}
Location Value::getLoc() {
case Value::Kind::OpResult:
return getDefiningOp()->getContainingRegion();
}
+ llvm_unreachable("Unknown Value Kind");
}
//===----------------------------------------------------------------------===//
llvm_unreachable("can't create affine expression for null high prec op");
return nullptr;
}
+ llvm_unreachable("Unknown AffineHighPrecOp");
}
/// Create an affine binary low precedence op expression (add, sub).
llvm_unreachable("can't create affine expression for null low prec op");
return nullptr;
}
+ llvm_unreachable("Unknown AffineLowPrecOp");
}
/// Consume this token if it is a lower precedence affine op (there are only