ebotcazou [Fri, 27 Aug 2010 16:23:07 +0000 (16:23 +0000)]
Fix long lines
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163590
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 27 Aug 2010 15:00:11 +0000 (15:00 +0000)]
2010-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/43217
* gfortran.dg/hollerith8.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163588
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 27 Aug 2010 14:48:16 +0000 (14:48 +0000)]
* config/mips/mips-protos.h (mips_function_arg_advance): Delete
(mips_function_arg): Delete.
(mips_function_arg_boundary): Take a const_tree.
* config/mips/mips.c (mips_function_arg_boundary): Likewise.
(mips_arg_info): Likewise.
(mips_setup_incoming_varargs): Call mips_function_arg_advance
instead of FUNCTION_ARG_ADVANCE.
(mips_function_arg_advance): Adjust prototype. Make static.
(mips_function_arg): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
* config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163587
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 27 Aug 2010 14:46:22 +0000 (14:46 +0000)]
* config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
* config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
(function_arg): Delete.
(function_arg_boundary): Take a const_tree.
* config/rs6000/rs6000.c (function_arg_boundary): Likewise.
(rs6000_spe_function_arg): Likewise.
(rs6000_parm_start): Likewise.
(rs6000_arg_size): Likewise.
(rs6000_darwin64_record_arg_advance_recurse): Likewise.
(rs6000_darwin64_record_arg): Likewise. Take a bool instead of
an int.
(rs6000_mixed_function_arg): Likewise.
(function_arg): Rename to...
(rs6000_function_arg): ...this.
(function_arg_advance): Rename to...
(rs6000_function_arg_advance_1): ...this
(rs6000_function_arg_advance): New function. Call it.
(setup_incoming_varargs): Call rs6000_function_arg_advance_1.
(rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
(rs6000_function_value): Likewise.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163586
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Fri, 27 Aug 2010 14:22:41 +0000 (14:22 +0000)]
2010-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/arm.md (enabled): Test the value of arch_enabled
rather than just using it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163585
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Fri, 27 Aug 2010 12:08:47 +0000 (12:08 +0000)]
2010-08-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45159
* dependency.c (check_section_vs_section): Single test for
identical strides which takes into account that only one
of the strides may be NULL.
2010-08-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45159
* gfortran.dg/dependency_33.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163584
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 27 Aug 2010 11:39:45 +0000 (11:39 +0000)]
2010-08-27 Richard Guenther <rguenther@suse.de>
* gcc.dg/graphite/scop-1.c: Fix out-of-bound array accesses.
* gcc.dg/graphite/scop-2.c: Likewise.
* gcc.dg/graphite/scop-20.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163583
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Fri, 27 Aug 2010 10:48:32 +0000 (10:48 +0000)]
* dse.c (group_info.base_mem, get_group_info): Use BLKmode to
cover all the possible offsets from this base.
(scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.
testsuite/
* gnat.dg/dse_step.ads, dse_step.adb, test_dse_step.adb: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163582
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 27 Aug 2010 06:50:03 +0000 (06:50 +0000)]
2010-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43217
* primary.c (match_hollerith_constant): Calculate padding needed to
fill default integer and allocate string for that size. Set pad bytes
to ' '.
* gfortran.h: Add hollerith pad value to type spec union.
* data.c (create_character_initializer): Fix spelling of function name.
Use hollerith pad value to calculate length.
* arith.c (hollerith2representation); Use hollerith pad value to
calculate length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163581
138bc75d-0d04-0410-961f-
82ee72b054a4
rwild [Fri, 27 Aug 2010 04:27:40 +0000 (04:27 +0000)]
Fix building ecjx in cross compile mode.
libjava/:
PR libgcj/40868
* configure.ac: Add GCC_FOR_ECJX variable. Ensure
GCJ_FOR_ECJX is always set.
* Makefile.am [!NATIVE] (ecjx.$(OBJEXT)): New rule.
* Makefile.in: Regenerate.
* configure: Regenerate.
* gcj/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163580
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 27 Aug 2010 00:17:31 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163579
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Thu, 26 Aug 2010 19:48:43 +0000 (19:48 +0000)]
2010-08-26 Daniel Kraft <d@domob.eu>
PR fortran/38936
PR fortran/44047
PR fortran/45384
* gfortran.h (struct gfc_association_list): New flag `dangling'.
(gfc_build_block_ns): Declared here...
* parse.h (gfc_build_block_ns): ...instead of here.
* trans.h (gfc_process_block_locals): Expect additionally the
gfc_association_list of BLOCK (if present).
* match.c (select_type_set_tmp): Create sym->assoc for temporary.
* resolve.c (resolve_variable): Only check for invalid *array*
references on associate-names.
(resolve_assoc_var): New method with code previously in resolve_symbol.
(resolve_select_type): Use association to give the selector and
temporaries their values instead of ordinary assignment.
(resolve_fl_var_and_proc): Allow CLASS associate-names.
(resolve_symbol): Use new `resolve_assoc_var' instead of inlining here.
* trans-stmt.c (gfc_trans_block_construct): Pass association-list
to `gfc_process_block_locals' to match new interface.
* trans-decl.c (gfc_get_symbol_decl): Don't defer associate-names
here automatically.
(gfc_process_block_locals): Defer them rather here when linked to
from the BLOCK's association list.
2010-08-26 Daniel Kraft <d@domob.eu>
PR fortran/38936
PR fortran/44047
PR fortran/45384
* gfortran.dg/associate_8.f03: New test.
* gfortran.dg/select_type_13.f03: New test.
* gfortran.dg/select_type_14.f03: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163572
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 26 Aug 2010 17:58:31 +0000 (17:58 +0000)]
* system.h [HAVE_INTTYPES_H]: Include inttypes.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163569
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 26 Aug 2010 16:39:26 +0000 (16:39 +0000)]
PR tree-optimization/44485
* calls.c (flags_from_decl_or_type): For const or pure
noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN
together with ECF_CONST resp. ECF_PURE.
* builtins.c (expand_builtin): Use flags_from_decl_or_type
instead of querying flags directly.
* tree-ssa-loop-niter.c (finite_loop_p): Likewise.
* tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.
* gcc.dg/pr44485.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163568
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 26 Aug 2010 15:52:41 +0000 (15:52 +0000)]
* gcc.dg/tls/thr-init-2.c: Use dg-add-options tls.
* gcc.dg/torture/tls/thr-init-1.c: Likewise.
* gcc.dg/torture/tls/thr-init-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163567
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 26 Aug 2010 15:29:31 +0000 (15:29 +0000)]
* config/fpu-387.h (has_sse): Remove cw_sse, unused.
Use fixed-length asm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163566
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 26 Aug 2010 14:20:45 +0000 (14:20 +0000)]
2010-08-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45255
* tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P
statics and externals are also invariant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163565
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 26 Aug 2010 13:10:15 +0000 (13:10 +0000)]
2010-08-26 Richard Guenther <rguenther@suse.de>
* gcc.dg/graphite/scop-0.c: Fix out-of-bound array accesses.
* gcc.dg/graphite/scop-21.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163564
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 26 Aug 2010 11:13:58 +0000 (11:13 +0000)]
2010-08-26 Richard Guenther <rguenther@suse.de>
* gcc.dg/vect/vect-64.c: Fix out-of-bound array accesses.
* gcc.dg/vect/fast-math-slp-27.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-64.c: Likewise.
* gcc.dg/vect/vect-91.c: Likewise.
* gcc.dg/vect/vect-peel-1.c: Likewise.
* gcc.dg/vect/vect-peel-2.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163563
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Thu, 26 Aug 2010 02:12:49 +0000 (02:12 +0000)]
2010-08-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/41859
* gfortran.dg/der_io_4.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163561
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 26 Aug 2010 00:16:50 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163560
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Aug 2010 17:50:59 +0000 (17:50 +0000)]
PR rtl-optimization/44858
* combine.c (try_combine): If recog_for_combine added CLOBBERs to
newi2pat, make sure they don't affect newpat.
* gcc.c-torture/execute/pr44858.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163552
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Aug 2010 17:49:26 +0000 (17:49 +0000)]
PR rtl-optimization/45400
* combine.c (simplify_shift_const_1) <case SUBREG>: Only use
SUBREG_REG if both modes are of MODE_INT class.
* g++.dg/other/i386-8.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163551
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Wed, 25 Aug 2010 15:35:24 +0000 (15:35 +0000)]
* config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
* config/arm/arm.md (generic_sched): No for Cortex-A5.
(generic_vfp): Likewise.
(cortex-a5.md): Include.
* config/arm/cortex-a5.md: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163550
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 14:46:40 +0000 (14:46 +0000)]
2010-08-25 Richard Guenther <rguenther@suse.de>
* alias.c (get_alias_set): Assign a single alias-set to
all pointers.
* gimple.c (gimple_get_alias_set): Remove special handling
for pointers.
c-family/
* c-common.c (c_common_get_alias_set): Remove special
handling for pointers.
* gcc.dg/alias-8.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163549
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Aug 2010 14:44:46 +0000 (14:44 +0000)]
* trans-decl.c (gfc_build_intrinsic_function_decls): Set
TREE_NOTHROW on fndecls that can't throw. Set
TREE_READONLY on gfor_fndecl_math_ishftc{4,8,16}.
(gfc_build_builtin_function_decls): Set TREE_NOTHROW on
gfor_fndecl_associated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163548
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 25 Aug 2010 14:14:59 +0000 (14:14 +0000)]
* combine.c (find_split_point): Undo canonicalization of multiply-add
to (minus x (mult)) when it seems likely that this will increase the
chances of a split.
* gcc.target/i386/combine-mul.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163547
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 25 Aug 2010 14:08:23 +0000 (14:08 +0000)]
PR middle-end/45355
* combine.c (try_combine): Use reg_overlap_mentioned_p rather than
dead_or_set_p when computing i0_feeds_i2_n.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163546
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 14:05:28 +0000 (14:05 +0000)]
2010-08-25 Richard Guenther <rguenther@suse.de>
PR lto/44562
* lto-streamer.c (lto_record_common_node): Do not mess with
TYPE_CANONICAL when not in lto.
* gimple.c (gimple_register_type): Likewise.
* gcc.dg/graphite/id-27.c: New testcase.
* gcc.dg/lto/
20100825-1_0.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163545
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 12:53:30 +0000 (12:53 +0000)]
2010-08-25 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45316
* tree-ssa-pre.c (eliminate): Properly clean EH info.
* g++.dg/opt/pr45316.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163543
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 10:47:50 +0000 (10:47 +0000)]
2010-08-25 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45393
* tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
and clean EH info. Avoid SSA update.
(execute_cse_sincos): Cleanup the CFG if it has changed.
* g++.dg/torture/pr45393.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163541
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Aug 2010 10:03:19 +0000 (10:03 +0000)]
2010-08-25 Richard Guenther <rguenther@suse.de>
PR middle-end/45379
* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
TARGET_MEM_REF in alignment computation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163540
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Aug 2010 09:36:35 +0000 (09:36 +0000)]
PR tree-optimization/45059
* tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
type conversions from newop{1,2}. Assert t is a comparison and
newop{1,2} after the stripping are gimple vals.
* gcc.c-torture/compile/pr45059.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163539
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Wed, 25 Aug 2010 07:23:26 +0000 (07:23 +0000)]
vmull / vmovl support for Neon.
For Tejas Belagod
2010-08-25 Tejas Belagod <tejas.belagod@arm.com>
* lib/target-supports.exp (check_effective_target_vect_unpack):
Set vect_unpack supported flag to true for neon.
* config/arm/iterators.md (VU, SE, V_widen_l): New.
(V_unpack, US): New.
* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for
vmovl.
(vec_unpack<US>_lo_<mode>): Likewise.
(neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
(neon_vec_unpack<US>_lo_<mode>): Likewise.
(vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
(vec_widen_<US>mult_hi_<mode>): Likewise.
(neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
(neon_vec_<US>mult_hi_<mode>"): Likewise.
(neon_unpack<US>_<mode>): Widening move intermediate step for
vectorizing without -mvectorize-with-neon-quad.
(neon_vec_<US>mult_<mode>): Widening multiply intermediate step
for vectorizing without -mvectorize-with-neon-quad.
* config/arm/predicates.md (vect_par_constant_high): Check for
high-half lanes of a vector.
(vect_par_constant_low): Check for low-half lanes of a vector.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163538
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 25 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163536
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Tue, 24 Aug 2010 23:36:04 +0000 (23:36 +0000)]
Speed-up ifcvt_memrefs_wont_trap caching previous results.
This patch speeds up the ifcvt_memrefs_wont_trap computation by
caching the results of the computations in the data references ->aux
fields.
* tree-if-conv.c (struct ifc_dr): New.
(IFC_DR): New.
(DR_WRITTEN_AT_LEAST_ONCE): New.
(DR_RW_UNCONDITIONALLY): New.
(memref_read_or_written_unconditionally): Use the cached values
when possible.
(write_memref_written_at_least_once): Same.
(if_convertible_loop_p): Initialize and free DR->aux fields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163532
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Tue, 24 Aug 2010 23:35:56 +0000 (23:35 +0000)]
Do not check whether memory references accessed in every iteration trap.
This patch relaxes the checks from gimple_could_trap_p in order to
allow the flag_loop_if_convert_stores to if-convert more loops
in which it is possible to prove that:
- the accesses to an array in a loop do not trap (more than the
original non-if-converted loop). This is true when the memory
accesses are executed at every iteration of the if-converted loop.
- the writes to memory occur on arrays that are not const qualified.
This is true when there exists at least one unconditional write to
the array in the analyzed program. In this patch this analysis is
limited to the loop to be if-converted.
* gimple.c (gimple_could_trap_p_1): Not static anymore.
Pass an extra bool parameter include_mem.
(gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
(gimple_assign_rhs_could_trap_p): Same.
* gimple.h (gimple_could_trap_p_1): Declared.
* tree-data-ref.h (same_data_refs_base_objects): New.
(same_data_refs): New.
* tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
(write_memrefs_written_at_least_once): New.
(ifcvt_memrefs_wont_trap): New.
(operations_could_trap): New.
(ifcvt_could_trap_p): New.
(if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
Gets a vector of data refs.
(if_convertible_stmt_p): Same.
(if_convertible_loop_p_1): New.
(if_convertible_loop_p): Call if_convertible_loop_p_1.
* gcc.dg/tree-ssa/ifc-5.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163531
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Tue, 24 Aug 2010 23:35:48 +0000 (23:35 +0000)]
Add flag -ftree-loop-if-convert-stores.
This patch adds a flag that controls the replacement of the memory
writes that are in predicated basic blocks with a full write:
for (...)
if (cond)
A[i] = foo
is replaced with:
for (...)
A[i] = cond ? foo : A[i]
In order to do this, we have to call gimple_could_trap_p instead of
gimple_assign_rhs_could_trap_p, as we have to also check that the LHS
of assign stmts does not trap.
* common.opt (ftree-loop-if-convert-stores): New flag.
* doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
* tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI. Insert
the created statement before GSI.
(if_convertible_phi_p): Allow virtual phi nodes when
flag_loop_if_convert_stores is set.
(if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
Do not handle types that do not match is_gimple_reg_type.
Remove loop and bb parameters. Call gimple_could_trap_p instead of
when flag_loop_if_convert_stores is set, as LHS can contain
memory refs.
(if_convertible_stmt_p): Remove loop and bb parameters. Update calls
to if_convertible_gimple_assign_stmt_p.
(if_convertible_loop_p): Update call to if_convertible_stmt_p.
(replace_phi_with_cond_gimple_assign_stmt): Renamed
predicate_scalar_phi. Do not handle virtual phi nodes.
(ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
Call predicate_scalar_phi.
(insert_gimplified_predicates): Insert the gimplified predicate of a BB
just after the labels for flag_loop_if_convert_stores, otherwise
insert the predicate in the end of the BB.
(predicate_mem_writes): New.
(combine_blocks): Call predicate_all_scalar_phis. When
flag_loop_if_convert_stores is set, call predicate_mem_writes.
(tree_if_conversion): Call mark_sym_for_renaming when
flag_loop_if_convert_stores is set.
(main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
flag_loop_if_convert_stores is set.
* gcc.dg/tree-ssa/ifc-4.c: New.
* gcc.dg/tree-ssa/ifc-7.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163530
138bc75d-0d04-0410-961f-
82ee72b054a4
dannysmith [Tue, 24 Aug 2010 22:41:34 +0000 (22:41 +0000)]
* MAINTAINERS (OS Port Maintainers): Remove myself from windows
ports
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163529
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 24 Aug 2010 21:08:05 +0000 (21:08 +0000)]
PR bootstrap/45376
* configure.ac (HAVE_SSE4): New check.
* configure, config.in: Rebuild.
* lex.c (search_line_sse42): Omit if !HAVE_SSE4.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163528
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Tue, 24 Aug 2010 18:52:08 +0000 (18:52 +0000)]
* config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
(pa_function_value): Make static.
(override_options): Rename to...
(pa_option_override): ...this. Make static.
(TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
TARGET_OPTION_OVERRIDE): Define.
* config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
Remove.
* config/pa/pa-protos.h (override_options): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163525
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 24 Aug 2010 17:23:35 +0000 (17:23 +0000)]
* lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
etc. on Solaris 2/x86.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163522
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 24 Aug 2010 13:25:25 +0000 (13:25 +0000)]
2010-08-24 Richard Guenther <rguenther@suse.de>
PR middle-end/45379
* tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
if addr->index is NULL or zero.
* tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
TARGET_MEM_REF more properly.
(indirect_ref_may_alias_decl_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
* alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more
properly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163519
138bc75d-0d04-0410-961f-
82ee72b054a4
xmj [Tue, 24 Aug 2010 03:22:07 +0000 (03:22 +0000)]
check loongson targets in vect.exp
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163495
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 24 Aug 2010 00:17:23 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163494
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Mon, 23 Aug 2010 19:34:15 +0000 (19:34 +0000)]
* config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
(m32c_override_options): Rename to...
(m32c_option_override): ...this. Make static.
(TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
* config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
Remove.
* config/m32c/m32c-protos.h (m32c_override_options,
m32c_function_value_regno_p): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163488
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Mon, 23 Aug 2010 18:52:06 +0000 (18:52 +0000)]
* gcc_release (snapshot_print): Also include an sha1 hash for
every tarball. Slightly tweak indentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163487
138bc75d-0d04-0410-961f-
82ee72b054a4
cfang [Mon, 23 Aug 2010 18:50:22 +0000 (18:50 +0000)]
Fix a typo in the previous commit
* tree-ssa-loop-prefetch.c (gather_memory_references_ref): Fix a
typo ("could not taken" --> "could not be taken")
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163485
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Mon, 23 Aug 2010 18:42:21 +0000 (18:42 +0000)]
2010-08-23 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/45380
* frontend-passes.c (optimize_equality): Don't optimize array equality
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163484
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Mon, 23 Aug 2010 18:08:47 +0000 (18:08 +0000)]
2010-08-23 Kai Tietz <kai.tietz@onevision.com>
* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
Pre-initialize innerloop_iters to one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163477
138bc75d-0d04-0410-961f-
82ee72b054a4
cfang [Mon, 23 Aug 2010 17:45:08 +0000 (17:45 +0000)]
pr45260 Don't generate prefetch if the address of base could not be taken.
* tree-flow.h (may_be_nonaddressable_p): New definition. Make the
existing static function global.
*tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
is changed to global.
*tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
may_be_nonaddressable_p on base, and don't collect this reference
if the address of the base could not be taken.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163475
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 23 Aug 2010 17:31:56 +0000 (17:31 +0000)]
Add missing file
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163473
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 23 Aug 2010 16:47:01 +0000 (16:47 +0000)]
Update to use -mveclibabi=mass instead of -mmass
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163471
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 23 Aug 2010 16:41:10 +0000 (16:41 +0000)]
Add -mveclibabi=mass
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163470
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 23 Aug 2010 12:39:20 +0000 (12:39 +0000)]
2010-08-23 Tobias Burnus <burnus@net-b.de>
PR fortran/45323
* io/write.c (nml_write_obj, namelist_write): Cast argument
of toupper to int.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163469
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 23 Aug 2010 12:26:42 +0000 (12:26 +0000)]
2010-08-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/45366
* resolve.c (resolve_procedure_interface): New function split off from
'resolve_symbol'.
(resolve_formal_arglist): Call it here ...
(resolve_symbol): ... and here.
2010-08-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/45366
* gfortran.dg/proc_ptr_29.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163468
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 23 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163465
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 22 Aug 2010 16:23:38 +0000 (16:23 +0000)]
PR boehm-gc/34544
* gthr-posix.h (__gthread_active_init): Delete.
(__gthread_active_p): Do activity check here.
Don't include errno.h on hppa-hpux. Update comment.
* gthr-posix95.h (__gthread_active_init): Delete.
(__gthread_active_p): Do activity check here.
Don't include errno.h on hppa-hpux. Update comment.
* config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
* config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
add -lpthread when -mt or -pthread is specified.
* config/pa/pa-hpux11.h (LIB_SPEC): likewise.
(LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
(stublib.c, pthread_default_stacksize_np-stub.o,
pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
$(T)libgcc_stub.a): Add methods.
* config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
(stublib.c, pthread_default_stacksize_np-stub.o,
pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
pthread_mutex_unlock): New stubs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163461
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 22 Aug 2010 14:05:26 +0000 (14:05 +0000)]
2010-08-22 Tobias Burnus <burnus@net-b.de>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/45367
* gfortran.dg/bessel_6.f90: Further reduce required accuracy.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163460
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 22 Aug 2010 12:19:01 +0000 (12:19 +0000)]
* Makefile.in (gccspec.o, cppspec.o): Update dependencies.
* common.opt (L, nodefaultlibs, nostdlib, pg, static): New
options.
* config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
* config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
* config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
* config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
* config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
"-l".
* cppspec.c: Include opts.h.
(lang_specific_driver): Use cl_decoded_option structures.
* doc/tm.texi.in (MATH_LIBRARY): Update documentation.
* doc/tm.texi: Regenerate.
* gcc.c (translate_options): Translate -d to -foutput-class-dir=.
(driver_handle_option): Allow driver options needing no special
processing.
(process_command): Decode options before call to
lang_specific_driver. Pass decoded options to
lang_specific_driver.
* gcc.h (lang_specific_driver): Update prototype.
* gccspec.c: Include opts.h.
(lang_specific_driver): Use cl_decoded_option structures.
* opts-common.c (option_ok_for_language, generate_option,
generate_option_input_file): New.
(decode_cmdline_option): Use option_ok_for_language.
(decode_cmdline_options_to_array): Use generate_option_input_file.
(handle_generated_option): Use generate_option.
* opts.h (generate_option, generate_option_input_file): Declare.
cp:
* Make-lang.in (g++spec.o): Update dependencies.
* g++spec.c: Include opts.h
(MATH_LIBRARY, LIBSTDCXX): Remove initial "-l".
(lang_specific_driver): Use cl_decoded_option structures.
fortran:
* Make-lang.in (gfortranspec.o): Update dependencies.
* gfortranspec.c: Include coretypes.h before gcc.h. Include
opts.h.
(MATH_LIBRARY, FORTRAN_LIBRARY): Remove initial "-l".
(ADD_ARG_LIBGFORTRAN, Option, lookup_option): Remove.
(g77_xargc): Make unsigned.
(g77_xargv): Change to g77_x_decoded_options.
(g77_newargc): Make unsigned.
(g77_newargv): Change to g77_new_decoded_options.
(strings_same, options_same): New.
(append_arg): Use cl_decoded_option structures.
(append_option): New.
(add_arg_libgfortran): New.
(lang_specific_driver): Use cl_decoded_option structures.
java:
* Make-lang.in (jvspec.o): Update dependencies.
* jvspec.c: Include opts.h.
(PARAM_ARG): Remove.
(find_spec_file): Do not add leading -specs=.
(lang_specific_driver): Use cl_decoded_option structures.
* lang.opt (C, CLASSPATH, D, bootclasspath, classpath, encoding,
extdirs, fmain=, s-bc-abi): New options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163459
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 22 Aug 2010 10:24:49 +0000 (10:24 +0000)]
2010-08-22 Tobias Burnus <burnus@net-b.de>
PR fortran/45367
* gfortran.dg/bessel_6.f90: Fix numeric tolerence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163458
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 22 Aug 2010 10:09:34 +0000 (10:09 +0000)]
Really commit the following change:
2010-08-22 Tobias Burnus <burnus@net-b.de>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/45367
* gfortran.dg/bessel_6.f90: Increase numeric tolerence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163457
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Sun, 22 Aug 2010 09:33:45 +0000 (09:33 +0000)]
* config/mips/mips.c (mips_override_options): Rename to...
(mips_option_override): ...this. Make static.
(TARGET_OPTION_OVERRIDE): Define.
(mips_in_small_data_p): Update comment.
* config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
(FIXED_REGISTERS): Update comment.
* config/mips/mips-protos.h (mips_override_options): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163456
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 22 Aug 2010 08:39:48 +0000 (08:39 +0000)]
2010-08-22 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
* gfortran.dg/bessel_7.f90: Disable accidently enabled debug
output.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163455
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 22 Aug 2010 08:34:14 +0000 (08:34 +0000)]
2010-08-22 Tobias Burnus <burnus@net-b.de>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/45367
PR fortran/36158
* gfortran.dg/bessel_6.f90: Increase numeric tolerence.
* gfortran.dg/bessel_7.f90: Increase numeric tolerence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163454
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 22 Aug 2010 00:17:35 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163453
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Sat, 21 Aug 2010 20:54:18 +0000 (20:54 +0000)]
Fix formatting of recently added ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163449
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Sat, 21 Aug 2010 20:53:16 +0000 (20:53 +0000)]
* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163448
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Sat, 21 Aug 2010 20:48:34 +0000 (20:48 +0000)]
* config/rs6000/vxworks.h: (PREFERRED_STACK_BOUNDARY,
ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163447
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sat, 21 Aug 2010 19:05:40 +0000 (19:05 +0000)]
Vectorize fast path of _cpp_clean_line.
* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
(ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
(ptrdiff_t): Check via AC_CHECK_TYPE.
* config.in, configure: Rebuild.
* system.h: Include stdint.h, if available.
* lex.c (WORDS_BIGENDIAN): Provide default.
(acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
search_line_sse2, search_line_sse42, init_vectorized_lexer,
search_line_fast): New.
(_cpp_clean_line): Use search_line_fast. Restructure the fast
loop to make it clear when we're leaving the loop. Stay in the
fast loop for non-trigraph '?'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163446
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sat, 21 Aug 2010 14:50:57 +0000 (14:50 +0000)]
2010-08-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/45271
PR fortran/45290
* class.c (add_proc_comp): Add static initializer for PPCs.
(add_procs_to_declared_vtab): Modified comment.
* module.c (mio_component): Add argument 'vtype'. Don't read/write the
initializer if the component is part of a vtype.
(mio_component_list): Add argument 'vtype', pass it on to
'mio_component'.
(mio_symbol): Modified call to 'mio_component_list'.
* trans.h (gfc_conv_initializer): Modified prototype.
(gfc_trans_assign_vtab_procs): Removed.
* trans-common.c (create_common): Modified call to
'gfc_conv_initializer'.
* trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl,
gfc_emit_parameter_debug_info): Modified call to
'gfc_conv_initializer'.
(build_function_decl): Remove assertion.
* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
Removed call to 'gfc_trans_assign_vtab_procs'.
(gfc_conv_initializer): Add argument 'procptr'.
(gfc_conv_structure): Modified call to 'gfc_conv_initializer'.
(gfc_trans_assign_vtab_procs): Removed.
* trans-stmt.c (gfc_trans_allocate): Removed call to
'gfc_trans_assign_vtab_procs'.
2010-08-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/44863
PR fortran/45271
PR fortran/45290
* gfortran.dg/dynamic_dispatch_10.f03: New (PR 44863 comment #1).
* gfortran.dg/pointer_init_5.f90: New (PR 45290 comment #6).
* gfortran.dg/typebound_call_18.f03: New (PR 45271 comment #3).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163445
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 21 Aug 2010 13:25:33 +0000 (13:25 +0000)]
* tracebak.c: Fix typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163444
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Aug 2010 12:36:19 +0000 (12:36 +0000)]
* tree-pass.h (pass_ipa_cdtor_merge): New function.
* cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
heap allocated.
(record_cdtor_fn): Move to ipa.c; do not test for
have_ctors_dtors.
(build_cdtor): Move to ipa.c; add code avoiding construction
when target have ctors/dtors and there is only one ctor/dtor at given
priority.
(compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize sort;
reverse order of constructors.
(cgraph_build_cdtor_fns):Move to ipa.c; rename to build_cdtor_fns.
(cgraph_finalize_function): Do not call record_cdtor_fn.
(cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
(cgraph_build_static_cdtor): Move to ipa.c.
* ipa.c: Include target.h and tree-iterator.h.
(cgraph_build_static_cdtor, static_ctors, static_dtors,
record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
pass_ipa_cdtor_merge): New.
* passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
* ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of bounds access.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163443
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Aug 2010 12:24:41 +0000 (12:24 +0000)]
Fix previous commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163442
138bc75d-0d04-0410-961f-
82ee72b054a4
rwild [Sat, 21 Aug 2010 12:18:02 +0000 (12:18 +0000)]
Fix misquoting in stdint.m4.
config/:
PR target/45084
* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
of AC_MSG_ERROR.
libdecnumber/:
* configure: Regenerate.
libgfortran/:
* configure: Regenerate.
libgomp/:
* configure: Regenerate.
libstdc++-v3/:
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163441
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 21 Aug 2010 10:12:53 +0000 (10:12 +0000)]
2010-08-21 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* intrinsic.c (add_sym): Init value attribute.
(set_attr_value): New function.
(add_functions) Use it and add JN/YN resolvers.
* symbol.c (gfc_copy_formal_args_intr): Copy value attr.
* intrinsic.h (gfc_resolve_bessel_n2): New prototype.
* gfortran.h (gfc_intrinsic_arg): Add value attribute.
* iresolve.c (gfc_resolve_bessel_n2): New function.
* trans-intrinsic.c (gfc_get_symbol_for_expr): Create
formal arg list.
(gfc_conv_intrinsic_function,gfc_is_intrinsic_libcall):
Add GFC_ISYM_JN2/GFC_ISYM_YN2 as case value.
* simplify.c (): For YN set to -INF if previous values
was -INF.
* trans-expr.c (gfc_conv_procedure_call): Don't crash
if sym->as is NULL.
* iresolve.c (gfc_resolve_extends_type_of): Set the
type of the dummy argument to the one of the actual.
2010-08-21 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* m4/bessel.m4: Implement bessel_jn and bessel_yn.
* gfortran.map: Add the generated bessel_jn_r{4,8,10,16}
and bessel_yn_r{4,8,10,16}.
* Makefile.am: Add bessel.m4.
* Makefile.in: Regenerated.
* generated/bessel_r4.c: Generated.
* generated/bessel_r16.c: Generated.
* generated/bessel_r8.c: Generated.
* generated/bessel_r10.c: Generated.
2010-08-21 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* gfortran.dg/bessel_6.f90: New.
* gfortran.dg/bessel_7.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163440
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Aug 2010 09:46:15 +0000 (09:46 +0000)]
PR c++/45307
PR c++/17736
* cgraph.h (cgraph_only_called_directly_p,
cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
static cdtors.
* cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
are not needed.
(cgraph_finalize_function): Static cdtors are reachable.
(cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.
* gcc.dg/ipa/ctor-empty-1.c: Add testcase.
* g++.dg/tree-ssa/empty-2.C: Check that constructor got optimized out.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163439
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 21 Aug 2010 08:13:27 +0000 (08:13 +0000)]
* lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
* lto-streamer-out.c (lto_output): Likewise.
* passes.c (ipa_write_optimization_summaries): Initialize statement uids.
* lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
(lto_wpa_write_files): Update comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163438
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 21 Aug 2010 00:16:55 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163437
138bc75d-0d04-0410-961f-
82ee72b054a4
macro [Fri, 20 Aug 2010 22:39:58 +0000 (22:39 +0000)]
* pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
corresponding stream has been opened.
(pex_free): Close pipe file descriptors corresponding to child's
stdout and stderr before waiting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163426
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Fri, 20 Aug 2010 22:08:41 +0000 (22:08 +0000)]
* tree.h (alias_diag_flags): New enum.
(alias_pair): Add an 'emitted_diags' field.
* varasm.c (finish_aliases_1): Honor and update
* p->emitted_diags.
(assemble_alias): Initialize emitted_diags of new pairs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163425
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 20 Aug 2010 21:22:16 +0000 (21:22 +0000)]
* config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
(STACK_CHECK_PROTECT): Define.
* config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
(output_probe_stack_range): Likewise.
(rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
builtin stack checking is enabled.
* config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
* config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
(probe_stack_range): New insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163424
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 20 Aug 2010 20:57:56 +0000 (20:57 +0000)]
Cast to unsigned short/char first for _mm_extract_epi16/_mm_extract_epi8.
gcc/
2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/45336
* config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
short first.
* config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
char first.
gcc/testsuite/
2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/45336
* gcc.target/i386/pr45336-1.c: New.
* gcc.target/i386/pr45336-2.c: Likewise.
* gcc.target/i386/pr45336-3.c: Likewise.
* gcc.target/i386/pr45336-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163421
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Aug 2010 20:54:25 +0000 (20:54 +0000)]
PR target/45336
* config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
to cover zero extension into 64-bit register.
(*sse2_pextrw): Likewise.
(*sse4_1_pextrd_zext): New insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163420
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 20 Aug 2010 20:10:42 +0000 (20:10 +0000)]
revert r163410, partially revert r163267.
* config/rs6000/darwin.h (LIB_SPEC): Remove.
* config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all
Darwin versions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163419
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 20 Aug 2010 19:23:52 +0000 (19:23 +0000)]
PR testsuite/45361
* gcc.target/i386/volatile-2.c: Update scan strings to also
include (%rip) for the memory reference on x86_64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163416
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Aug 2010 18:49:46 +0000 (18:49 +0000)]
PR middle-end/44974
* builtins.c (expand_builtin): Don't optimize away
calls to DECL_LOOPING_CONST_OR_PURE_P builtins.
* gcc.dg/pr44974.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163415
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 20 Aug 2010 18:40:56 +0000 (18:40 +0000)]
* config/i386/i386.md (ashift RSP splitter): Remove splitter.
(pro_epilogue_adjust_stack_di_2): Use "l" constraint for
alternative 1 of operand 2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163414
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Aug 2010 18:08:10 +0000 (18:08 +0000)]
* simplify-rtx.c (simplify_unary_operation_1): Optimize
(sign_extend (zero_extend ()) and
({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163413
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Aug 2010 18:07:12 +0000 (18:07 +0000)]
PR rtl-optimization/45353
* sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
after bb_note is a BARRIER.
* gcc.dg/pr45353.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163412
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 20 Aug 2010 16:12:14 +0000 (16:12 +0000)]
* config/rs6000/darwin.h (LIB_SPEC): New. Provide save/restFP by
linking libgcc.a.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163410
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 20 Aug 2010 15:56:14 +0000 (15:56 +0000)]
* tree-ssa-address.c (tree_mem_ref_addr): Convert offset to
sizetype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163409
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 20 Aug 2010 15:27:29 +0000 (15:27 +0000)]
* lang.opt (MD, MMD): Use NoDriverArg instead of NoArgDriver.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163408
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 20 Aug 2010 15:26:56 +0000 (15:26 +0000)]
* ggc-common.c (ggc_mark_root_tab): New function, split out from...
(ggc_mark_roots): ...here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163407
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 20 Aug 2010 15:25:03 +0000 (15:25 +0000)]
* gfortranspec.c (lang_specific_driver): Refer to -lgfortran in
comment, not -lg2c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163406
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 20 Aug 2010 14:42:28 +0000 (14:42 +0000)]
Replace has_analyzed_clone with has_analyzed_clone_p.
2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/45357
* lto.c (lto_materialize_function): Replace has_analyzed_clone
with has_analyzed_clone_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163405
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 20 Aug 2010 13:29:36 +0000 (13:29 +0000)]
* lto.c (has_analyzed_clone_p): New function
(lto_materialize_function): Use callgraph to determine if
body is needed.
(materialize_cgraph): Remove DECL_IS_BUILTIN check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163403
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 20 Aug 2010 12:59:40 +0000 (12:59 +0000)]
missed from rest of commit
* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
copy the src value and return a copy.
* doc/extend.texi (Volatiles): Move from C++ to C and expand.
(C++ Volatiles): Adjust to describe C++ semantics only.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163402
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 20 Aug 2010 12:48:59 +0000 (12:48 +0000)]
gcc/
* vec.h (FOR_EACH_VEC_ELT): Define.
* c-decl.c: Use it.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* dbxout.c: Likewise.
* df-scan.c: Likewise.
* dominance.c: Likewise.
* dse.c: Likewise.
* dwarf2out.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* function.c: Likewise.
* gcse.c: Likewise.
* genattr.c: Likewise.
* ggc-common.c: Likewise.
* gimplify.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* implicit-zee.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-emit.c: Likewise.
* lambda-code.c: Likewise.
* loop-invariant.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-opts.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* lto-symtab.c: Likewise.
* matrix-reorg.c: Likewise.
* opts.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-emutls.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-loop-linear.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-structalias.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-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* vmsdbgout.c: Likewise.
gcc/ada/
* gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
gcc/c-family/
* c-common.c: Use FOR_EACH_VEC_ELT.
* c-gimplify.c: Likewise.
* c-pragma.c: Likewise.
gcc/cp/
* call.c: Use FOR_EACH_VEC_ELT.
* class.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* error.c: Likewise.
* except.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* name-lookup.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* repo.c: Likewise.
* semantics.c: Likewise.
* typeck2.c: Likewise.
gcc/fortran/
* trans-openmp.c: Use FOR_EACH_VEC_ELT.
gcc/java/
* class.c: Use FOR_EACH_VEC_ELT.
* expr.c: Likewise.
* jcf-parse.c: Likewise.
* resource.c: Likewise.
gcc/lto/
* lto.c: Use FOR_EACH_VEC_ELT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163401
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 20 Aug 2010 12:22:11 +0000 (12:22 +0000)]
gcc/
* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
copy the src value and return a copy.
* doc/extend.texi (Volatiles): Move from C++ to C and expand.
(C++ Volatiles): Adjust to describe C++ semantics only.
gcc/testsuite/
* gcc.target/i386/volatile-2.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163400
138bc75d-0d04-0410-961f-
82ee72b054a4