GCC Middle and Back End API Reference
gimple-lower-bitint.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void build_bitint_stmt_ssa_conflicts (gimple *, live_track *, ssa_conflicts *, bitmap, void(*)(live_track *, tree, ssa_conflicts *), void(*)(live_track *, tree))
 

Function Documentation

◆ build_bitint_stmt_ssa_conflicts()

void build_bitint_stmt_ssa_conflicts ( gimple * stmt,
live_track * live,
ssa_conflicts * graph,
bitmap names,
void(* def )(live_track *, tree, ssa_conflicts *),
void(* use )(live_track *, tree) )
extern
Replacement for normal processing of STMT in tree-ssa-coalesce.cc
build_ssa_conflict_graph.
The differences are:
1) don't process assignments with large/huge _BitInt lhs not in NAMES
2) for large/huge _BitInt multiplication/division/modulo process def
   only after processing uses rather than before to make uses conflict
   with the definition
3) for large/huge _BitInt uses not in NAMES mark the uses of their
   SSA_NAME_DEF_STMT (recursively), because those uses will be sunk into
   the final statement.   

References bitint_prec_large, bitint_precision_kind(), bitmap_bit_p, FOR_EACH_SSA_TREE_OPERAND, gimple_assign_lhs(), gimple_assign_rhs_code(), is_gimple_assign(), names, NULL_TREE, SSA_NAME_DEF_STMT, SSA_NAME_VERSION, SSA_OP_DEF, SSA_OP_USE, TREE_CODE, TREE_TYPE, and worklist.

Referenced by build_ssa_conflict_graph().