Sebastian Pop [Fri, 16 Jan 2009 15:18:28 +0000 (15:18 +0000)]
graphite.c (add_conditions_to_domain): Add the loops to the dimension of the iteration domain.
2009-01-16 Sebastian Pop <sebastian.pop@amd.com>
Tobias Grosser <tobi.grosser@amd.com>
* graphite.c (add_conditions_to_domain): Add the loops to
the dimension of the iteration domain. Do copy the domain
only when it exists.
(build_scop_conditions_1): Do not call add_conditions_to_domain.
(add_conditions_to_constraints): New.
(can_generate_code_stmt, can_generate_code): Removed.
(gloog): Do not call can_generate_code.
(graphite_transform_loops): Call add_conditions_to_constraints
after building the iteration domain.
Sebastian Pop [Thu, 15 Jan 2009 23:23:48 +0000 (23:23 +0000)]
graphite.c (scan_tree_for_params): On substractions negate all the coefficients of the term.
2009-01-15 Sebastian Pop <sebastian.pop@amd.com>
Tobias Grosser <tobi.grosser@amd.com>
Jan Sjodin <jan.sjodin@amd.com>
* graphite.c (scan_tree_for_params): On substractions negate
all the coefficients of the term.
(clast_to_gcc_expression_red): New. Handle reduction expressions
of more than two operands.
(clast_to_gcc_expression): Call clast_to_gcc_expression_red.
(get_vdef_before_scop): Handle also the case of default definitions.
Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com> Co-Authored-By: Tobias Grosser <tobi.grosser@amd.com>
From-SVN: r143415
caller-save.c (add_used_regs_1, [...]): New functions.
gcc/
* caller-save.c (add_used_regs_1, add_used_regs): New functions.
(insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
Also use them when walking CALL_INSN_FUNCTION_USAGE.
* src/compatibility.cc: Also export long double versions of "C" math
library if hppa-linux.
* config/abi/pre/gnu.ver: Remove unused __signbit exports.
* doc/xml/manual/appendix_contributing.xml: Remove libmath reference.
Jason Merrill [Thu, 15 Jan 2009 18:14:32 +0000 (13:14 -0500)]
re PR c++/36334 (typedef to function type leads to problems)
PR c++/36334
PR c++/37646
* tree.c (lvalue_p_1): Handle BASELINK. A COMPONENT_REF to
a function isn't necessarily an lvalue. Take tree, not const_tree.
(lvalue_p, real_lvalue_p): Take tree, not const_tree.
* typeck.c (lvalue_or_else): Likewise.
* cp-tree.h: Adjust prototypes.
Jakub Jelinek [Thu, 15 Jan 2009 08:07:38 +0000 (09:07 +0100)]
re PR rtl-optimization/38245 (stack corruption when a call is removed but not the outgoing argument pushes)
PR rtl-optimization/38245
* calls.c (expand_call): Add stack arguments to
CALL_INSN_FUNCTION_USAGE even for pure calls (when
ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
in regs and partially in memory or BLKmode arguments.
(emit_library_call_value_1): Add stack arguments to
CALL_INSN_FUNCTION_USAGE even for pure calls (when
ACCUMULATE_OUTGOING_ARGS).
* dce.c: Include tm_p.h.
(find_call_stack_args): New function.
(deletable_insn_p): Call it for CALL_P insns. Add ARG_STORES
argument.
(mark_insn): Call find_call_stack_args for CALL_Ps.
(prescan_insns_for_dce): Walk insns backwards in bb rather than
forwards. Allocate and free arg_stores bitmap if needed, pass it
down to deletable_insn_p, don't mark stores set in arg_stores
bitmap, clear the bitmap at the beginning of each bb.
* Makefile.in (dce.o): Depend on $(TM_P_H).
* gcc.dg/pr38245-3.c: New test.
* gcc.dg/pr38245-3.h: New file.
* gcc.dg/pr38245-4.c: New file.
* gcc.dg/pr38364.c: New test.
Sebastian Pop [Wed, 14 Jan 2009 21:11:05 +0000 (21:11 +0000)]
re PR middle-end/38431 ([graphite] several ICEs with CP2K (summary))
2009-01-14 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/38431
* graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
(scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
(gloog): Do not call cleanup_tree_cfg.
(graphite_transform_loops): Call cleanup_tree_cfg after all
scops have been code generated.
Richard Guenther [Wed, 14 Jan 2009 16:45:22 +0000 (16:45 +0000)]
re PR tree-optimization/38826 (points-to result wrong for reads from call-clobbered vars)
2009-01-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38826
PR middle-end/38477
* tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
initialization notes only if we actually emitted a warning.
(intra_create_variable_infos): Add constraints for a result decl
that is passed by hidden reference.
(build_pred_graph): Mark all related variables non-direct on
address-taking.
* gcc.dg/Wstrict-aliasing-bogus-pta-1.c: New testcase.
Nick Clifton [Wed, 14 Jan 2009 11:28:01 +0000 (11:28 +0000)]
ira-conflicts.c: Include addresses.h for the definition of base_reg_class.
* ira-conflicts.c: Include addresses.h for the definition of
base_reg_class.
(ira_build_conflicts): Use base_reg_class instead of
BASE_REG_CLASS.
* Makefile.in: Add a dependency of ira-conflicts.o on
addresses.h.
Jakub Jelinek [Tue, 13 Jan 2009 22:36:06 +0000 (23:36 +0100)]
re PR rtl-optimization/38774 (ice in df_refs_verify, at df-scan.c:4307)
PR rtl-optimization/38774
* combine.c (simplify_set): When undoing cc_use change, don't do
PUT_CODE on the newly created comparison, but instead put back the
old comparison.
altivec-consts.c: Run if vmx_hw, compile otherwise.
* gcc.target/powerpc/altivec-consts.c: Run if vmx_hw, compile
otherwise. Do not check for AltiVec at runtime.
* gcc.target/powerpc/altivec-varargs-1.c: Likewise.
* gcc.target/powerpc/altivec-vec-merge.c: Likewise.
* gcc.target/powerpc/altivec-1.c: Likewise.
* gcc.target/powerpc/altivec-3.c: Likewise.
* gcc.target/powerpc/altivec-10.c: Likewise.
* gcc.target/powerpc/altivec-12.c: Likewise.
* gcc.target/powerpc/altivec-24.c: Likewise.
* gcc.target/powerpc/altivec-cell-2.c: Likewise.
* gcc.target/powerpc/altivec-cell-3.c: Likewise.
* gcc.target/powerpc/altivec-cell-4.c: Likewise.
* gcc.target/powerpc/pr35907.c: Likewise.
* gcc.target/powerpc/altivec-cell-8.c: Run if cell_hw, compile
otherwise. Do not check for Cell at runtime.
* gcc.target/powerpc/altivec_check.h: Delete.
* g++.dg/ext/altivec-2.C: Do not check for AltiVec at runtime.
* g++.dg/ext/altivec-3.C: Run if vmx_hw, compile otherwise. Do
not check for AltiVec at runtime.
* g++.dg/ext/altivec-cell-2.C: Likewise.
* g++.dg/ext/altivec-cell-3.C: Likewise.
* g++.dg/ext/altivec-cell-4.C: Likewise.
* g++.dg/eh/simd-2.C: Only use -maltivec if vmx_hw.
* g++.dg/eh/check-vect.h (sig_ill_handler): Remove AltiVec runtime
check.
* g++.dg/ext/altivec_check.h: Delete.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com> Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
From-SVN: r143350
Sebastian Pop [Tue, 13 Jan 2009 15:33:13 +0000 (15:33 +0000)]
re PR middle-end/38786 ([graphite] ICE with -floop-block in verify_ssa)
2009-01-13 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/38786
* gcc.dg/graphite/pr38786.c: New.
* graphite.c (expand_scalar_variables_ssa_name): New, outlined from
the SSA_NAME case of expand_scalar_variables_expr.
Set the type of an expression to the type of its assign statement.
(expand_scalar_variables_expr): Also gather the scalar computation
used to index the memory access. Do not pass loop_p.
Fix comment. Stop recursion on tcc_constant or tcc_declaration.
(expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
the gimple_stmt_iterator where it inserts new code. Do not pass loop_p.
(copy_bb_and_scalar_dependences): Do not pass loop_p.
(translate_clast): Update call to copy_bb_and_scalar_dependences.
Uros Bizjak [Tue, 13 Jan 2009 08:04:11 +0000 (09:04 +0100)]
alpha.c (alpha_legitimate_address_p): Explicit relocations of local symbols wider than UNITS_PER_WORD are not valid.
* config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
relocations of local symbols wider than UNITS_PER_WORD are not valid.
(alpha_legitimize_address): Do not split local symbols wider than
UNITS_PER_WORD into HIGH/LO_SUM parts.
* lib/target-supports.exp (check_effective_target_powerpc64): New.
* gcc.target/powerpc/darwin-longlong.c: Explicitly require 64-bit
instruction support. Do not check for it at runtime.
PR c++/36019
* pt.c (parameter_of_template_p): New function.
* cp-tree.h: Declare it.
* name-lookup.c (binding_to_template_parms_of_scope_p): New
function.
(outer_binding): Take template parameters in account when looking for
a name binding.
PR c++/36019
* g++.dg/lookup/hidden-class12.C: New test.
* g++.dg/lookup/hidden-class13.C: New test.
* g++.dg/lookup/hidden-class14.C: New test.
* g++.dg/lookup/hidden-class15.C: New test.
* g++.dg/lookup/hidden-class16.C: New test.
pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk function when...
* pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
function when not using named sections on targets with named sections
if branch distance is less than 262132.
Jonathan Wakely [Sun, 11 Jan 2009 17:25:23 +0000 (17:25 +0000)]
regex (basic_regex::basic_regex): Use range constructor for _M_pattern.
* include/tr1_impl/regex (basic_regex::basic_regex): Use range
constructor for _M_pattern.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
string.cc: Test construction from different basic_string type.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
string.cc: Likewise.
Eric Botcazou [Sun, 11 Jan 2009 12:24:02 +0000 (12:24 +0000)]
decl.c (gnat_to_gnu_entity): Put the _Tag field before any discriminants in the field list.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
the _Tag field before any discriminants in the field list.
(components_to_record): Remove obsolete comment.