LLVM 22.0.0git
FPEnv.cpp File Reference

This file contains the implementations of entities that describe floating point environment. More...

#include "llvm/IR/FPEnv.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include <optional>
#include "llvm/IR/ConstrainedOps.def"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Macros

#define INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC)
#define FUNCTION(NAME, NARG, ROUND_MODE, INTRINSIC)
#define CMP_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN)
#define FUNCTION(NAME, NARG, ROUND_MODE, INTRINSIC)
#define INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC)
#define CMP_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN)

Functions

LLVM_ABI std::optional< RoundingModellvm::convertStrToRoundingMode (StringRef)
 Returns a valid RoundingMode enumerator when given a string that is valid as input in constrained intrinsic rounding mode metadata.
LLVM_ABI std::optional< StringRefllvm::convertRoundingModeToStr (RoundingMode)
 For any RoundingMode enumerator, returns a string valid as input in constrained intrinsic rounding mode metadata.
LLVM_ABI std::optional< fp::ExceptionBehaviorllvm::convertStrToExceptionBehavior (StringRef)
 Returns a valid ExceptionBehavior enumerator when given a string valid as input in constrained intrinsic exception behavior metadata.
LLVM_ABI std::optional< StringRefllvm::convertExceptionBehaviorToStr (fp::ExceptionBehavior)
 For any ExceptionBehavior enumerator, returns a string valid as input in constrained intrinsic exception behavior metadata.
LLVM_ABI Intrinsic::ID llvm::getConstrainedIntrinsicID (const Instruction &Instr)
 Returns constrained intrinsic id to represent the given instruction in strictfp function.

Detailed Description

This file contains the implementations of entities that describe floating point environment.

Definition in file FPEnv.cpp.

Macro Definition Documentation

◆ CMP_INSTRUCTION [1/2]

#define CMP_INSTRUCTION ( NAME,
NARG,
ROUND_MODE,
INTRINSIC,
DAGN )

◆ CMP_INSTRUCTION [2/2]

#define CMP_INSTRUCTION ( NAME,
NARG,
ROUND_MODE,
INTRINSIC,
DAGN )

◆ FUNCTION [1/2]

◆ FUNCTION [2/2]

#define FUNCTION ( NAME,
NARG,
ROUND_MODE,
INTRINSIC )
Value:
case Intrinsic::NAME: \
IID = Intrinsic::INTRINSIC; \
break;

◆ INSTRUCTION [1/2]

#define INSTRUCTION ( NAME,
NARG,
ROUND_MODE,
INTRINSIC )
Value:
case Instruction::NAME: \
IID = Intrinsic::INTRINSIC; \
break;

◆ INSTRUCTION [2/2]

#define INSTRUCTION ( NAME,
NARG,
ROUND_MODE,
INTRINSIC )