diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 373 |
1 files changed, 373 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4c6bfba8321..e8be788a8c7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,378 @@ +2013-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/56347 + * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark + registers %fr12 and %fr12R as call used. + + PR target/56214 + * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode + and HImode, require all displacements to be an integer multiple of their + mode size. + * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses, + only allow QImode and HImode when reload is in progress and strict is + true. Likewise for symbolic addresses. Use base14_operand to check + displacements in REG+BASE addresses. + +2013-02-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/56366 + * tree-vect-loop.c (get_initial_def_for_induction): Properly + handle sign-conversion of outer-loop initial induction value. + +2013-02-18 Richard Biener <rguenther@suse.de> + + PR middle-end/56349 + * cfghooks.c (merge_blocks): If we merge a latch into another + block adjust references to it. + * cfgloop.c (flow_loops_find): Reset latch before recomputing it. + (verify_loop_structure): Verify that a recorded latch is in fact + a latch. + +2013-02-18 Richard Biener <rguenther@suse.de> + + PR tree-optimization/56321 + * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly + order SSA name release and virtual operand unlinking. + +2013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com> + + * config/microblaze/microblaze.md (save_stack_block): Define. + (restore_stack_block): Likewise. + +2013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com> + + * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1. + * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1. + * config/microblaze/microblaze.c (microblaze_option_override): + Bail out early for PIC modes when target does not support PIC. + +2013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com> + + * config/microblaze/microblaze.c (microblaze_asm_trampoline_template): + Replace with a microblaze version. + (microblaze_trampoline_init): Adapt for microblaze. + * gcc/config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for + microblaze. + +2013-02-16 Jakub Jelinek <jakub@redhat.com> + Dodji Seketeli <dodji@redhat.com> + + PR asan/56330 + * asan.c (get_mem_refs_of_builtin_call): White space and style + cleanup. + (instrument_mem_region_access): Do not forget to always put + instrumentation of the of 'base' and 'base + len' in a "if (len != + 0) statement, even for cases where either 'base' or 'base + len' + are not instrumented -- because they have been previously + instrumented. Simplify the logic by putting all the statements + instrument 'base + len' inside a sequence, and then insert that + sequence right before the current insertion point. Then, to + instrument 'base + len', just get an iterator on that statement. + And do not forget to update the pointer to iterator the function + received as argument. + +2013-02-15 Vladimir Makarov <vmakarov@redhat.com> + + PR rtl-optimization/56348 + * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos. + +2013-02-15 Steven Bosscher <steven@gcc.gnu.org> + + * graph.c (start_graph_dump): Print dumpfile base as digraph label. + (clean_graph_dump_file): Pass base to start_graph_dump. + +2013-02-14 Richard Henderson <rth@redhat.com> + + PR target/55941 + * lower-subreg.c (simple_move): Check dest mode instead of src mode. + +2013-02-14 Steven Bosscher <steven@gcc.gnu.org> + + * collect2-aix.h: Define F_LOADONLY. + +2013-02-14 Richard Biener <rguenther@suse.de> + + PR lto/50494 + * varasm.c (output_constant_def_1): Get the decl representing + the constant as argument. + (output_constant_def): Wrap output_constant_def_1. + (make_decl_rtl): Use output_constant_def_1 with the decl + representing the constant. + (build_constant_desc): Optionally re-use a decl already + representing the constant. + (tree_output_constant_def): Adjust. + +2013-02-14 Dodji Seketeli <dodji@redhat.com> + + Fix an asan crash + * asan.c (instrument_builtin_call): Really put the length of the + second source argument into src1_len. + +2013-02-13 Jakub Jelinek <jakub@redhat.com> + + * asan.c (create_cond_insert_point): Add create_then_fallthru_edge + argument. If it is false, don't create edge from then_bb to + fallthru_bb. + (insert_if_then_before_iter): Pass true to it. + (build_check_stmt): Pass false to it. + (transform_statements): Flush hash table only on extended basic + block boundaries, rather than at the beginning of every bb. + Don't flush hash table on nonfreeing_call_p calls. + * tree-flow.h (nonfreeing_call_p): New prototype. + * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static. + +2013-02-13 David S. Miller <davem@davemloft.net> + + * expmed.c (expand_shift_1): Only strip scalar integer subregs. + +2013-02-13 Vladimir Makarov <vmakarov@redhat.com> + + PR target/56184 + * ira.c (max_regno_before_ira): Move from ... + (ira): ... here. + (fix_reg_equiv_init): Use max_regno_before_ira instead of + vec_safe_length. + +2013-02-13 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change. + +2013-02-13 Richard Biener <rguenther@suse.de> + + PR lto/56295 + * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping + globals in MEM_REFs. + +2013-02-13 Richard Biener <rguenther@suse.de> + + * loop-init.c (loop_optimizer_init): Clear loop state when + re-initializing preserved loops. + * loop-unswitch.c (unswitch_single_loop): Return whether + we unswitched the loop. Do not verify loop state here. + (unswitch_loops): When we unswitched a loop discover new + loops. + +2013-02-13 Kostya Serebryany <kcc@google.com> + + * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64 + linux. + * sanitizer.def: Rename __asan_init to __asan_init_v1. + +2013-02-12 Dodji Seketeli <dodji@redhat.com> + + Avoid instrumenting duplicated memory access in the same basic block + * Makefile.in (asan.o): Add new dependency on hash-table.h + * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types. + (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table) + (has_stmt_been_instrumented_p, empty_mem_ref_hash_table) + (free_mem_ref_resources, has_mem_ref_been_instrumented) + (has_stmt_been_instrumented_p, update_mem_ref_hash_table) + (get_mem_ref_of_assignment): New functions. + (get_mem_refs_of_builtin_call): Extract from + instrument_builtin_call and tweak a little bit to make it fit with + the new signature. + (instrument_builtin_call): Use the new + get_mem_refs_of_builtin_call. Use gimple_call_builtin_p instead + of is_gimple_builtin_call. + (instrument_derefs, instrument_mem_region_access): Insert the + instrumented memory reference into the hash table. + (maybe_instrument_assignment): Renamed instrument_assignment into + this, and change it to advance the iterator when instrumentation + actually happened and return true in that case. This makes it + homogeneous with maybe_instrument_assignment, and thus give a + chance to callers to be more 'regular'. + (transform_statements): Clear the memory reference hash table + whenever we enter a new BB, when we cross a function call, or when + we are done transforming statements. Use + maybe_instrument_assignment instead of instrumentation. No more + need to special case maybe_instrument_assignment and advance the + iterator after calling it; it's now handled just like + maybe_instrument_call. Update comment. + +2013-02-13 Richard Biener <rguenther@suse.de> + + * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): + Fix loop discovery code. + +2013-02-12 Vladimir Makarov <vmakarov@redhat.com> + + PR inline-asm/56148 + * lra-constraints.c (process_alt_operands): Match early clobber + operand with itself. Check conflicts with earlyclobber only if + the operand is not reloaded. Prefer to reload conflicting operand + if earlyclobber and matching operands are the same. + +2013-02-12 Richard Biener <rguenther@suse.de> + + PR lto/56297 + * lto-streamer-out.c (write_symbol): Do not output symbols + for hard register variables. + +2013-02-12 Georg-Johann Lay <avr@gjlay.de> + + PR target/54222 + * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders. + (umulsidi3_insn, mulsidi3_insn): New insns. + +2013-02-12 Christophe Lyon <christophe.lyon@linaro.org> + + * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type. + (struct tune_params): Add vec_costs field. + * config/arm/arm.c (arm_builtin_vectorization_cost) + (arm_add_stmt_cost): New functions. + (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST) + (TARGET_VECTORIZE_ADD_STMT_COST): Define. + (arm_default_vec_cost): New struct of type cpu_vec_costs. + (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune) + (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune) + (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune) + (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field. + +2013-02-12 Richard Biener <rguenther@suse.de> + + PR lto/56295 + * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off + decls again if possible. + +2013-02-12 Richard Biener <rguenther@suse.de> + + PR middle-end/56288 + * tree-ssa.c (verify_ssa_name): Fix check, move + SSA_NAME_IN_FREE_LIST check up. + +2013-02-12 Jakub Jelinek <jakub@redhat.com> + Steven Bosscher <steven@gcc.gnu.org> + + PR rtl-optimization/56151 + * optabs.c (add_equal_note): Don't return 0 if target is a MEM, + equal to op0 or op1, and last_insn pattern is CODE operation + with MEM dest and one of the operands matches that MEM. + +2013-02-11 Sriraman Tallam <tmsriramgoogle.com> + + * doc/extend.texi: Document Function Multiversioning and "default" + parameter string to target attribute. + * config/i386/i386.c (get_builtin_code_for_version): Return 0 if + target attribute parameter is "default". + (ix86_compare_version_priority): Remove checks for target attribute. + (ix86_mangle_function_version_assembler_name): Change error to sorry. + Remove check for target attribute equal to NULL. Add assert. + (ix86_generate_version_dispatcher_body): Change error to sorry. + +2013-02-11 Iain Sandoe <iain@codesourcery.com> + Jack Howarth <howarth@bromo.med.uc.edu> + Patrick Marlier <patrick.marlier@gmail.com> + + PR libitm/55693 + * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and + define ENDFILE_SPEC as TM_DESTRUCTOR. + * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR. + +2013-02-11 Alexander Potapenko <glider@google.com> + Jack Howarth <howarth@bromo.med.uc.edu> + Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/55617 + * config/darwin.c (cdtor_record): Rename ctor_record. + (sort_cdtor_records): Rename sort_ctor_records. + (finalize_dtors): New routine to sort destructors by + priority before use in assemble_integer. + (machopic_asm_out_destructor): Use finalize_dtors if needed. + +2013-02-11 Uros Bizjak <ubizjak@gmail.com> + + PR rtl-optimization/56275 + * simplify-rtx.c (avoid_constant_pool_reference): Check that + offset is non-negative and less than cmode size before + calling simplify_subreg. + +2013-02-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/56264 + * cfgloop.h (fix_loop_structure): Adjust prototype. + * loop-init.c (fix_loop_structure): Return the number of + newly discovered loops. + * tree-cfgcleanup.c (repair_loop_structures): When new loops + are discovered, do a full loop-closed SSA rewrite. + +2013-02-11 Richard Biener <rguenther@suse.de> + + PR tree-optimization/56273 + * tree-vrp.c (simplify_cond_using_ranges): Disable for the + first VRP run. + (check_array_ref): Fix missing newline in dumps. + (search_for_addr_array): Likewise. + +2013-02-09 David Edelsohn <dje.gcc@gmail.com> + + * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine. + +2013-02-09 Jakub Jelinek <jakub@redhat.com> + + PR target/56256 + * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define. + +2013-02-08 Vladimir Makarov <vmakarov@redhat.com> + + PR rtl-optimization/56246 + * lra-constraints.c (simplify_operand_subreg): Try to reuse + reload pseudo. + * lra.c (lra): Clear lra_optional_reload_pseudos only when all + constraints are satisfied. + +2013-02-08 Jeff Law <law@redhat.com> + + 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. + +2013-02-08 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. + +2013-02-08 Uros Bizjak <ubizjak@gmail.com> + + * 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. + +2013-02-08 Uros Bizjak <ubizjak@gmail.com> + + * 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. + +2013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com> + + * 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. + 2013-02-08 Jakub Jelinek <jakub@redhat.com> + 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. + 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. |