retdec
aggressive_global_to_local_optimizer.h
Go to the documentation of this file.
1 
8 #ifndef RETDEC_LLVMIR2HLL_OPTIMIZER_OPTIMIZERS_AGGRESSIVE_GLOBAL_TO_LOCAL_OPTIMIZER_H
9 #define RETDEC_LLVMIR2HLL_OPTIMIZER_OPTIMIZERS_AGGRESSIVE_GLOBAL_TO_LOCAL_OPTIMIZER_H
10 
13 
14 namespace retdec {
15 namespace llvmir2hll {
16 
30 public:
32 
33  virtual std::string getId() const override { return "AggressiveGlobalToLocal"; }
34 
35 private:
36  virtual void doOptimization() override;
37 
39 };
40 
41 } // namespace llvmir2hll
42 } // namespace retdec
43 
44 #endif
Converts all global variables without a name from debug information to local variables.
Definition: aggressive_global_to_local_optimizer.h:29
virtual void doOptimization() override
Performs the optimization.
Definition: aggressive_global_to_local_optimizer.cpp:31
virtual std::string getId() const override
Returns the ID of the optimizer.
Definition: aggressive_global_to_local_optimizer.h:33
void convertGlobalVarsToLocalVars()
Converts all global variables to local variables.
Definition: aggressive_global_to_local_optimizer.cpp:38
AggressiveGlobalToLocalOptimizer(ShPtr< Module > module)
Constructs a new optimizer.
Definition: aggressive_global_to_local_optimizer.cpp:26
A base class of all optimizers.
Definition: optimizer.h:43
ShPtr< Module > module
The module that is being optimized.
Definition: optimizer.h:79
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 base class of all optimizers.
Declarations, aliases, macros, etc. for the use of smart pointers.