GCC Middle and Back End API Reference
|
Go to the source code of this file.
Functions | |
int_range< 2 > | range_positives (tree type) |
int_range< 2 > | range_negatives (tree type) |
int_range< 1 > | range_true (tree type=boolean_type_node) |
int_range< 1 > | range_false (tree type=boolean_type_node) |
int_range< 1 > | range_true_and_false (tree type=boolean_type_node) |
|
inline |
References TYPE_PRECISION, and wi::zero().
Referenced by fold_using_range::condexpr_adjust(), back_threader::find_taken_edge_cond(), simplify_using_ranges::fold_cond_with_ops(), foperator_ltgt::fold_range(), foperator_ordered::fold_range(), foperator_unordered::fold_range(), operator_equal::fold_range(), operator_equal::fold_range(), operator_equal::fold_range(), operator_ge::fold_range(), operator_ge::fold_range(), operator_ge::fold_range(), operator_gt::fold_range(), operator_gt::fold_range(), operator_gt::fold_range(), operator_le::fold_range(), operator_le::fold_range(), operator_le::fold_range(), operator_logical_and::fold_range(), operator_lt::fold_range(), operator_lt::fold_range(), operator_lt::fold_range(), operator_not_equal::fold_range(), operator_not_equal::fold_range(), operator_not_equal::fold_range(), frelop_early_resolve(), gcond_edge_range(), gori_compute::gori_compute(), operator_bitwise_xor::op1_range(), operator_logical_or::op1_range(), fold_using_range::relation_fold_and_or(), relop_early_resolve(), static_loop_exit(), and unswitch_predicate::unswitch_predicate().
Header file for misc range functions. -*- C++ -*- Copyright (C) 2017-2024 Free Software Foundation, Inc. Contributed by Aldy Hernandez <aldyh@redhat.com>. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
Misc range functions. Copyright (C) 2017-2024 Free Software Foundation, Inc. Contributed by Aldy Hernandez <aldyh@redhat.com>. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
References wi::max_value(), TYPE_PRECISION, TYPE_SIGN, and wi::zero().
Referenced by operator_abs::op1_range().
|
inline |
References wi::one(), and TYPE_PRECISION.
Referenced by fold_using_range::condexpr_adjust(), back_threader::find_taken_edge_cond(), simplify_using_ranges::fold_cond_with_ops(), foperator_ordered::fold_range(), foperator_unordered::fold_range(), foperator_unordered_equal::fold_range(), foperator_unordered_ge::fold_range(), foperator_unordered_gt::fold_range(), foperator_unordered_le::fold_range(), foperator_unordered_lt::fold_range(), operator_equal::fold_range(), operator_equal::fold_range(), operator_equal::fold_range(), operator_ge::fold_range(), operator_ge::fold_range(), operator_ge::fold_range(), operator_gt::fold_range(), operator_gt::fold_range(), operator_gt::fold_range(), operator_le::fold_range(), operator_le::fold_range(), operator_le::fold_range(), operator_logical_and::fold_range(), operator_lt::fold_range(), operator_lt::fold_range(), operator_lt::fold_range(), operator_not_equal::fold_range(), operator_not_equal::fold_range(), operator_not_equal::fold_range(), frelop_early_resolve(), gcond_edge_range(), gori_compute::gori_compute(), operator_bitwise_xor::op1_range(), operator_logical_and::op1_range(), fold_using_range::relation_fold_and_or(), relop_early_resolve(), static_loop_exit(), and unswitch_predicate::unswitch_predicate().
|
inline |
References wi::one(), TYPE_PRECISION, and wi::zero().
Referenced by cfn_parity::fold_range(), foperator_ltgt::fold_range(), foperator_ordered::fold_range(), foperator_unordered::fold_range(), foperator_unordered_equal::fold_range(), foperator_unordered_ge::fold_range(), foperator_unordered_gt::fold_range(), foperator_unordered_le::fold_range(), foperator_unordered_lt::fold_range(), operator_equal::fold_range(), operator_equal::fold_range(), operator_equal::fold_range(), operator_ge::fold_range(), operator_ge::fold_range(), operator_ge::fold_range(), operator_gt::fold_range(), operator_gt::fold_range(), operator_gt::fold_range(), operator_le::fold_range(), operator_le::fold_range(), operator_le::fold_range(), operator_logical_and::fold_range(), operator_lt::fold_range(), operator_lt::fold_range(), operator_lt::fold_range(), operator_not_equal::fold_range(), operator_not_equal::fold_range(), operator_not_equal::fold_range(), operator_bitwise_xor::op1_range(), operator_logical_and::op1_range(), operator_logical_or::op1_range(), simplify_using_ranges::op_with_boolean_value_range_p(), and ssa_name_has_boolean_range().