Uros Bizjak
b8140cd629
re PR c/61271 (10 * possible coding error with logical not (!))
...
PR target/61271
* config/i386/i386.c (ix86_rtx_costs)
<case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
Fix condition.
From-SVN: r210937
2014-05-26 19:33:09 +02:00
Martin Jambor
acea91c901
ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on subreg uses.
...
2014-05-26 Martin Jambor <mjambor@suse.cz>
* ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
subreg uses.
From-SVN: r210936
2014-05-26 17:36:00 +02:00
Jerry DeLisle
1387b266a9
re PR fortran/55117 (Programs fails to read namelist (contains derived types objects))
...
2014-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/55117
* gfortran.dg/namelist_85.f90: New test.
From-SVN: r210935
2014-05-26 15:32:33 +00:00
Jerry DeLisle
3b111bd757
[multiple changes]
...
2014-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/55117
* trans-io.c (nml_full_name, transfer_namelist_element): Insert
a '+' rather then '%' to differentiate namelist variable names
that are based on extended derived types.
2014-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/55117
* io/list_read.c (extended_look_ahead): New helper function to
scan the namelist name and look for matches with the new '+'
extended type parent indicator. (str_comp_extended): New
helper function to compare the namelist name with the varname
namelist. (find_nml_name): Use the new helper functions to match
the extended type varnames.
From-SVN: r210934
2014-05-26 15:19:36 +00:00
Richard Biener
d93461f724
wide-int.h (wi::int_traits <long>, [...]): Provide specializations.
...
2014-05-26 Richard Biener <rguenther@suse.de>
* wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
wi::int_traits <long long>, wi::int_traits <unsigned long long>):
Provide specializations.
(wi::int_traits <HOST_WIDE_INT>,
wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
From-SVN: r210933
2014-05-26 14:07:42 +00:00
Alan Modra
bfe51f424a
re PR target/61098 (Poor code setting count register for large loops)
...
PR target/61098
* config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
params and return a bool. Remove dead code. Update comment.
Assert we have a const_int source. Remove bogus code from
32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
handling of constants > 2G and reg_equal note, from..
(rs6000_emit_set_long_const): ..here. Remove unneeded param and
return value. Update comment. If we can, use a new pseudo
for intermediate calculations.
* config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
prototype.
* config/rs6000/rs6000.md (movsi_internal1_single+1): Update
call to rs6000_emit_set_const in splitter.
(movdi_internal64+2, +3): Likewise.
From-SVN: r210932
2014-05-26 22:39:48 +09:30
Richard Biener
a9243bfced
system.h: Define __STDC_FORMAT_MACROS before including inttypes.h.
...
2014-05-23 Richard Biener <rguenther@suse.de>
* system.h: Define __STDC_FORMAT_MACROS before
including inttypes.h.
* hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
HOST_WIDEST_INT_C): Remove.
(PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
if C99 inttypes.h is not available.
* coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
* gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
* gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
* cfgloop.h (struct niter_desc): Use uint64_t for niter field.
* bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
(struct output_info): Likewise.
(print_statistics): Adjust.
(dump_bitmap_statistics): Likewise.
* bt-load.c (migrate_btr_defs): Print with PRId64.
* cfg.c (dump_edge_info, dump_bb_info): Likewise.
(MAX_SAFE_MULTIPLIER): Adjust.
* cfghooks.c (dump_bb_for_graph): Print with PRId64.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
dump_cgraph_node): Likewise.
* final.c (dump_basic_block_info): Likewise.
* gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
* gcov.c (format_gcov): Likewise.
* ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
for calculation.
(get_clone_agg_value): Use HOST_WIDE_INT for offset.
* ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
(inline_small_functions, dump_overall_stats, dump_inline_stats):
Use PRId64 for dumping.
* ipa-profile.c (dump_histogram, ipa_profile): Likewise.
* ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
(add_allocno_hard_regs): Adjust.
* loop-doloop.c (doloop_modify): Print using PRId64.
* loop-iv.c (inverse): Compute in uint64_t.
(determine_max_iter, iv_number_of_iterations): Likewise.
* loop-unroll.c (decide_peel_completely, decide_peel_simple):
Print using PRId64.
* lto-streamer-out.c (write_symbol): Use uint64_t.
* mcf.c (CAP_INFINITY): Use int64_t maximum.
(dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
* modulo-sched.c (const_iteration_count): Use int64_t.
(sms_schedule): Dump using PRId64.
* predict.c (dump_prediction): Likewise.
* pretty-print.h (pp_widest_integer): Remove.
* profile.c (get_working_sets, is_edge_inconsistent,
is_inconsistent, read_profile_edge_counts): Dump using PRId64.
* tree-pretty-print.c (pp_double_int): Remove case handling
HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
* tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
and adjust users.
(pass_optimize_bswap::execute): Remove restriction on hosts.
* tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
* tree-streamer-out.c (streamer_write_tree_header): Likewise.
* tree.c (widest_int_cst_value): Remove.
* tree.h (widest_int_cst_value): Likewise.
* value-prof.c (dump_histogram_value): Print using PRId64.
* gengtype.c (main): Also inject int64_t.
* ggc-page.c (struct max_alignment): Use int64_t.
* alloc-pool.c (struct allocation_object_def): Likewise.
* ira-conflicts.c (build_conflict_bit_table): Use uint64_t
for computation.
* doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
* doc/tm.texi: Regenerated.
* gengtype-lex.l (IWORD): Handle [u]int64_t.
* config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
* config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
mmix_output_register_setting): Use [u]int64_t in prototypes.
* config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
mmix_output_octa, mmix_output_shifted_value): Adjust.
(mmix_intval): Adjust. Remove unreachable case.
* config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use
int64_t.
lto/
* lto.c (lto_parse_hex): Use int64_t.
(lto_resolution_read): Likewise.
From-SVN: r210931
2014-05-26 10:42:43 +00:00
Igor Zamyatin
97563bc895
re PR c/61191 (cilkplus ICE on syntax error)
...
gcc/c/
PR c/61191
* c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
function parameters.
gcc/testsuite/
PR c/61191
* c-c++-common/cilk-plus/AN/pr61191.c: Check for correct handling of
the case with syntax error.
From-SVN: r210930
2014-05-26 10:04:01 +00:00
Richard Biener
edf6ddf677
configure.ac: Remove long long and __int64 type checks...
...
2014-05-26 Richard Biener <rguenther@suse.de>
libcpp/
* configure.ac: Remove long long and __int64 type checks,
add check for uint64_t and fail if that wasn't found.
* include/cpplib.h (cpp_num_part): Use uint64_t.
* config.in: Regenerate.
* configure: Likewise.
gcc/
* configure.ac: Drop __int64 type check. Insist that we
found uint64_t and int64_t.
* hwint.h (HOST_BITS_PER___INT64): Remove.
(HOST_BITS_PER_WIDE_INT): Define to 64 and remove
__int64 case.
(HOST_WIDE_INT_PRINT_*): Remove 32bit case.
(HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
(HOST_WIDEST_FAST_INT): Remove __int64 case.
* vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
for dst_q_src_df_rms_cdt.
* configure: Regenerate.
* config.in: Likewise.
From-SVN: r210928
2014-05-26 08:19:02 +00:00
Uros Bizjak
49f002b654
* ChangeLog: Fix last entry.
...
From-SVN: r210927
2014-05-26 09:47:14 +02:00
Michael Tautschnig
d40829706d
re PR target/61249 (_mm_frcz_ss, _mm_frcz_sd: __builtin_ia32_vfrczss, __builtin_ia32_vfrczsd require 2 arguments)
...
PR target/61249
* doc/extend.texi: Fix parameter lists of __builtin_ia32_vfrczs[sd],
__builtin_ia32_mpsadbw256.
From-SVN: r210923
2014-05-26 09:19:25 +02:00
Zhenqiang Chen
d29d688acb
re PR rtl-optimization/61278 (ICE with LTO (lto-wrapper failed) on x86_64-linux-gnu in 64-bit mode)
...
ChangeLog:
2014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
PR rtl-optimization/61278
* shrink-wrap.c (move_insn_for_shrink_wrap): Check df_live.
testsuite/ChangeLog:
2014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.dg/lto/pr61278_0.c: New test.
* gcc.dg/lto/pr61278_1.c: New test.
From-SVN: r210922
2014-05-26 06:40:57 +00:00
Zhenqiang Chen
88f32f0f92
re PR rtl-optimization/61220 (ICE on valid code at -O2 on x86_64-linux-gnu in maybe_record_trace_start, at dwarf2cfi.c:2239)
...
ChangeLog:
2014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
PR rtl-optimization/61220
Part of PR rtl-optimization/61225
* shrink-wrap.c (move_insn_for_shrink_wrap): Skip SP and FP adjustment
insn; skip split_edge for a block with only one successor.
testsuite/ChangeLog:
2014-05-26 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.dg/pr61220.c: New test.
* gcc.dg/shrink-wrap-loop.c: Disable for x86_64 -m32 mode.
From-SVN: r210921
2014-05-26 06:11:33 +00:00
Jan Hubicka
97ae6b6443
* symtab.c (symtab_nonoverwritable_alias): Copy READONLY flag for variables.
...
From-SVN: r210919
2014-05-26 00:50:24 +00:00
GCC Administrator
936190c629
Daily bump.
...
From-SVN: r210918
2014-05-26 00:17:21 +00:00
Richard Sandiford
ae242e3ff2
dg-extract-results.py (Named): Remove __cmp__ method.
...
contrib/
* dg-extract-results.py (Named): Remove __cmp__ method.
(output_variation): Use a key to sort variation.harnesses.
From-SVN: r210913
2014-05-25 09:35:15 +00:00
Paolo Carlini
5a2b79e24d
map.h: Fix typo in comment; minor formatting fix.
...
2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/map.h: Fix typo in comment; minor formatting fix.
* include/profile/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/multiset.h: Likewise.
From-SVN: r210912
2014-05-25 08:38:01 +00:00
Tobias Burnus
28d8a1607e
Missed the following files with commit 210909
...
2014-05-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_this_image_1.f90: New.
* gfortran.dg/coarray_this_image_2.f90: New.
From-SVN: r210911
2014-05-25 09:08:25 +02:00
Jan Hubicka
07990a5e8e
ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
...
* ipa-visibility.c (can_replace_by_local_alias_in_vtable): New function.
(update_vtable_references): New function.
(function_and_variable_visibility): Rewrite also vtable initializers.
* varpool.c (cgraph_variable_initializer_availability): Remove assert.
From-SVN: r210910
2014-05-25 05:52:49 +00:00
Tobias Burnus
05fc16dde9
check.c (gfc_check_num_images): New.
...
2014-05-25 Tobias Burnus <burnus@net-b.de>
* check.c (gfc_check_num_images): New.
(gfc_check_this_image): Handle distance argument.
* intrinsic.c (add_functions): Update this_image and num_images
for new distance and failed arguments.
* intrinsic.texi (THIS_IMAGE, NUM_IMAGES): Document the new
arguments.
* intrinsic.h (gfc_check_num_images): New.
(gfc_check_this_image, gfc_simplify_num_images,
gfc_simplify_this_image, gfc_resolve_this_image): Update prototype.
* iresolve.c (gfc_resolve_this_image): Handle distance argument.
* simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
Handle new arguments.
* trans-intrinsic.c (trans_this_image, trans_num_images): Ditto.
(gfc_conv_intrinsic_function): Update trans_num_images call.
2014-05-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_10.f90: Update dg-warning.
* gfortran.dg/coarray_this_image_1.f90: New.
* gfortran.dg/coarray_this_image_2.f90: New.
From-SVN: r210909
2014-05-25 07:24:12 +02:00
Jan Hubicka
fd1e930270
ggc.h (ggc_grow): New function.
...
* ggc.h (ggc_grow): New function.
* ggc-none.c (ggc_grow): New function.
* ggc-page.c (ggc_grow): Likewise.
* lto.c (read_cgraph_and_symbols): Grow ggc memory after streaming.
From-SVN: r210908
2014-05-25 02:58:54 +00:00
Jan Hubicka
7f7beb3f10
ipa.c (cgraph_non_local_node_p_1, [...]): Move to ipa-visibility.c
...
* ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p, address_taken_from_non_vtable_p,
comdat_can_be_unshared_p_1, comdat_can_be_unshared_p, cgraph_externally_visible_p,
varpool_externally_visible_p, can_replace_by_local_alias,
update_visibility_by_resolution_info, function_and_variable_visibility,
pass_data_ipa_function_and_variable_visibility,
make_pass_ipa_function_and_variable_visibility,
whole_program_function_and_variable_visibility,
pass_data_ipa_whole_program_visibility,
make_pass_ipa_whole_program_visibility): Move to ipa-visibility.c
* cgraph.h (cgraph_local_node_p): Declare.
* ipa-visibility.c: New file.
* Makefile.in (OBJS): Add ipa-visiblity.o
From-SVN: r210907
2014-05-25 01:33:28 +00:00
GCC Administrator
876814dba3
Daily bump.
...
From-SVN: r210906
2014-05-25 00:16:39 +00:00
Jan Hubicka
6adda80bb2
gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure that var decl is available.
...
* gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
that var decl is available.
From-SVN: r210902
2014-05-24 22:02:13 +00:00
Jan Hubicka
aede2c10ca
tree-core.h (tree_decl_with_vis): Replace comdat_group by symtab_node pointer.
...
* tree-core.h (tree_decl_with_vis): Replace comdat_group by
symtab_node pointer.
* tree.c (copy_node_stat): Be sure tonot copy
symtab_node pointer.
(find_decls_types_r): Do not walk COMDAT_GROUP.
* tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
* varasm.c (make_decl_one_only): Use set_comdat_group;
create node if needed.
* ipa-inline-transform.c (save_inline_function_body): Update
way we decl->symtab mapping.
* symtab.c (symtab_hash, hash_node, eq_node
symtab_insert_node_to_hashtable): Remove.
(symtab_register_node): Update.
(symtab_unregister_node): Update.
(symtab_get_node): Reimplement as inline function.
(symtab_add_to_same_comdat_group): Update.
(symtab_dissolve_same_comdat_group_list): Update.
(dump_symtab_base): Update.
(verify_symtab_base): Update.
(symtab_make_decl_local): Update.
(fixup_same_cpp_alias_visibility): Update.
(symtab_nonoverwritable_alias): Update.
* cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
* ipa.c (update_visibility_by_resolution_info): UPdate.
* bb-reorder.c: Include cgraph.h
* lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
with comdat groups.
* ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
* cgraph.c (cgraph_get_create_node): Update.
* cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
and comdat_group_.
(symtab_get_node): Make inline.
(symtab_insert_node_to_hashtable): Remove.
(symtab_can_be_discarded): Update.
(decl_comdat_group): New function.
* tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers): Update.
* lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
comdat group name.
(read_comdat_group): New function.
(input_node, input_varpool_node): Use it.
* trans-mem.c (ipa_tm_create_version_alias): Update code creating
comdat groups.
* mips.c (mips_start_unique_function): Likewise.
(ix86_code_end): Likewise.
(rs6000_code_end): Likweise.
* tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream
comdat group.
* lto-symtab.c (lto_symtab_merge_symbols): Update code setting
symtab pointer.
* lto.c (compare_tree_sccs_1): Do not compare comdat groups.
* optmize.c (maybe_thunk_body): Use set_comdat_group.
(maybe_clone_body): Likewise.
* decl.c (duplicate_decls): Update code duplicating comdat group;
do not copy symtab pointer; before freeing newdecl remove it
from symtab.
* decl2.c (constrain_visibility): Use set_comdat_group.
* c-decl.c (merge_decls): Preserve symtab node pointers.
(duplicate_decls): Free new decl.
From-SVN: r210901
2014-05-24 22:00:14 +00:00
François Dumont
f3de79d43a
array: Clean useless white chars.
...
2014-05-24 François Dumont <fdumont@gcc.gnu.org>
* include/profile/array: Clean useless white chars.
* include/profile/base.h: Likewise.
* include/profile/iterator_tracker.h: Likewise.
* include/profile/bitset: Code cleanup and remove not instrumented code.
* include/profile/deque: Likewise.
* include/profile/forward_list: Likewise.
* include/profile/list (std::__profile::_List_profile<>): New.
(std::__profile::list<>): Inherit from latter and adapt.
* include/profile/impl/profiler_map_to_unordered_map.h: Generalize
advise to match any ordered to unordered container conversion.
* include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
New.
* include/Makefile.am: Add latter.
* include/Makefile.in: Regenerate.
* include/profile/map.h (std::__profile::map<>): Inherit from latter,
remove not instrumented code.
* include/profile/multimap.h (std::__profile::multimap<>): Likewise.
* include/profile/set.h (std::__profile::set<>): Likewise.
* include/profile/multiset.h (std::__profile::multiset<>): Likewise.
* include/profile/unordered_base.h: Add some line feed.
* include/profile/unordered_map: Clean useless white chars and replace
spaces with tabs.
* include/profile/unordered_set: Likewise.
* include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
(std::__profile::_Vector_profile_post<>): New.
(std::__profile::vector<>): Inherit from latter and adapt.
From-SVN: r210900
2014-05-24 20:59:00 +00:00
Jerry DeLisle
1ebfdcab6b
re PR libfortran/61173 (Erroneous "end of file" with internal read)
...
2014-05-24 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/61173
gfortran.dg/arrayio_14.f90: New test.
From-SVN: r210899
2014-05-24 19:30:38 +00:00
Jerry DeLisle
03c0f19520
re PR libfortran/61173 (Erroneous "end of file" with internal read)
...
2014-05-23 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/61173
* io/list_read.c (eat_spaces): If the next character pointed to
is a space, don't seek, must be at the end.
From-SVN: r210898
2014-05-24 19:26:02 +00:00
Andreas Schwab
63cbc2d48f
bswap-2.c (main): Handle more bitfield layouts.
...
* gcc.c-torture/execute/bswap-2.c (main): Handle more bitfield
layouts.
From-SVN: r210897
2014-05-24 18:54:28 +00:00
Jan Hubicka
4df199d153
gengtype-state.c (fatal_reading_state): Bring offline.
...
* gengtype-state.c (fatal_reading_state): Bring offline.
* optabs.c (widening_optab_handler): Bring offline.
* optabs.h (widening_optab_handler): Likewise.
* final.c (get_attr_length_1): Likewise.
From-SVN: r210896
2014-05-24 17:12:28 +00:00
Jan Hubicka
e0e349f3f2
* sched-int.h (sd_iterator_cond): Manually tail recurse.
...
From-SVN: r210895
2014-05-24 17:11:35 +00:00
Dominique d'Humieres
06e3da3474
bind_c_array_params_2.f90: Adjust regexp for -flto.
...
2014-05-24 Dominique d'Humieres <dominiq@lps.ens.fr>
* gfortran.dg/gfortran.dg/bind_c_array_params_2.f90:
Adjust regexp for -flto.
* gfortran.dg/gfortran.dg/pr48636-2.f90: Likewise.
* gfortran.dg/pr52835.f90: Likewise.
From-SVN: r210892
2014-05-24 16:17:37 +02:00
Uros Bizjak
386c402747
texi2pod.pl: Force .pod file to not be a numbered list.
...
* texi2pod.pl: Force .pod file to not be a numbered list.
From-SVN: r210889
2014-05-24 08:38:31 +02:00
Jan Hubicka
c517fc92b5
rtti.c: Include tm_p.h
...
* rtti.c: Include tm_p.h
(emit_tinfo_decl): Force RTTI data to be aligned to required
ABI alignment only.
From-SVN: r210887
2014-05-24 01:42:22 +00:00
Jan Hubicka
8ce8d98e74
class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN ignoring other target adjustments.
...
* class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN
ignoring other target adjustments.
From-SVN: r210886
2014-05-24 01:41:06 +00:00
GCC Administrator
53cb0386c2
Daily bump.
...
From-SVN: r210885
2014-05-24 00:17:02 +00:00
Tobias Burnus
2bf716a985
gfc-internals.texi: Change URLs to HTTPS; fix broken links.
...
2014-05-23 Tobias Burnus <burnus@net-b.de>
* gfc-internals.texi: Change URLs to HTTPS; fix broken links.
* gfortran.texi: Ditto.
From-SVN: r210877
2014-05-23 22:32:04 +02:00
Segher Boessenkool
a35dd1fae7
rs6000: Make all rlw*nm and rld*c* type shift
...
They are often labeled just "integer" currently. Fix that.
Also handle shift properly in those scheduling descriptions that
neglected it.
From-SVN: r210873
2014-05-23 18:46:59 +02:00
Segher Boessenkool
73c076c8a2
rs6000: Make all logical instructions one type
...
They are currently just "integer", but the dot version is fast_compare.
This makes them all "logical".
From-SVN: r210872
2014-05-23 18:45:11 +02:00
Segher Boessenkool
0cbb4f5897
rs6000: Make all add instructions one type
...
They are currently just "integer", but the dot version is fast_compare.
This makes them all "add". Later we should introduce attributes to
distinguish e.g. addc and adde (which aren't currently handled as
separate instructions at all, only in groups).
From-SVN: r210871
2014-05-23 18:43:31 +02:00
Segher Boessenkool
892e7fa695
rs6000: Make all shift instructions one type
...
This uses the attributes "var_shift" and "dot" to specify the differences:
var_shift_rotate -> shift var_shift=yes
delayed_compare -> shift var_shift=no dot=yes
var_delayed_compare -> shift var_shift=yes dot=yes
From-SVN: r210870
2014-05-23 18:41:20 +02:00
Segher Boessenkool
441e02a5c4
rs6000: Make all divide instructions one type
...
This uses the attribute "size" to specify the differences:
idiv -> div size=32
ldiv -> div size=64
It could use "dot" as well, but the current code doesn't handle that.
From-SVN: r210869
2014-05-23 18:39:42 +02:00
Segher Boessenkool
58ee9e6635
rs6000: Make all insert instructions one type
...
This uses the attribute "size" to specify the differences:
insert_word -> insert size=32
insert_dword -> insert size=64
It could use "dot" as well, but the current code doesn't handle that.
From-SVN: r210868
2014-05-23 18:37:55 +02:00
Segher Boessenkool
e0528ed9e5
rs6000: Make all multiply instructions one type
...
This uses the attributes "size" and "dot" to specify the differences:
imul3 -> mul size=8
imul2 -> mul size=16
imul -> mul size=32
lmul -> mul size=64
imul_compare -> mul size=32 dot=yes
lmul_compare -> mul size=64 dot=yes
From-SVN: r210867
2014-05-23 18:36:14 +02:00
Segher Boessenkool
1263d6429d
rs6000: New type attribute value "halfmul"
...
This is for the legacy integer multiply-accumulate instructions.
Quite a mouthful, and "mulhw" is also a terrible name since we already
have a machine instruction called exactly that. Hence "halfmul".
Also fixes the titan automaton description for this.
From-SVN: r210866
2014-05-23 18:34:01 +02:00
Segher Boessenkool
1be6301ac1
[PATCH 1/9] rs6000: Clean up the "type" attribute
...
Get rid of the one huge line. Group and order things a bit. Further
changes will follow so this doesn't try to make it perfect.
From-SVN: r210865
2014-05-23 18:31:33 +02:00
Martin Jambor
8aab521842
re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)
...
2014-05-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/53787
* params.def (PARAM_IPA_MAX_AA_STEPS): New param.
* ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
analysis_done, update all uses.
* ipa-prop.c: Include domwalk.h
(param_analysis_info): Removed.
(param_aa_status): New type.
(ipa_bb_info): Likewise.
(func_body_info): Likewise.
(ipa_get_bb_info): New function.
(aa_overwalked): Likewise.
(find_dominating_aa_status): Likewise.
(parm_bb_aa_status_for_bb): Likewise.
(parm_preserved_before_stmt_p): Changed to use new param AA info.
(load_from_unmodified_param): Accept func_body_info as a parameter
instead of parms_ainfo.
(parm_ref_data_preserved_p): Changed to use new param AA info.
(parm_ref_data_pass_through_p): Likewise.
(ipa_load_from_parm_agg_1): Likewise. Update callers.
(compute_complex_assign_jump_func): Changed to use new param AA info.
(compute_complex_ancestor_jump_func): Likewise.
(ipa_compute_jump_functions_for_edge): Likewise.
(ipa_compute_jump_functions): Removed.
(ipa_compute_jump_functions_for_bb): New function.
(ipa_analyze_indirect_call_uses): Likewise, moved variable
declarations down.
(ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
and info, moved variable declarations down.
(ipa_analyze_call_uses): Accept and pass on func_body_info instead of
node and info.
(ipa_analyze_stmt_uses): Likewise.
(ipa_analyze_params_uses): Removed.
(ipa_analyze_params_uses_in_bb): New function.
(ipa_analyze_controlled_uses): Likewise.
(free_ipa_bb_info): Likewise.
(analysis_dom_walker): New class.
(ipa_analyze_node): Handle node-specific forbidden analysis,
initialize and free func_body_info, use dominator walker.
(ipcp_modif_dom_walker): New class.
(ipcp_transform_function): Create and free func_body_info, use
ipcp_modif_dom_walker, moved a lot of functionality there.
From-SVN: r210864
2014-05-23 17:52:20 +02:00
Vladimir Makarov
63b0b10636
re PR rtl-optimization/61215 (ICE in gen_add2_insn, at optabs.c:4718 when building wine-1.7.19)
...
2014-05-23 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61215
* gcc.target/i386/pr61215.c: New.
From-SVN: r210863
2014-05-23 15:34:03 +00:00
Marek Polacek
85a16bf8b5
builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
...
* builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
* gcc.c (sanitize_spec_function): Likewise.
* convert.c (convert_to_integer): Include "ubsan.h". Add
floating-point to integer instrumentation.
* doc/invoke.texi: Document -fsanitize=float-cast-overflow.
* flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
SANITIZE_NONDEFAULT.
* opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
* ubsan.c: Include "realmpfr.h" and "dfp.h".
(get_ubsan_type_info_for_type): Handle REAL_TYPEs.
(ubsan_type_descriptor): Set tkind to 0xffff for types other than
float/double/long double.
(ubsan_instrument_float_cast): New function.
* ubsan.h (ubsan_instrument_float_cast): Declare.
testsuite/
* c-c++-common/ubsan/float-cast-overflow-1.c: New test.
* c-c++-common/ubsan/float-cast-overflow-10.c: New test.
* c-c++-common/ubsan/float-cast-overflow-2.c: New test.
* c-c++-common/ubsan/float-cast-overflow-3.c: New test.
* c-c++-common/ubsan/float-cast-overflow-4.c: New test.
* c-c++-common/ubsan/float-cast-overflow-5.c: New test.
* c-c++-common/ubsan/float-cast-overflow-6.c: New test.
* c-c++-common/ubsan/float-cast-overflow-7.c: New test.
* c-c++-common/ubsan/float-cast-overflow-7.h: New file.
* c-c++-common/ubsan/float-cast-overflow-8.c: New test.
* c-c++-common/ubsan/float-cast-overflow-9.c: New test.
* c-c++-common/ubsan/float-cast.h: New file.
* g++.dg/ubsan/float-cast-overflow-bf.C: New test.
* gcc.dg/ubsan/float-cast-overflow-bf.c: New test.
libsanitizer/
* ubsan/ubsan_value.cc (getFloatValue): Handle 96-bit
floating-point types.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r210862
2014-05-23 14:44:42 +00:00
Jiong Wang
fee9ba422f
[AARCH64] Support tail indirect function call.
...
From-SVN: r210861
2014-05-23 12:13:56 +00:00