Kai Tietz [Thu, 8 Jul 2010 18:07:52 +0000 (18:07 +0000)]
final.c (final_scan_insn): Replace TARGET_UNWIND_INFO macro check by unwind_emit hook NULL check.
2010-07-08 Kai Tietz <kai.tietz@onevision.com>
* final.c (final_scan_insn): Replace
TARGET_UNWIND_INFO macro check by unwind_emit
hook NULL check.
* targhooks.c (default_unwind_emit): Removed.
* targhooks.h (default_unwind_emit): Likewise.
* target.def (unwind_emit): Set default value to NULL.
From-SVN: r161972
Kai Tietz [Thu, 8 Jul 2010 17:53:44 +0000 (17:53 +0000)]
i386-protos.h (ix86_asm_output_function_label): New prototype.
2010-07-08 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386-protos.h (ix86_asm_output_function_label):
New prototype.
* config/i386/i386.c (ix86_function_ms_hook_prologue): Check
for NULL fntype argument and allow 64-bit targets.
(ix86_asm_output_function_label): New function.
(ix86_expand_prologue): Handle 64-bit ms hook prologue.
(ix86_handle_fndecl_attribute): Likewise.
* doc/extend.texi (ms_hook_prologue): Adjust documentation.
* doc/doc/tm.texi: Regenerated.
* doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
(ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
* defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
* config/elfos.h: Likewise.
* config/i386/cygming.h: Likewise.
* config/netbsd-aout.h: Likewise.
* config/openbsd.h: Likewise.
* config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
by ix86_asm_output_function_label function call.
* varasm.c (assemble_start_function): Use
ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
From-SVN: r161971
Benjamin Kosnik [Thu, 8 Jul 2010 17:48:12 +0000 (17:48 +0000)]
stl_heap.h: Update markup.
2010-07-08 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_heap.h: Update markup.
* include/bits/move.h: Same.
* include/bits/algorithmfwd.h: Same.
* include/bits/regex.h: Same.
* include/bits/random.h: Same.
* doc/doxygen/doxygroups.cc: Same.
* doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from
input file list.
* doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated
pdf in location consistent with docbook pdf generation.
* doc/Makefile.in: Regenerate.
From-SVN: r161970
Jakub Jelinek [Thu, 8 Jul 2010 17:30:41 +0000 (19:30 +0200)]
re PR fortran/44847 (ICE: OpenMP with Collapse clause and CYCLE stmt in loop)
PR fortran/44847
* match.c (match_exit_cycle): Error on EXIT also from collapsed
!$omp do loops. Error on CYCLE to non-innermost collapsed
!$omp do loops.
* gfortran.dg/gomp/pr44847.f90: New test.
From-SVN: r161967
Jan Hubicka [Thu, 8 Jul 2010 16:46:49 +0000 (18:46 +0200)]
cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls): New function.
* cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
New function.
* cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
Declare.
* ipa-cp.c (ipcp_estimate_growth): Use it.
* ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
Likewise.
From-SVN: r161966
Jan Hubicka [Thu, 8 Jul 2010 16:44:54 +0000 (18:44 +0200)]
tree-inline.c (declare_return_variable): Allocate annotation for new temporary.
* tree-inline.c (declare_return_variable): Allocate annotation for new
temporary.
From-SVN: r161965
Sebastian Pop [Thu, 8 Jul 2010 16:38:00 +0000 (16:38 +0000)]
Call maybe_fold_or_comparisons to fold OR-ed predicates.
2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/44710
* tree-if-conv.c (parse_predicate): New.
(add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.
* gcc.dg/tree-ssa/ifc-6.c: New.
* gcc.dg/tree-ssa/ifc-pr44710.c: New.
From-SVN: r161964
Sebastian Pop [Thu, 8 Jul 2010 16:37:49 +0000 (16:37 +0000)]
Add the -ftree-loop-if-convert flag.
2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
* common.opt (ftree-loop-if-convert): New flag.
* doc/invoke.texi (ftree-loop-if-convert): Documented.
* tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
when flag_tree_loop_if_convert is set.
From-SVN: r161963
Uros Bizjak [Thu, 8 Jul 2010 16:31:30 +0000 (18:31 +0200)]
i386.c: Use short syntax for function calls through function pointers.
* config/i386/i386.c: Use short syntax for function calls
through function pointers.
* config/i386/i386.md: Ditto.
From-SVN: r161962
Eric Botcazou [Thu, 8 Jul 2010 15:23:45 +0000 (15:23 +0000)]
* emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
From-SVN: r161961
Tobias Burnus [Thu, 8 Jul 2010 15:17:25 +0000 (17:17 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2010-07-08 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* array.c (gfc_match_array_ref): Better error message for
coarrays with too few ranks.
(match_subscript): Move one diagnostic to caller.
* gfortran.h (gfc_get_corank): Add prottype.
* expr.c (gfc_get_corank): New function.
* iresolve.c (resolve_bound): Fix rank for cobounds.
(gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound,
gfc_resolve_ucobound, gfc_resolve_this_image): Update
resolve_bound call.
2010-07-08 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray_10.f90: Add an additional test.
From-SVN: r161960
Richard Guenther [Thu, 8 Jul 2010 14:58:20 +0000 (14:58 +0000)]
tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
2010-07-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
From-SVN: r161959
Jakub Jelinek [Thu, 8 Jul 2010 14:50:16 +0000 (16:50 +0200)]
dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
* dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
(loc_list_from_tree): Likewise.
(output_loc_operands): Handle outputting DW_OP_const[48]u
with loc->dtprel set.
(resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.
From-SVN: r161958
Jan Hubicka [Thu, 8 Jul 2010 14:20:23 +0000 (16:20 +0200)]
ipa.c: Include pointer-set.h
* ipa.c: Include pointer-set.h
(cgraph_externally_visible_p): New attribute ALIASED;
when in LTO, hidden symbols are local unless they are aliased.
(function_and_variable_visibility): Compute aliased nodes;
handle LTO and hidden symbol on functions and vars.
* cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
for COMDAT symbols; handle COMDAT_GROUPS also at vars.
From-SVN: r161957
Peter Bergner [Thu, 8 Jul 2010 14:17:52 +0000 (09:17 -0500)]
re PR c/44828 (possible integer wrong code bug)
PR middle-end/44828
* gcc.c-torture/execute/pr44828.c (foo): Use signed char.
* gcc.c-torture/execute/pr44828.x: Revert.
From-SVN: r161956
Jason Merrill [Thu, 8 Jul 2010 14:00:26 +0000 (10:00 -0400)]
re PR c++/43120 (Virtual inheritance with covariant return type confuses GCC)
PR c++/43120
* class.c (update_vtable_entry_for_fn): Fix handling of dummy
virtual bases for covariant thunks.
From-SVN: r161954
H.J. Lu [Thu, 8 Jul 2010 13:40:24 +0000 (13:40 +0000)]
Add gcc.dg/pr44838.c.
2010-07-08 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/44838
* gcc.dg/pr44838.c: New.
From-SVN: r161953
Eric Botcazou [Thu, 8 Jul 2010 12:27:01 +0000 (12:27 +0000)]
cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
(ix86_gen_probe_stack_range): Likewise.
(override_options): Set them.
(ix86_target_stack_probe): New function.
(ix86_compute_frame_layout): Force use of push instructions to
save registers if stack checking with probes is enabled.
(get_scratch_register_on_entry): New function.
(release_scratch_register_on_entry): Likewise.
(ix86_adjust_stack_and_probe): Likewise.
(output_adjust_stack_and_probe): Likewise.
(ix86_emit_probe_stack_range): Likewise.
(output_probe_stack_range): Likewise.
(ix86_expand_prologue): Emit stack checking code if static built-in
stack checking is enabled.
Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
* config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
(output_adjust_stack_and_probe): Likewise.
(output_probe_stack_range): Likewise.
* config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
(allocate_stack_worker_32): Test ix86_target_stack_probe instead of
TARGET_STACK_PROBE.
(allocate_stack_worker_64): Likewise.
(allocate_stack): Likewise.
(adjust_stack_and_probe): New insn.
(probe_stack_range): Likewise.
From-SVN: r161952
Richard Guenther [Thu, 8 Jul 2010 11:38:43 +0000 (11:38 +0000)]
re PR tree-optimization/44831 (internal compiler error: verify_stmts failed when compiling wine)
2010-07-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44831
* tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
a MEM_REF preserving TBAA info of the original dereference.
Dereference the original pointer if the address is not
invariant.
(propagate_with_phi): Fixup type checks wrt MEM_REFs. Require
at least one invariant address that we are going to dereference.
* gcc.c-torture/compile/pr44831.c: New testcase.
* gcc.dg/tree-ssa/pr21463.c: Adjust.
From-SVN: r161950
Richard Guenther [Thu, 8 Jul 2010 10:51:46 +0000 (10:51 +0000)]
re PR tree-optimization/44861 (internal compiler error: in vectorizable_load, at tree-vect-stmts.c:3812)
2010-07-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44861
* tree-vect-stmts.c (vectorizable_store): Preserve TBAA
information when building MEM_REFs.
(vectorizable_load): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
* g++.dg/vect/pr44861.cc: New testcase.
From-SVN: r161949
Eric Botcazou [Thu, 8 Jul 2010 10:03:14 +0000 (10:03 +0000)]
* config/sol2-c.c: Do not include diagnostic-core.h.
From-SVN: r161948
Ramana Radhakrishnan [Thu, 8 Jul 2010 09:29:43 +0000 (09:29 +0000)]
Fix PR44768
From-SVN: r161947
Richard Guenther [Thu, 8 Jul 2010 09:16:42 +0000 (09:16 +0000)]
tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): New function.
2010-07-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
New function.
(valueize_refs): Call it.
From-SVN: r161946
Richard Guenther [Thu, 8 Jul 2010 09:09:15 +0000 (09:09 +0000)]
re PR rtl-optimization/44838 (RTL loop unrolling causes FAIL: gcc.dg/pr39794.c)
2010-07-08 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/44838
* tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
SSA form do not use pointer equivalence.
From-SVN: r161945
Eric Botcazou [Thu, 8 Jul 2010 08:12:07 +0000 (08:12 +0000)]
dwarf2out.c (AT_linkage_name): Delete.
* dwarf2out.c (AT_linkage_name): Delete.
(add_linkage_attr): New function.
(add_linkage_name): Call it to emit the linkage attribute.
(dwarf2out_finish): Likewise.
(move_linkage_attr): Explicitly accept both attribute variants.
From-SVN: r161944
Manuel López-Ibáñez [Thu, 8 Jul 2010 04:22:54 +0000 (04:22 +0000)]
toplev.h: Do not include diagnostic-core.h.
2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
* toplev.h: Do not include diagnostic-core.h.
Include diagnostic-core.h in every file that includes toplev.h.
* c-tree.h: Do not include toplev.h.
* pretty-print.h: Update comment.
* Makefile.in: Update dependencies.
* alias.c: Include diagnostic-core.h in every file that includes
toplev.h.
* attribs.c: Likewise.
* auto-inc-dec.c: Likewise.
* bb-reorder.c: Likewise.
* bt-load.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfghooks.c: Likewise.
* cfgloop.c: Likewise.
* combine.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/pe.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/cris/cris.c: Likewise.
* config/crx/crx.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/host-darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/netware.c: Likewise.
* config/i386/nwld.c: Likewise.
* config/i386/winnt-cxx.c: Likewise.
* config/i386/winnt-stubs.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64-c.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c-pragma.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68hc11/m68hc11.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep-pragma.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/picochip/picochip.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390.c: Likewise.
* config/score/score.c: Likewise.
* config/score/score3.c: Likewise.
* config/score/score7.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/symbian-base.c: Likewise.
* config/sh/symbian-c.c: Likewise.
* config/sh/symbian-cxx.c: Likewise.
* config/sol2-c.c: Likewise.
* config/sol2.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/v850/v850-c.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/vxworks.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
* convert.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* dbgcnt.c: Likewise.
* dbxout.c: Likewise.
* ddg.c: Likewise.
* dominance.c: Likewise.
* emit-rtl.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* fixed-value.c: Likewise.
* fold-const.c: Likewise.
* fwprop.c: Likewise.
* gcse.c: Likewise.
* ggc-common.c: Likewise.
* ggc-page.c: Likewise.
* ggc-zone.c: Likewise.
* gimple-low.c: Likewise.
* gimplify.c: Likewise.
* graph.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* implicit-zee.c: Likewise.
* integrate.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* lists.c: Likewise.
* loop-doloop.c: Likewise.
* loop-iv.c: Likewise.
* lto-opts.c: Likewise.
* lto-symtab.c: Likewise.
* main.c: Likewise.
* modulo-sched.c: Likewise.
* optabs.c: Likewise.
* params.c: Likewise.
* plugin.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* real.c: Likewise.
* regcprop.c: Likewise.
* reginfo.c: Likewise.
* regmove.c: Likewise.
* reorg.c: Likewise.
* resource.c: Likewise.
* rtl.c: Likewise.
* rtlanal.c: Likewise.
* sched-deps.c: Likewise.
* sched-ebb.c: Likewise.
* sched-rgn.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* simplify-rtx.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* targhooks.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-inline.c: Likewise.
* tree-nomudflap.c: Likewise.
* tree-object-size.c: Likewise.
* tree-optimize.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* varasm.c: Likewise.
* vec.c: Likewise.
* web.c: Likewise.
* xcoffout.c: Likewise.
c-family/
* c-common.h: Include diagnostic-core.h. Error if already
included.
* c-semantics.c: Do not define GCC_DIAG_STYLE here.
cp/
* cp-tree.h: Do not include toplev.h.
java/
* boehm.c: Include diagnostic-core.h in every file that includes
toplev.h.
* class.c: Likewise.
* constants.c: Likewise.
* decl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* jcf-parse.c: Likewise.
* mangle.c: Likewise.
* mangle_name.c: Likewise.
* resource.c: Likewise.
* typeck.c: Likewise.
* verify-glue.c: Likewise.
ada/
* gcc-interface/utils.c: Include diagnostic-core.h in every file
that includes toplev.h.
lto/
* lto-coff.c: Include diagnostic-core.h in every file that
includes toplev.h.
* lto-elf.c: Likewise.
* lto-lang.c: Likewise.
* lto-macho.c: Likewise.
From-SVN: r161943
Peter Bergner [Thu, 8 Jul 2010 04:12:04 +0000 (23:12 -0500)]
re PR c/44828 (possible integer wrong code bug)
PR middle-end/44828
* gcc.c-torture/execute/pr44828.x: New file.
From-SVN: r161942
GCC Administrator [Thu, 8 Jul 2010 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r161941
Richard Sandiford [Wed, 7 Jul 2010 21:49:29 +0000 (21:49 +0000)]
gengtype.c (write_field_root): New function.
gcc/
* gengtype.c (write_field_root): New function.
(write_root): Use it.
From-SVN: r161937
Jakub Jelinek [Wed, 7 Jul 2010 21:16:28 +0000 (23:16 +0200)]
lto-elf.c (ELFOSABI_NONE, [...]): Define if not defined.
* lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
(validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
objects.
From-SVN: r161935
Peter Bergner [Wed, 7 Jul 2010 20:32:19 +0000 (15:32 -0500)]
altivec-2.C: Add -Wno-unused-but-set-variable to dg-options.
* g++.dg/ext/altivec-2.C: Add -Wno-unused-but-set-variable to
dg-options.
* g++.dg/ext/altivec-17.C: Adjust error message.
From-SVN: r161931
Wei Guozhi [Wed, 7 Jul 2010 18:21:48 +0000 (18:21 +0000)]
thumb2.md (peephole2 to convert zero_extract/compare of lowest bits to lshift/compare): Add a missing line.
2010-07-07 Wei Guozhi <carrot@google.com>
* config/arm/thumb2.md (peephole2 to convert zero_extract/compare
of lowest bits to lshift/compare): Add a missing line.
From-SVN: r161930
Wei Guozhi [Wed, 7 Jul 2010 17:55:27 +0000 (17:55 +0000)]
thumb2.md (peephole2 to convert zero_extract/compare of lowest bits to lshift/compare): New.
2010-07-07 Wei Guozhi <carrot@google.com>
* config/arm/thumb2.md (peephole2 to convert zero_extract/compare
of lowest bits to lshift/compare): New.
From-SVN: r161929
Tom Tromey [Wed, 7 Jul 2010 17:23:39 +0000 (17:23 +0000)]
tm.texi: Update.
gcc
* doc/tm.texi: Update.
* doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
Add @hook.
* target.def (want_debug_pub_sections): New hook.
* config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
* dwarf2out.c (add_pubname_string): Check
targetm.want_debug_pub_sections.
(add_pubname): Likewise.
(add_pubtype): Likewise.
gcc/testsuite
* g++.dg/debug/dwarf2/pubnames-1.C: Make darwin-specific.
From-SVN: r161924
Jie Zhang [Wed, 7 Jul 2010 16:31:41 +0000 (16:31 +0000)]
genautomata.c (output_automata_list_min_issue_delay_code): Correctly decompress min_issue_delay.
* genautomata.c (output_automata_list_min_issue_delay_code):
Correctly decompress min_issue_delay.
From-SVN: r161923
Neil Roberts [Wed, 7 Jul 2010 15:59:30 +0000 (15:59 +0000)]
sysv.S (ffi_call_SYSV): Align the stack pointer to 16-bytes.
2010-07-07 Neil Roberts <neil@linux.intel.com>
* src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
16-bytes.
From-SVN: r161922
Bernd Schmidt [Wed, 7 Jul 2010 15:26:48 +0000 (15:26 +0000)]
re PR rtl-optimization/44404 (auto-inc-dec generates an invalid assembly instruction)
PR rtl-optimization/44404
* auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
possible, use reg_overlap_mentioned_p instead.
From-SVN: r161920
Duncan Sands [Wed, 7 Jul 2010 15:21:16 +0000 (17:21 +0200)]
When materializing a cloned function with arguments removed,
to TYPE_POINTER_TO field of the new type (which has fewer
arguments) was left pointing to the original type.
From-SVN: r161918
H.J. Lu [Wed, 7 Jul 2010 13:36:31 +0000 (13:36 +0000)]
Revert revision 161876.
2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/44850
* config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
revision 161876.
(ix86_expand_prologue): Likewise.
(ix86_handle_fndecl_attribute): Likewise.
(ix86_asm_declare_function_name): Likewise.
* config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
* config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
(SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
* config/i386/i386-protos.h (ix86_asm_declare_function_name):
Likewise.
* doc/extend.texi: Likewise.
From-SVN: r161911
H.J. Lu [Wed, 7 Jul 2010 13:33:04 +0000 (13:33 +0000)]
Retry rdrand if the carry flag isn't valid.
gcc/
2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/44844
* config/i386/i386.md (rdrand<mode>): Changed to expand to
retry if the carry flag isn't valid.
(rdrand<mode>_1): New.
gcc/testsuite/
2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/44844
* gcc.target/i386/rdrand-1.c: Scan "jnc".
* gcc.target/i386/rdrand-2.c: Likewise.
* gcc.target/i386/rdrand-3.c: Likewise.
From-SVN: r161910
Richard Guenther [Wed, 7 Jul 2010 12:43:38 +0000 (12:43 +0000)]
re PR middle-end/44790 (Bootstrap fails after MEM-REF merge)
2010-07-07 Richard Guenther <rguenther@suse.de>
PR middle-end/44790
* expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
for expanding the constant offset for MEM_REFs.
From-SVN: r161907
Jan Hubicka [Wed, 7 Jul 2010 12:33:35 +0000 (14:33 +0200)]
* lto-cgraph.c (output_cgraph): Add missing declaration.
From-SVN: r161906
Richard Guenther [Wed, 7 Jul 2010 12:06:57 +0000 (12:06 +0000)]
tree-ssa-propagate.h (valid_gimple_call_p): Remove.
2010-07-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-propagate.h (valid_gimple_call_p): Remove.
* tree-ssa-propagate.c (valid_gimple_call_p): Make static. Fix.
* gimple.h (is_gimple_operand): Remove.
* gimple.c (is_gimple_operand): Likewise.
(walk_gimple_op): Fix wi->val_only setting for calls.
* tree-cfg.c (verify_gimple_call): Fix argument validation.
* tree-profile.c (tree_gen_ic_func_profiler): Do not create
invalid gimple calls.
From-SVN: r161905
Jan Hubicka [Wed, 7 Jul 2010 12:04:09 +0000 (14:04 +0200)]
lto-cgraph.c (output_cgraph): Output toplevel asms only into first partition.
* lto-cgraph.c (output_cgraph): Output toplevel asms only into first
partition.
From-SVN: r161904
Alexandre Oliva [Wed, 7 Jul 2010 01:12:23 +0000 (01:12 +0000)]
gimple.texi (GIMPLE_DEBUG): Document.
* doc/gimple.texi (GIMPLE_DEBUG): Document.
* doc/rtl.texi (Debug Information): New node.
(NOTE_INSN_VAR_LOCATION): Document.
(debug_insn): Likewise.
* doc/generic.texi (DEBUG_EXPR_DECL): Document.
From-SVN: r161899
Jan Hubicka [Wed, 7 Jul 2010 01:00:42 +0000 (03:00 +0200)]
re PR middle-end/44813 (ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173)
PR middle-end/44813
* tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
for functions passed by reference.
* tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
in memory when passed by reference.
* tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
beggining.
* ipa-split.c (split_function): Cleanup way return value is passed;
handle SSA DECL_BY_REFERENCE retvals.
* tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
DECL_BY_REFERENCE is set.
* tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
find_what_p_points_to): Handle RESULT_DECL.
* tree-inline.c (declare_return_variable): Get new entry_block argument;
when passing by reference ensure that RESULT_DECL is gimple_val.
(remap_gimple_op_r): Remap RESULT_DECL ssa name.
(remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
* g++.dg/torture/pr44813.C: New testcase.
* g++.dg/torture/pr44826.C: New testcase.
From-SVN: r161898
GCC Administrator [Wed, 7 Jul 2010 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r161897
Bernd Schmidt [Tue, 6 Jul 2010 23:44:55 +0000 (23:44 +0000)]
re PR rtl-optimization/44787 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:395)
PR rtl-optimization/44787
* config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
* config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
testsuite/
PR rtl-optimization/44787
* gcc.c-torture/compile/pr44788.c: New test.
* gcc.target/arm/pr44788.c: New test.
From-SVN: r161893
Jonathan Wakely [Tue, 6 Jul 2010 22:14:58 +0000 (22:14 +0000)]
status_cxx200x.xml: Add some missing features.
2010-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/status_cxx200x.xml: Add some missing features.
* doc/html/*: Regenerate.
From-SVN: r161892
Peter Bergner [Tue, 6 Jul 2010 21:49:57 +0000 (16:49 -0500)]
* gcc.target/powerpc/altivec-volatile.c: Adjust expected warning.
From-SVN: r161891
Peter Bergner [Tue, 6 Jul 2010 21:46:59 +0000 (16:46 -0500)]
ppu-intrinsics.c: Add -Wno-unused-but-set-variable to dg-options.
* gcc.target/powerpc/ppu-intrinsics.c: Add -Wno-unused-but-set-variable
to dg-options.
From-SVN: r161890
Tobias Burnus [Tue, 6 Jul 2010 20:56:07 +0000 (22:56 +0200)]
re PR fortran/44742 (ICE in gfc_conv_array_initializer)
2010-07-06 Tobias Burnus <burnus@net-b.de>
PR fortran/44742
* array.c (gfc_expand_constructor): Add optional diagnostic.
* gfortran.h (gfc_expand_constructor): Update prototype.
* expr.c (gfc_simplify_expr, check_init_expr,
gfc_reduce_init_expr): Update gfc_expand_constructor call.
* resolve.c (gfc_resolve_expr): Ditto.
2010-07-06 Tobias Burnus <burnus@net-b.de>
PR fortran/44742
* gfortran.dg/parameter_array_init_6.f90: New.
* gfortran.dg/initialization_20.f90: Update dg-error.
* gfortran.dg/initialization_24.f90: Ditto.
From-SVN: r161888
Tobias Burnus [Tue, 6 Jul 2010 19:57:29 +0000 (21:57 +0200)]
trans-decl.c: Include diagnostic-core.h besides toplev.h.
2010-07-06 Tobias Burnus <burnus@net-b.de>
* trans-decl.c: Include diagnostic-core.h besides toplev.h.
* trans-intrinsic.c: Ditto.
* trans-types.c: Ditto.
* convert.c: Include diagnostic-core.h instead of toplev.h.
* options.c: Ditto.
* trans-array.c: Ditto.
* trans-const.c: Ditto.
* trans-expr.c: Ditto.
* trans-io.c: Ditto.
* trans-openmp.c: Ditto.
* trans.c: Ditto.
From-SVN: r161885
Thomas Koenig [Tue, 6 Jul 2010 19:48:58 +0000 (19:48 +0000)]
PR fortran/PR44693
2010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/PR44693
* check.c (dim_rank_check): Also check intrinsic functions.
Adjust permissible rank for functions which reduce the rank of
their argument. Spread is an exception, where DIM can
be one larger than the rank of array.
2010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/PR44693
* gfortran.dg/dim_range_1.f90: New test.
* gfortran.dg/minmaxloc_4.f90: Remove invalid test.
From-SVN: r161884
Jason Merrill [Tue, 6 Jul 2010 19:23:01 +0000 (15:23 -0400)]
re PR c++/44703 ([C++0x] List initialization fail if parameter is typedef name for the std::initializer_list)
PR c++/44703
* call.c (is_std_init_list): Look through typedefs.
From-SVN: r161880
Jason Merrill [Tue, 6 Jul 2010 19:22:49 +0000 (15:22 -0400)]
re PR c++/44778 (? Behaviour change with pointers to members)
PR c++/44778
* init.c (build_offset_ref): If scope isn't dependent,
don't exit early. Look at TYPE_MAIN_VARIANT.
* pt.c (tsubst_copy) [OFFSET_REF]: Do substitution.
From-SVN: r161879
Jason Merrill [Tue, 6 Jul 2010 19:22:38 +0000 (15:22 -0400)]
* error.c (dump_function_decl): Don't crash on null DECL_NAME.
From-SVN: r161878
Jan Hubicka [Tue, 6 Jul 2010 18:54:38 +0000 (20:54 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
* lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
(lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
with body can prevail.
(lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
(lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
* cgraph.c (cgraph_get_node_or_alias): New function.
* cgraph.h (cgraph_get_node_or_alias): Declare.
From-SVN: r161877
Kai Tietz [Tue, 6 Jul 2010 18:27:41 +0000 (18:27 +0000)]
i386.c (ix86_function_ms_hook_prologue): Enable x64 support.
2010-07-06 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
support.
(ix86_expand_prologue): Likewise.
(ix86_handle_fndecl_attribute): Likewise.
(ix86_asm_declare_function_name): New function for
ASM_DECLARE_FUNCTION_NAME.
* config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
* config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
(SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
* config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
* doc/extend.texi: Adjust documentation about ms_hook_prologue
attribute.
From-SVN: r161876
Kai Tietz [Tue, 6 Jul 2010 18:25:26 +0000 (18:25 +0000)]
ms_hook_prologue.c: Add x64 ms_hook_prologue support.
2010-07-06 Kai Tietz <kai.tietz@onevision.com>
* gcc.target/i386/ms_hook_prologue.c: Add x64 ms_hook_prologue
support.
* gcc.target/i386/i386.exp: Likewise.
From-SVN: r161875
Peter Bergner [Tue, 6 Jul 2010 16:09:13 +0000 (11:09 -0500)]
re PR lto/44195 (gcc.dg/lto/
20100518 c_lto_20100518_0.o)
PR testsuite/44195
* gcc.dg/lto/20100518_0.c: Limit to x86.
From-SVN: r161872
Uros Bizjak [Tue, 6 Jul 2010 14:05:19 +0000 (16:05 +0200)]
i386.md (immediate_operand): New mode attribute.
2010-07-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (immediate_operand): New mode attribute.
(pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
pro_epilogue_adjust_stack and pro_epilogue_adjust_stack_rex64
using P mode iterator.
(pro_epilogue_adjust_stack_di_2): Rename from
pro_epilogue_adjust_stack_rex64_2.
* config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
2010-07-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
through gen_mov_insv_1 function pointer.
(fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
gen_truncxf<mode>2 through gen_truncxf function pointer.
(remainder<mode>3): Ditto.
(cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
(allocate_stack): Call gen_allocate_stack_worker_64 or
gen_allocate_stack_worker_32 through gen_allocate_stack_worker
function pointer.
(probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
function pointer.
2010-07-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
operand constraint instead of <r><i>m.
From-SVN: r161870
Richard Guenther [Tue, 6 Jul 2010 13:37:58 +0000 (13:37 +0000)]
re PR c/44828 (possible integer wrong code bug)
2010-07-06 Richard Guenther <rguenther@suse.de>
PR middle-end/44828
* convert.c (convert_to_integer): Watch out for overflowing
MULT_EXPR as well.
* gcc.c-torture/execute/pr44828.c: New testcase.
From-SVN: r161869
Jan Hubicka [Tue, 6 Jul 2010 13:26:28 +0000 (15:26 +0200)]
lto-streamer.c (write_symbol_vec): Rename to ...
* lto-streamer.c (write_symbol_vec): Rename to ...
(write_symbol) ... this one; write only symbol given and when
present in cache. Sanity check that what is defined is present
in cgraph/varpool with body/finalized decl.
(write_symbols_of_kind): Remove.
(produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
pairs to produce symtab.
(produce_asm_for_decls): Update call of produce_symtab; don't do so
when doing WPA streaming.
From-SVN: r161868
Ken Werner [Tue, 6 Jul 2010 13:00:59 +0000 (13:00 +0000)]
floatformat.h (floatformat_ieee_half_big): Add declaration.
include/ChangeLog:
2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* floatformat.h (floatformat_ieee_half_big): Add declaration.
(floatformat_ieee_half_little): Likewise.
libiberty/ChangeLog:
2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* floatformat.c (floatformat_ieee_half_big): New variable.
(floatformat_ieee_half_little): Likewise.
From-SVN: r161867
Jan Hubicka [Tue, 6 Jul 2010 11:44:34 +0000 (13:44 +0200)]
gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that function is still available to fold into.
* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
function is still available to fold into.
From-SVN: r161866
Shujing Zhao [Tue, 6 Jul 2010 05:53:49 +0000 (05:53 +0000)]
cp-tree.h (impl_conv_void): New type.
/cp
2010-07-06 Shujing Zhao <pearly.zhao@oracle.com>
* cp-tree.h (impl_conv_void): New type.
(convert_to_void): Adjust prototype.
* cvt.c (convert_to_void): Use impl_conv_void, emit and adjust the
diagnostic for easy translation. Change caller.
* typeck.c: Update call to convert_to_void.
* semantics.c: Likewise.
* init.c: Likewise.
/testsuite
2010-07-06 Shujing Zhao <pearly.zhao@oracle.com>
* g++.dg/warn/noeffect2.C: Adjust expected warning.
* g++.dg/warn/volatile1.C: Likewise.
* g++.dg/template/warn1.C: Likewise.
From-SVN: r161863
Nathan Froyd [Tue, 6 Jul 2010 02:26:33 +0000 (02:26 +0000)]
vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
gcc/
* vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
* function.h (struct_function): Change type of local_decls field
to a VEC.
(add_local_decl): New function.
(FOR_EACH_LOCAL_DECL): New macro.
* cfgexpand.c (init_vars_expansion): Adjust for new type of
cfun->local_decls.
(estimated_stack_frame_size): Likewise.
(expand_used_vars): Likewise.
* cgraphbuild.c (build_cgraph_edges): Likewise.
* function.c (instantiate_decls_1): Likewise.
* ipa-struct-reorg.c (build_data_structure): Likewise.
* ipa-type-escape.c (analyze_function): Likewise.
* lto-streamer-in.c (input_function): Likewise.
* lto-streamer-out.c (output_function): Likewise.
* tree-ssa-live.c (remove_unused_locals): Likewise.
* tree.c (free_lang_data_in_decl): Likewise.
(find_decls_types_in_node): Likewise.
* omp-low.c (remove_exit_barrier): Likewise.
(expand_omp_taskreg): Likewise.
(list2chain): Rename to...
(vec2chain): ...this. Adjust.
* cgraphunit.c (assemble_thunk): Call add_local_decl.
* tree-cfg.c (replace_by_duplicate_decl): Likewise.
* gimple-low.c (record_vars_into): Likewise.
* tree-inline.c (remap_decls): Likewise.
(declare_return_variable): Likewise.
(declare_inline_vars): Likewise.
(copy_forbidden): Adjust for new type of cfun->local_decls.
(add_local_variables): New function.
(expand_call_inline): Call it.
(tree_function_versioning): Likewise.
gcc/cp/
* decl.c (cp_finish_decl): Call add_local_decl.
* optimize.c (clone_body): Adjust for new type of cfun->local_decls.
From-SVN: r161862
GCC Administrator [Tue, 6 Jul 2010 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r161861
Nathan Froyd [Mon, 5 Jul 2010 22:19:22 +0000 (22:19 +0000)]
re PR bootstrap/44825 (Failed to bootstrap)
PR bootstrap/44825
* class.c (make_class_data): Cast result of VEC_length calls to int.
From-SVN: r161856
H.J. Lu [Mon, 5 Jul 2010 21:57:55 +0000 (21:57 +0000)]
Support AVX Programming Reference (June, 2010).
gcc/
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (June, 2010)
* config/i386/cpuid.h (bit_F16C): New.
(bit_RDRND): Likewise.
(bit_FSGSBASE): Likewise.
* config/i386/i386-builtin-types.def: Add
"DEF_FUNCTION_TYPE (UINT16)", function types for
float16 <-> float conversions and
"DEF_FUNCTION_TYPE (VOID, UINT64)".
* config/i386/i386-c.c (ix86_target_macros_internal): Support
OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
OPTION_MASK_ISA_F16C.
* config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
(OPTION_MASK_ISA_RDRND_SET): Likewise.
(OPTION_MASK_ISA_F16C_SET): Likewise.
(OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
(OPTION_MASK_ISA_RDRND_UNSET): Likewise.
(OPTION_MASK_ISA_F16C_UNSET): Likewise.
(OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
(ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and
OPT_mf16c.
(ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
(pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
(override_options): Handle them.
(ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd
and f16c.
(ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
(bdesc_args): Likewise.
(ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
(ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
Handle non-memory store.
* config/i386/i386.h (TARGET_FSGSBASE): New.
(TARGET_RDRND): Likewise.
(TARGET_F12C): Likewise.
* config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
(UNSPEC_VCVTPS2PH): Likewise.
(UNSPECV_RDFSBASE): Likewise.
(UNSPECV_RDGSBASE): Likewise.
(UNSPECV_WRFSBASE): Likewise.
(UNSPECV_WRGSBASE): Likewise.
(UNSPECV_RDRAND): Likewise.
(rdfsbase<mode>): Likewise.
(rdgsbase<mode>): Likewise.
(wrfsbase<mode>): Likewise.
(wrgsbase<mode>): Likewise.
(rdrand<mode>): Likewise.
* config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
* config/i386/immintrin.h (_rdrand_u16): New.
(_rdrand_u32): Likewise.
(_readfsbase_u32): Likewise.
(_readfsbase_u64): Likewise.
(_readgsbase_u32): Likewise.
(_readgsbase_u64): Likewise.
(_writefsbase_u32): Likewise.
(_writefsbase_u64): Likewise.
(_writegsbase_u32): Likewise.
(_writegsbase_u64): Likewise.
(_rdrand_u64): Likewise.
(_cvtsh_ss): Likewise.
(_mm_cvtph_ps): Likewise.
(_mm256_cvtph_ps): Likewise.
(_cvtss_sh): Likewise.
(_mm_cvtps_ph): Likewise.
(_mm256_cvtps_ph): Likewise.
* config/i386/sse.md (vcvtph2ps): New.
(*vcvtph2ps_load): Likewise.
(vcvtph2ps256): Likewise.
(vcvtps2ph): Likewise.
(*vcvtps2ph): Likewise.
(*vcvtps2ph_store): Likewise.
(vcvtps2ph256): Likewise.
* doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
* doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
gcc/testsuite/
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (June, 2010)
* g++.dg/other/i386-2.C: Add -mfsgsbase -mrdrnd -mf16c.
* g++.dg/other/i386-3.C: Likewise.
* gcc.target/i386/sse-12.c: Likewise.
* gcc.target/i386/f16c-check.h: New.
* gcc.target/i386/rdfsbase-1.c: Likewise.
* gcc.target/i386/rdfsbase-2.c: Likewise.
* gcc.target/i386/rdgsbase-1.c: Likewise.
* gcc.target/i386/rdgsbase-2.c: Likewise.
* gcc.target/i386/rdrand-1.c: Likewise.
* gcc.target/i386/rdrand-2.c: Likewise.
* gcc.target/i386/rdrand-3.c: Likewise.
* gcc.target/i386/vcvtph2ps-1.c: Likewise.
* gcc.target/i386/vcvtph2ps-2.c: Likewise.
* gcc.target/i386/vcvtph2ps-3.c: Likewise.
* gcc.target/i386/vcvtps2ph-1.c: Likewise.
* gcc.target/i386/vcvtps2ph-2.c: Likewise.
* gcc.target/i386/vcvtps2ph-3.c: Likewise.
* gcc.target/i386/wrfsbase-1.c: Likewise.
* gcc.target/i386/wrfsbase-2.c: Likewise.
* gcc.target/i386/wrgsbase-1.c: Likewise.
* gcc.target/i386/wrgsbase-2.c: Likewise.
* gcc.target/i386/sse-13.c: Add -mfsgsbase -mrdrnd -mf16c.
(__builtin_ia32_vcvtps2ph): New.
(__builtin_ia32_vcvtps2ph256): Likewise.
* gcc.target/i386/sse-14.c: Add -mfsgsbase -mrdrnd -mf16c.
Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.
* gcc.target/i386/sse-22.c: Add fsgsbase,rdrnd,f16c.
Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.
* gcc.target/i386/sse-23.c (__builtin_ia32_vcvtps2ph): New.
(__builtin_ia32_vcvtps2ph256): Likewise.
Add fsgsbase,rdrnd,f16c.
* lib/target-supports.exp (check_effective_target_f16c): New.
From-SVN: r161855
Steven G. Kargl [Mon, 5 Jul 2010 20:19:41 +0000 (20:19 +0000)]
Fix ChangeLog entry from my previous commit to include
the "PR" prefix.
From-SVN: r161854
Joern Rennecke [Mon, 5 Jul 2010 20:18:07 +0000 (20:18 +0000)]
re PR bootstrap/44512 (--enable-build-with-cxx bootstrap fails in revision 160669)
PR bootstrap/44512
* genenums.c (main): Output include of insn-constants.h
* Makefile.in (insn-enums.o): Depend on insn-constants.h.
From-SVN: r161853
Steven G. Kargl [Mon, 5 Jul 2010 20:14:15 +0000 (20:14 +0000)]
io.c (resolve_tag): Check EXIST tag is a default logical.
2010-07-05 Steven G. Kargl <kargl@gcc.gnu.org>
fortran/44797
* fortran/io.c (resolve_tag): Check EXIST tag is a default logical.
From-SVN: r161852
Uros Bizjak [Mon, 5 Jul 2010 20:12:10 +0000 (22:12 +0200)]
i386.c (ix86_gen_allocate_stack_worker): New.
* config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
(override_options): Initialize it.
(ix86_expand_prologue): Use it.
From-SVN: r161851
Uros Bizjak [Mon, 5 Jul 2010 20:03:25 +0000 (22:03 +0200)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r161850
Jakub Jelinek [Mon, 5 Jul 2010 19:42:53 +0000 (21:42 +0200)]
tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
* tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
* gcc.dg/guality/nrv-1.c: New test.
From-SVN: r161849
Paul Thomas [Mon, 5 Jul 2010 19:26:12 +0000 (19:26 +0000)]
re PR fortran/44596 ([OOP] Dynamic dispatch uses broken types)
2010-07-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/44596
* trans-types.c (gfc_get_derived_type): Derived type fields
with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
but build_pointer_type_for_mode must be used for this.
From-SVN: r161848
Anatoly Sokolov [Mon, 5 Jul 2010 18:45:40 +0000 (22:45 +0400)]
double-int.h (fit_double_type): Remove declaration.
* double-int.h (fit_double_type): Remove declaration.
* double-int.c (fit_double_type): Remove function.
* tree.h (int_fits_type_p): Adjust prototype.
* tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
instead of fit_double_type.
(build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
instead of fit_double_type and build_int_cst_wide.
* builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
instead of fit_double_type and build_int_cst_wide.
(fold_builtin_object_size): Use double_int_fits_to_tree_p instead
of fit_double_type.
From-SVN: r161847
Jan Hubicka [Mon, 5 Jul 2010 18:25:04 +0000 (20:25 +0200)]
cgraph.h (cgraph_node, [...]): Update docmentation of in_other_partition.
* cgraph.h (cgraph_node, cgraph_varpool_node): Update docmentation of
in_other_partition.
* lto-cgraph.c (referenced_from_other_partition_p,
reachable_from_other_partition_p): Use in_other_partition flags.
(output_node, output_varpool_node): COMDAT nodes always have private
copies and thus are never used from other partition.
* lto.c (add_cgraph_node_to_partition): Forward declare; walk also
nodes from same comdat group as well as all comdat functions referenced
here.
(add_varpool_node_to_partition, add_references_to_partition): New function.
(lto_1_1_map): Skip COMDAT fnctions/variables; use add_varpool_node_to_partition;
clear aux flags when done.
(lto_promote_cross_file_statics): Do not promote stuff that gets duplicated to
each ltrans.
From-SVN: r161846
Anatoly Sokolov [Mon, 5 Jul 2010 17:49:56 +0000 (21:49 +0400)]
ia64.h (MEMORY_MOVE_COST): Remove macro.
* config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
* config/ia64/t-ia64 (ia64.o): Depend on reload.h.
* config/ia64/ia64.c Include reload.h.
(ia64_memory_move_cost): New function.
(TARGET_MEMORY_MOVE_COST): Define.
(ia64_register_move_cost): Replace MEMORY_MOVE_COST with
memory_move_cost.
From-SVN: r161845
Sandra Loosemore [Mon, 5 Jul 2010 17:40:57 +0000 (13:40 -0400)]
re PR middle-end/42505 (loop canonicalization causes a lot of unnecessary temporary variables)
2010-07-05 Sandra Loosemore <sandra@codesourcery.com>
PR middle-end/42505
gcc/
* tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
comments about cost model.
(try_add_cand_for): Add second strategy for choosing initial set
based on original IVs, controlled by ORIGINALP argument.
(get_initial_solution): Add ORIGINALP argument.
(find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
(find_optimal_iv_set): Try two different strategies for choosing
the IV set, and return the one with lower cost.
gcc/testsuite/
* gcc.target/arm/pr42505.c: New test case.
From-SVN: r161844
Rainer Orth [Mon, 5 Jul 2010 17:22:52 +0000 (17:22 +0000)]
configure.ac (ANONVERSCRIPT): Handle sun style.
* configure.ac (ANONVERSCRIPT): Handle sun style.
Define ANONVERSCRIPT_GNU, ANONVERSCRIPT_SUN automake conditionals.
* configure: Regenerate.
* Makefile.am [ANONVERSCRIPT]: Protect GNU section with
ANONVERSCRIPT_GNU.
Introduce per-library $(lib)_la_version_arg, $(lib)_la_version_dep
variables.
[ANONVERSCRIPT_GNU] (version_arg): Default ld arg for version map.
(version_dep): Likewise for dependency.
Use them to set the per-library variables.
[!ANONVERSCRIPT]: Provide them vor the unversioned case.
[ANONVERSCRIPT_SUN]: Handle Sun symbol versioning.
(libgcj_la_DEPENDENCIES): Unconditionally use
$(libgcj_la_version_dep).
(libgcj_la_LINK): Add $(libgcj_la_version_arg).
(libgcj_noncore_la_DEPENDENCIES): Unconditionally use
$(libgcj_la_version_dep).
(libgcj_tools_la_LIBADD): Move -lm ...
(libgcj_tools_la_LDFLAGS): ... here.
(libgcj_tools_la_DEPENDENCIES): Add
$(libgcj_tools_la_version_dep).
(libgcj_tools_la_LINK): Add $(libgcj_tools_la_version_arg).
(lib_gnu_awt_xlib_la_DEPENDENCIES): Add
$(lib_gnu_awt_xlib_la_version_dep).
(lib_gnu_awt_xlib_la_LINK): Add
$(lib_gnu_awt_xlib_la_version_arg).
(libgcj_bc_la_DEPENDENCIES): Add $(libgcj_bc_la_version_dep).
(libgcj_bc_la_LINK): $(libgcj_bc_la_version_arg).
[ANONVERSCRIPT && ANONVERSCRIPT_SUN] (%.ver-sun): New pattern rule.
* Makefile.in: Regenerate.
* libgcj.ver: Reformat.
From-SVN: r161843
Rainer Orth [Mon, 5 Jul 2010 17:19:33 +0000 (17:19 +0000)]
acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
targetting solaris2*.
* configure: Regenerate.
* config.h.in: Regenerate.
* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
Add libgomp_version_dep.
[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
versioning.
[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
* Makefile.in: Regenerate.
* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
to common block, protected by
HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
From-SVN: r161842
Richard Guenther [Mon, 5 Jul 2010 16:06:56 +0000 (16:06 +0000)]
tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
2010-07-05 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy
alias info.
From-SVN: r161841
Richard Guenther [Mon, 5 Jul 2010 14:51:16 +0000 (14:51 +0000)]
tree.c (reference_alias_ptr_type): New function.
2010-07-05 Richard Guenther <rguenther@suse.de>
* tree.c (reference_alias_ptr_type): New function.
* tree.h (reference_alias_ptr_type): Declare.
* tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
allow non-TARGET_MEM_REF new refs.
(rewrite_use_address): Pass old alias pointer type to
create_mem_ref.
* tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type.
Build a MEM_REF instead of a TARGET_MEM_REF if possible.
(create_mem_ref): Get alias pointer type. Adjust calls to
create_mem_ref_raw.
(maybe_fold_tmr): Likewise.
* tree-flow.h (create_mem_ref): Adjust prototype.
From-SVN: r161840
Nathan Froyd [Mon, 5 Jul 2010 14:49:04 +0000 (14:49 +0000)]
constants.c (build_constants_constructor): Use build_constructor instead of build_constructor_from_list.
* constants.c (build_constants_constructor): Use build_constructor
instead of build_constructor_from_list.
* class.c (make_method_value): Likewise.
(get_dispatch_table): Likewise.
(make_class_data): Likewise.
(emit_indirect_register_classes): Likewise.
(emit_symbol_table): Likewise.
(add_assertion_table_entry): Likewise.
(emit_assertion_table): Likewise.
(make_field_value): Use build_constructor_single instead of
build_constructor_from_list.
From-SVN: r161839
Jakub Jelinek [Mon, 5 Jul 2010 14:42:20 +0000 (16:42 +0200)]
re PR c++/44808 (ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr)
PR c++/44808
* gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if
*from_p is VAR_DECL.
* g++.dg/opt/nrv16.C: New test.
From-SVN: r161838
Nathan Froyd [Mon, 5 Jul 2010 13:15:31 +0000 (13:15 +0000)]
tree.h (build_call_list): Remove.
* tree.h (build_call_list): Remove.
* tree.c (build_call_list): Remove.
From-SVN: r161837
Richard Biener [Mon, 5 Jul 2010 13:14:24 +0000 (13:14 +0000)]
double-int.h (double_int_sub): Declare.
2010-07-05 Richard Guenther <rguenther@suse.de>
* double-int.h (double_int_sub): Declare.
* double-int.c (double_int_sub): New function.
* dwarf2out.c (field_byte_offset): Use it.
* fixed-value.c (do_fixed_add): Likewise.
(do_fixed_multiply): Likewise.
(do_fixed_divide): Likewise.
* tree-predcom.c (add_ref_to_chain): Likewise.
(determine_roots_comp): Likewise.
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
From-SVN: r161836
Richard Biener [Mon, 5 Jul 2010 13:06:07 +0000 (13:06 +0000)]
double-int.h (double_int_sub): Declare.
2010-07-05 Richard Guenther <rguenther@suse.de>
* double-int.h (double_int_sub): Declare.
* double-int.c (double_int_sub): New function.
* dwarf2out.c (field_byte_offset): Use it.
* fixed-value.c (do_fixed_add): Likewise.
(do_fixed_multiply): Likewise.
(do_fixed_divide): Likewise.
* tree-predcom.c (add_ref_to_chain): Likewise.
(determine_roots_comp): Likewise.
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
From-SVN: r161835
Nathan Froyd [Mon, 5 Jul 2010 12:46:52 +0000 (12:46 +0000)]
vec.h (VEC_splice, [...]): New macros.
gcc/
* vec.h (VEC_splice, VEC_safe_splice): New macros. Add function
implementations.
gcc/fortran/
* trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
type of gfc_conv_procedure_call.
(conv_generic_with_optional_char_arg): Likewise.
* trans-stmt.c (gfc_trans_call): Likewise.
* trans-expr.c (gfc_conv_function_expr): Likewise.
(gfc_conv_procedure_call): Use build_call_vec instead of
build_call_list.
From-SVN: r161834
Bernd Schmidt [Mon, 5 Jul 2010 12:36:21 +0000 (12:36 +0000)]
arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
* config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
* arm-modes.def (CC_NOTB): Don't define.
* config/arm/arm.md (arm_adddi3): Generate canonical RTL.
(adddi_sesidi_di, adddi_zesidi_di): Likewise.
(LTUGEU): New code_iterator.
(cnb, optab): New corresponding code_attrs.
(addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern
to canonical form. Operands 1 and 2 are commutative. Parametrize
using LTUGEU.
(addsi3_carryin_shift_<optab>): Likewise.
(addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
Operands 1 and 2 are commutative. Parametrize using LTUGEU.
(addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
(subsi3_compare): Renamed from subsi3_compare0_c. Change CC_NOTB to
CC.
(arm_subsi3_insn): Allow constants for operand 0.
(compare_scc peephole for eq case): New.
(compare_scc splitters): Change CC_NOTB to CC.
From-SVN: r161831
Richard Guenther [Mon, 5 Jul 2010 12:25:20 +0000 (12:25 +0000)]
tree-ssa-loop-im.c (for_each_index): Do not handle ALIGN_INDIRECT_REF.
2010-07-05 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-im.c (for_each_index): Do not handle
ALIGN_INDIRECT_REF.
(gen_lsm_tmp_name): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
(op_code_prio): Likewise.
(op_symbol_code): Likewise.
* tree.c (staticp): Likewise.
(build1_stat): Likewise.
* tree.h (INDIRECT_REF_P): Likewise.
* fold-const.c (maybe_lvalue_p): Likewise.
(operand_equal_p): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
(ao_ref_init_from_vn_reference): Likewise.
* tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
(find_interesting_uses_address): Likewise.
* dwarf2out.c (loc_list_from_tree): Likewise.
* gimplify.c (gimplify_expr): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
* tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
* config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* expr.c (safe_from_p): Likewise.
(expand_expr_real_1): Likewise. TER BIT_AND_EXPRs into MEM_REFs.
* tree-vect-data-refs.c (vect_setup_realignment): Build
BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree.def (ALIGN_INDIRECT_REF): Remove.
From-SVN: r161830
Richard Guenther [Mon, 5 Jul 2010 12:20:00 +0000 (12:20 +0000)]
re PR middle-end/44784 (Failed to build 403.gcc in SPEC CPU 2006)
2010-07-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44784
* tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
for inserted stmts.
(find_or_generate_expression): Fix SCCVN insertion check.
* gcc.c-torture/compile/pr44784.c: New testcase.
From-SVN: r161829
Nathan Sidwell [Mon, 5 Jul 2010 11:01:43 +0000 (11:01 +0000)]
e500crtsavg64gprctr.asm: Correct done label name.
* config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
* config/rs6000/e500crtsav64gprctr.asm: Likewise.
* config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
directives.
From-SVN: r161828
Ira Rosen [Mon, 5 Jul 2010 10:41:25 +0000 (10:41 +0000)]
tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip statements that are not vectorized.
* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
statements that are not vectorized.
* tree-vect-stmts.c (vect_get_load_cost): Update the value stored
in INSIDE_COST.
From-SVN: r161827
Paolo Carlini [Mon, 5 Jul 2010 09:55:43 +0000 (09:55 +0000)]
pt.c (tsubst): Early declare code = TREE_CODE (t) and use it throughout.
2010-07-05 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (tsubst): Early declare code = TREE_CODE (t) and use it
throughout.
From-SVN: r161825
Mikael Pettersson [Mon, 5 Jul 2010 09:11:39 +0000 (11:11 +0200)]
re PR bootstrap/44820 (ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon)
2010-07-05 Mikael Pettersson <mikpe@it.uu.se>
PR bootstrap/44820
* config/arm/arm.c (arm_attr_length_move_neon): Delete regno.
From-SVN: r161822
Richard Biener [Mon, 5 Jul 2010 09:04:44 +0000 (09:04 +0000)]
tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE RESULT_DECLs properly.
2010-07-05 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE
RESULT_DECLs properly.
From-SVN: r161821