GCC Middle and Back End API Reference
gimple-range.h File Reference
#include "ssa.h"
#include "range.h"
#include "value-query.h"
#include "gimple-range-op.h"
#include "gimple-range-trace.h"
#include "gimple-range-edge.h"
#include "gimple-range-fold.h"
#include "gimple-range-gori.h"
#include "gimple-range-cache.h"
Include dependency graph for gimple-range.h:

Go to the source code of this file.

Data Structures

class  gimple_ranger
 
class  assume_query
 
class  dom_ranger
 

Functions

gimple_rangerenable_ranger (struct function *m, bool use_imm_uses=true)
 
void disable_ranger (struct function *)
 

Function Documentation

◆ disable_ranger()

void disable_ranger ( struct function * fun)
extern
Destroy and release the ranger instance associated with function FUN
and replace it the global ranger.   

References bitmap_obstack_release(), gcc_checking_assert, NULL, and function::x_range_query.

Referenced by pass_walloca::execute(), execute_ranger_vrp(), gimple_lower_bitint(), ipa_analyze_node(), and tree_ssa_unswitch_loops().

◆ enable_ranger()

gimple_ranger * enable_ranger ( struct function * fun,
bool use_imm_uses )
extern
Create a new ranger instance and associate it with a function.
Each call must be paired with a call to disable_ranger to release
resources.  If USE_IMM_USES is true, pre-calculate side effects like
non-null uses as required using the immediate use chains.   
Create a new ranger instance and associate it with function FUN.
Each call must be paired with a call to disable_ranger to release
resources.   

References bitmap_obstack_initialize(), gcc_checking_assert, ggc_alloc(), NULL, r, and function::x_range_query.

Referenced by pass_walloca::execute(), execute_ranger_vrp(), gimple_lower_bitint(), ipa_analyze_node(), simplify_rotate(), and tree_ssa_unswitch_loops().