Flush a floating‐point constant according to the parent function's denormal mode.
Synopsis
Declared in <llvm/Analysis/ConstantFolding.h>
Constant*
FlushFPConstant(
Constant* Operand,
Instruction const* I,
bool IsOutput);
Description
If so, return a zero with the correct sign, otherwise return the original constant. Inputs and outputs to floating point instructions can have their mode set separately, so the direction is also needed.
If the calling function's denormal_fpenv input mode is dynamic for the floating‐point type, returns nullptr for denormal inputs.
Return Value
A correctly signed zero if flushed, Operand otherwise, or null for denormal inputs under a dynamic denormal_fpenv mode.
Parameters
Name |
Description |
Operand |
Floating‐point constant to possibly flush. |
I |
Instruction whose parent function supplies denormal mode. |
IsOutput |
True if flushing an output; false if flushing an input. |
Created with MrDocs