+2019-07-03 Martin Liska <mliska@suse.cz>
+
+ * lra-eliminations.c (eliminate_regs_in_insn): Remove
+ dead assignemts.
+ * reg-stack.c (check_asm_stack_operands): Likewise.
+ * tree-ssa-structalias.c (create_function_info_for): Likewise.
+ * tree-vect-generic.c (expand_vector_operations_1): Likewise.
+ * config/i386/i386-expand.c (ix86_expand_sse2_mulvxdi3): Use
+ force_expand_binop.
+
2019-07-03 Martin Liska <mliska@suse.cz>
PR tree-optimization/90892
+2019-07-03 Martin Liska <mliska@suse.cz>
+
+ * c-common.c (try_to_locate_new_include_insertion_point): Remove
+ dead assignemts.
+
2019-07-03 Jakub Jelinek <jakub@redhat.com>
* c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
/* Get ordinary map containing LOC (or its expansion). */
const line_map_ordinary *ord_map_for_loc = NULL;
- loc = linemap_resolve_location (line_table, loc, LRK_MACRO_EXPANSION_POINT,
- &ord_map_for_loc);
+ linemap_resolve_location (line_table, loc, LRK_MACRO_EXPANSION_POINT,
+ &ord_map_for_loc);
gcc_assert (ord_map_for_loc);
for (unsigned int i = 0; i < LINEMAPS_ORDINARY_USED (line_table); i++)
emit_insn (gen_vec_widen_umult_even_v4si (t5,
gen_lowpart (V4SImode, op1),
gen_lowpart (V4SImode, op2)));
- op0 = expand_binop (mode, add_optab, t5, t4, op0, 1, OPTAB_DIRECT);
-
+ force_expand_binop (mode, add_optab, t5, t4, op0, 1, OPTAB_DIRECT);
}
else
{
+2019-07-03 Martin Liska <mliska@suse.cz>
+
+ * call.c (build_new_op_1): Remove
+ dead assignemts.
+ * typeck.c (cp_build_binary_op): Likewise.
+
2019-06-27 Jason Merrill <jason@redhat.com>
PR c++/55442 - memory-hog with highly recursive constexpr.
conv = cand->convs[2];
if (conv->kind == ck_ref_bind)
conv = next_conversion (conv);
- arg3 = convert_like (conv, arg3, complain);
+ convert_like (conv, arg3, complain);
}
}
}
result_type = build_opaque_vector_type (intt,
TYPE_VECTOR_SUBPARTS (type0));
- converted = 1;
return build_vec_cmp (resultcode, result_type, op0, op1);
}
build_type = boolean_type_node;
+2019-07-03 Martin Liska <mliska@suse.cz>
+
+ * check.c (gfc_check_c_funloc): Remove
+ dead assignemts.
+ * decl.c (variable_decl): Likewise.
+ * resolve.c (resolve_typebound_function): Likewise.
+ * simplify.c (gfc_simplify_matmul): Likewise.
+ (gfc_simplify_scan): Likewise.
+ * trans-array.c (gfc_could_be_alias): Likewise.
+ * trans-common.c (add_equivalences): Likewise.
+ * trans-expr.c (trans_class_vptr_len_assignment): Likewise.
+ (gfc_trans_array_constructor_copy): Likewise.
+ (gfc_trans_assignment_1): Likewise.
+ * trans-intrinsic.c (conv_intrinsic_atomic_op): Likewise.
+ * trans-openmp.c (gfc_omp_finish_clause): Likewise.
+ * trans-types.c (gfc_get_array_descriptor_base): Likewise.
+ * trans.c (gfc_build_final_call): Likewise.
+
2019-06-27 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/90987
if (attr.function && !attr.proc_pointer && x->expr_type == EXPR_VARIABLE
&& x->symtree->n.sym == x->symtree->n.sym->result)
- {
- gfc_namespace *ns = gfc_current_ns;
-
- for (ns = gfc_current_ns; ns; ns = ns->parent)
- if (x->symtree->n.sym == ns->proc_name)
- {
- gfc_error ("Function result %qs at %L is invalid as X argument "
- "to C_FUNLOC", x->symtree->n.sym->name, &x->where);
- return false;
- }
- }
+ for (gfc_namespace *ns = gfc_current_ns; ns; ns = ns->parent)
+ if (x->symtree->n.sym == ns->proc_name)
+ {
+ gfc_error ("Function result %qs at %L is invalid as X argument "
+ "to C_FUNLOC", x->symtree->n.sym->name, &x->where);
+ return false;
+ }
if (attr.flavor != FL_PROCEDURE)
{
/* %FILL components are given invalid fortran names. */
snprintf (name, GFC_MAX_SYMBOL_LEN + 1, "%%FILL%u", fill_id++);
- m = MATCH_YES;
}
var_locus = gfc_current_locus;
}
c = gfc_find_component (declared, "_data", true, true, NULL);
- declared = c->ts.u.derived;
/* Treat the call as if it is a typebound procedure, in order to roll
out the correct name for the specific function. */
else
gcc_unreachable();
- offset_a = offset_b = 0;
+ offset_b = 0;
for (col = 0; col < result_columns; ++col)
{
offset_a = 0;
indx = 0;
}
else
- {
- i = 0;
- for (indx = len; indx > 0; indx--)
- {
- for (i = 0; i < lenc; i++)
- {
- if (c->value.character.string[i]
- == e->value.character.string[indx - 1])
- break;
- }
- if (i < lenc)
- break;
- }
- }
+ for (indx = len; indx > 0; indx--)
+ {
+ for (i = 0; i < lenc; i++)
+ {
+ if (c->value.character.string[i]
+ == e->value.character.string[indx - 1])
+ break;
+ }
+ if (i < lenc)
+ break;
+ }
}
result = gfc_get_int_expr (k, &e->where, indx);
lsym_pointer = lsym->attr.pointer;
lsym_target = lsym->attr.target;
- lsym_pointer = lsym->attr.pointer;
- lsym_target = lsym->attr.target;
for (rref = rexpr->ref; rref != rss->info->data.array.ref; rref = rref->next)
{
add_equivalences (bool *saw_equiv)
{
segment_info *f;
- bool seen_one, more;
+ bool more = TRUE;
- seen_one = false;
- more = TRUE;
while (more)
{
more = FALSE;
if (!f->sym->equiv_built)
{
f->sym->equiv_built = 1;
- seen_one = find_equivalence (f);
+ bool seen_one = find_equivalence (f);
if (seen_one)
{
*saw_equiv = true;
from_len = rse->string_length;
else if (re->ts.type == BT_CHARACTER && re->ts.u.cl->length)
{
- from_len = gfc_get_expr_charlen (re);
gfc_init_se (&se, NULL);
gfc_conv_expr (&se, re->ts.u.cl->length);
gfc_add_block_to_block (block, &se.pre);
stype = gfc_typenode_for_spec (&expr2->ts);
src = gfc_build_constant_array_constructor (expr2, stype);
- stype = TREE_TYPE (src);
- if (POINTER_TYPE_P (stype))
- stype = TREE_TYPE (stype);
-
return gfc_build_memcpy_call (dst, src, len);
}
&& (gfc_is_class_array_function (expr2)
|| gfc_is_alloc_class_scalar_function (expr2)))
{
- tmp = rse.expr;
tmp = gfc_nullify_alloc_comp (expr1->ts.u.derived, rse.expr, 0);
gfc_prepend_expr_to_block (&rse.post, tmp);
if (lss != gfc_ss_terminator && rss == gfc_ss_terminator)
fn = (built_in_function) ((int) fn
+ exact_log2 (tree_to_uhwi (TYPE_SIZE_UNIT (tmp)))
+ 1);
- tmp = builtin_decl_explicit (fn);
tree itype = TREE_TYPE (TREE_TYPE (atom));
tmp = builtin_decl_explicit (fn);
{
OMP_CLAUSE_CHAIN (c4) = OMP_CLAUSE_CHAIN (last);
OMP_CLAUSE_CHAIN (last) = c4;
- last = c4;
}
}
TYPE_NAMELESS (fat_type) = 1;
/* Add the data member as the first element of the descriptor. */
- decl = gfc_add_field_to_struct_1 (fat_type,
- get_identifier ("data"),
- (restricted
- ? prvoid_type_node
- : ptr_type_node), &chain);
+ gfc_add_field_to_struct_1 (fat_type,
+ get_identifier ("data"),
+ (restricted
+ ? prvoid_type_node
+ : ptr_type_node), &chain);
/* Add the base component. */
decl = gfc_add_field_to_struct_1 (fat_type,
gfc_add_block_to_block (&block, &se.pre);
gcc_assert (se.post.head == NULL_TREE);
array = se.expr;
- if (TREE_CODE (array) == ADDR_EXPR
- && POINTER_TYPE_P (TREE_TYPE (TREE_OPERAND (array, 0))))
- tmp = TREE_OPERAND (array, 0);
if (!gfc_is_coarray (array_expr))
{
PARALLEL since the new one still will, but we can't call
single_set without having put new body into the insn and the
re-recognition won't hurt in this rare case. */
- id = lra_update_insn_recog_data (insn);
+ lra_update_insn_recog_data (insn);
}
/* Spill pseudos which are assigned to hard registers in SET. Add
if (which_alternative < 0)
{
- malformed_asm = 1;
/* Avoid further trouble with this insn. */
PATTERN (insn) = gen_rtx_USE (VOIDmode, const0_rtx);
return 0;
gcc_assert (prev_vi->offset < argvi->offset);
prev_vi->next = argvi->id;
- prev_vi = argvi;
}
return vi;
|| code == VEC_UNPACK_FLOAT_LO_EXPR
|| code == VEC_PACK_FLOAT_EXPR)
{
- type = TREE_TYPE (rhs1);
/* We do not know how to scalarize those. */
return;
}
|| code == VEC_WIDEN_LSHIFT_HI_EXPR
|| code == VEC_WIDEN_LSHIFT_LO_EXPR)
{
- type = TREE_TYPE (rhs1);
/* We do not know how to scalarize those. */
return;
}
+2019-07-03 Martin Liska <mliska@suse.cz>
+
+ * line-map.c (linemap_get_expansion_filename): Remove
+ dead assignemts.
+ * mkdeps.c (make_write): Likewise.
+
2019-07-02 qing zhao <qing.zhao@oracle.com>
PR preprocessor/90581
if (location < RESERVED_LOCATION_COUNT)
return NULL;
- location =
- linemap_macro_loc_to_exp_point (set, location, &map);
+ linemap_macro_loc_to_exp_point (set, location, &map);
return LINEMAP_FILE (map);
}
column = make_write_vec (d->targets, fp, 0, colmax, d->quote_lwm);
fputs (":", fp);
column++;
- column = make_write_vec (d->deps, fp, column, colmax);
+ make_write_vec (d->deps, fp, column, colmax);
fputs ("\n", fp);
if (phony)
for (unsigned i = 1; i < d->deps.size (); i++)