[llvm] 2e194fe - [SCEV] Still trying to fix windows buildbots
Serge Pavlov via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 24 03:09:53 PDT 2020
*Prior* to this commit I could build using the following change:
diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
b/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
index 0327dc1b9fb..d8ee3d5f115 100644
--- a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
+++ b/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
@@ -291,7 +291,7 @@ class Type;
return i == 0 ? getLHS() : getRHS();
}
- using op_iterator = const SCEV *const *;
+ using op_iterator = std::array<const SCEV *, 2>::const_iterator;
using op_range = iterator_range<op_iterator>;
op_range operands() const {
return make_range(Operands.begin(), Operands.end());
Thanks,
--Serge
On Mon, Aug 24, 2020 at 4:29 PM Sam Parker via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
>
> Author: Sam Parker
> Date: 2020-08-24T10:26:48+01:00
> New Revision: 2e194fe73b6fe639aaf1f71a3cd6bd7eeb894656
>
> URL:
> https://github.com/llvm/llvm-project/commit/2e194fe73b6fe639aaf1f71a3cd6bd7eeb894656
> DIFF:
> https://github.com/llvm/llvm-project/commit/2e194fe73b6fe639aaf1f71a3cd6bd7eeb894656.diff
>
> LOG: [SCEV] Still trying to fix windows buildbots
>
> Added:
>
>
> Modified:
> llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
> llvm/lib/Analysis/ScalarEvolution.cpp
>
> Removed:
>
>
>
>
> ################################################################################
> diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
> b/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
> index 41df158f5de7..0327dc1b9fb0 100644
> --- a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
> +++ b/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
> @@ -74,25 +74,23 @@ class Type;
> /// This is the base class for unary cast operator classes.
> class SCEVCastExpr : public SCEV {
> protected:
> - const SCEV *const Op;
> + std::array<const SCEV *, 1> Operands;
> Type *Ty;
>
> SCEVCastExpr(const FoldingSetNodeIDRef ID,
> unsigned SCEVTy, const SCEV *op, Type *ty);
>
> public:
> - const SCEV *getOperand() const { return Op; }
> + const SCEV *getOperand() const { return Operands[0]; }
> const SCEV *getOperand(unsigned i) const {
> assert(i == 0 && "Operand index out of range!");
> - return Op;
> + return Operands[0];
> }
> using op_iterator = const SCEV *const *;
> using op_range = iterator_range<op_iterator>;
>
> - op_iterator op_begin() const { return &Op; }
> - op_iterator op_end() const { return &Op + 1; }
> op_range operands() const {
> - return make_range(op_begin(), op_end());
> + return make_range(Operands.begin(), Operands.end());
> }
> size_t getNumOperands() const { return 1; }
> Type *getType() const { return Ty; }
>
> diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp
> b/llvm/lib/Analysis/ScalarEvolution.cpp
> index 75d2d39e7114..9c9b9c53c939 100644
> --- a/llvm/lib/Analysis/ScalarEvolution.cpp
> +++ b/llvm/lib/Analysis/ScalarEvolution.cpp
> @@ -447,26 +447,28 @@ ScalarEvolution::getConstant(Type *Ty, uint64_t V,
> bool isSigned) {
>
> SCEVCastExpr::SCEVCastExpr(const FoldingSetNodeIDRef ID,
> unsigned SCEVTy, const SCEV *op, Type *ty)
> - : SCEV(ID, SCEVTy, computeExpressionSize(op)), Op(op), Ty(ty) {}
> + : SCEV(ID, SCEVTy, computeExpressionSize(op)), Ty(ty) {
> + Operands[0] = op;
> +}
>
> SCEVTruncateExpr::SCEVTruncateExpr(const FoldingSetNodeIDRef ID,
> const SCEV *op, Type *ty)
> : SCEVCastExpr(ID, scTruncate, op, ty) {
> - assert(Op->getType()->isIntOrPtrTy() && Ty->isIntOrPtrTy() &&
> + assert(getOperand()->getType()->isIntOrPtrTy() && Ty->isIntOrPtrTy() &&
> "Cannot truncate non-integer value!");
> }
>
> SCEVZeroExtendExpr::SCEVZeroExtendExpr(const FoldingSetNodeIDRef ID,
> const SCEV *op, Type *ty)
> : SCEVCastExpr(ID, scZeroExtend, op, ty) {
> - assert(Op->getType()->isIntOrPtrTy() && Ty->isIntOrPtrTy() &&
> + assert(getOperand()->getType()->isIntOrPtrTy() && Ty->isIntOrPtrTy() &&
> "Cannot zero extend non-integer value!");
> }
>
> SCEVSignExtendExpr::SCEVSignExtendExpr(const FoldingSetNodeIDRef ID,
> const SCEV *op, Type *ty)
> : SCEVCastExpr(ID, scSignExtend, op, ty) {
> - assert(Op->getType()->isIntOrPtrTy() && Ty->isIntOrPtrTy() &&
> + assert(getOperand()->getType()->isIntOrPtrTy() && Ty->isIntOrPtrTy() &&
> "Cannot sign extend non-integer value!");
> }
>
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200824/6d24ef20/attachment-0001.html>
More information about the llvm-commits
mailing list