LLVM: lib/Support/KnownFPClass.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

16

17using namespace llvm;

18

19

20

24

29

34

39

42 return false;

43

44

46 return true;

47

48 switch (Mode.Input) {

50 return true;

52

55 default:

56

57 return false;

58 }

59

61}

62

66

67

68 if (!Src.isKnownNeverPosZero() && !Src.isKnownNeverNegZero())

69 return;

70

71

72 if (Src.isKnownNeverSubnormal())

73 return;

74

77

81

87 }

88}

89

static bool inputDenormalIsIEEE(DenormalMode Mode)

Return true if it's possible to assume IEEE treatment of input denormals in F for Val.

Definition KnownFPClass.cpp:21

static bool inputDenormalIsIEEEOrPosZero(DenormalMode Mode)

Definition KnownFPClass.cpp:25

static cl::opt< RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode > Mode("regalloc-enable-advisor", cl::Hidden, cl::init(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default), cl::desc("Enable regalloc advisor mode"), cl::values(clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default, "default", "Default"), clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Release, "release", "precompiled"), clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Development, "development", "for training")))

#define llvm_unreachable(msg)

Marks that the current location is not supposed to be reachable.

This is an optimization pass for GlobalISel generic memory operations.

Represent subnormal handling kind for floating point instruction inputs and outputs.

@ PreserveSign

The sign of a flushed-to-zero number is preserved in the sign of 0.

@ PositiveZero

Denormals are flushed to positive zero.

@ Dynamic

Denormals have unknown treatment.

@ IEEE

IEEE-754 denormal numbers preserved.

static constexpr DenormalMode getPositiveZero()

static constexpr DenormalMode getIEEE()

FPClassTest KnownFPClasses

Floating-point classes the value could be one of.

bool isKnownNeverZero() const

Return true if it's known this can never be a zero.

bool isKnownNeverSubnormal() const

Return true if it's known this can never be a subnormal.

LLVM_ABI bool isKnownNeverLogicalZero(DenormalMode Mode) const

Return true if it's know this can never be interpreted as a zero.

Definition KnownFPClass.cpp:30

LLVM_ABI void propagateDenormal(const KnownFPClass &Src, DenormalMode Mode)

Propagate knowledge from a source value that could be a denormal or zero.

Definition KnownFPClass.cpp:63

bool isKnownNeverNegSubnormal() const

Return true if it's known this can never be a negative subnormal.

bool isKnownNeverPosZero() const

Return true if it's known this can never be a literal positive zero.

bool isKnownNeverNegZero() const

Return true if it's known this can never be a negative zero.

void propagateNaN(const KnownFPClass &Src, bool PreserveSign=false)

LLVM_ABI void propagateCanonicalizingSrc(const KnownFPClass &Src, DenormalMode Mode)

Report known classes if Src is evaluated through a potentially canonicalizing operation.

Definition KnownFPClass.cpp:90

LLVM_ABI bool isKnownNeverLogicalPosZero(DenormalMode Mode) const

Return true if it's know this can never be interpreted as a positive zero.

Definition KnownFPClass.cpp:40

LLVM_ABI bool isKnownNeverLogicalNegZero(DenormalMode Mode) const

Return true if it's know this can never be interpreted as a negative zero.

Definition KnownFPClass.cpp:35

bool isKnownNeverPosSubnormal() const

Return true if it's known this can never be a positive subnormal.