From 32a76fc292d991408dc7276c75d35590799b2132 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 4 Jul 2022 14:56:23 +0200 Subject: [PATCH] [SCEVExpander] Avoid ConstantExpr::get() (NFCI) Use ConstantFoldBinaryOpOperands() instead. This will be important when not all binops have constant expression variants. --- llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp b/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp index 401f1ee..0c8bf38 100644 --- a/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp +++ b/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp @@ -220,7 +220,8 @@ Value *SCEVExpander::InsertBinop(Instruction::BinaryOps Opcode, // Fold a binop with constant operands. if (Constant *CLHS = dyn_cast(LHS)) if (Constant *CRHS = dyn_cast(RHS)) - return ConstantExpr::get(Opcode, CLHS, CRHS); + if (Constant *Res = ConstantFoldBinaryOpOperands(Opcode, CLHS, CRHS, DL)) + return Res; // Do a quick scan to see if we have this binop nearby. If so, reuse it. unsigned ScanLimit = 6; -- 2.7.4