From f43245d1882a94f36312cefdceca02bd7bfb413e Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Mon, 9 Sep 2013 17:07:58 +0200 Subject: [PATCH] ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align. * ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align. From-SVN: r202406 --- gcc/ChangeLog | 160 ++++++++++++++++++++++--------------------------- gcc/ipa-prop.c | 2 +- 2 files changed, 73 insertions(+), 89 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 03a36575b17..04a93471a62 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-09-09 Uros Bizjak + + * ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align. + 2013-09-09 Paolo Carlini PR c++/43452 @@ -370,10 +374,8 @@ 2013-09-06 James Greenhalgh - * config/arm/types.md: Add "no_insn", "multiple" and "untyped" - types. - * config/arm/arm-fixed.md: Add type attribute to all insn - patterns. + * config/arm/types.md: Add "no_insn", "multiple" and "untyped" types. + * config/arm/arm-fixed.md: Add type attribute to all insn patterns. (add3): Add type attribute. (add3): Likewise. (usadd3): Likewise. @@ -723,8 +725,7 @@ 2013-09-06 Andreas Krebbel - * config/s390/s390.md: Add "bcr_flush" value to mnemonic - attribute. + * config/s390/s390.md: Add "bcr_flush" value to mnemonic attribute. ("mem_thread_fence_1"): Use bcr 14,0 for z196 and later. Set the mnemonic attribute to "bcr_flush". Set the "z196prop" attribute to "z196_alone". @@ -740,9 +741,9 @@ (set_control_dependence_map_bit, clear_control_dependence_bitmap, find_pdom, find_control_dependence, find_all_control_dependences): Move to cfganal.c. - (mark_control_dependent_edges_necessary, find_obviously_necessary_stmts, - propagate_necessity, tree_dce_init, tree_dce_done, - perform_tree_ssa_dce): Adjust. + (mark_control_dependent_edges_necessary, + find_obviously_necessary_stmts, propagate_necessity, tree_dce_init, + tree_dce_done, perform_tree_ssa_dce): Adjust. * cfganal.c (set_control_dependence_map_bit, clear_control_dependence_bitmap, find_pdom, find_control_dependence, find_all_control_dependences): Move from tree-ssa-dce.c and @@ -789,24 +790,17 @@ 2013-09-05 James Greenhalgh Sofiane Naci - * config/arm/types.md (define_attr "type"): - Expand "arlo_imm" + * config/arm/types.md (define_attr "type"): Expand "arlo_imm" into "adr", "alu_imm", "alus_imm", "logic_imm", "logics_imm". - Expand "arlo_reg" - into "adc_reg", "adc_imm", "adcs_reg", "adcs_imm", "alu_ext", - "alu_reg", "alus_ext", "alus_reg", "bfm", "csel", "logic_reg", - "logics_reg", "rev". - Expand "arlo_shift" - into "alu_shift_imm", "alus_shift_imm", "logic_shift_imm", - "logics_shift_imm". - Expand "arlo_shift_reg" - into "alu_shift_reg", "alus_shift_reg", "logic_shift_reg", - "logics_shift_reg". - Expand "clz" into "clz, "rbit". - Rename "shift" to "shift_imm". + Expand "arlo_reg" into "adc_reg", "adc_imm", "adcs_reg", "adcs_imm", + "alu_ext", "alu_reg", "alus_ext", "alus_reg", "bfm", "csel", + "logic_reg", "logics_reg", "rev". Expand "arlo_shift" into + "alu_shift_imm", "alus_shift_imm", "logic_shift_imm", + "logics_shift_imm". Expand "arlo_shift_reg" into "alu_shift_reg", + "alus_shift_reg", "logic_shift_reg", "logics_shift_reg". Expand "clz" + into "clz, "rbit". Rename "shift" to "shift_imm". * config/arm/arm.md (define_attr "core_cycles"): Update for attribute - changes. - Update for attribute changes all occurrences of arlo_* and + changes. Update for attribute changes all occurrences of arlo_* and shift* types. * config/arm/arm-fixed.md: Update for attribute changes all occurrences of arlo_* types. @@ -821,8 +815,7 @@ * config/arm/arm1026ejs.md (alu_op): Update for attribute changes. (alu_shift_op): Likewise. (alu_shift_reg_op): Likewise. - * config/arm/arm1136jfs.md (11_alu_op): Update for - attribute changes. + * config/arm/arm1136jfs.md (11_alu_op): Update for attribute changes. (11_alu_shift_op): Likewise. (11_alu_shift_reg_op): Likewise. * config/arm/arm926ejs.md (9_alu_op): Update for attribute changes. @@ -834,36 +827,31 @@ * config/arm/cortex-a5.md (cortex_a5_alu): Update for attribute changes. (cortex_a5_alu_shift): Likewise. - * config/arm/cortex-a53.md - (cortex_a53_alu): Update for attribute changes. + * config/arm/cortex-a53.md (cortex_a53_alu): Update for + attribute changes. (cortex_a53_alu_shift): Likewise. - * config/arm/cortex-a7.md - (cortex_a7_alu_imm): Update for attribute changes. + * config/arm/cortex-a7.md (cortex_a7_alu_imm): Update for + attribute changes. (cortex_a7_alu_reg): Likewise. (cortex_a7_alu_shift): Likewise. - * config/arm/cortex-a8.md - (cortex_a8_alu): Update for attribute changes. + * config/arm/cortex-a8.md (cortex_a8_alu): Update for + attribute changes. (cortex_a8_alu_shift): Likewise. (cortex_a8_alu_shift_reg): Likewise. - * config/arm/cortex-a9.md - (cortex_a9_dp): Update for attribute changes. + * config/arm/cortex-a9.md (cortex_a9_dp): Update for attribute changes. (cortex_a9_dp_shift): Likewise. - * config/arm/cortex-m4.md - (cortex_m4_alu): Update for attribute changes. + * config/arm/cortex-m4.md (cortex_m4_alu): Update for + attribute changes. * config/arm/cortex-r4.md (cortex_r4_alu): Update for attribute changes. (cortex_r4_mov): Likewise. (cortex_r4_alu_shift_reg): Likewise. - * config/arm/fa526.md - (526_alu_op): Update for attribute changes. + * config/arm/fa526.md (526_alu_op): Update for attribute changes. (526_alu_shift_op): Likewise. - * config/arm/fa606te.md - (606te_alu_op): Update for attribute changes. - * config/arm/fa626te.md - (626te_alu_op): Update for attribute changes. + * config/arm/fa606te.md (606te_alu_op): Update for attribute changes. + * config/arm/fa626te.md (626te_alu_op): Update for attribute changes. (626te_alu_shift_op): Likewise. - * config/arm/fa726te.md - (726te_alu_op): Update for attribute changes. + * config/arm/fa726te.md (726te_alu_op): Update for attribute changes. (726te_alu_shift_op): Likewise. (726te_alu_shift_reg_op): Likewise. * config/arm/fmp626.md (mp626_alu_op): Update for attribute changes. @@ -1272,8 +1260,7 @@ (cortex_a15_store1): Likewise. (cortex_a15_store3): Likewise. (cortex_a15_call): Likewise. - * config/arm/cortex-a5.md (cortex_a5_r2f): Update for attribute - change. + * config/arm/cortex-a5.md (cortex_a5_r2f): Update for attribute change. (cortex_a5_f2r): Likewise. * config/arm/cortex-a53.md (cortex_a53_r2f): Update for attribute change. @@ -1327,8 +1314,8 @@ (cortex_a8_neon_vsma): Likewise. (cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long): Likewise. (cortex_a8_neon_mul_qqq_8_16_32_ddd_32): Likewise. - (cortex_a8_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar): - Likewise. + (cortex_a8_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_\ + long_scalar): Likewise. (cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long): Likewise. (cortex_a8_neon_mla_qqq_8_16): Likewise. (cortex_a8_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_\ @@ -1375,8 +1362,7 @@ (cortex_a8_neon_vld3_vld4_all_lanes): Likewise. (cortex_a8_neon_mcr): Likewise. (cortex_a8_neon_mcr_2_mcrr): Likewise. - * config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute - change. + * config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute change. * config/arm/cortex-a9-neon.md (ca9_neon_mrc): Update for attribute change. (ca9_neon_mrrc): Likewise. @@ -1392,8 +1378,8 @@ (cortex_a9_neon_vsma): Likewise. (cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long): Likewise. (cortex_a9_neon_mul_qqq_8_16_32_ddd_32): Likewise. - (cortex_a9_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar): - Likewise. + (cortex_a9_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_\ + long_scalar): Likewise. (cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long): Likewise. (cortex_a9_neon_mla_qqq_8_16): Likewise. (cortex_a9_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_\ @@ -1449,11 +1435,10 @@ change. (cortex_r4_mrc): Likewise. * config/arm/iterators.md: Update comment referring to neon_type. - * config/arm/iwmmxt.md - (iwmmxt_arm_movdi): Update for attribute change. + * config/arm/iwmmxt.md (iwmmxt_arm_movdi): Update for attribute change. (iwmmxt_movsi_insn): Likewise. - * config/arm/marvell-pj4.md - (pj4_vfp_to_core): Update for attribute change. + * config/arm/marvell-pj4.md (pj4_vfp_to_core): Update for + attribute change. (pj4_core_to_vfp): Likewise. * config/arm/neon-schedgen.ml (emit_insn_reservations): Update for attribute change. @@ -1669,19 +1654,20 @@ cgraph_propagate_frequency_1, cgraph_propagate_frequency): Move to ipa-profile.c; replace cgraph_ by ipa_ prefix. * cgraph.h (cgraph_propagate_frequency): Remove. - * ipa-inline-analysis.c: Include ipa-utils.h; drop duplicated cfgloop.h. + * ipa-inline-analysis.c: Include ipa-utils.h; + drop duplicated cfgloop.h. (inline_update_callee_summaries): Update. * ipa-profile.c: New file. * ipa-utils.h (ipa_propagate_frequency): Declare. * ipa.c: Do not include pointer-set.h, hash-table.h, lto-streamer.h, - data-streamer.h, value-prof.h + data-streamer.h, value-prof.h. (symtab_remove_unreachable_nodes): Update profile. (struct histogram_entry, histogram, histogram_pool, histogram_hash, account_time_size, cmp_counts, dump_histogram, ipa_profile_generate_summary, ipa_profile_write_summary, ipa_profile_read_summary, ipa_profile, gate_ipa_profile, pass_data_ipa_profile, pass_ipa_profile, make_pass_ipa_profile): - Move to ipa-profile.c + Move to ipa-profile.c. 2013-09-01 John David Anglin @@ -1703,7 +1689,7 @@ value range profiling is available. * passes.def (pass_ipa_devirt): Add. * timever.def (TV_IPA_DEVIRT): New timevar. - * tree-pass.h (make_pass_ipa_devirt): + * tree-pass.h (make_pass_ipa_devirt): 2013-09-01 Iain Sandoe @@ -2466,13 +2452,13 @@ 2013-08-23 Kirill Yukhin - * gcc/config/i386/predicates.md (ext_sse_reg_operand): New. - * gcc/config/i386/i386.md (*movti_internal): Use + * config/i386/predicates.md (ext_sse_reg_operand): New. + * config/i386/i386.md (*movti_internal): Use predicate to determine if EVEX is needed. (*movsi_internal): Ditto. (*movdf_internal): Ditto. (*movsf_internal): Ditto. - * gcc/config/i386/mmx.md (*mov_internal): Ditto. + * config/i386/mmx.md (*mov_internal): Ditto. 2013-08-23 Jakub Jelinek @@ -6420,7 +6406,7 @@ (ix86_save_reg): If the function contains a nonlocal label, save the PIC base reg. * config/darwin-protos.h (machopic_should_output_picbase_label): New. - * gcc/config/darwin.c (emitted_pic_label_num): New GTY. + * config/darwin.c (emitted_pic_label_num): New GTY. (update_pic_label_number_if_needed): New. (machopic_output_function_base_name): Adjust for nonlocal receiver case. @@ -9779,11 +9765,11 @@ * config/i386/driver-i386.c (host_detect_local_cpu): Check movbe. - * gcc/config/i386/i386-c.c (ix86_target_macros_internal): New case + * config/i386/i386-c.c (ix86_target_macros_internal): New case PROCESSOR_SLM. (ix86_target_macros_internal): Likewise. - * gcc/config/i386/i386.c (slm_cost): New cost. + * config/i386/i386.c (slm_cost): New cost. (m_SLM): New macro flag. (initial_ix86_tune_features): Set m_SLM. (x86_accumulate_outgoing_args): Likewise. @@ -10617,7 +10603,7 @@ constraints.md instead of rs6000.h. Reorder w* constraints. Add wm, wn, wr documentation. - * gcc/config/rs6000/constraints.md (wm): New constraint for VSX + * config/rs6000/constraints.md (wm): New constraint for VSX registers if direct move instructions are enabled. (wn): New constraint for no registers. (wq): New constraint for quad word even GPR registers. @@ -10625,7 +10611,7 @@ (wv): New constraint if power8 vector instructions are enabled. (wQ): New constraint for quad word memory locations. - * gcc/config/rs6000/predicates.md (const_0_to_15_operand): New + * config/rs6000/predicates.md (const_0_to_15_operand): New constraint for 0..15 for crypto instructions. (gpc_reg_operand): If VSX allow registers in VSX registers as well as GPR and floating point registers. @@ -10638,17 +10624,17 @@ (quad_memory_operand): New predicate for quad memory operations. (reg_or_indexed_operand): New predicate for direct move support. - * gcc/config/rs6000/rs6000-cpus.def (ISA_2_5_MASKS_EMBEDDED): + * config/rs6000/rs6000-cpus.def (ISA_2_5_MASKS_EMBEDDED): Inherit from ISA_2_4_MASKS, not ISA_2_2_MASKS. (ISA_2_7_MASKS_SERVER): New mask for ISA 2.07 (i.e. power8). (POWERPC_MASKS): Add power8 options. (power8 cpu): Use ISA_2_7_MASKS_SERVER instead of specifying the various options. - * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros): + * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define _ARCH_PWR8 and __POWER8_VECTOR__ for power8. - * gcc/config/rs6000/rs6000.opt (-mvsx-timode): Add documentation. + * config/rs6000/rs6000.opt (-mvsx-timode): Add documentation. (-mpower8-fusion): New power8 options. (-mpower8-fusion-sign): Likewise. (-mpower8-vector): Likewise. @@ -10656,8 +10642,7 @@ (-mdirect-move): Likewise. (-mquad-memory): Likewise. - * gcc/config/rs6000/rs6000.c (power8_cost): Initial definition for - power8. + * config/rs6000/rs6000.c (power8_cost): Initial definition for power8. (rs6000_hard_regno_mode_ok): Make PTImode only match even GPR registers. (rs6000_debug_reg_print): Print the base register class if -mdebug=reg. @@ -15780,21 +15765,20 @@ 2013-03-27 Alexander Ivchenko - * gcc/target.def (TARGET_HAS_IFUNC_P): New target hook. - * gcc/doc/tm.texi.in (TARGET_HAS_IFUNC_P): New. - * gcc/doc/tm.texi: Regenerate. - * gcc/targhooks.h (default_has_ifunc_p): New. - * gcc/targhooks.c (default_has_ifunc_p): Ditto. - * gcc/config/linux-protos.h: New file. - * gcc/config/linux-android.h (TARGET_HAS_IFUNC_P): Using version of - this hook for linux which disables support of indirect functions in - android. - * gcc/config/linux-android.c: New file. - * gcc/config/t-linux-android.c: Ditto. - * gcc/config.gcc: Added new object file linux-android.o. - * gcc/config/i386/i386.c (ix86_get_function_versions_dispatcher): + * target.def (TARGET_HAS_IFUNC_P): New target hook. + * doc/tm.texi.in (TARGET_HAS_IFUNC_P): New. + * doc/tm.texi: Regenerate. + * targhooks.h (default_has_ifunc_p): New. + * targhooks.c (default_has_ifunc_p): Ditto. + * config/linux-protos.h: New file. + * config/linux-android.h (TARGET_HAS_IFUNC_P): Using version of this + hook for linux which disables support of indirect functions in android. + * config/linux-android.c: New file. + * config/t-linux-android.c: Ditto. + * config.gcc: Added new object file linux-android.o. + * config/i386/i386.c (ix86_get_function_versions_dispatcher): Using TARGET_HAS_IFUNC hook instead of HAVE_GNU_INDIRECT_FUNCTION. - * gcc/varasm.c (do_assemble_alias): Likewise. + * varasm.c (do_assemble_alias): Likewise. * configure.ac: Define HAVE_GNU_INDIRECT_FUNCTION as zero if the target doesn't support indirect functions. * configure: Regenerate. diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 67811bbdcfb..ad82d759fce 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -3524,7 +3524,7 @@ ipa_modify_call_arguments (struct cgraph_edge *cs, gimple stmt, { tree expr, base, off; location_t loc; - unsigned int deref_align; + unsigned int deref_align = 0; bool deref_base = false; /* We create a new parameter out of the value of the old one, we can