aboutsummaryrefslogtreecommitdiff
path: root/gcc/range-op-float.cc
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2023-06-10 17:06:36 -0400
committerAndrew MacLeod <amacleod@redhat.com>2023-06-12 10:51:09 -0400
commit5410b07a8c3c2ed0e8d6202c898df5ed4cf58494 (patch)
treef92aa6ba359de99cdc45bfbe97b601a9e928b0e5 /gcc/range-op-float.cc
parent1b1de36ac83eff7ab8bd9fc379516d723f620a2e (diff)
downloadgcc-5410b07a8c3c2ed0e8d6202c898df5ed4cf58494.zip
gcc-5410b07a8c3c2ed0e8d6202c898df5ed4cf58494.tar.gz
gcc-5410b07a8c3c2ed0e8d6202c898df5ed4cf58494.tar.bz2
Provide interface for non-standard operators.
THis removes the hack introduced for WIDEN_MULT which exported a pointer to the operator and the gimple-range-op.cc set the operator to this pointer whenn it was appropriate. Instead, we simple change the range-op table to be unsigned indexed, and add new opcodes to the end of the table, allowing them to be indexed directly via range_op_handler::range_op. * gimple-range-op.cc (gimple_range_op_handler::maybe_non_standard): Use range_op_handler directly. * range-op.cc (range_op_handler::range_op_handler): Unsigned param instead of tree-code. (ptr_op_widen_plus_signed): Delete. (ptr_op_widen_plus_unsigned): Delete. (ptr_op_widen_mult_signed): Delete. (ptr_op_widen_mult_unsigned): Delete. (range_op_table::initialize_integral_ops): Add new opcodes. * range-op.h (range_op_handler): Use unsigned. (OP_WIDEN_MULT_SIGNED): New. (OP_WIDEN_MULT_UNSIGNED): New. (OP_WIDEN_PLUS_SIGNED): New. (OP_WIDEN_PLUS_UNSIGNED): New. (RANGE_OP_TABLE_SIZE): New. (range_op_table::operator []): Use unsigned. (range_op_table::set): Use unsigned. (m_range_tree): Make unsigned. (ptr_op_widen_mult_signed): Remove. (ptr_op_widen_mult_unsigned): Remove. (ptr_op_widen_plus_signed): Remove. (ptr_op_widen_plus_unsigned): Remove.
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions