diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2003-07-29 20:30:20 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2003-07-29 20:30:20 +0000 |
commit | 588668d4681bf928e09534c373b1bcf86757f899 (patch) | |
tree | fa84ff29af282029e949f546872fe6ee497823bf | |
parent | b3b0414c8788a82a6dbbbe0d9b71cb1a356dca1b (diff) |
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
-rw-r--r-- | include/llvm/Target/TargetInstrInfo.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h index 8e8e0c0899..604aa59d3d 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. |