From 588668d4681bf928e09534c373b1bcf86757f899 Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Tue, 29 Jul 2003 20:30:20 +0000 Subject: [PATCH] Unify all constant evaluations that depend on register size in TargetInstrInfo::ConvertConstantToIntType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7398 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetInstrInfo.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h index 8e8e0c08992..604aa59d3db 100644 --- a/include/llvm/Target/TargetInstrInfo.h +++ b/include/llvm/Target/TargetInstrInfo.h @@ -14,6 +14,7 @@ class MachineInstr; class TargetMachine; class Value; +class Type; class Instruction; class Constant; class Function; @@ -300,6 +301,21 @@ public: // virtual MachineOpCode getNOPOpCode() const { abort(); } + // Get the value of an integral constant in the form that must + // be put into the machine register. The specified constant is interpreted + // as (i.e., converted if necessary to) the specified destination type. The + // result is always returned as an uint64_t, since the representation of + // int64_t and uint64_t are identical. The argument can be any known const. + // + // isValidConstant is set to true if a valid constant was found. + // + virtual uint64_t ConvertConstantToIntType(const TargetMachine &target, + const Value *V, + const Type *destType, + bool &isValidConstant) const { + abort(); + } + // Create an instruction sequence to put the constant `val' into // the virtual register `dest'. `val' may be a Constant or a // GlobalValue, viz., the constant address of a global variable or function.