Bernd Schmidt
1744c80034
* config/arm/arm.md (Thumb-1 ldrsb peephole): New.
...
From-SVN: r162021
2010-07-09 21:45:44 +00:00
Bernd Schmidt
0879e7b37b
arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
...
* config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
From-SVN: r162020
2010-07-09 21:44:11 +00:00
Bernd Schmidt
c033690d7e
reload.c (find_reloads): Don't clear badop if we have a winreg alternative...
...
* reload.c (find_reloads): Don't clear badop if we have a
winreg alternative, but not win, and the class only has fixed
regs.
* hard-reg-set.h (class_only_fixed_regs): Declare.
* reginfo.c (class_only_fixed_regs): New array.
(init_reg_sets_1): Initialize it.
* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
discourage alternatives using the stack pointer.
testsuite/
* gcc.dg/pr32370.c: Allow another kind of error message.
From-SVN: r162019
2010-07-09 21:40:48 +00:00
Richard Guenther
e8edaf9523
gimple.c (struct type_fixup_s): New struct and VEC type.
...
2010-07-09 Richard Guenther <rguenther@suse.de>
* gimple.c (struct type_fixup_s): New struct and VEC type.
(gimple_register_type_fixups): New static global.
(gimple_queue_type_fixup): New function.
(gimple_types_compatible_p): Queue type fixups instead of
applying them here.
(gimple_register_type): Apply queued fixups for the
canonical type. Empty the type fixup queue.
From-SVN: r162017
2010-07-09 21:37:54 +00:00
Uros Bizjak
abcb0bd9b7
* config.in: Regenerate.
...
From-SVN: r162016
2010-07-09 23:09:04 +02:00
Uros Bizjak
7085bfb622
configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
...
* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
* configure: Regenerate.
From-SVN: r162015
2010-07-09 23:00:08 +02:00
Eric Botcazou
bb02177133
trans.c (gnat_gimplify_expr): Deal with CALL_EXPR.
...
* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
CALL_EXPR.
From-SVN: r162014
2010-07-09 20:23:14 +00:00
Jakub Jelinek
85e693aa55
re PR tree-optimization/28632 (VRP should understand bitwise OR and AND)
...
PR tree-optimization/28632
* tree-vrp.c (zero_nonzero_bits_from_vr): New function.
(extract_range_from_binary_expr): Further optimize
BIT_AND_EXPR and BIT_IOR_EXPR.
* gcc.dg/tree-ssa/vrp51.c: New test.
* gcc.dg/tree-ssa/vrp52.c: New test.
Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
Co-Authored-By: Denys Vlasenko <dvlasenk@redhat.com>
From-SVN: r162009
2010-07-09 21:40:03 +02:00
Jason Merrill
02dea3ffc6
re PR c++/43120 (Virtual inheritance with covariant return type confuses GCC)
...
PR c++/43120
* cp-tree.h (BV_LOST_PRIMARY): New macro.
* class.c (update_vtable_entry_for_fn): Fix covariant thunk logic.
Set BV_LOST_PRIMARY.
(build_vtbl_initializer): Check BV_LOST_PRIMARY.
From-SVN: r162008
2010-07-09 15:36:19 -04:00
Sebastian Pop
59ee2304b0
Outline fold_or_predicates from add_to_predicate_list.
...
2010-07-09 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (fold_or_predicates): New.
(add_to_predicate_list): Call it.
From-SVN: r162007
2010-07-09 18:58:20 +00:00
Janus Weil
6685e80691
intrinsic.texi: Add documentation for SAME_TYPE_AS...
...
2010-07-09 Janus Weil <janus@gcc.gnu.org>
* intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
SIZEOF and C_SIZEOF.
From-SVN: r162006
2010-07-09 20:40:09 +02:00
Richard Guenther
38a178dd99
re PR middle-end/44890 (Hitting gcc_assert in build2_stat with pr30388.c testsuite test case)
...
2010-07-09 Richard Guenther <rguenther@suse.de>
PR middle-end/44890
* tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
if base is a pointer.
* tree-cfg.c (verify_expr): Update MEM_REF checking.
From-SVN: r162005
2010-07-09 18:32:29 +00:00
Michael Meissner
c8aa02cc70
re PR target/44877 (C++ compiler can no longer compile dealII for VSX/Altivec vectorization)
...
PR 44877
From-SVN: r162002
2010-07-09 16:10:10 +00:00
Uros Bizjak
4bade865ff
configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check for "lock addl".
...
* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
for "lock addl".
* configure: Regenerate.
* config/i386/i386.c (ix86_print_operand) <case ';'>:
Remove TARGET_MACHO.
From-SVN: r162001
2010-07-09 18:02:58 +02:00
Peter Bergner
2c9ccc21b1
rs6000.c (rs6000_override_options): Fix setting of default ISA flags.
...
* config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
default ISA flags.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.
From-SVN: r161999
2010-07-09 10:00:55 -05:00
Tom de Vries
5c9fae0d6e
tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
...
2010-07-09 Tom de Vries <tjvries@xs4all.nl>
* tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
* gcc.dg/debug/dwarf2/pr31230.c: New testcase.
From-SVN: r161998
2010-07-09 14:22:45 +00:00
Hariharan Sandanagobalane
099379da26
picochip.md (commsTestPort): Emit more efficient sequence for tstport instruction.
...
* config/picochip/picochip.md (commsTestPort): Emit more efficient sequence
for tstport instruction.
From-SVN: r161996
2010-07-09 12:18:46 +00:00
Uros Bizjak
f55a7cbc2c
i386.c (ix86_veclib_handler): Make static.
...
* config/i386/i386.c (ix86_veclib_handler): Make static.
From-SVN: r161995
2010-07-09 13:55:31 +02:00
Richard Guenther
dbfcc0597c
re PR middle-end/44852 (miscompilation (of e.g. newlib dtoa.c) after mem-ref2 merge)
...
2010-07-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44852
* tree-ssa-alias.c: Include toplev.h for exact_log2.
(indirect_ref_may_alias_decl_p): Properly handle negative offsets
in MEM_REF.
(indirect_refs_may_alias_p): Likewise.
* Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).
* gcc.c-torture/execute/pr44852.c: New testcase.
From-SVN: r161994
2010-07-09 11:24:09 +00:00
Rainer Orth
8bcc87780a
asm-support.S (snapshot): Replace multiplication by values.
...
* gcc.target/x86_64/abi/asm-support.S (snapshot): Replace
multiplication by values.
* gcc.target/x86_64/abi/asm-support-darwin.s (_snapshot): Likewise.
* gcc.target/x86_64/abi/avx/asm-support.S (snapshot): Likewise.
From-SVN: r161991
2010-07-09 11:13:30 +00:00
Richard Guenther
ca1316d24a
re PR fortran/44882 (Bogus types in references with mismatched commons)
...
2010-07-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44882
* tree-vect-stmts.c (vectorizable_store): Do not assert alias
sets do conflict.
(vectorizable_load): Likewise.
* gfortran.dg/pr44882.f90: New testcase.
From-SVN: r161990
2010-07-09 10:05:27 +00:00
Jonathan Wakely
2dd0f799c4
re PR libstdc++/44875 (libstdc++ status documentation fails to mention missing c++0x io members)
...
2010-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/44875
* doc/xml/manual/status_cxx200x.xml: Corrections to status.
* doc/html/*: Regenerate.
From-SVN: r161989
2010-07-09 10:44:14 +01:00
Bernd Schmidt
e784c52cd2
re PR target/40657 (allocate local variables with fewer instructions)
...
PR target/40657
* config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
All callers changed.
Handle the case when we're called for the epilogue.
(thumb_unexpanded_epilogue): Use it.
(thumb1_expand_epilogue): Likewise.
testsuite/
PR target/40657
* gcc.target/arm/pr40657-1.c: New test.
* gcc.target/arm/pr40657-2.c: New test.
* gcc.c-torture/execute/pr40657.c: New test.
From-SVN: r161988
2010-07-09 09:03:22 +00:00
Jakub Jelinek
ac2856486d
tree-vrp.c (extract_range_from_binary_expr): If both ranges are range_int_cst_p with non-negative minimum...
...
* tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
both ranges are range_int_cst_p with non-negative minimum,
try harder to derive smaller range.
* gcc.dg/tree-ssa/vrp50.c: New test.
* gcc.dg/vect/slp-perm-4.c (main): Make sure loop isn't vectorized.
From-SVN: r161984
2010-07-09 08:58:42 +02:00
Manuel López-Ibáñez
79a3f089cc
genrecog.c: Include diagnostic-core.h before toplev.h.
...
2010-07-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
* genrecog.c: Include diagnostic-core.h before toplev.h.
* genoutput.c: Likewise.
* genextract.c: Likewise.
* genautomata.c: Likewise.
* genemit.c: Likewise.
* genpeep.c: Likewise.
* genattrtab.c: Likewise.
* genconditions.c: Likewise.
* genpreds.c: Likewise.
From-SVN: r161983
2010-07-09 01:34:40 +00:00
GCC Administrator
2188fc5963
Daily bump.
...
From-SVN: r161981
2010-07-09 00:17:26 +00:00
Janus Weil
048510c866
re PR fortran/44649 ([OOP] F2008: storage_size intrinsic (also working for polymorphic types))
...
2010-07-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/44649
* gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
* intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
gfc_resolve_storage_size): New prototypes.
* check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
* intrinsic.c (add_functions): Add STORAGE_SIZE.
* iresolve.c (gfc_resolve_storage_size): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
arguments.
(gfc_conv_intrinsic_storage_size): New function.
(gfc_conv_intrinsic_function): Handle STORAGE_SIZE.
2010-07-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/44649
* gfortran.dg/c_sizeof_1.f90: Modified.
* gfortran.dg/storage_size_1.f08: New.
* gfortran.dg/storage_size_2.f08: New.
From-SVN: r161977
2010-07-08 23:29:56 +02:00
Andi Kleen
1df15c3d3a
lto-section-in.c (lto_section_name): Add missing comma.
...
* lto-section-in.c (lto_section_name): Add missing comma.
From-SVN: r161976
2010-07-08 23:02:47 +02:00
Anatoly Sokolov
930572b906
ia64.h (OVERRIDE_OPTIONS): Remove macros.
...
* config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
* config/ia64/ia64-protos.h (ia64_override_options): Remove.
* config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
(ia64_override_options): Rename to...
(ia64_option_override): ... this one. Make static.
From-SVN: r161975
2010-07-09 00:43:22 +04:00
Eric Botcazou
5951297a1a
re PR middle-end/44843 (All 32-bit fortran execution tests generate unaligned access)
...
PR middle-end/44843
* emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
pointed-to type of the offset in a MEM_REF to compute the alignment.
From-SVN: r161974
2010-07-08 20:02:29 +00:00
Eric Botcazou
5653ef60cb
* make_sunver.pl: Remove extra whitespace in regexp.
...
From-SVN: r161973
2010-07-08 19:15:21 +00:00
Kai Tietz
2784ed9c44
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
2010-07-08 20:07:52 +02:00
Kai Tietz
135a687e07
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
2010-07-08 19:53:44 +02:00
Benjamin Kosnik
5ab3a5af25
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
2010-07-08 17:48:12 +00:00
Jakub Jelinek
84fa59a70c
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
2010-07-08 19:30:41 +02:00
Jan Hubicka
09411461d2
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
2010-07-08 16:46:49 +00:00
Jan Hubicka
72109b2553
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
2010-07-08 16:44:54 +00:00
Sebastian Pop
d89e5e20b6
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
2010-07-08 16:38:00 +00:00
Sebastian Pop
384a5197cb
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
2010-07-08 16:37:49 +00:00
Uros Bizjak
f8e1995a5b
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
2010-07-08 18:31:30 +02:00
Eric Botcazou
a80903ff48
* emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
...
From-SVN: r161961
2010-07-08 15:23:45 +00:00
Tobias Burnus
7aa0849ad2
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
2010-07-08 17:17:25 +02:00
Richard Guenther
d0c422cb29
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
2010-07-08 14:58:20 +00:00
Jakub Jelinek
b298f92498
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
2010-07-08 16:50:16 +02:00
Jan Hubicka
5dde3b0174
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
2010-07-08 14:20:23 +00:00
Peter Bergner
cf8ca1a9b7
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
2010-07-08 09:17:52 -05:00
Jason Merrill
bf1cb49eb6
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
2010-07-08 10:00:26 -04:00
H.J. Lu
02de68e16b
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
2010-07-08 06:40:24 -07:00
Eric Botcazou
2de710b956
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
2010-07-08 12:27:01 +00:00
Richard Guenther
f076debaba
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
2010-07-08 11:38:43 +00:00