https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126622
Bug ID: 126622
Summary: wide_int_to_tree vs build_int_cst (and build_int_cstu)
vs build_int_cst_type
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: internal-improvement
Severity: enhancement
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
There are 3 different APIs that do something similar but not exactly.
build_int_cst is only different from build_int_cst_type is that build_int_cst
accepts a NULL type and uses integer_type_node then.
r0-61393-g8b11a64cd99d94 added build_int_cst_type .
This has been considered legacy since for ever (since at least
r0-78311-g7fb41a42a9490e).
r0-78318-g2b60792f2b31e4 consolidated build_int_cst_type and build_int_cst to
use the same code.
And then wide_int was added. Which gave rise to wide_int_to_tree.
build_int_cst_type/build_int_cst was still only HOST_WIDE_INT (or rather
int64_t).
We need a much simplier API than the current sets to handle all of this.