1. 09 Feb, 2013 12 commits
  2. 08 Feb, 2013 22 commits
    • re PR rtl-optimization/56246 (ICE in assign_by_spills, at lra-assigns.c:1262) · 25bb0bb5
      2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/56246
      	* lra-constraints.c (simplify_operand_subreg): Try tor reuse
      	reload pseudo.
      	* lra.c (lra): Clear lra_optional_reload_pseudos only when all
      	constraints are satisfied.
      
      2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/56246
      	* gcc.target/i386/pr56246.c: New test.
      
      From-SVN: r195902
      Vladimir Makarov committed
    • re PR debug/53948 (Assignment line missing for -O0 -g) · a698cc03
             PR debug/53948
              * emit-rtl.c (reg_is_parm_p): New function.
              * regs.h (reg_is_parm_p): New prototype.
              * ira-conflicts.c (ira_build_conflicts): Allow parameters in
              callee-clobbered registers.
      
             PR debug/53948
              * gcc.dg/debug/dwarf2/pr53948.c: New test.
      
      From-SVN: r195900
      Jeff Law committed
    • re PR target/56043 (ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c) · e1122ddd
      [gcc]
      2013-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/56043
      	* config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
      	If there is no implicit builtin declaration, just return NULL.
      
      [gcc/testsuite]
      2013-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/56043
      	* gcc.target/powerpc/vsx-mass-1.c: Only run this test on
      	powerpc*-*-linux*.
      
      From-SVN: r195898
      Michael Meissner committed
    • syscall: Always use _C_int for C libcalls. · 540817f4
      From-SVN: r195897
      Ian Lance Taylor committed
    • sse.md (FMAMODEM): New mode iterator. · 19c5f6e6
      	* config/i386/sse.md (FMAMODEM): New mode iterator.
      	(fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
      	mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
      
      From-SVN: r195896
      Uros Bizjak committed
    • gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set. · 2480f2ca
      	* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
      	when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
      	* config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
      
      From-SVN: r195895
      Uros Bizjak committed
    • config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT · 76ef61fb
      gcc:
      	* config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT
      	(microblaze*-*-elf): Likewise
      	* config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to 
      	LINK_SPEC
      	* config/microblaze/microblaze-c.c: Add builtin defines for _LITTLE_ENDIAN 
      	and _BIG_ENDIAN
      	* config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and add to 
      	TARGET_DEFAULT flags.
      	Expand ASM_SPEC and LINK_SPEC.
      	Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN
      	* config/microblaze/microblaze.md: Update extendsidi2 and movdi_internal 
      	instructions to use low-order / high-order reg print_operands
      	* config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian 
      	options and inversemask / mask of LITTLE_ENDIAN
      	* config/microblaze/t-microblaze: Expand multilib options to include mlittle-
      	endian (le) and update exceptions patterns
      gcc/testsuite:
      	* 20101011-1.c: Add __MICROBLAZE__ exception to set DO_TEST 0
      
      From-SVN: r195893
      Edgar E. Iglesias committed
    • re PR rtl-optimization/56195 (Error: incorrect register `%rdi' used with `l' suffix (at -O2)) · 5df81313
      	PR rtl-optimization/56195
      	* lra-constraints.c (get_reload_reg): Don't reuse regs
      	if they have smaller mode than requested, if they have
      	wider mode than requested, try to return a SUBREG.
      
      	* gcc.dg/torture/pr56195.c: New test.
      
      From-SVN: r195891
      Jakub Jelinek committed
    • re PR fortran/54107 ([F03] Memory hog with abstract interface) · 3434c119
      fortran/
      	PR fortran/54107
      	* trans-types.c (gfc_get_function_type): Change a NULL backend_decl
      	to error_mark_node on entry.  Detect recursive types.  Build a variadic
      	procedure type if the type is recursive.  Restore the initial
      	backend_decl.
      
      testsuite/
      	PR fortran/54107
      	* gfortran.dg/recursive_interface_2.f90: New test.
      
      From-SVN: r195890
      Mikael Morin committed
    • re PR tree-optimization/56250 (Wrong constant folding on unsigned int) · 600a5961
      	PR tree-optimization/56250
      	* fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
      	if type is unsigned and code isn't MULT_EXPR.
      
      	* gcc.c-torture/execute/pr56250.c: New test.
      
      From-SVN: r195888
      Jakub Jelinek committed
    • re PR libstdc++/56216 (TR1 bessel functions bomb at x == 0!) · be59c932
      PR libstdc++/56216
      
      From-SVN: r195886
      Edward Smith-Rowland committed
    • re PR tree-optimization/56064 (Optimize VIEW_CONVERT_EXPR with FIXED_CST) · ff544649
      gcc/
      	PR tree-optimization/56064
      	* fixed-value.c (fixed_from_double_int): Sign/zero extend payload
      	bits according to mode.
      	* fixed-value.h (fixed_from_double_int)
      	(const_fixed_from_double_int): Adjust comments.
      
      gcc/testsuite/
      	PR tree-optimization/56064
      	* gcc.dg/fixed-point/view-convert-2.c: New test.
      
      From-SVN: r195885
      Georg-Johann Lay committed
    • re PR middle-end/56231 (warning traces have bogus line information when using LTO) · e45cde98
      2013-02-08  Richard Biener  <rguenther@suse.de>
      
      	PR lto/56231
      	* lto-streamer.h (struct data_in): Remove current_file, current_line
      	and current_col members.
      	* lto-streamer-out.c (lto_output_location): Stream changed bits
      	en-block for efficiency.
      	* lto-streamer-in.c (clear_line_info): Remove.
      	(lto_input_location): Cache current file, line and column
      	globally via local statics.  Read changed bits en-block.
      	(input_function): Do not call clear_line_info.
      	(lto_read_body): Likewise.
      	(lto_input_toplevel_asms): Likewise.
      
      	lto/
      	* lto-lang.c (lto_init): Do not enter a dummy file.
      
      From-SVN: r195884
      Richard Biener committed
    • re PR tree-optimization/52448 (cselim broken with calls) · c1ca73d8
      	PR tree-optimization/52448
      
      	* tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
      	(nt_call_phase): New static.
      	(add_or_mark_expr): Only mark accesses with newer phase than any
      	call seen.
      	(nonfreeing_call_p): New.
      	(nt_init_block): Update nt_call_phase, mark blocks as visited.
      	(nt_fini_block): Keep blocks marked as visited.
      	(get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
      
      testsuite/
      	PR tree-optimization/52448
      	* gcc.dg/pr52448.c: New test.
      
      From-SVN: r195883
      Michael Matz committed
    • ira.c (ira): Free broken dominator information. · 57548aa2
      2013-02-08  Richard Biener  <rguenther@suse.de>
      
      	* ira.c (ira): Free broken dominator information.
      
      From-SVN: r195882
      Richard Biener committed
    • i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro. · 8e10366f
      	* config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
      
      From-SVN: r195881
      Uros Bizjak committed
    • Add more checking of headers. · f64fb0fa
      From-SVN: r195880
      Marek Polacek committed
    • re PR rtl-optimization/56181 (ICE in verify_loop_structure, at cfgloop.c:1581 with -ftracer) · 0375167b
      2013-02-08  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/56181
      	* cfgloop.h (flow_loops_find): Adjust.
      	(bb_loop_header_p): Declare.
      	* cfgloop.c (bb_loop_header_p): New function split out from ...
      	(flow_loops_find): ... here.  Adjust function signature,
      	support incremental loop structure update.
      	(verify_loop_structure): Cleanup.  Verify a loop is a loop.
      	* cfgloopmanip.c (fix_loop_structure): Move ...
      	* loop-init.c (fix_loop_structure): ... here.
      	(apply_loop_flags): Split out from ...
      	(loop_optimizer_init): ... here.
      	(fix_loop_structure): Use apply_loop_flags.  Use flow_loops_find
      	in incremental mode, only remove dead loops here.
      
      	* gcc.dg/torture/pr56181.c: New testcase.
      
      From-SVN: r195879
      Richard Biener committed
    • re PR target/54222 ([avr] Implement fixed-point support) · 85d768f3
      gcc/
      	PR target/54222
      	* config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
      	* config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
      	(round<mode>3, round<mode>3_const): New expanders for fixed-mode.
      	(*round<mode>3.libgcc): New insns for fixed-modes.
      	* config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
      	(ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
      	(ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
      	* config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
      	implementations.  Define to __builtin_avr_absFX,
      	__builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
      	(roundFX, countlsFX): Define to __builtin_avr_roundFX,
      	__builtin_avr_countlsFX, respectively.
      	* config/avr/avr-c.c (target.h): Include it.
      	(enum avr_builtin_id): New enum.
      	(avr_resolve_overloaded_builtin): New static function.
      	(avr_register_target_pragmas): Use it to set
      	targetm.resolve_overloaded_builtin.
      	* config/avr/avr.c (avr_init_builtins): Supply myriads of local
      	tree nodes used by DEF_BUILTIN.
      	(avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
      	(avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
      	<AVR_BUILTIN_xxBITS>: Same.
      	
      libgcc/
      	PR target/54222
      	* config/avr/lib2funcs.c: New C sources for modules for libgcc.a.
      	* config/avr/lib2-object.mk: New iterator to build objects from it.
      	* config/avr/t-avr: Iterate lib2-object.mk to build objects from
      	lib2funcs.c.
      	(LIB2FUNCS_EXCLUDE): Add _clrsbdi2.
      	(LIB1ASMFUNCS): Add: _ssabs_1, _mask1, _ret, _roundqq3, _rounduqq3,
      	_round_s2, _round_u2, _round_2_const, _addmask_2, _round_s4,
      	_round_u4, _round_4_const, _addmask_4, _round_x8, _rounddq3
      	_roundudq3, _roundda3 _rounduda3, _roundta3 _rounduta3.
      	* config/avr/lib1funcs-fixed.S: Implement them.
      
      gcc/testsuite/
      	PR target/54222
      	* gcc.target/avr/torture/builtins-4-roundfx.c: New test.
      	* gcc.target/avr/torture/builtins-5-countlsfx.c: New test.
      
      From-SVN: r195878
      Georg-Johann Lay committed
    • cfgloop.c (verify_loop_structure): Properly handle a loop exiting to another loop header. · 661bc682
      2013-02-08  Richard Biener  <rguenther@suse.de>
      
      	* cfgloop.c (verify_loop_structure): Properly handle
      	a loop exiting to another loop header.
      	* ira-int.h (ira_loops): Remove.
      	* ira.c (ira_loops): Remove.
      	(ira): Use loop_optimizer_init and loop_optimizer_finalize.
      	(do_reload): Use loop_optimizer_finalize.
      	* ira-build.c (create_loop_tree_nodes): Use get_loops and
      	number_of_loops to access the loop tree.
      	(more_one_region_p): Likewise.
      	(finish_loop_tree_nodes): Likewise.
      	(rebuild_regno_allocno_maps): Likewise.
      	(mark_loops_for_removal): Likewise.
      	(mark_all_loops_for_removal): Likewise.
      	(remove_unnecessary_regions): Likewise.
      	(ira_build): Likewise.
      	* ira-emit.c (setup_entered_from_non_parent_p): Likewise.
      
      From-SVN: r195877
      Richard Biener committed
    • Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency. · 0d5049b2
      2013-02-08  Richard Biener  <rguenther@suse.de>
      
      	* Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
      	* ipa-pure-const.c (analyze_function): Avoid calling
      	mark_irreducible_loops twice.
      	* tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops
      	for fixup.
      
      From-SVN: r195876
      Richard Biener committed
    • Daily bump. · ce3aef7d
      From-SVN: r195874
      GCC Administrator committed
  3. 07 Feb, 2013 6 commits