* dwarf2cfi.c (DW_STACK_POINTER_REGNUM): New.
(DW_FRAME_POINTER_REGNUM): New.
(expand_builtin_init_dwarf_reg_sizes): Use unsigned for rnum.
(def_cfa_1): Do not convert reg to DWARF_FRAME_REGNUM here.
(dwf_regno): New.
(dwarf2out_flush_queued_reg_saves, dwarf2out_frame_debug_def_cfa,
dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_register,
dwarf2out_frame_debug_cfa_expression, dwarf2out_frame_debug_expr):
Use it.
* dwarf2out.c (based_loc_descr): Use dwarf_frame_regnum.
* dwarf2out.h (dwarf_frame_regnum): New.
(struct cfa_loc): Document the domain of the reg member.
From-SVN: r176178
* config/i386/i386.c (ix86_trampoline_init): Switch arms of if expr.
Use offset everywhere. Always assert that offset <= TRAMPOLINE_SIZE.
From-SVN: r176173
PR debug/49676
* dwarf2out.c (int_shift_loc_descriptor): New function.
(int_loc_descriptor): If shorter, emit i as
(i >> shift), shift, DW_OP_shl for suitable shift value.
Similarly, try to optimize large negative values using
DW_OP_neg of a positive value if shorter.
(size_of_int_shift_loc_descriptor): New function.
(size_of_int_loc_descriptor): Adjust to match int_loc_descriptor
changes.
(mem_loc_descriptor) <case CONST_INT>: Emit zero-extended constants
that fit into DWARF2_ADDR_SIZE bytes as int_loc_descriptor +
DW_OP_GNU_convert instead of DW_OP_GNU_const_type if the former
is shorter.
(resolve_addr_in_expr): Optimize DW_OP_plus_uconst with a large
addend as added DW_OP_plus if it is shorter.
* gcc.dg/guality/csttest.c: New test.
From-SVN: r176167
2011-07-11 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (simplify_conversion_using_ranges): Manually
translate the source value-range through the conversion chain.
From-SVN: r176154
2011-07-11 Arthur Loiret <aloiret@debian.org>
* config.gcc (s390-*-linux*): If 'enabled_targets' is 'all', build
a bi-arch compiler defaulting to 31-bit. In this case:
(tmake_file): Add s390/t-linux64.
* doc/install.texi: Add s390-linux to the list of targets supporting
--enable-targets=all.
From-SVN: r176146
2011-07-11 Arthur Loiret <aloiret@debian.org>
Matthias Klose <doko@debian.org>
* config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all', build
a tri-arch compiler defaulting to 32-bit (ABI o32). In this case:
(tm_file): Add mips/linux64.h.
(tmake_file): Add mips/t-linux64.
(tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
* config/mips/linux64.h (DRIVER_SELF_SPECS): Use MULTILIB_ABI_DEFAULT
instead of hardcoded mabi=n32.
* config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
convention.
Co-Authored-By: Matthias Klose <doko@debian.org>
From-SVN: r176145
gcc/
PR target/39633
* config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
offsets 1..5 set cc0 in a usable way.
testsuite/
PR target/39633
* gcc.target/avr/torture/pr39633.c: New test case.
From-SVN: r176141
In gcc/objc/:
2011-07-11 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-encoding.h (obstack.h): Do not include.
(util_obstack, util_firstobj): Do not declare.
(encode_field_decl): Updated prototype to return a tree and take a
single tree argument. Updated comments.
* objc-encoding.c (util_obstack, util_firstobj): Made static.
(objc_encoding_init): New.
(encode_field_decl): Existing function renamed to encode_field and
made static. New encode_field_decl wrapper function added.
(encode_aggregate_fields): Update call to encode_field_decl to
call encode_field.
* objc-next-runtime-abi-02.c (obstack.h): Do not include.
(util_obstack, util_firstobj): Do not declare.
(build_v2_ivar_list_initializer): Updated call to
encode_field_decl.
* objc-runtime-shared-support.c (obstack.h): Do not include.
(util_obstack, util_firstobj): Do not declare.
(build_ivar_list_initializer): Updated call to encode_field_decl.
* objc-act.c (objc_init): Use objc_encoding_init.
* Make-lang.in (objc/objc-runtime-shared-support.o): Do not depend
on OBSTACK_H.
(objc/objc-gnu-runtime-abi-01.o): Likewise.
(objc/objc-next-runtime-abi-01.o): Likewise.
(objc/objc-next-runtime-abi-02.o): Likewise.
(objc/objc-act.o): Likewise.
In gcc/objcp/:
2011-07-11 Nicola Pero <nicola.pero@meta-innovation.com>
* Make-lang.in (objcp/objc-runtime-shared-support.o): Do not
depend on OBSTACK_H.
(objcp/objc-gnu-runtime-abi-01.o): Likewise.
(objcp/objc-next-runtime-abi-01.o): Likewise.
(objcp/objc-next-runtime-abi-02.o): Likewise.
(objcp/objcp-act.o): Likewise.
From-SVN: r176139
2011-07-10 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_option_override_internal): Turn on
OPTION_MASK_ISA_64BIT for TARGET_X32. Only allow small and
small PIC models for TARGET_X32.
From-SVN: r176127
PR c++/49691
* parser.c (cp_parser_late_return_type_opt): Check quals parameter
rather than current_class_type to determine whether to set 'this'.
(cp_parser_direct_declarator): Pass -1 to quals if member_p is false.
(cp_parser_init_declarator): Pass down member_p.
From-SVN: r176120
PR bootstrap/49680
* config/cris/cris.c (cris_asm_output_case_end): Robustify against
stray notes and debug insns by using prev_nonnote_nondebug_insn
instead of PREV_INSN.
From-SVN: r176110
When we record a save of the return column in the CIE, remember
that while processing the FDE. This requires propagating the
handling of PC_RTX as a representative of the return column to
more locations.
MIPS had been handling this case by hand, and is no longer required.
* dwarf2cfi.c (cie_return_save): New.
(queue_reg_save): Use compare_reg_or_pc.
(dwarf2out_flush_queued_reg_saves): Handle pc_rtx as return column.
(dwarf2out_frame_debug_expr): Likewise.
(dwarf2out_frame_debug_cfa_register): Record saved reg for pc too.
(initial_return_save): Likewise.
(execute_dwarf2_frame): Save and restore initial return save from
the cie to the fde.
* config/mips/mips.c (mips_frame_set): Remove special case for
DWARF_FRAME_RETURN_COLUMN.
From-SVN: r176099
There's no point calling lookup_cfa to re-create the CFA
we initialized just a few lines above.
* dwarf2cfi.c (lookup_cfa): Remove.
(execute_dwarf2_frame): Assert queues are empty on entry.
Setup initial cfa directly, not via lookup_cfa.
Don't clear args_size state here.
From-SVN: r176098