1 //===-- RegisterValue.h -----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
12 /// Defines a Target independent value for a Register. This is useful to explore
13 /// the influence of the instruction input values on its execution time.
15 //===----------------------------------------------------------------------===//
17 #include <llvm/ADT/APFloat.h>
21 enum class PredefinedValues
{
22 POS_ZERO
, // Positive zero
23 NEG_ZERO
, // Negative zero
28 ULP
, // One Unit in the last place
29 SMALLEST
= ULP
, // The minimum subnormal number
30 SMALLEST_NORM
, // The minimum normal number
31 LARGEST
, // The maximum normal number
32 ONE_PLUS_ULP
, // The value just after 1.0
35 llvm::APInt
bitcastFloatValue(const llvm::fltSemantics
&FltSemantics
,
36 PredefinedValues Value
);
38 } // namespace exegesis