From 35fa43907e2ea751ad35bfbaab8c4d3511422c14 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Thu, 1 Mar 2007 22:28:51 +0000 Subject: [PATCH] Make it possible to create an SCEVUnknown from an APInt as well as an int. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34816 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/ScalarEvolutionExpressions.h | 2 ++ lib/Analysis/ScalarEvolution.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/include/llvm/Analysis/ScalarEvolutionExpressions.h b/include/llvm/Analysis/ScalarEvolutionExpressions.h index b9bf93b8c79..af795377c2b 100644 --- a/include/llvm/Analysis/ScalarEvolutionExpressions.h +++ b/include/llvm/Analysis/ScalarEvolutionExpressions.h @@ -19,6 +19,7 @@ namespace llvm { class ConstantInt; class ConstantRange; + class APInt; enum SCEVTypes { // These should be ordered in terms of increasing complexity to make the @@ -463,6 +464,7 @@ namespace llvm { /// getIntegerSCEV - Given an integer or FP type, create a constant for the /// specified signed integer value and return a SCEV for the constant. static SCEVHandle getIntegerSCEV(int Val, const Type *Ty); + static SCEVHandle getIntegerSCEV(const APInt& Val); Value *getValue() const { return V; } diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index f0a44c774d0..52b0af4e14c 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -460,6 +460,10 @@ SCEVHandle SCEVUnknown::getIntegerSCEV(int Val, const Type *Ty) { return SCEVUnknown::get(C); } +SCEVHandle SCEVUnknown::getIntegerSCEV(const APInt& Val) { + return SCEVUnknown::get(ConstantInt::get(Val)); +} + /// getTruncateOrZeroExtend - Return a SCEV corresponding to a conversion of the /// input value to the specified type. If the type must be extended, it is zero /// extended.