From e3b557809604d036af6e00c60f012c2025b59a5e Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 11 Feb 2023 13:38:04 +0100 Subject: Vendor import of llvm-project main llvmorg-16-init-18548-gb0daacf58f41, the last commit before the upstream release/17.x branch was created. --- llvm/lib/Transforms/Utils/Evaluator.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'llvm/lib/Transforms/Utils/Evaluator.cpp') diff --git a/llvm/lib/Transforms/Utils/Evaluator.cpp b/llvm/lib/Transforms/Utils/Evaluator.cpp index 7509fde6df9d..dc58bebd724b 100644 --- a/llvm/lib/Transforms/Utils/Evaluator.cpp +++ b/llvm/lib/Transforms/Utils/Evaluator.cpp @@ -132,7 +132,7 @@ Constant *Evaluator::MutableValue::read(Type *Ty, APInt Offset, const MutableValue *V = this; while (const auto *Agg = V->Val.dyn_cast()) { Type *AggTy = Agg->Ty; - Optional Index = DL.getGEPIndexForOffset(AggTy, Offset); + std::optional Index = DL.getGEPIndexForOffset(AggTy, Offset); if (!Index || Index->uge(Agg->Elements.size()) || !TypeSize::isKnownLE(TySize, DL.getTypeStoreSize(AggTy))) return nullptr; @@ -176,7 +176,7 @@ bool Evaluator::MutableValue::write(Constant *V, APInt Offset, MutableAggregate *Agg = MV->Val.get(); Type *AggTy = Agg->Ty; - Optional Index = DL.getGEPIndexForOffset(AggTy, Offset); + std::optional Index = DL.getGEPIndexForOffset(AggTy, Offset); if (!Index || Index->uge(Agg->Elements.size()) || !TypeSize::isKnownLE(TySize, DL.getTypeStoreSize(AggTy))) return false; @@ -626,10 +626,8 @@ bool Evaluator::EvaluateFunction(Function *F, Constant *&RetVal, CallStack.push_back(F); // Initialize arguments to the incoming values specified. - unsigned ArgNo = 0; - for (Function::arg_iterator AI = F->arg_begin(), E = F->arg_end(); AI != E; - ++AI, ++ArgNo) - setVal(&*AI, ActualArgs[ArgNo]); + for (const auto &[ArgNo, Arg] : llvm::enumerate(F->args())) + setVal(&Arg, ActualArgs[ArgNo]); // ExecutedBlocks - We only handle non-looping, non-recursive code. As such, // we can only evaluate any one basic block at most once. This set keeps -- cgit v1.2.3