/* Conditional compare related functions
- Copyright (C) 2014-2017 Free Software Foundation, Inc.
+ Copyright (C) 2014-2020 Free Software Foundation, Inc.
This file is part of GCC.
static bool
ccmp_candidate_p (gimple *g)
{
- tree rhs;
tree lhs, op0, op1;
gimple *gs0, *gs1;
tree_code tcode;
if (!g)
return false;
- rhs = gimple_assign_rhs_to_tree (g);
- tcode = TREE_CODE (rhs);
+ tcode = gimple_assign_rhs_code (g);
if (tcode != BIT_AND_EXPR && tcode != BIT_IOR_EXPR)
return false;
lhs = gimple_assign_lhs (g);
- op0 = TREE_OPERAND (rhs, 0);
- op1 = TREE_OPERAND (rhs, 1);
- bb = gimple_bb (g);
-
+ op0 = gimple_assign_rhs1 (g);
+ op1 = gimple_assign_rhs2 (g);
if ((TREE_CODE (op0) != SSA_NAME) || (TREE_CODE (op1) != SSA_NAME)
|| !has_single_use (lhs))
return false;
+ bb = gimple_bb (g);
gs0 = get_gimple_for_ssa_name (op0); /* gs0 may be NULL */
gs1 = get_gimple_for_ssa_name (op1); /* gs1 may be NULL */
static rtx
expand_ccmp_expr_1 (gimple *g, rtx_insn **prep_seq, rtx_insn **gen_seq)
{
- tree exp = gimple_assign_rhs_to_tree (g);
- tree_code code = TREE_CODE (exp);
+ tree_code code = gimple_assign_rhs_code (g);
basic_block bb = gimple_bb (g);
- tree op0 = TREE_OPERAND (exp, 0);
- tree op1 = TREE_OPERAND (exp, 1);
+ tree op0 = gimple_assign_rhs1 (g);
+ tree op1 = gimple_assign_rhs2 (g);
gimple *gs0 = get_gimple_for_ssa_name (op0);
gimple *gs1 = get_gimple_for_ssa_name (op1);
rtx tmp;