Age | Commit message (Collapse) | Author | Files | Lines |
|
to builtin_unreachable.
2013-05-15 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_make_edge_direct_to_target): Redirect calls to
non-functions to builtin_unreachable.
* ipa-inline-transform.c (inline_call): Do not assert estimates were
correct when new direct edges were discovered.
From-SVN: r198926
|
|
2013-05-15 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_print_node_jump_functions): Print symbol order in
header, print symbol order instead of node uid, print more information
about indirect edge targets.
(ipa_make_edge_direct_to_target): Print symbol order instead of node
uids.
(ipa_make_edge_direct_to_target): Likewise.
(remove_described_reference): Likewise.
(propagate_controlled_uses): Likewise.
(ipa_print_node_params): Also print symbol order.
(ipcp_transform_function): Print symbol order instead of node uids.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Likewise.
(cgraph_get_create_real_symbol_node): Likewise.
* ipa-cp.c (print_lattice): Likewise.
(print_all_lattices): Likewise.
(determine_versionability): Likewise.
(initialize_node_lattices): Likewise.
(estimate_local_effects): Likewise.
(update_profiling_info): Likewise.
(create_specialized_node): Likewise.
(perhaps_add_new_callers): Likewise.
(decide_about_value): Likewise.
(decide_whether_version_node): Likewise.
(identify_dead_nodes): Likewise.
* ipa-inline-analysis.c (dump_inline_edge_summary): Likewise.
(dump_inline_summary): Likewise.
(estimate_node_size_and_time): Likewise.
(inline_analyze_function): Likewise.
* ipa-inline.c (report_inline_failed_reason): Likewise.
(want_early_inline_function_p): Likewise.
(edge_badness): Likewise.
(update_edge_key): Likewise.
(inline_small_functions): Likewise. Add dumping of order to two other
dumps.
* ipa-pure-const.c (pure_const_read_summary): Print symbol order
instead of node uids.
(propagate_pure_const): Likewise.
(propagate_pure_const): Likewise.
* ipa-utils.c (dump_cgraph_node_set): Likewise.
* lto-cgraph.c (input_node): Explicitly specify we dump uid.
* lto-symtab.c (lto_cgraph_replace_node): Print symbol order instead
of node uids.
* tree-pretty-print.c (dump_function_header): Likewise.
* tree-sra.c (convert_callers_for_node): Dump in traditional format.
Print symbol order instead of node uids.
lto/
* lto-partition.c (lto_balanced_map): Print symbol order instead
of node uids.
From-SVN: r198925
|
|
penalty if ldgr/lgdr can be used.
2013-05-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_register_move_cost): Don't impose the
FPR<->GPR move cost penalty if ldgr/lgdr can be used.
From-SVN: r198923
|
|
gather vectorization)
2013-05-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/57275
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Fix
return value for fail to do runtime alias checks for gather loads.
* gcc.target/i386/pr57275.c: New testcase.
From-SVN: r198918
|
|
PR lto/57038
PR lto/47375
* lto-symtab.c (lto_symtab_symbol_p): Add external symbol; weakrefs are
not external.
(lto_symtab_merge_decls): Fix thinko when dealing with non-lto_symtab decls.
(lto_symtab_merge_cgraph_nodes): Use lto_symtab_symbol_p.
(lto_symtab_prevailing_decl): Get int sync with lto_symtab_symbol_p.
* varpool.c (dump_varpool_node): Dump more flags.
* lto-partition.c (get_symbol_class): Fix weakrefs.
(lto_balanced_map): Fix weakrefs.
(privatize_symbol_name): Remove unnecesary label.
(rename_statics): Handle weakrefs as statics.
* gcc.dg/lto/attr-weakref-1_0.c: New testcase.
* gcc.dg/lto/attr-weakref-1_1.c: New testcase.
* gcc.dg/lto/attr-weakref-1_2.c: New testcase.
From-SVN: r198917
|
|
From-SVN: r198916
|
|
From-SVN: r198912
|
|
2013-05-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/torture/alias-1.c: Add dg-require-effective-target
scheduling.
From-SVN: r198909
|
|
PR c++/57274
* c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
* c-c++-common/Wsequence-point-1.c: New test.
From-SVN: r198903
|
|
templated function requires extraneous template qualifier)
PR c++/57243
* parser.c (cp_parser_range_for): Call complete_type.
From-SVN: r198901
|
|
* tree.c (warn_deprecated_use): Print file:line using locus color.
* diagnostic.c (diagnostic_report_current_module): Print file:line
and file:line:column using locus color.
From-SVN: r198900
|
|
From-SVN: r198899
|
|
* recog.h: Rename struct recog_data to Recog_data.
* recog.c: Likewise.
* reload.c (can_reload_into): Likewise.
* config/picochip/picochip.c: Likewise.
From-SVN: r198898
|
|
From-SVN: r198896
|
|
* resource.h (struct resources): Remove unch_memory member.
(CLEAR_RESOURCE): Don't clear unch_memory.
* resource.c (mark_referenced_resources): Don't set it.
(mark_set_resources): Likewise.
(mark_target_live_regs): Don't clear it.
(init_resource_info): Likewise.
* reorg.c (resource_conflicts_p): Don't compare it.
(redundant_insn): Don't set it.
From-SVN: r198895
|
|
* rtl.h (next_label, skip_consecutive_labels, link_cc0_insns):
Remove prototypes.
* emit-rtl.c (next_label): Remove unused function.
(skip_consecutive_labels, link_cc0_insns): Move to ...
* reorg.c (skip_consecutive_labels, link_cc0_insns): ... here, the
only place where these functions are used, and make them static.
From-SVN: r198894
|
|
2013-05-14 Marc Glisse <marc.glisse@inria.fr>
gcc/
* fold-const.c (fold_negate_expr): Handle vectors.
(fold_truth_not_expr): Make it static.
(fold_invert_truthvalue): New static function.
(invert_truthvalue_loc): Handle vectors. Do not call
fold_truth_not_expr directly.
(fold_unary_loc) <BIT_NOT_EXPR>: Handle comparisons.
<TRUTH_NOT_EXPR>: Do not cast to boolean.
(fold_comparison): Handle vector constants.
(fold_binary_loc) <TRUTH_XOR_EXPR>: Remove redundant code.
(fold_ternary_loc) <VEC_COND_EXPR>: Adapt more COND_EXPR optimizations.
* tree.h (fold_truth_not_expr): Remove declaration.
gcc/testsuite/
* g++.dg/ext/vector22.C: New testcase.
* gcc.dg/binop-xor3.c: Remove xfail.
From-SVN: r198893
|
|
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_vcond_internal<mode>): Rename to...
(aarch64_vcond_internal<mode><mode>): ...This, for integer modes.
(aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): ...This for
float modes. Clarify all iterator modes.
(vcond<mode><mode>): Use new name for vcond expanders.
(vcond<v_cmp_result><mode>): Likewise.
(vcondu<mode><mode>: Likewise.
* config/aarch64/iterators.md (VDQF_COND): New.
gcc/testsuite/
* gcc.target/aarch64/vect-fcm.x: Add cases testing
FLOAT cmp FLOAT ? INT : INT.
* gcc.target/aarch64/vect-fcm-eq-d.c: Define IMODE.
* gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.
From-SVN: r198890
|
|
dot-prefixed structure initialisation))
PR c++/57041
* pt.c (tsubst_copy_and_build): Don't recur into a designator.
From-SVN: r198887
|
|
member explicitly-defaulted after first declaration)
/cp
2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53903
* method.c (defaulted_late_check): Check for compatible exception
specification out of class explicitly defaulted functions too.
/testsuite
2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53903
* g++.dg/cpp0x/defaulted43.C: New.
From-SVN: r198886
|
|
* gcc.dg/fstack-protector-strong.c: Don't include <stdlib.h>.
(alloca): Remove declaration.
(foo9): Replace alloca by __builtin_alloca.
From-SVN: r198883
|
|
PR c++/56998
* semantics.c (potential_constant_expression_1): Make sure the
called function is potentially constant.
* call.c (null_ptr_cst_p): Revert earlier change.
From-SVN: r198881
|
|
expressions in fold_binary_loc breaks m68k bootstrap)
2013-05-14 Marc Glisse <marc.glisse@inria.fr>
PR bootstrap/57266
* fold-const.c (fold_binary_loc) <shift>: Use an unsigned
variable for the shift amount. Check that we shift by non-negative
amounts.
From-SVN: r198880
|
|
functions?)
2013-05-14 Chung-Lin Tang <cltang@codesourcery.com>
PR target/42017
* config/arm/arm.h (EPILOGUE_USES): Only return true
for LR_REGNUM after epilogue_completed.
From-SVN: r198879
|
|
gcc:
* config/avr/avr.c (avr_encode_section_info): Bail out if the type
is error_mark_node.
gcc/testsuite:
* testsuite/gcc.c-torture/compile/limits-externdecl.c [target avr-*-*]:
Expect "size of array is too large" error.
From-SVN: r198876
|
|
* gcc.dg/fstack-protector-strong.c (alloca): Declare.
From-SVN: r198872
|
|
PR target/57261
* configure.ac (gcc_cv_ld_as_needed): Disable before Solaris 11
and Solaris 11+/x86 with gld.
* configure: Regenerate.
From-SVN: r198867
|
|
bitsize - 1.
* expmed.c (expand_shift_1): Canonicalize rotates by
constant bitsize / 2 to bitsize - 1.
* simplify-rt.x (simplify_binary_operation_1) <case ROTATE,
case ROTATERT>: Likewise.
Revert:
2013-05-10 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.md (rotateinv): New code attr.
(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
roll $31, %eax, etc.
From-SVN: r198864
|
|
2013-05-14 Richard Biener <rguenther@suse.de>
PR middle-end/57235
* tree-eh.c (sink_clobbers): Give up for successors with
multiple predecessors and no virtual uses.
* g++.dg/torture/pr57235.C: New testcase.
From-SVN: r198863
|
|
* config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
* config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise.
From-SVN: r198862
|
|
PR middle-end/57251
* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
the case when both op0 and op1 have VOIDmode.
* gcc.dg/torture/pr57251.c: New test.
From-SVN: r198860
|
|
* config/rl78/rl78.md(mulsi3_g13): Add additional 'nop' required
in multiply-accumulate mode.
--This llne, and those below, will be ignored--
M ChangeLog
M config/rl78/rl78.md
From-SVN: r198859
|
|
From-SVN: r198858
|
|
* dwarf2asm.c (dw2_output_indirect_constant_1): Mark new decl STATIC.
From-SVN: r198855
|
|
2013-05-13 Kai Tietz <ktietz@redhat.com>
PR target/56975
* config/i386/cygming.h (TARGET_PECOFF): Define as true.
* config/i386/i386.h (TARGET_PECOFF): Define by default
as false.
(PIC_OFFSET_TABLE_REGNUM): Use TARGET_PECOFF.
* config/i386/i386.c (ix86_option_override_internal):
Likewise.
(ix86_expand_prologue): Likewise.
(ix86_expand_split_stack_prologue): Likewise.
(legitimate_pic_address_disp_p): Likewise.
(legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
(legitimize_pe_coff_symbol): Likewise.
(output_pic_addr_const): Likewise.
(construct_plt_address): Likewise.
(ix86_expand_call): Likewise.
(x86_output_mi_thunk): Likewise.
(x86_function_profiler): Likewise.
From-SVN: r198852
|
|
PR c++/56998
* call.c (null_ptr_cst_p): An expression with side-effects can't
be a C++03 null pointer constant.
From-SVN: r198845
|
|
dot-prefixed structure initialisation))
PR c++/57041
* decl.c (reshape_init_class): Handle error_mark_node.
From-SVN: r198844
|
|
function templates are defined out-of-line)
PR c++/57254
* typeck.c (merge_types): Propagate ref-qualifier
in METHOD_TYPE case.
From-SVN: r198843
|
|
explicit specializations)
PR c++/57253
* decl.c (grokdeclarator): Apply ref-qualifier
in the TYPENAME case.
From-SVN: r198842
|
|
PR c++/57252
* decl.c (decls_match): Compare ref-qualifiers.
From-SVN: r198841
|
|
'-mcld' on command line)
PR target/57264
* gcc.target/i386/pr57264.c: New test.
From-SVN: r198839
|
|
From-SVN: r198836
|
|
gcc/testsuite
2013-05-13 Greta Yorsh <Greta.Yorsh@arm.com>
* gcc.dg/tree-ssa/forwprop-26.c: Add -fno-short-enums
to dg-options.
From-SVN: r198832
|
|
* config/aarch64/aarch64-simd.md (aarch64_simd_mov<mode>): Group
similar switch cases.
(aarch64_simd_mov): Rename to aarch64_split_simd_mov. Update.
(aarch64_simd_mov_to_<mode>low): Delete.
(aarch64_simd_mov_to_<mode>high): Delete.
(move_lo_quad_<mode>): Add w<-r alternative.
(aarch64_simd_move_hi_quad_<mode>): Likewise.
(aarch64_simd_mov_from_*): Update type attribute.
* config/aarch64/aarch64.c (aarch64_split_simd_move): Refacror switch
statement.
From-SVN: r198831
|
|
* mode-switching.c (optimize_mode_switching): Set correct RTL profile.
* config/i386/i386.c (ix86_compute_frame_layout,
ix86_expand_epilogue, emit_i387_cw_initialization, ix86_expand_vector_move_misalign,
ix86_fp_comparison_strategy, ix86_local_alignment): Fix use of size/speed predicates.
From-SVN: r198825
|
|
PR ada/57188
* gcc-interface/Makefile.in: Allow for amd64 solaris2.
From-SVN: r198824
|
|
PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): Only recognize
the (-Y) & (B - 1) variant if OP is |.
* expmed.c (expand_shift_1): For rotations by const0_rtx just
return shifted. Use (-op1) & (prec - 1) as other_amount
instead of prec - op1.
* c-c++-common/rotate-1.c: Add 32 tests with +.
* c-c++-common/rotate-1a.c: Adjust.
* c-c++-common/rotate-2.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-2b.c: New test.
* c-c++-common/rotate-3.c: Add 32 tests with +.
* c-c++-common/rotate-4.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-4b.c: New test.
* c-c++-common/rotate-5.c: New test.
From-SVN: r198823
|
|
whole-program)
2013-05-13 Martin Jambor <mjambor@suse.cz>
PR middle-end/42371
* ipa-prop.h (IPA_UNDESCRIBED_USE): New macro.
(ipa_constant_data): New type.
(ipa_jump_func): Use ipa_constant_data to hold information about
constant jump functions.
(ipa_get_jf_constant): Adjust to jump function type changes.
(ipa_get_jf_constant_rdesc): New function.
(ipa_param_descriptor): New field controlled_uses.
(ipa_get_controlled_uses): New function.
(ipa_set_controlled_uses): Likewise.
* ipa-ref.h (ipa_find_reference): Declare.
* ipa-prop.c (ipa_cst_ref_desc): New type.
(ipa_print_node_jump_functions_for_edge): Adjust for jump function type
changes.
(ipa_set_jf_constant): Likewise. Also create reference descriptions.
New parameter cs. Adjust all callers.
(ipa_analyze_params_uses): Detect uncontrolled and controlled uses.
(remove_described_reference): New function.
(jfunc_rdesc_usable): Likewise.
(try_make_edge_direct_simple_call): Decrement controlled use count,
attempt to remove reference if it hits zero.
(combine_controlled_uses_counters): New function.
(propagate_controlled_uses): Likewise.
(ipa_propagate_indirect_call_infos): Call propagate_controlled_uses.
(ipa_edge_duplication_hook): Duplicate reference descriptions.
(ipa_print_node_params): Print described use counter.
(ipa_write_jump_function): Adjust to jump function type changes.
(ipa_read_jump_function): New parameter CS, pass it to
ipa_set_jf_constant. Adjust caller.
(ipa_write_node_info): Stream controlled use count
(ipa_read_node_info): Likewise.
* cgraph.c (cgraph_mark_address_taken_node): Bail out instead of
asserting.
* ipa-cp.c (ipcp_discover_new_direct_edges): Decrement controlled use
count. Remove cloning-added reference if it reaches zero.
* ipa-ref.c (ipa_find_reference): New function.
testsuite/
* gcc.dg/ipa/remref-0.c: New test.
* gcc.dg/ipa/remref-1a.c: Likewise.
* gcc.dg/ipa/remref-1b.c: Likewise.
* gcc.dg/ipa/remref-2a.c: Likewise.
* gcc.dg/ipa/remref-2b.c: Likewise.
From-SVN: r198821
|
|
From-SVN: r198820
|
|
2013-05-13 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-vect-generic.c (uniform_vector_p): Move ...
* tree.c (uniform_vector_p): ... here.
* tree.h (uniform_vector_p): Declare it.
* fold-const.c (fold_binary_loc) <shift>: Turn the second argument
into a scalar.
gcc/testsuite/
* gcc.dg/vector-shift-2.c: New testcase.
From-SVN: r198819
|