retdec
special_fp_analysis.h
Go to the documentation of this file.
1 
8 #ifndef RETDEC_LLVMIR2HLL_ANALYSIS_SPECIAL_FP_ANALYSIS_H
9 #define RETDEC_LLVMIR2HLL_ANALYSIS_SPECIAL_FP_ANALYSIS_H
10 
14 
15 namespace retdec {
16 namespace llvmir2hll {
17 
18 class ConstFloat;
19 class Module;
20 
30 public:
31  static bool hasSpecialFP(ShPtr<Module> module);
32 
33 private:
34  explicit SpecialFPAnalysis();
35 
39  virtual void visit(ShPtr<ConstFloat> constant) override;
41 
42 private:
45 };
46 
47 } // namespace llvmir2hll
48 } // namespace retdec
49 
50 #endif
A visitor that visits everything in an ordered way.
Definition: ordered_all_visitor.h:44
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
A visitor for obtaining information whether a special floating-point value is used in a module.
Definition: special_fp_analysis.h:29
bool specialFPFound
Is a special floating-point value used in the module?
Definition: special_fp_analysis.h:44
SpecialFPAnalysis()
Constructs a new visitor.
Definition: special_fp_analysis.cpp:23
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
static bool hasSpecialFP(ShPtr< Module > module)
Returns true if module uses a special floating-point value, like infinity, false otherwise.
Definition: special_fp_analysis.cpp:30
A mixin to make classes non-copyable.
Definition: non_copyable.h:27
ShPtr< Module > module
The current module.
Definition: hll_writer.cpp:100
A library providing API for working with back-end IR.
std::shared_ptr< T > ShPtr
An alias for a shared pointer.
Definition: smart_ptr.h:18
Definition: archive_wrapper.h:19
A mixin to make classes non-copyable.
A visitor that visits everything in an ordered way.
Declarations, aliases, macros, etc. for the use of smart pointers.