diff options
Diffstat (limited to 'include/llvm/Analysis/TargetTransformInfo.h')
| -rw-r--r-- | include/llvm/Analysis/TargetTransformInfo.h | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/include/llvm/Analysis/TargetTransformInfo.h b/include/llvm/Analysis/TargetTransformInfo.h index c20f20cfbe4d1..cecd8958e9d92 100644 --- a/include/llvm/Analysis/TargetTransformInfo.h +++ b/include/llvm/Analysis/TargetTransformInfo.h @@ -646,6 +646,9 @@ public:    /// \brief Additional properties of an operand's values.    enum OperandValueProperties { OP_None = 0, OP_PowerOf2 = 1 }; +  /// \return True if target can execute instructions out of order. +  bool isOutOfOrder() const; +    /// \return The number of scalar or vector registers that the target has.    /// If 'Vectors' is true, it returns the number of vector registers. If it is    /// set to false, it returns the number of scalar registers. @@ -1018,6 +1021,7 @@ public:                              Type *Ty) = 0;    virtual int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,                              Type *Ty) = 0; +  virtual bool isOutOfOrder() const = 0;    virtual unsigned getNumberOfRegisters(bool Vector) = 0;    virtual unsigned getRegisterBitWidth(bool Vector) const = 0;    virtual unsigned getMinVectorRegisterBitWidth() = 0; @@ -1295,6 +1299,9 @@ public:                      Type *Ty) override {      return Impl.getIntImmCost(IID, Idx, Imm, Ty);    } +  bool isOutOfOrder() const override { +    return Impl.isOutOfOrder(); +  }    unsigned getNumberOfRegisters(bool Vector) override {      return Impl.getNumberOfRegisters(Vector);    } | 
