OSDN Git Service

5d32047ee212d9d7da1e46e7a0185638cf845345
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-06-11  Sebastian Pop  <sebastian.pop@amd.com>
2
3         PR middle-end/44483
4         * tree-if-conv.c (bb_predicate_s): New struct.
5         (bb_predicate_p): New.
6         (bb_has_predicate): New.
7         (bb_predicate): New.
8         (set_bb_predicate): New.
9         (bb_predicate_gimplified_stmts): New.
10         (set_bb_predicate_gimplified_stmts): New.
11         (add_bb_predicate_gimplified_stmts): New.
12         (init_bb_predicate): New.
13         (free_bb_predicate): New.
14         (is_predicated): Use bb_predicate.
15         (add_to_predicate_list): Use bb_predicate and set_bb_predicate.
16         (predicate_bbs): Same.  Gimplify the condition of the basic blocks
17         before processing their successors.
18         (clean_predicate_lists): Removed.
19         (find_phi_replacement_condition): Use bb_predicate.
20         (process_phi_nodes): Renamed ifconvert_phi_nodes.  Avoid useless
21         computations.
22         (insert_gimplified_predicates): New.
23         (combine_blocks): Call insert_gimplified_predicates.
24         (tree_if_conversion): Call free_bb_predicate instead of
25         clean_predicate_lists.
26
27 2010-10-11  Paul Brook  <paul@codesourcery.com>
28  
29         * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
30         * config/arm/arm.c (all_architectures): Change v7e-m default to
31         cortexm4.
32         * config/arm/arm-cores.def: Add cortex-m4.
33         * config/arm/arm-tune.md: Regenerate.
34
35 2010-06-11  Jan Hubicka  <jh@suse.cz>
36
37         * ipa-pure-const.c (special_builtlin_state): New function.
38         (check_call): Use it instead of special casign BUILT_IN_RETURN.
39         (propagate_pure_const): Use it.
40
41 2010-06-11  Jan Hubicka  <jh@suse.cz>
42
43         * df-problems.c (df_live_scratch): Convert to bitmap_head.
44         (df_live_alloc): Initialize df_live_scratch when initializing
45         problem_data.
46         (df_live_transfer_function): Update uses of df_live_scratch.
47         (df_live_free): Free problem_data; clear df_live_scratch before
48         releasing the obstack.
49         (df_md_free): Free problem data.
50
51 2010-06-11  Jan Hubicka  <jh@suse.cz>
52
53         * doc/invoke.texi (Wsuggest-attribute): Document.
54         (Wmissing-noreturn): Remove.
55         * ipa-pure-const.c (warn_function_noreturn): New function.
56         * opts.c (decode_options): Set warn_suggest_attribute_noreturn on
57         warn_missing_noreturn.
58         * common.opt (Wsuggest-attribute=noreturn): New.
59         * tree-flow.h (warn_function_noreturn): Declare.
60         * tree-cfg.c (execute_warn_function_noreturn): Use
61         warn_function_noreturn.
62         (gate_warn_function_noreturn): New.
63         (pass_warn_function_noreturn): Update.
64
65 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
66
67         * c-typeck.c (handle_warn_cast_qual): Add loc
68         parameter. Improve warning message.
69         (build_c_cast): Pass location to handle_warn_cast_qual.
70
71 2010-06-11  Uros Bizjak  <ubizjak@gmail.com>
72
73         * config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
74         that operand 0 == operand 1.  Use x86_maybe_negate_const_int to output
75         insn mnemonic.
76         (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
77
78 2010-06-10  Dodji Seketeli  <dodji@redhat.com>
79
80         Fix bootstap on mips
81         * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
82         be naming typedefs.
83
84 2010-06-11  Kai Tietz  <kai.tietz@onevision.com>
85
86         * system.h (helper_const_non_const_cast): New inline for
87         gcc version <= 4.0.
88         (CONST_CAST2): For gcc version <= 4.0 use
89         new helper to do const/non-const casting.
90
91 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
92
93         * doc/md.texi: Document the "unspec" and "unspecv" enum names.
94         * Makefile.in (OBJS-common): Include insn-enums.o.
95         (insn-enums.o): New rule.
96         (simple_generated_c): Add insn-enums.c.
97         (build/genenums.o): New rule.
98         (genprogmd): Add "enums".
99         * genconstants.c (print_enum_type): Declare a C string array
100         for each enum.
101         * genenums.c: New file.
102         * print-rtl.c (print_rtx): If defined, use the "unspecv" enum
103         for UNSPEC_VOLATILE.  If defined, use the "unspec" enum for both
104         UNSPEC and (as a fallback) for UNSPEC_VOLATILE.
105
106 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
107
108         * doc/md.texi (define_enum_attr): Document.
109         * rtl.def (DEFINE_ENUM_ATTR): New rtx.
110         * read-md.h (lookup_enum_type): Declare.
111         * read-md.c (lookup_enum_type): New function.
112         * genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
113         * genattrtab.c (attr_desc): Add an enum_name field.
114         (evaluate_eq_attr): Take the associated attribute as argument.
115         Get the enum prefix from the enum_name field, if defined.
116         Use ACONCAT rather than a fixed-length buffer.  Update recursive calls.
117         (simplify_test_exp): Pass attr to evaluate_eq_attr.
118         (add_attr_value): New function, split out from...
119         (gen_attr): ...here.  Handle DEFINE_ENUM_ATTR.
120         (write_test_expr): Pass attr to evaluate_eq_attr.
121         (write_attr_get): Use the enum_name as the enum tag, if defined.
122         (write_attr_valueq): Use the enum_name as a prefix, if defined.
123         (find_attr): Initialize enum_name.
124         (main): Handle DEFINE_ENUM_ATTR.
125         * gensupport.c (process_rtx): Likewise.
126         * config/mips/mips.h (mips_tune_attr): Delete.
127         * config/mips/mips.md (cpu): Use define_attr_enum.
128
129 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
130
131         * doc/md.texi (define_c_enum, define_enum): Document.
132         * read-md.h (md_constant): Add a parent_enum field.
133         (enum_value, enum_type): New structures.
134         (upcase_string, traverse_enum_types): Declare.
135         * read-md.c (enum_types): New variable.
136         (upcase_string, add_constant): New functions.
137         (handle_constants): Don't create the hash table here.
138         Use add_constant.
139         (traverse_md_constants): Don't check for a null md_constants.
140         (decimal_string, handle_enum, traverse_enum_types): New functions.
141         (read_md_files): Initialize md_constants and md_enums.
142         * genconstants.c (print_md_constant): Ignore info argument.
143         Only print constants that belong to no enum.
144         (print_enum_type): New function.
145         (main): Don't pass stdout to print_md_constant.  Call print_enum_type
146         for each defined enum type.
147         * config/mips/mips.md (processor): New define_enum.
148         (unspec): New define_c_enum.
149         (UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
150         (UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
151         (UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
152         (UNSPEC_MEMORY_BARRIER): Moved to sync.md.
153         (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
154         (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
155         (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
156         (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
157         (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
158         (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
159         (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
160         (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
161         (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
162         (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
163         (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
164         (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
165         (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
166         (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
167         (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
168         (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
169         (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
170         (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
171         (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
172         (UNSPEC_RDDSP): Move to mips-dsp.md.
173         (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
174         (UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
175         (UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
176         (UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
177         (UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
178         (UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
179         (UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
180         (UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
181         (UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
182         (UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
183         (UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
184         (UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
185         (UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
186         Moved to mips-dspr2.md.
187         (UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
188         (UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
189         (UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
190         (UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Moved from mips-ps-3d.md.
191         (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
192         (UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
193         (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
194         (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
195         (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
196         (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
197         (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH)
198         (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
199         (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
200         (UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
201         (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
202         (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
203         (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
204         (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved to mips-loongson2ef.md.
205         (cpu): Update comment.
206         * config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
207         (UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
208         (UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
209         (UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
210         * config/mips/loongson.md (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ)
211         (UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
212         (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
213         (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
214         (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
215         (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
216         (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH)
217         (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
218         (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
219         (UNSPEC_LOONGSON_PSUBD): Moved from mips.md
220         * config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
221         (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
222         (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
223         (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
224         * config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
225         (UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
226         (UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
227         (UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
228         (UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
229         (UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
230         (UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
231         (UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
232         (UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
233         (UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
234         (UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
235         (UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
236         (UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
237         (UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
238         (UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
239         (UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
240         (UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
241         (UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
242         (UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
243         (UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
244         (UNSPEC_RDDSP): Moved from mips.md.
245         * config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
246         (UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
247         (UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
248         (UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
249         (UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
250         (UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
251         (UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
252         (UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
253         (UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
254         (UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
255         (UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
256         (UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
257         (UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
258         (UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
259         * config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
260         (UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
261         (UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
262         (UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
263         (UNSPEC_SCC): Moved from mips.md.
264         * config/mips/mips.c (mips_arch, mips_tune): Change enum from
265         "processor_type" to "processor".
266         (mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
267         * config/mips/mips.h (processor_type): Delete.
268         (mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
269         "processor_type" to "processor".
270
271 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
272
273         * configure.ac (tm_include_list): Add insn-constants.h.
274         * configure: Regenerate.
275         * Makefile.in (GTM_H): Move insn-constants.h here from...
276         (TM_H): ...here.
277         * mkconfig.sh: Remove special handling for insn-constants.h.
278
279 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
280
281         * Makefile.in (BUILD_RTL): Move build/read-md.o to...
282         (BUILD_MD): ...this new variable.
283         (simple_generated_rtl_h, simple_generated_rtl_c): New variables
284         that include the old contents of simple_generated_h and
285         simple_generated_c.
286         (simple_generated_h, simple_generated_c): Include them.  Add
287         insn-constants.h.
288         (s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
289         and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
290         Remove these dependencies from the main rule and include
291         insn-conditions.md in the command line only if it appears
292         in the dependency list.
293         (insn-constants.h, s-constants): Delete.
294         (build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
295         or gensupport.h.
296         (build/genmddeps.o): Likewise.
297         (genprogrtl): New variable that contains everything from genprogmd
298         except mddeps and constants.
299         (genprogmd): Redefine in terms of genprogrtl.  Make these programs
300         depend on $(BUILD_MD)
301         (genprog): New variable.  Make these programs depend on
302         $(BUILD_ERRORS).
303         * genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
304         (main): Use read_md_files instead of init_rtx_reader_args.
305         * genconstants.c: As for genmddeps.c.
306         * read-md.h (read_skip_construct): Declare.
307         * read-md.c (read_skip_construct): New function.
308         (handle_file): Allow a null handle_directive, skipping the
309         construct if so.
310         (parse_include): Update the comment accordingly.
311
312 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
313
314         * Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
315         * genmddeps.c: Include read-md.h.
316         (main): Call init_rtx_reader_args instead of init_md_reader_args.
317         * genattr.c (main): Likewise.
318         * genattrtab.c (main): Likewise.
319         * genautomata.c (main): Likewise.
320         * gencodes.c (main): Likewise.
321         * genconditions.c (main): Likewise.
322         * genconfig.c (main): Likewise.
323         * genconstants.c (main): Likewise.
324         * genemit.c (main): Likewise.
325         * genextract.c (main): Likewise.
326         * genflags.c (main): Likewise.
327         * genopinit.c (main): Likewise.
328         * genoutput.c (main): Likewise.
329         * genpeep.c (main): Likewise.
330         * genrecog.c (main): Likewise.
331         * genpreds.c (main): Likewise.
332         * gensupport.h (in_fname): Move to read-md.h.
333         (init_md_reader_args_cb): Rename to...
334         (init_rtx_reader_args_cb): ...this and return a bool.
335         (init_md_reader_args): Rename to...
336         (init_rtx_reader_args): ...this and return a bool.
337         (include_callback): Move to read-md.h.
338         * gensupport.c (in_fname, include_callback, base_dir, max_include_len)
339         (file_name_list, first_dir_md_include): Move to read-md.c
340         (first_bracket_include): Delete unused variable.
341         (last_dir_md_include): Move to read-md.c.
342         (process_include): Delete, moving code to read-md.c:handle_include.
343         (process_rtx): Don't handle INCLUDE.
344         (save_string): Delete.
345         (rtx_handle_directive): New function.
346         (init_md_reader_args_cb): Rename to...
347         (init_rtx_reader_args_cb): ...this and return a boolean success value.
348         Use read_md_args.
349         (init_md_reader_args): Rename to...
350         (init_rtx_reader_args): ...this and return a boolean success value.
351         * rtl.def (INCLUDE): Delete.
352         * rtl.h (read_rtx): Remove "int *" argument.  Add "const char *"
353         argument.
354         * read-rtl.c (read_conditions): Don't gobble ')' here.
355         (read_mapping): Likewise.
356         (read_rtx): Remove LINENO argument.  Add RTX_NAME argument.
357         Handle top-level non-rtx constructs here rather than in read_rtx_1.
358         Store the whole queue in *X.  Remove call to init_md_reader.
359         (read_rtx_1): Rename to...
360         (read_rtx_code): ...this.  Call read_nested_rtx to read subrtxes.
361         Don't handle top-level non-rtx constructs here.  Don't handle (nil)
362         here.
363         (read_nested_rtx): New function.  Handle (nil) here rather than
364         in read_rtx_code.
365         (read_rtx_variadic): Call read_nested_rtx to read subrtxes.  Don't
366         gobble ')' here.
367         * read-md.h (directive_handler_t): New type.
368         (in_fname, include_callback): Moved from read-md.h.
369         (read_constants, init_md_reader): Delete.
370         (read_md_files): Declare.
371         * read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
372         (last_dir_md_include_ptr, include_callback, max_include_len): Moved
373         from gensupport.c.
374         (read_constants): Rename to...
375         (handle_constants): ...this.  Don't gobble ')' here.
376         (handle_include, handle_file, handle_toplevel_file)
377         (parse_include): New functions, mostly taken from gensupport.c.
378         (init_md_reader): Subsume into...
379         (read_md_files): ...this new function.
380
381 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
382
383         * read-md.h (read_char): Increment read_md_lineno after reading '\n'.
384         (unread_char): Decrement read_md_lineno after putting back '\n'.
385         * read-md.c (fatal_with_file_and_line): Push back any characters
386         that we decide not to add to the context.
387         (read_skip_spaces): Don't increment read_md_lineno here.  Avoid using
388         fatal_expected_char in cases where '/' ends a line (for example).
389         (read_name): Don't increment read_md_lineno here.
390         (read_escape): Likewise.
391         (read_quoted_string): Likewise.
392         (read_braced_string): Likewise.
393
394 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
395
396         * Makefile.in (READ_MD_H): Add $(HASHTAB_H).
397         (build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
398         * genconstants.c: Include read-md.h.
399         * read-rtl.c (md_constants): Move to read-md.c.
400         (md_name): Move to read-md.h.
401         (initialize_iterators): Use leading_string_hash instead of def_hash
402         and leading_string_eq_p instead of def_name_eq_p.
403         (read_name): Move to read-md.c.
404         (def_hash, def_name_eq_p): Delete.
405         (read_constants, traverse_md_constants): Move to read-md.c.
406         * rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
407         * read-md.h: Include hashtab.h.
408         (md_name): Moved from read-rtl.c.
409         (md_constant): Moved from read-md.h.
410         (leading_string_hash, leading_string_eq_p, read_name)
411         (read_constants, traverse_md_constants): Declare.
412         * read-md.c (md_constants): Moved from read-rtl.c.
413         (leading_string_hash, leading_string_eq_p): New functions.
414         (read_name, read_constants, traverse_md_constants): Moved from
415         read-rtl.c.
416
417 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
418
419         * read-rtl.c (md_name): New structure.
420         (read_name): Take an md_name instead of a buffer pointer.
421         Use the "string" field instead of strcpy when expanding constants.
422         (read_constants): Remove the tmp_char argument.  Update the calls
423         to read_name, using two local name buffers instead of the tmp_char
424         argument.  Merge the constant-creation code.
425         (read_conditions): Remove the tmp_char argument.  Update the calls
426         to read_name, using a local name buffer instead of the tmp_char
427         argument.
428         (read_mapping): Replace tmp_char variable with a local name buffer.
429         Update the calls to read_name.
430         (read_rtx_1): Likewise.  Update the calls to read_constants and
431         read_conditions.
432
433 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
434
435         * Makefile.in (build/read-md.o): Depend on errors.h.
436         * read-md.h (error_with_line): Declare.
437         * read-md.c: Include errors.h.
438         (message_with_line_1): New function, extracted from...
439         (message_with_line): ...here.
440         (error_with_line): New function.
441         * genattrtab.c: If a call to message_with_line is followed by
442         "have_error = 1;", replace both statements with a call to
443         error_with_line.
444         * genoutput.c: Likewise.
445         * genpreds.c: Likewise.
446         * genrecog.c: If a call to message_with_line is followed by
447         "error_count++;", replace both statements with a call to
448         error_with_line.
449         (errorcount): Delete.
450         (main): Don't check it.
451         * gensupport.c: If a call to message_with_line is followed by
452         "errors = 1;", replace both statements with a call to error_with_line.
453         (errors): Delete.
454         (process_define_cond_exec): Check have_error instead of errors.
455         (init_md_reader_args_cb): Likewise.  Don't set errors.
456
457 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
458
459         * read-md.h (read_md_file): Declare.
460         (read_char, unread_char): New functions.
461         (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
462         (read_quoted_string, read_string): Remove FILE * argument.
463         * read-md.c (read_md_file): New variable.
464         (read_md_filename, read_md_lineno): Update comments and remove
465         unnecessary initialization.
466         (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
467         (read_escape, read_quoted_string, read_braced_string, read_string):
468         Remove FILE * argument.  Update calls accordingly, using read_char
469         and unread_char instead of getc and ungetc.
470         * rtl.h (read_rtx): Remove FILE * argument.
471         * read-rtl.c (iterator_group): Remove FILE * argument from
472         "find_builtin".
473         (iterator_traverse_data): Remove "infile" field.
474         (find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
475         (add_mapping, read_name, read_constants, read_conditions)
476         (validate_const_int, find_iterator, read_mapping, check_code_iterator)
477         (read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
478         Remove file arguments from all calls, using read_char and unread_char
479         instead of getc and ungetc.
480         * gensupport.c (process_include): Preserve read_md_file around
481         the include.  Set read_md_file to the handle of the included file.
482         Update call to read_rtx.
483         (init_md_reader_args_cb): Set read_md_file to the handle of the file
484         and remove local FILE *.  Update calls to read_rtx.
485
486 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
487
488         * read-md.h (read_rtx_lineno): Rename to...
489         (read_md_lineno): ...this.
490         (read_rtx_filename): Rename to...
491         (read_md_filename): ...this.
492         (copy_rtx_ptr_loc): Rename to...
493         (copy_md_ptr_loc): ...this.
494         (print_rtx_ptr_loc): Rename to...
495         (print_md_ptr_loc): ...this.
496         * read-md.c: Likewise.  Update references after renaming.
497         (string_obstack): Replace RTL with MD in comment.
498         (set_rtx_ptr_loc): Rename to...
499         (set_md_ptr_loc): ...this.
500         (get_rtx_ptr_loc): Rename to...
501         (get_md_ptr_loc): ...this.
502         * genconditions.c: Update references after renaming.
503         * genemit.c: Likewise.
504         * genoutput.c: Likewise.
505         * genpreds.c: Likewise.
506         * gensupport.c: Likewise.
507         * read-rtl.c: Likewise.
508
509 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
510
511         * Makefile.in (READ_MD_H): New variable.
512         (BUILD_RTL): Add build/read-md.o.
513         (lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
514         (build/gensupport.o, build/read-rtl.o, build/genattr.o)
515         (build/genattrtab.o, build/genconditions.o build/genemit.o)
516         (build/genextract.o, build/genflags.o, build/genoutput.o)
517         (build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
518         (build/read-md.o): New rule.
519         * defaults.h (obstack_chunk_alloc, obstack_chunk_free)
520         (OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
521         * coretypes.h: ...here.
522         * lto-wrapper.c: Include coretypes.h instead of defaults.h.
523         * pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
524         * genattr.c: Include read-md.h.
525         * genattrtab.c: Likewise.
526         * genconditions.c: Likewise.
527         * genemit.c: Likewise.
528         * genextract.c: Likewise.
529         * genflags.c: Likewise.
530         * genoutput.c: Likewise.
531         * genpreds.c: Likewise.
532         * genrecog.c: Likewise.
533         * rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
534         (join_c_conditions, print_c_condition, read_rtx_filename)
535         (read_rtx_lineno): Move to read-md.h.
536         * read-rtl.c: Include read-md.h.
537         (ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
538         (joined_conditions, joined_conditions_obstack, read_rtx_lineno)
539         (read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
540         (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
541         (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
542         (print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
543         (read_braced_string, read_string): Move to read-md.c.
544         (read_rtx): Move some initialization to init_md_reader and call
545         init_md_reader here.
546         * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
547         Move to read-md.h.
548         * gensupport.c: Include read-md.h.
549         (message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c.
550         * read-md.h, read-md.c: New files.
551
552 2010-06-10  Anatoly Sokolov  <aesok@post.ru>
553
554         * config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
555         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
556         * config/moxie/moxie-protos.h (moxie_function_value): Remove.
557         * config/moxie/moxie.c (moxie_function_value): Make static.
558         (moxie_libcall_value, moxie_function_value_regno_p): New functions.
559         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
560
561 2010-06-10  Martin Jambor  <mjambor@suse.cz>
562
563         * Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
564         * dbgcnt.def (tree_sra): New counter.
565         * tree-sra.c: Include dbgcnt.h.
566         (gate_intra_sra): Check tree_sra debug counter.
567
568 2010-06-10  Martin Jambor  <mjambor@suse.cz>
569
570         PR tree-optimization/44258
571         * tree-sra.c (build_access_subtree): Return false iff there is a
572         partial overlap.
573         (build_access_trees): Likewise.
574         (analyze_all_variable_accesses): Disqualify candidates if
575         build_access_trees returns true for them.
576
577 2010-06-10  Alexandre Oliva  <aoliva@redhat.com>
578
579         PR debug/41371
580         * var-tracking.c (find_loc_in_1pdv): Remove recursion, only
581         tail-recurse into canonical node.  Fast-forward over
582         non-canonical VALUEs.
583
584 2010-06-10  H.J. Lu  <hongjiu.lu@intel.com>
585
586         PR boostrap/44470
587         * config/i386/i386.md (*add<mode>_1): Revert revision 160394.
588         (*addsi_1_zext) <TYPE_LEA>: Likewise.
589         (add lea splitter): Likewise.
590         (add_zext lea splitter): Likewise.
591
592 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
593
594         * common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
595
596 2010-06-10  Jan Hubicka  <jh@suse.cz>
597
598         * df-problems.c (df_live_problem_data): Add live_bitmaps.
599         (df_live_alloc): Initialize problem data and live_osbtacks.
600         (df_live_finalize): Remove obstack, problem data; do not
601         clear all bitmaps.
602         (df_live_top_dump, df_live_bottom_dump): Do not dump old
603         data when not allocated.
604         (df_live_verify_solution_start): Do not allocate problem data.
605         (df_live_verify_solution_end): Check if out is allocated.
606         (struct df_md_problem_data): New structure.
607         (df_md_alloc): Allocate problem data.
608         (df_md_free): Free problem data; do not clear bitmaps.
609
610 2010-06-10  Jan Beulich  <jbeulich@novell.com>
611
612         PR bootstrap/37304
613         * configure.ac: Replace $() with ${} when intending to expand
614         variables rather than invoking commands.
615         * configure: Re-generate.
616
617 2010-06-10  Jan Hubicka  <jh@suse.cz>
618
619         PR rtl-optimization/44460
620         * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
621         TYPE_NEEDS_CONSTRUCTING sanity check.
622
623 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
624
625         * doc/include/fdl.texi: Move to GFDL version 1.3.
626
627         * doc/cpp.texi: Move to GFDL version 1.3.
628         * doc/gcc.texi: Move to GFDL version 1.3.  Fix copyright years.
629         * doc/gccint.texi: Move to GFDL version 1.3.
630         * doc/gcov.texi: Move to GFDL version 1.3.  Update copyright years.
631         * doc/install.texi: Move to GFDL version 1.3.  Fix copyright years.
632         * doc/invoke.texi: Move to GFDL version 1.3.
633
634 2010-06-09  Jan Hubicka  <jh@suse.cz>
635
636         * ipa-pure-const.c (propagate_pure_const, propagate_noreturn):
637         Break out from ...
638         (propagate) ... here; swap the order.
639
640 2010-06-09  Jan Hubicka  <jh@suse.cz>
641
642         * bitmap.c (bitmap_elt_insert_after, bitmap_first_set_bit,
643         bitmap_first_set_bit, bitmap_last_set_bit, bitmap_last_set_bit,
644         bitmap_and_into, bitmap_and_compl_into, bitmap_set_range,
645         bitmap_compl_and_into, bitmap_elt_ior): Use checking asserts.
646
647 2010-06-09  Changpeng Fang  <changpeng.fang@amd.com>
648
649         * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
650         Do not the gather memory reference in the outer loop if the step
651         is not a constant.
652
653 2010-06-09  Changpeng Fang  <changpeng.fang@amd.com>
654
655         * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
656         Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
657         8 to 4.  Minor change of the related comments.
658
659 2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>
660
661         * tree-scalar-evolution.c (instantiate_scev_name): Do not fail
662         the scev analysis when the variable is not used outside the loop
663         in a close phi node: call compute_overall_effect_of_inner_loop.
664
665 2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>
666
667         * graphite-sese-to-poly.c (single_pred_cond): Renamed
668         single_pred_cond_non_loop_exit.  Return NULL for loop exit edges.
669         (build_sese_conditions_before): Renamed call to single_pred_cond.
670         (build_sese_conditions_after): Same.
671
672 2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>
673
674         * graphite-poly.h: Fix comments and indentation.
675         * graphite-sese-to-poly.c: Same.
676         (build_sese_conditions_before): Compute stmt and gbb only when needed.
677         * tree-chrec.c: Fix comments and indentation.
678         (tree-ssa-loop-niter.c): Same.
679
680 2010-06-09  Eric Botcazou  <ebotcazou@adacore.com>
681
682         PR rtl-optimization/42461
683         * dce.c (deletable_insn_p): Return true for const or pure calls again.
684         * except.c (insn_could_throw_p): Return false if !flag_exceptions.
685
686 2010-06-09  Jan Hubicka  <jh@suse.cz>
687
688         * bitmap.c (bitmap_and): Walk array forward.
689         (bitmap_and_compl_into): Likewise.
690         (bitmap_xor): Likewise.
691         (bitmap_xor_into):  Likewise.
692         (bitmap_equal_p): Likewise.
693         (bitmap_intersect_p): Likewise.
694         (bitmap_intersect_compl_p): Likewise.
695         (bitmap_ior_and_into): Likewise.
696         (bitmap_elt_copy): Likewise.
697         (bitmap_and_compl): Likewise.
698         (bitmap_elt_ior): Likewise.
699
700 2010-06-09  Dave Korn  <dave.korn.cygwin@gmail.com>
701
702         * opts-common.c (prune_options): Ensure replacement argv array
703         is correctly terminated by a NULL entry.
704
705 2010-06-09  Jan Hubicka  <jh@suse.cz>
706
707         * cgraph.h (varpool_first_static_initializer,
708         varpool_next_static_initializer): Make checking only when
709         checking enabled.
710         * tree-vectorizer.h (vinfo_for_stmt): Remove check.
711         (set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
712         gcc_assert to gcc_checking_assert.
713         * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use,
714         phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
715         op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
716         op_iter_init_phiuse, op_iter_init_phidef,
717         array_ref_contains_indirect_ref, ref_contains_array_ref): Use
718         gcc_checking_assert.
719         * emit-rtl.h (set_first_insn, set_last_insn): Likewise.
720         * tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
721         partition_is_global, live_on_entry, live_on_exit,
722         live_merge_and_clear): Likewise.
723         * system.h (gcc_checking_assert): New macro.
724         * gimple.h (set_bb_seq): Use gcc_checking_assert.
725
726 2010-06-09  Jason Merrill  <jason@redhat.com>
727
728         * Makefile.in (TAGS): Collect tags info from c-family.
729
730 2010-06-09  Jan Hubicka  <jh@suse.cz>
731
732         * gimple.h (gcc_gimple_checking_assert): New macro.
733         (gimple_set_def_ops, gimple_set_use_ops,
734         gimple_set_vuse, gimple_set_vdef,
735         gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
736         gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
737         gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
738         gimple_asm_output_op, gimple_asm_output_op_ptr,
739         gimple_asm_set_output_op, gimple_asm_clobber_op,
740         gimple_asm_set_clobber_op, gimple_asm_label_op,
741         gimple_asm_set_label_op, gimple_try_set_kind,
742         gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup,
743         gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index,
744         gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index,
745         gimple_omp_for_index_ptr, gimple_omp_for_set_index,
746         gimple_omp_for_initial, gimple_omp_for_initial_ptr,
747         gimple_omp_for_set_initial, gimple_omp_for_final,
748         gimple_omp_for_final_ptr, gimple_omp_for_set_final,
749         gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr,
750         gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking
751         conditional with ENABLE_GIMPLE_CHECKING.
752         (gimple_phi_set_arg): Likewise; replace memcpy by assignment.
753
754 2010-06-09  Sandra Loosemore  <sandra@codesourcery.com>
755
756         * tree-ssa-loop-ivopts.c (adjust_setup_cost): New function.
757         (get_computation_cost_at): Use it.
758         (determine_use_iv_cost_condition): Likewise.
759         (determine_iv_cost): Likewise.
760
761 2010-06-09  Richard Guenther  <rguenther@suse.de>
762
763         * tree-ssa-loop-niter.c (simplify_replace_tree): Do not
764         replace constants.
765
766 2010-06-09  Kai Tietz  <kai.tietz@onevision.com>
767
768         * c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
769
770 2010-06-09  Martin Jambor  <mjambor@suse.cz>
771
772         PR tree-optimization/44423
773         * tree-sra.c (dump_access): Dump also grp_assignment_read.
774         (analyze_access_subtree): Pass negative allow_replacements to children
775         if the current type is scalar.
776
777 2010-06-09  Joern Rennecke  <amylaar@spamcop.net>
778
779         PR testsuite/42843
780         * gcc-plugin.h (int plugin_is_GPL_compatible): Declare as extern "C".
781         * doc/plugins.texi (Plugin license check): Update information
782         on type of plugin_is_GPL_compatible.
783         * Makefile.in (PLUGINCC): Define as $(COMPILER).
784         (PLUGINCFLAGS): Define as $(COMPILER_FLAGS).
785
786 2010-06-09  Bernd Schmidt  <bernds@codesourcery.com>
787
788         * config/arm/arm.c (thumb2_reorg): New function.
789         (arm_reorg): Call it.
790         * config/arm/thumb2.md (define_peephole2 for flag clobbering
791         arithmetic operations): Delete.
792
793 2010-06-09  Edmar Wienskoski  <edmar@freescale.com>
794
795         PR target/44067
796         * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
797         e500v2 target.
798
799 2010-06-09  Joern Rennecke  <joern.rennecke@embecosm.com>
800
801         PR plugins/44459
802         * gcc-plugin.h: Encapsulate all declarations in extern "C".
803
804 2010-06-08  Jan Hubicka  <jh@suse.cz>
805
806         * basic-block.h (single_succ_edge, single_pred_edge, ei_container,
807         ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
808
809 2010-06-08  Sandra Loosemore  <sandra@codesourcery.com>
810
811         PR tree-optimization/39874
812         PR middle-end/28685
813         * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
814         Declare.
815         * gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
816         same_bool_result_p): New.
817         (and_var_with_comparison, and_var_with_comparison_1,
818         and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
819         (or_var_with_comparison, or_var_with_comparison_1,
820         or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
821         * tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
822         maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
823         of combine_comparisons.
824         * tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
825
826 2010-06-08  Anatoly Sokolov  <aesok@post.ru>
827
828         * config/pdp11/pdp11.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
829         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
830         * config/pdp11/pdp11.c (pdp11_function_value, pdp11_libcall_value,
831         pdp11_function_value_regno_p): New functions.
832         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
833         TARGET_FUNCTION_VALUE_REGNO_P): Define.
834
835 2010-06-08  Kazu Hirata  <kazu@codesourcery.com>
836
837         * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
838         Thumb-2 in the MINUS case.
839
840 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
841
842         * doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
843
844         * doc/gty.texi (GTY Options): Document typed GC allocation and
845         variable_size GTY option.
846
847         * ggc-internal.h: New.
848
849         * ggc.h: Update copyright year.
850         (digit_string): Move to stringpool.c.
851         (ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
852         (gt_pch_save_stringpool, gt_pch_fixup_stringpool)
853         (gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
854         (init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
855         (ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
856         (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
857         (ggc_force_collect, ggc_get_size, ggc_statistics)
858         (ggc_print_common_statistics): Move to ggc-internal.h.
859         (digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
860         (ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
861         (GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
862         (ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
863         (ggc_min_heapsize_heuristic, ggc_alloc_zone)
864         (ggc_alloc_zone_pass_stat): Remove.
865         (ggc_internal_alloc_stat, ggc_internal_alloc)
866         (ggc_internal_cleared_alloc_stat): New.
867         (GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
868         (ggc_internal_vec_alloc_stat)
869         (ggc_internal_cleared_vec_alloc_stat)
870         (ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
871         (ggc_alloc_atomic_stat, ggc_alloc_atomic)
872         (ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
873         (ggc_cleared_alloc_ptr_array_two_args): New.
874         (htab_create_ggc, splay_tree_new_ggc): Redefine.
875         (ggc_splay_alloc): Change the type of the first argument to
876         enum gt_types_enum.
877         (ggc_alloc_string): Make macro.
878         (ggc_alloc_string_stat): New.
879         (ggc_strdup): Redefine.
880         (rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
881         (ggc_alloc_rtvec_sized): New.
882         (ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
883         (ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
884         (ggc_internal_cleared_alloc_zone_stat)
885         (ggc_internal_zone_alloc_stat)
886         (ggc_internal_zone_cleared_alloc_stat)
887         (ggc_internal_zone_vec_alloc_stat)
888         (ggc_alloc_zone_rtx_def_stat)
889         (ggc_alloc_zone_tree_node_stat)
890         (ggc_alloc_zone_cleared_tree_node_stat)
891         (ggc_alloc_cleared_gimple_statement_d_stat): New.
892
893         * ggc-common.c: Include ggc-internal.h.
894         (ggc_internal_cleared_alloc_stat): Rename from
895         ggc_alloc_cleared_stat.
896         (ggc_realloc_stat): Use ggc_internal_alloc_stat.
897         (ggc_calloc): Remove.
898         (ggc_cleared_alloc_htab_ignore_args): New.
899         (ggc_cleared_alloc_ptr_array_two_args): New.
900         (ggc_splay_alloc): Add obj_type parameter.
901         (init_ggc_heuristics): Formatting fixes.
902
903         * ggc-none.c: Update copyright year.
904         (ggc_alloc_stat): Rename to ggc_alloc_stat.
905         (ggc_alloc_cleared_stat): Rename to
906         ggc_internal_cleared_alloc_stat.
907         (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
908
909         * ggc-page.c: Update copyright year.  Include ggc-internal.h.
910         Remove references to ggc_alloc in comments.
911         (ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
912         (ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
913         (new_ggc_zone, destroy_ggc_zone): Remove.
914         (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
915
916         * ggc-zone.c: Include ggc-internal.h.  Remove references to
917         ggc_alloc in comments.
918         (ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
919         (ggc_internal_alloc_zone_pass_stat): New.
920         (ggc_internal_cleared_alloc_zone_stat): New.
921         (ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
922         (ggc_alloc_stat): Rename ggc_internal_alloc_stat.
923         (new_ggc_zone, destroy_ggc_zone): Remove.
924
925         * stringpool.c: Update copyright year.  Include ggc-internal.h
926         (digit_vector): Make static.
927         (digit_string): Moved from ggc.h.
928         (stringpool_ggc_alloc): Use ggc_alloc_atomic.
929         (ggc_alloc_string): Rename to ggc_alloc_string_stat.
930
931         * Makefile.in (GGC_INTERNAL_H): New.
932         (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
933         $(GGC_INTERNAL_H) to dependencies.
934
935         * gentype.c: Update copyright year.
936         (walk_type): Accept variable_size GTY option.
937         (USED_BY_TYPED_GC_P): New macro.
938         (write_enum_defn): Use USED_BY_TYPED_GC_P.  Do not output
939         whitespace at the end of strings.
940         (get_type_specifier, variable_size_p): New functions.
941         (alloc_quantity, alloc_zone): New enums.
942         (write_typed_alloc_def): New function.
943         (write_typed_struct_alloc_def): Likewise.
944         (write_typed_typed_typedef_alloc_def): Likewise.
945         (write_typed_alloc_defns): Likewise.
946         (output_typename, write_splay_tree_allocator_def): Likewise.
947         (write_splay_tree_allocators): Likewise.
948         (main): Call write_typed_alloc_defns and
949         write_splay_tree_allocators.
950
951         * lto-streamer.h (lto_file_decl_data_ptr): New.
952
953         * passes.c (order): Define using cgraph_node_ptr.
954
955         * strinpool.c (struct string_pool_data): Declare nested_ptr using
956         ht_identifier_ptr.
957
958         * gimple.h (union gimple_statement_d): Likewise.
959
960         * rtl.h (struct rtx_def): Likewise.
961         (struct rtvec_def): Likewise.
962
963         * tree.h (union tree_node): Likewise.
964
965         * tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
966
967         * cfgloop.c (record_loop_exits): Use htab_create_ggc.
968
969         * tree-scalar-evolution.c (scev_initialize): Likewise.
970
971         * alias.c (record_alias_subset): Update splay_tree_new_ggc call.
972
973         * dwarf2asm.c (dw2_force_const_mem): Likewise.
974
975         * omp-low.c (lower_omp_critical): Likewise.
976
977         * bitmap.h (struct bitmap_head_def): Update comment to not
978         reference ggc_alloc.
979
980         * config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
981
982         * ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
983
984         * ipa-prop.c (duplicate_ggc_array): Rename to
985         duplicate_ipa_jump_func_array.  Use typed GC allocation.
986         (ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
987
988         * gimple.c (gimple_alloc_stat): Use
989         ggc_alloc_cleared_gimple_statement_d_stat.
990
991         * varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
992
993         * tree.c (make_node_stat): Use
994         ggc_alloc_zone_cleared_tree_node_stat.
995         (make_tree_vec_stat): Likewise.
996         (build_vl_exp_stat): Likewise.
997         (copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
998         (make_tree_binfo_stat): Likewise.
999         (tree_cons_stat): Likewise.
1000
1001         * rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
1002         (shallow_copy_rtx_stat): Likewise.
1003         (make_node_stat): Likewise.
1004
1005         * lto-symtab.c: Fix comment.
1006
1007         * tree-cfg.c (create_bb): Update comment to not reference
1008         ggc_alloc_cleared.
1009         * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
1010
1011         * varpool.c (varpool_node): Use typed GC allocation.
1012         (varpool_extra_name_alias): Likewise.
1013
1014         * varasm.c (emutls_decl): Likewise.
1015         (get_unnamed_section): Likewise.
1016         (get_noswitch_section): Likewise.
1017         (get_section): Likewise.
1018         (get_block_for_section): Likewise.
1019         (build_constant_desc): Likewise.
1020         (create_constant_pool): Likewise.
1021         (force_const_mem): Likewise.
1022
1023         * tree.c (build_vl_exp_stat): Likewise.
1024         (build_real): Likewise.
1025         (build_string): Likewise.
1026         (decl_debug_expr_insert): Likewise.
1027         (decl_value_expr_insert): Likewise.
1028         (type_hash_add): Likewise.
1029         (build_omp_clause): Likewise.
1030
1031         * tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
1032
1033         * tree-ssa.c (init_tree_ssa): Likewise.
1034
1035         * tree-ssa-structalias.c (heapvar_insert): Likewise.
1036
1037         * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
1038
1039         * tree-ssa-loop-niter.c (record_estimate): Likewise.
1040
1041         * tree-ssa-alias.c (get_ptr_info): Likewise.
1042
1043         * tree-scalar-evolution.c (new_scev_info_str): Likewise.
1044
1045         * tree-phinodes.c (allocate_phi_node): Likewise.
1046
1047         * tree-iterator.c (tsi_link_before): Likewise.
1048         (tsi_link_after): Likewise.
1049
1050         * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
1051
1052         * tree-dfa.c (create_var_ann): Likewise.
1053
1054         * tree-cfg.c (create_bb): Likewise.
1055
1056         * toplev.c (alloc_for_identifier_to_locale): Likewise.
1057         (general_init): Likewise.
1058
1059         * stringpool.c (stringpool_ggc_alloc): Likewise.
1060         (gt_pch_save_stringpool): Likewise.
1061
1062         * sese.c (if_region_set_false_region): Likewise.
1063
1064         * passes.c (do_per_function_toporder): Likewise.
1065
1066         * optabs.c (set_optab_libfunc): Likewise.
1067         (set_conv_libfunc): Likewise.
1068
1069         * lto-symtab.c (lto_symtab_register_decl): Likewise.
1070
1071         * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
1072         (input_eh_region): Likewise.
1073         (input_eh_lp): Likewise.
1074         (make_new_block): Likewise.
1075         (unpack_ts_real_cst_value_fields): Likewise.
1076
1077         * lto-section-in.c (lto_new_in_decl_state): Likewise.
1078
1079         * lto-cgraph.c (input_node_opt_summary): Likewise.
1080
1081         * loop-init.c (loop_optimizer_init): Likewise.
1082
1083         * lambda.h (lambda_vector_new): Likewise.
1084
1085         * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
1086
1087         * ira.c (update_equiv_regs): Likewise.
1088
1089         * ipa.c (cgraph_node_set_new): Likewise.
1090         (cgraph_node_set_add): Likewise.
1091         (varpool_node_set_new): Likewise.
1092         (varpool_node_set_add): Likewise.
1093
1094         * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
1095         (duplicate_ipa_jump_func_array): Likewise.
1096         (ipa_read_node_info): Likewise.
1097
1098         * ipa-cp.c (ipcp_create_replace_map): Likewise.
1099
1100         * integrate.c (get_hard_reg_initial_val): Likewise.
1101
1102         * gimple.c (gimple_alloc_stat): Likewise.
1103         (gimple_build_omp_for): Likewise.
1104         (gimple_seq_alloc): Likewise.
1105         (gimple_copy): Likewise.
1106
1107         * gimple-iterator.c (gsi_insert_before_without_update): Likewise.
1108         (gsi_insert_after_without_update): Likewise.
1109
1110         * function.c (add_frame_space): Likewise.
1111         (insert_temp_slot_address): Likewise.
1112         (assign_stack_temp_for_type): Likewise.
1113         (allocate_struct_function): Likewise.
1114         (types_used_by_var_decl_insert): Likewise.
1115
1116         * except.c (init_eh_for_function): Likewise.
1117         (gen_eh_region): Likewise.
1118         (gen_eh_region_catch): Likewise.
1119         (gen_eh_landing_pad): Likewise.
1120         (add_call_site): Likewise.
1121
1122         * emit-rtl.c (get_mem_attrs): Likewise.
1123         (get_reg_attrs): Likewise.
1124         (start_sequence): Likewise.
1125         (init_emit): Likewise.
1126
1127         * dwarf2out.c (new_cfi): Likewise.
1128         (queue_reg_save): Likewise.
1129         (dwarf2out_frame_init): Likewise.
1130         (new_loc_descr): Likewise.
1131         (find_AT_string): Likewise.
1132         (new_die): Likewise.
1133         (add_var_loc_to_decl): Likewise.
1134         (clone_die): Likewise.
1135         (clone_as_declaration): Likewise.
1136         (break_out_comdat_types): Likewise.
1137         (new_loc_list): Likewise.
1138         (loc_descriptor): Likewise.
1139         (add_loc_descr_to_each): Likewise.
1140         (add_const_value_attribute): Likewise.
1141         (tree_add_const_value_attribute): Likewise.
1142         (add_comp_dir_attribute): Likewise.
1143         (add_name_and_src_coords_attributes): Likewise.
1144         (lookup_filename): Likewise.
1145         (store_vcall_insn): Likewise.
1146         (dwarf2out_init): Likewise.
1147
1148         * dbxout.c (dbxout_init): Likewise.
1149
1150         * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
1151
1152         * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
1153
1154         * config/score/score7.c (score7_output_external): Likewise.
1155
1156         * config/score/score3.c (score3_output_external): Likewise.
1157
1158         * config/s390/s390.c (s390_init_machine_status): Likewise.
1159
1160         * config/rs6000/rs6000.c (builtin_function_type): Likewise.
1161         (rs6000_init_machine_status): Likewise.
1162         (output_toc): Likewise.
1163
1164         * config/pa/pa.c (pa_init_machine_status): Likewise.
1165         (get_deferred_plabel): Likewise.
1166
1167         * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
1168
1169         * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
1170
1171         * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
1172
1173         * config/mep/mep.c (mep_init_machine_status): Likewise.
1174         (mep_note_pragma_flag): Likewise.
1175
1176         * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
1177
1178         * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
1179
1180         * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
1181
1182         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
1183         (i386_pe_maybe_record_exported_symbol): Likewise.
1184
1185         * config/i386/i386.c (get_dllimport_decl): Likewise.
1186         (ix86_init_machine_status): Likewise.
1187         (assign_386_stack_local): Likewise.
1188
1189         * config/frv/frv.c (frv_init_machine_status): Likewise.
1190
1191         * config/darwin.c (machopic_indirection_name): Likewise.
1192
1193         * config/cris/cris.c (cris_init_machine_status): Likewise.
1194
1195         * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
1196
1197         * config/avr/avr.c (avr_init_machine_status): Likewise.
1198
1199         * config/arm/arm.c (arm_init_machine_status): Likewise.
1200
1201         * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
1202         (alpha_need_linkage): Likewise.
1203         (alpha_use_linkage): Likewise.
1204
1205         * cgraph.c (cgraph_allocate_node): Likewise.
1206         (cgraph_create_edge_1): Likewise.
1207         (cgraph_create_indirect_edge): Likewise.
1208         (cgraph_add_asm_node): Likewise.
1209
1210         * cfgrtl.c (init_rtl_bb_info): Likewise.
1211
1212         * cfgloop.c (alloc_loop): Likewise.
1213         (rescan_loop_exit): Likewise.
1214
1215         * cfg.c (init_flow): Likewise.
1216         (alloc_block): Likewise.
1217         (unchecked_make_edge): Likewise.
1218
1219         * c-parser.c (c_parse_init): Likewise.
1220         (c_parse_file): Likewise.
1221
1222         * c-decl.c (bind): Likewise.
1223         (record_inline_static): Likewise.
1224         (push_scope): Likewise.
1225         (make_label): Likewise.
1226         (lookup_label_for_goto): Likewise.
1227         (finish_struct): Likewise.
1228         (finish_enum): Likewise.
1229         (c_push_function_context): Likewise.
1230
1231         * bitmap.c (bitmap_element_allocate): Likewise.
1232         (bitmap_gc_alloc_stat): Likewise.
1233
1234         * alias.c (record_alias_subset): Likewise.
1235         (init_alias_analysis): Likewise.
1236
1237 2010-06-08  Shujing Zhao  <pearly.zhao@oracle.com>
1238
1239         * fold-const.c (fold_comparison): Remove redundant parenthesis.
1240         * tree-inline.c (expand_call_inline): Pass translated return value of
1241         cgraph_inline_failed_string to diagnostic function.
1242
1243 2010-06-08  Andrew Pinski <pinskia@gmail.com>
1244             Shujing Zhao  <pearly.zhao@oracle.com>
1245
1246         PR c/37724
1247         * c-typeck.c (convert_for_assignment): Call pedwarn_init if the
1248         implicit bad conversions is initialization.
1249         (error_init): Use gmsgid instead of msgid for argument name and change
1250         the call for error.
1251         (pedwarn_init): Use gmsgid instead of msgid for argument name and
1252         change the call for pedwarn.
1253         (warning_init): Use gmsgid instead of msgid for argument name and
1254         change the call for warning.
1255
1256 2010-06-07  Nathan Froyd  <froydnj@codesourcery.com>
1257
1258         * config/mips/mips-protos.h (mips_print_operand): Delete.
1259         (mips_print_operand_address): Delete.
1260         * config/mips/mips.h (mips_print_operand_punct): Delete.
1261         (PRINT_OPERAND): Delete.
1262         (PRINT_OPERAND_PUNCT_VALID_P): Delete.
1263         (PRINT_OPERAND_ADDRESS): Delete.
1264         * config/mips/mips.c (mips_print_operand_punct): Make static.
1265         (mips_print_operand_address): Make static.
1266         (mips_print_operand): Make static.  Call
1267         mips_print_operand_punct_valid_p.
1268         (mips_print_operand_punct_valid_p): New function.
1269         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
1270         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
1271
1272 2010-06-07  Jan Hubicka  <jh@suse.cz>
1273
1274         PR middle-end/44454
1275         (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
1276         are allocated.
1277
1278 2010-06-07  Kaz Kojima  <kkojima@gcc.gnu.org>
1279
1280         * config/sh/sh.c (sh_build_builtin_va_list): Set tree type
1281         name of RECORD.
1282
1283 2010-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1284
1285         * doc/sourcebuild.texi (Effective-Target Keywords, Other
1286         attributes): Document gas.
1287
1288 2010-06-07  Uros Bizjak  <ubizjak@gmail.com>
1289
1290         * config/i386/i386.md (*add<mode>_1): Remove alternative 2.
1291         <TYPE_LEA>: Split instruction.
1292         <default>: Remove alternative 2 handling.
1293         (*addsi_1_zext) <TYPE_LEA>: Split instruction.
1294         (add lea splitter): Generate SImode lea for mode sizes <= SImode.
1295         (add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
1296
1297         (*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
1298         (ashift_zext lea splitter): Use DImode for multiplication.
1299
1300         * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
1301         to generate addition.
1302
1303 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
1304
1305         * common.opt (fira-verbose): Use Var.
1306         (fpcc-struct-return): Use Init instead of VarExists.
1307         * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
1308         toplev.c.
1309         * flags.h (flag_signed_char, flag_short_enums,
1310         flag_pcc_struct_return, flag_ira_verbose,
1311         flag_detailed_statistics, flag_remove_unreachable_functions): Remove.
1312         * toplev.c (flag_detailed_statistics, flag_signed_char,
1313         flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
1314         (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
1315         * toplev.h (flag_crossjumping, flag_if_conversion,
1316         flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
1317         flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
1318         flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
1319         flag_cprop_registers, time_report, flag_ira_loop_pressure,
1320         flag_ira_coalesce, flag_ira_move_spills,
1321         flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
1322
1323 2010-06-07  Jan Hubicka  <jh@suse.cz>
1324
1325         * df-core.c (df_analyze_problem): Do verification after allocation.
1326
1327         * df-problems.c (df_lr_problem_data): Add lr_bitmaps.
1328         (df_lr_alloc): Initialize problem data; move bitmaps to
1329         lr_bitmaps obstack.
1330         (df_lr_finalize): Free problem data; do not bother to free bitmaps.
1331         (df_lr_verify_solution_start): Do not initialize problem data;
1332         allocate bitmaps in lr_bitmaps.
1333         (df_lr_verify_solution_end): Do not free problem data.
1334
1335 2010-06-07  Jan Hubicka  <jh@suse.cz>
1336
1337         * cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
1338         if caller is noreturn.
1339         * ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
1340         * ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
1341         * ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
1342         * ipa-pure-const.c (check_decl): Add IPA parameter.
1343         (state_from_flags): New function.
1344         (better_state, worse_state): New functions.
1345         (check_call): When in IPA mode, do not care about callees.
1346         (check_load, check_store): Update.
1347         (check_ipa_load, check_ipa_store): New.
1348         (check_stmt): When in IPA mode, use IPA checkers.
1349         (analyze_function): Use state_from_flags.
1350         (propagate): Check indirect edges and references.
1351
1352 2010-06-07  Kazu Hirata  <kazu@codesourcery.com>
1353
1354         PR rtl-optimization/44404
1355         * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
1356         of count_occurrences to see if it's safe to modify mem_insn.
1357
1358 2010-06-07  Richard Guenther  <rguenther@suse.de>
1359
1360         * gimplify.c (gimplify_cleanup_point_expr): For empty body
1361         and EH-only cleanup drop the cleanup instead of inserting it
1362         unconditionally.
1363
1364 2010-06-07  Ira Rosen  <irar@il.ibm.com>
1365
1366         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
1367         documentation.
1368         * targhooks.c (default_builtin_vectorization_cost): New function.
1369         * targhooks.h (default_builtin_vectorization_cost): Declare.
1370         * target.h (enum vect_cost_for_stmt): Define.
1371         (builtin_vectorization_cost): Change argument and comment.
1372         * tree-vectorizer.h: Remove cost model macros.
1373         * tree-vect-loop.c: Include target.h.
1374         (vect_get_cost): New function.
1375         (vect_estimate_min_profitable_iters): Replace cost model macros with
1376         calls to vect_get_cost.
1377         (vect_model_reduction_cost, vect_model_induction_cost): Likewise.
1378         * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
1379         default implementation.
1380         * tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
1381         calls to target hook builtin_vectorization_cost.
1382         (vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
1383         Likewise.
1384         * Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
1385         * config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
1386         implementation to return costs.
1387         * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
1388         * config/spu/spu.h: Remove vectorizer cost model macros.
1389         * config/i386/i386.h: Likewise.
1390         * tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
1391         a call to target hook builtin_vectorization_cost.
1392
1393 2010-06-06  Sriraman Tallam  <tmsriram@google.com>
1394
1395         PR target/44319
1396         * config/i386/i386.c (override_options): Turn zee pass on for level 2
1397         and above and defer till target is known.
1398         (optimization_options): Turn on zee pass if TARGET_64BIT is set and
1399         turn off otherwise.
1400
1401 2010-05-25  Jan Hubicka  <jh@suse.cz>
1402
1403         * df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
1404         (df_compact_blocks): Likewise.
1405         * df.h (struct df): Turn hardware_regs_used,
1406         regular_block_artificial_uses, eh_block_artificial_uses,
1407         insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
1408         bitmap_head.
1409         * df-problems.c (df_lr_local_compute, df_lr_confluence_0,
1410         df_byte_lr_alloc, df_simulate_fixup_sets): Update.
1411         * df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
1412         df_scan_blocks, df_insn_delete, df_insn_rescan,
1413         df_insn_rescan_debug_internal, df_insn_rescan_all,
1414         df_process_deferred_rescans, df_process_deferred_rescans,
1415         df_notes_rescan, df_get_call_refs, df_get_call_refs,
1416         regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
1417         df_record_entry_block_defs, df_record_exit_block_uses,
1418         df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
1419         df_scan_verify): Update.
1420
1421 2010-05-25  Dodji Seketeli  <dodji@redhat.com>
1422
1423         PR c++/44188
1424         * c-common.c (is_typedef_decl): Move this definition ...
1425         * tree.c (is_typedef_decl): ... here.
1426         (typdef_variant_p): Move definition here from gcc/cp/tree.c.
1427         * c-common.h (is_typedef_decl): Move this declaration ...
1428         * tree.h (is_typedef_decl): ... here.
1429         (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
1430         * dwarf2out.c (is_naming_typedef_decl): New function.
1431         (gen_tagged_type_die): Split out of ...
1432         (gen_type_die_with_usage): ... this function. When an anonymous
1433         tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
1434         is emitted for the typedef.
1435         (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
1436         anonymous tagged types.
1437
1438 2010-06-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1439
1440         PR c/20000
1441         * c-decl.c (grokdeclarator): Delete warning.
1442
1443 2010-06-06  Eric Botcazou  <ebotcazou@adacore.com>
1444
1445         * stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
1446         newly built CALL_EXPR.
1447         * tree-profile.c (tree_profiling): Don't profile functions produced
1448         for built-in stuff.
1449
1450 2010-06-06  Segher Boessenkool  <segher@kernel.crashing.org>
1451
1452         PR bootstrap/44427
1453         PR bootstrap/44428
1454         * genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
1455         endianness-independent.
1456
1457 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
1458
1459         * c-common.c: Move to c-family/.
1460         * c-common.def: Likewise.
1461         * c-common.h: Likewise.
1462         * c-cppbuiltin.c: Likewise.
1463         * c-dump.c: Likewise.
1464         * c-format.c: Likewise.
1465         * c-format.h : Likewise.
1466         * c-gimplify.c: Likewise.
1467         * c-lex.c: Likewise.
1468         * c-omp.c: Likewise.
1469         * c.opt: Likewise.
1470         * c-opts.c: Likewise.
1471         * c-pch.c: Likewise.
1472         * c-ppoutput.c: Likewise.
1473         * c-pragma.c: Likewise.
1474         * c-pragma.h: Likewise.
1475         * c-pretty-print.c: Likewise.
1476         * c-pretty-print.h: Likewise.
1477         * c-semantics.c: Likewise.
1478         * stub-objc.c: Likewise.
1479
1480         * gengtype.c (get_file_langdir): Special-case files in c-family/.
1481         (get_output_file_with_visibility): Fix name for c-common.h.
1482         * c-config-lang.in: Update paths in gtfiles for files in c-family/.
1483
1484         * c-tree.h: Update include path for moved files.
1485         * c-lang.c: Likewise.
1486         * c-lang.h: Likewise.
1487         * c-parser.c: Likewise.
1488         * c-convert.c: Likewise.
1489         * c-decl.c: Likewise.
1490         * c-objc-common.c: Likewise.
1491         * configure.ac: Make sure c-family/ exists in the build directory.
1492         * configure: Regenerate.
1493         * Makefile.in: Update paths for moved files.  Regroup files per
1494         location and update dependencies.  Move generated_files down after
1495         ALL_GTFILES_H.
1496
1497         * config/spu/spu-c.c: Update paths for moved files.
1498         * config/mep/mep-pragma.c: Likewise.
1499         * config/darwin-c.c: Likewise.
1500         * config/i386/msformat-c.c: Likewise.
1501         * config/i386/i386-c.c: Likewise.
1502         * config/avr/avr-c.c: Likewise.
1503         * config/sol2-c.c: Likewise.
1504         * config/ia64/ia64-c.c: Likewise.
1505         * config/rs6000/rs6000-c.c: Likewise.
1506         * config/arm/arm.c: Likewise.
1507         * config/arm/arm-c.c: Likewise.
1508         * config/h8300/h8300.c: Likewise.
1509         * config/v850/v850-c.c: Likewise.
1510
1511         * config/t-darwin: Fix dependencies for moved files.
1512         * config/t-sol2: Fix dependencies for moved files.
1513         * config/mep/t-mep: Fix dependencies for moved files.
1514         * config/ia64/t-ia64: Fix dependencies for moved files.
1515         * config/rs6000/t-rs6000: Fix dependencies for moved files.
1516         * config/v850/t-v850: Fix dependencies for moved files.
1517         * config/v850/t-v850e: Fix dependencies for moved files.
1518
1519         * config/m32c/m32c-pragma.c
1520
1521         * po/exgettext: Look in c-family/ also.
1522
1523 2010-06-05  Eric Botcazou  <ebotcazou@adacore.com>
1524
1525         * tree-ssa-dce.c (mark_last_stmt_necessary): New function.
1526         (mark_control_dependent_edges_necessary): Call it instead of marking
1527         the last statement manually.
1528         (propagate_necessity): Likewise.
1529
1530 2010-06-05  Jan Hubicka  <jh@suse.cz>
1531
1532         * basic-block.h (compute_dominance_frontiers): Updated.
1533         (compute_idf): Likewise.
1534
1535         * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
1536         for dominance frontiers.
1537         (rewrite_into_ssa): Update for bitmap heads in dominance frontiers.
1538         (insert_updated_phi_nodes_for): Likewise.
1539         (update_ssa): Likewise.
1540         * cfganal.c (compute_dominance_frontiers_1): Likewise.
1541         (compute_dominance_frontiers): Likewise.
1542         (compute_idf): Likewise.
1543         * df-problems.c (df_md_local_compute): Likewise.
1544
1545 2010-06-05  Anatoly Sokolov  <aesok@post.ru>
1546
1547         * target.h (struct gcc_target): Add memory_move_cost field.
1548         * target-def.h (TARGET_MEMORY_MOVE_COST): New.
1549         (TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
1550         * targhooks.c (default_memory_move_cost): New function.
1551         * targhooks.h (default_memory_move_cost): Declare function.
1552         * reload.h (memory_move_cost): Declare.
1553         (memory_move_secondary_cost): Change type of 'in' argument to bool.
1554         * reginfo.c (memory_move_cost): New function.
1555         (memory_move_secondary_cost): Change type of 'in' argument to bool.
1556         * ira.h (ira_memory_move_cost): Update comment.
1557         * ira.c: (ira_memory_move_cost): Update comment.
1558         (setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
1559         with memory_move_cost.
1560         * postreload.c (reload_cse_simplify_set): (Ditto.).
1561         * reload1.c (choose_reload_regs): (Ditto.).
1562         * doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
1563         (MEMORY_MOVE_COST):  Revise documentation.
1564
1565         * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
1566         * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
1567         * config/i386/i386.h (ix86_memory_move_cost): Make static. Change
1568         type of 'in' argument to bool.
1569         (TARGET_MEMORY_MOVE_COST): Define.
1570
1571 2010-06-05  Jan Hubicka  <jh@suse.cz>
1572
1573         * ipa-pure-const.c (propagate): Fix typo in handling of functions
1574         that cannot return.  Be more careful when merging the results with
1575         previously known ones.
1576
1577 2010-06-05  Matthias Klose  <doko@ubuntu.com>
1578
1579         * gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
1580         function to add the -iplugindir option.
1581         (find_plugindir_spec_function): Add new declaration and function.
1582         (static_spec_func): Use it for "find-plugindir".
1583
1584 2010-06-05  Jakub Jelinek  <jakub@redhat.com>
1585
1586         PR c++/44361
1587         * c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
1588         * c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
1589         statement expression.
1590
1591 2010-06-05  Jan Hubicka  <jh@suse.cz>
1592
1593         * df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
1594         (df_rd_problem_data): Convert sparse_invalidated_by_call,
1595         dense_invalidated_by_call to bitmap head.
1596         (df_rd_alloc, df_rd_bb_local_compute_process_def,
1597         df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
1598         df_rd_start_dump, df_lr_verify_transfer_functions,
1599         df_live_verify_transfer_functions, df_chain_create_bb,
1600         df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
1601         df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
1602         df_simulate_one_insn_forwards, df_md_alloc,
1603         df_md_bb_local_compute_process_def,
1604         df_md_bb_local_compute_process_def, df_md_local_compute,
1605         df_md_transfer_function df_md_free): Update.
1606
1607 2010-06-05  Joseph Myers  <joseph@codesourcery.com>
1608
1609         PR c/44322
1610         * c-typeck.c (build_unary_op): Merge qualifiers into pointer
1611         target type for ADDR_EXPR; require no changes to qualifiers except
1612         for function types.
1613         * c-tree.h (c_build_type_variant): Remove.
1614
1615 2010-06-05  Segher Boessenkool  <segher@kernel.crashing.org>
1616
1617         * genautomata.c (get_excl_set): Do work per element, not per char.
1618         (check_presence_pattern_sets): Similar.
1619         (check_absence_pattern_sets): Similar.
1620
1621 2010-06-05  Segher Boessenkool  <segher@kernel.crashing.org>
1622
1623         * genautomata.c (curr_state_pass_num): Delete.
1624         (min_issue_delay_pass_states): Delete.
1625         (min_issue_delay): Delete.
1626         (initiate_min_issue_delay_pass_states): Delete.
1627         (output_min_issue_delay_table): Compute min_issue_delay_vect
1628         using a breadth-first search variant.
1629         (output_tables): Don't call initiate_min_issue_delay_pass_states.
1630
1631 2010-06-04  H.J. Lu  <hongjiu.lu@intel.com>
1632
1633         PR boostrap/44421
1634         * df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
1635         (df_byte_lr_bb_local_compute): Likewise.
1636
1637 2010-06-03  Jason Merrill  <jason@redhat.com>
1638
1639         Implement noexcept operator (5.3.7)
1640         * c-common.c (c_common_reswords): Add noexcept.
1641         * c-common.h (enum rid): Add RID_NOEXCEPT.
1642
1643 2010-06-04  Joseph Myers  <joseph@codesourcery.com>
1644
1645         * config/darwin-driver.c (darwin_default_min_version): Use
1646         GCC-specific formats in diagnostics.
1647         * cppspec.c (lang_specific_driver): Use GCC-specific formats in
1648         diagnostics.
1649         * gcc.c (translate_options, read_specs, add_sysrooted_prefix,
1650         execute, process_command, end_going_arg, do_self_spec, do_spec_1,
1651         eval_spec_function, handle_braces, process_brace_body, main,
1652         perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
1653         getenv_spec_function, compare_version_strings,
1654         version_compare_spec_function): Use GCC-specific formats in
1655         diagnostics.
1656
1657 2010-06-04  Uros Bizjak  <ubizjak@gmail.com>
1658
1659         * config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
1660         that operand 0 and operand 1 are equal.
1661         (*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
1662         (*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
1663         and operand 1 are equal.
1664         <default>: Ditto.  Remove ??? comment.
1665         (*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
1666         and operand 1 are equal.
1667         <default>: Ditto.  Remove ??? comment.
1668         (*adddi_4) <default>: Remove assert that operand 0 and operand 1
1669         are equal.
1670         (*add<mode>_4) <default>: Ditto.
1671         (*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
1672
1673 2010-06-04  Nathan Froyd  <froydnj@codesourcery.com>
1674
1675         * config/i386/i386-protos.h (ix86_print_operand): Declare.
1676         * config/i386/i386.c (ix86_print_operand): Make non-static.
1677         * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
1678         * output.h (output_operand): Declare.
1679         * final.c (output_operand): Make non-static.
1680
1681 2010-06-04  Alexandre Oliva  <aoliva@redhat.com>
1682
1683         PR rtl-optimization/44013
1684         * sched-deps.c (add_dependence_list_and_free): Don't free lists
1685         when processing debug insns.
1686
1687         PR debug/41371
1688         * var-tracking.c (find_loc_in_1pdv): Mark initial value before
1689         recursing.  Check that recursion is bounded.  Rename inner var
1690         to avoid hiding incoming argument.
1691
1692 2010-06-04  Uros Bizjak  <ubizjak@gmail.com>
1693
1694         * config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
1695         operands[2] == 255.
1696         (*addqi_3): Ditto.
1697         (*addqi_4): Ditto.
1698         (*addqi_5): Ditto.
1699         (*addqi_ext_1_rex64): Ditto.
1700         (*addqi_ext_1): Ditto.
1701
1702         (*addqi_4): Check for incdec_operand in QImode.
1703
1704         (*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
1705         using SWI mode iterator.
1706         (*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
1707         (*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
1708         mode iterator.
1709         (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
1710         using SWI mode iterator.
1711
1712 2010-06-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1713
1714         PR c/25880
1715         * c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
1716         * c-format.c (gcc_diag_flag_specs): Add hash.
1717         (gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
1718         (gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
1719         * c-pretty-print.c (pp_c_cv_qualifier): Rename as
1720         pp_c_cv_qualifiers. Handle qualifiers spelling here.
1721         (pp_c_type_qualifier_list): Call the function above.
1722         * c-pretty-print.h (pp_c_cv_qualifiers): Declare.
1723         * c-typeck.c (handle_warn_cast_qual): Print qualifiers.
1724         (WARN_FOR_QUALIFIERS): New macro.
1725         (convert_for_assignment): Use it.
1726
1727 2010-06-04  Kai Tietz  <kai.tietz@onevision.com>
1728
1729         * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
1730
1731 2010-06-04  Jan Hubicka  <jh@suse.cz>
1732
1733         * df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
1734         df_byte_lr_bb_info): Embedd bitmap_head into the structure.
1735         (DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
1736         DF_BYTE_LR_OUT): Update for embedded bitmaps.
1737         * fwprop.c (single_def_use_enter_block): Likewise.
1738         * ddg.c (create_ddg_dep_from_intra_loop_link,
1739         add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
1740         * loop-iv.c (latch_dominating_def): Likewise.
1741         * df-problems.c (df_rd_free_bb_info, df_rd_alloc,
1742         df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
1743         df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
1744         df_rd_transfer_function, df_rd_top_dump,
1745         df_rd_bottom_dump): Update.
1746         (df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
1747         df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
1748         df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
1749         df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
1750         df_lr_verify_solution_start, df_lr_verify_solution_end,
1751         df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
1752         df_live_free_bb_info, df_live_alloc, df_live_reset,
1753         df_live_bb_local_compute, df_live_init, df_live_transfer_function,
1754         df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
1755         df_live_verify_solution_start, df_live_verify_solution_end,
1756         df_live_verify_transfer_functions, df_chain_create_bb,
1757         df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
1758         df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
1759         df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
1760         df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
1761         df_byte_lr_confluence_0, df_byte_lr_confluence_n,
1762         df_byte_lr_transfer_function, df_byte_lr_top_dump,
1763         df_byte_lr_bottom_dump, df_create_unused_note,
1764         df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
1765         df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
1766         df_md_transfer_function, df_md_init, df_md_confluence_0,
1767         df_md_confluence_n,
1768         df_md_top_dump, df_md_bottom_dump): Update.
1769         (struct df_lr_problem_data): Embedd bitmap headers.
1770
1771 2010-06-04  Jan Hubicka  <jh@suse.cz>
1772
1773         * dce.c (dce_process_block): Do not re-scan already marked
1774         instructions.
1775
1776 2010-06-04  Bernd Schmidt  <bernds@codesourcery.com>
1777
1778         PR rtl-optimization/39871
1779         PR rtl-optimization/40615
1780         PR rtl-optimization/42500
1781         PR rtl-optimization/42502
1782         * ira.c (init_reg_equiv_memory_loc: New function.
1783         (ira): Call it twice.
1784         * reload.h (calculate_elim_costs_all_insns): Declare.
1785         * ira-costs.c: Include "reload.h".
1786         (regno_equiv_gains): New static variable.
1787         (init_costs): Allocate it.
1788         (finish_costs): Free it.
1789         (ira_costs): Call calculate_elim_costs_all_insns.
1790         (find_costs_and_classes): Take estimated elimination costs
1791         into account.
1792         (ira_adjust_equiv_reg_cost): New function.
1793         * ira.h (ira_adjust_equiv_reg_cost): Declare it.
1794         * reload1.c (init_eliminable_invariants, free_reg_equiv,
1795         elimination_costs_in_insn, note_reg_elim_costly): New static functions.
1796         (elim_bb): New static variable.
1797         (reload): Move code out of here into init_eliminable_invariants and
1798         free_reg_equiv.  Call them.
1799         (calculate_elim_costs_all_insns): New function.
1800         (eliminate_regs_1): Declare.  Add extra arg FOR_COSTS;
1801         all callers changed.  If FOR_COSTS is true, don't call alter_reg,
1802         but call note_reg_elim_costly if we turned a valid memory address
1803         into an invalid one.
1804         * Makefile.in (ira-costs.o): Depend on reload.h.
1805
1806 2010-06-04  Julian Brown  <julian@codesourcery.com>
1807
1808         * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
1809         for pool ranges.
1810
1811 2010-06-04  Richard Guenther  <rguenther@suse.de>
1812
1813         PR lto/41584
1814         * cgraph.h (struct varpool_node): Add lto_file_data field.
1815         * lto-cgraph.c (input_varpool_node): Initialize it.
1816
1817 2010-06-04  Uros Bizjak  <ubizjak@gmail.com>
1818
1819         * config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
1820         * config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
1821         predicate in "type" attribute calculation.
1822         (*addsi_1_zext): Ditto.
1823         (*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
1824         (*addsi_2_zext): Ditto.
1825         (*add<mode>_3): Ditto.
1826         (*addsi_3_zext): Ditto.
1827         (*add<mode>_5): Ditto.
1828
1829 2010-06-03  Jan Hubicka  <jh@suse.cz>
1830
1831         * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
1832         of bitmap_bit_p.
1833         * cfganal.c (compute_dominance_frontiers_1): Likewise.
1834
1835 2010-06-03  Jan Hubicka  <jh@suse.cz>
1836
1837         * df-problems.c (df_create_unused_note, df_note_bb_compute):
1838         micro-optimize the checks when to add new note.
1839
1840 2010-06-03  Nathan Froyd  <froydnj@codesourcery.com>
1841
1842         * final.c (output_asm_insn): Call
1843         targetm.asm_out.print_operand_punct_valid_p.  Update comments.
1844         (output_operand): Call targetm.asm_out.print_operand.  Update comments.
1845         (output_address): Call targetm.asm_out.print_operand_address.
1846         Update comments.
1847         * target.h (struct gcc_target): Add print_operand,
1848         print_operand_address, and print_operand_punct_valid_p fields.
1849         * targhooks.h (default_print_operand): Declare.
1850         (default_print_operand_address): Declare.
1851         (default_print_operand_punct_valid_p): Declare.
1852         * targhooks.c (default_print_operand): Define.
1853         (default_print_operand_address): Define.
1854         (default_print_operand_punct_valid_p): Define.
1855         * target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
1856         (TARGET_PRINT_OPERAND_ADDRESS): Likewise.
1857         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
1858         (TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
1859         TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
1860         * vmsdbgout.c (addr_const_to_string): Update comment.
1861         * config/i386/i386.c (print_operand): Rename to...
1862         (ix86_print_operand): ...this.  Make static.
1863         (print_operand_address): Rename to...
1864         (ix86_print_operand_address): ...this.  Make static.  Call
1865         ix86_print_operand instead of PRINT_OPERAND.
1866         (ix86_print_operand_punct_valid_p): New function.
1867         (TARGET_PRINT_OPERAND): Define.
1868         (TARGET_PRINT_OPERAND_ADDRESS): Define.
1869         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
1870         * config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
1871         (PRINT_OPERAND_PUNCT_VALID_P): Delete.
1872         (PRINT_OPERAND): Delete.
1873         (PRINT_OPERAND_ADDRESS): Delete.
1874         * config/i386/i386-protos.h (print_operand): Delete prototype.
1875         (print_operand_address): Delete prototype.
1876
1877 2010-06-03  Richard Guenther  <rguenther@suse.de>
1878
1879         PR tree-optimization/44403
1880         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
1881         Preserve pointer qualifiers.
1882         (vect_create_data_ref_ptr): Likewise.
1883
1884 2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
1885
1886         PR c++/44294
1887         * defaults.h (MAX_FIXED_MODE_SIZE): New.
1888
1889         * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
1890
1891 2010-06-03  Jakub Jelinek  <jakub@redhat.com>
1892
1893         PR debug/44375
1894         * tree-cfg.c (gimple_can_merge_blocks_p): For -O0
1895         return false if merging the bbs would lead to goto_locus
1896         location being lost from the IL.
1897
1898 2010-06-03  Jan Hubicka  <jh@suse.cz>
1899             Jakub Jelinek  <jakub@redhat.com>
1900
1901         * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
1902         set->regs[i] is NULL or has just one entry.
1903
1904 2010-06-03  Jan Hubicka  <jh@suse.cz>
1905
1906         * lto-cgraph.c (lto_varpool_encoder_size): Remove.
1907         * lto-streamer.h (lto_varpool_encoder_size): New inline function.
1908
1909 2010-06-03  Paul Brook  <paul@codesourcery.com>
1910
1911         * config/arm/arm.c (FL_TUNE): Define.
1912         (arm_default_cpu, arm_cpu_select): Remove.
1913         (all_cores): Populate core field.
1914         (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
1915         (arm_find_cpu): New function.
1916         (arm_handle_option): Lookup cpu/architecture names.
1917         (arm_override_options): Cleanup mcpu/march/mtune handling.
1918         (arm_file_start): Ditto.
1919
1920 2010-06-03  Alan Modra  <amodra@gmail.com>
1921
1922         PR target/44169
1923         * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
1924         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
1925         rtx to gen_load_toc_v4_PIC_1b.  Tidy.
1926         (rs6000_emit_load_toc_table): Likewise.
1927
1928 2010-06-02  Jan Hubicka  <jh@suse.cz>
1929
1930         * passes.c (init_optimization_passes): Put ipa reference
1931         after ipa pure-const.
1932
1933 2010-06-02  Jan Hubicka  <jh@suse.cz>
1934
1935         * ipa-reference.c (ipa_reference_local_vars_info_d): Remove
1936         calls_read_all and calls_write_all.
1937         (get_reference_optimization_summary): Fix formatting.
1938         (is_proper_for_analysis): Check that decl is not readonly.
1939         (propagate_bits): Check CONST/PURE/noreturn flags.
1940         (ipa_init): Move all_module_statics to optimization_summary_obstack.
1941         (analyze_function): Ignore indirect edges.
1942         (copy_global_bitmap): For all module statics, do nothing.
1943         (generate_summary): Do not print calls_read_all/calls_write_all.
1944         (read_write_all_from_decl): Take node as argument; check
1945         cgraph_node_cannot_return.
1946         (propagate): Reorganize read_all/write_all computation;
1947         check indirect edges; check ecf flags; use all_module_statics
1948         in the results; do not free all_module_statics.
1949         (stream_out_bitmap): Handle all_module_statics.
1950         (ipa_reference_write_optimization_summary): Likewise; use
1951         varpool/cgraph encoders to get boundaries.
1952         (ipa_reference_read_optimization_summary): Read in all_module_statics;
1953         use it when possible.
1954
1955 2010-06-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
1956
1957         PR target/44218
1958         * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
1959         -mswdiv option.  Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
1960
1961         * doc/extend.texi (powerpc builtins): Document vec_recip,
1962         vec_rsqrt, vec_rsqrte altivec/vsx builtins.
1963
1964         * config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
1965         (rs6000_emit_swrsqrt): Ditto.
1966         (rs6000_emit_swdivsf): Delete.
1967         (rs6000_emit_swdivdf): Ditto.
1968         (rs6000_emit_swrsqrtsf): Ditto.
1969
1970         * config/rs6000/rs6000.c (rs6000_recip_bits): New global to
1971         describe the reciprocal estimate support for each type.
1972         (recip_options): Map -mrecip=<opt> into option bits.
1973         (gen_2arg_fn_t): New typedef for binary rtx gen function.
1974         (rs6000_debug_reg_global): If -mdebug=reg, print the state of the
1975         reciprocal estimate instructions.
1976         (rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
1977         debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
1978         Set up rs6000_recip_bits based on the -mrecip* options.  Print the
1979         cost information if -mdebug=cost or -mdebug=reg.
1980         (rs6000_override_options): Set -mrecip-precision for power6, and
1981         power7 machines.  If -mvsx or -mdfp, enable various options that
1982         came in previous instruction set ISAs, unless the option was
1983         explicitly disabled by the command line option.  Parse
1984         -mrecip=<opt> options.
1985         (rs6000_builtin_vectorized_function): Add support for vectorizing
1986         the reciprocal estimate builtins and expansions.
1987         (rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
1988         (bdesc_2arg): Add reciprocal estimate builtins.
1989         (bdesc_1arg): Add reciprocal square root estimate builtins.
1990         (rs6000_expand_builtin): Rewrite to use a switch statement,
1991         instead of multiple if/then/elses.  Add reciprocal estimate builtins.
1992         (rs6000_init_builtins): Create declarations for reciprocal
1993         estimate builtins.
1994         (rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
1995         sized, prefer traditional floating point registers, if integer
1996         vector types, prefer altivec registers.  Don't actually look at
1997         the memory address any more.
1998         (rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
1999         builtins.
2000         (rs6000_load_constant_and_splat): New helper function to load up
2001         the constant for reciprocal estimate instructions.
2002         (rs6000_emit_madd): New helper function for generating
2003         multiply/add type instructions, based on the current switches.
2004         (rs6000_emit_msub): Ditto.
2005         (rs6000_emit_mnsub): Ditto.
2006         (rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
2007         replace a divide with a reciprocal estimate and fixup, adding
2008         support for machines with high precision and vectors.
2009         (rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
2010         low precision machines.
2011         (rs6000_emit_swdiv): New common function to be called to replace a
2012         division with reciprocal estimate and fixup.
2013         (rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf.  Add support
2014         for double and vector types.  Add support for high precision machines.
2015
2016         * config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
2017         the reciprocal estimate instructions can be generated.
2018         (TARGET_FRE): Ditto.
2019         (TARGET_FRSQRTES): Ditto.
2020         (TARGET_FRSQRTE): Ditto.
2021         (RS6000_RECIP_*): New macros for reciprocal estimate support.
2022
2023         * config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
2024         square root estimate on vectors.
2025         (re<mode>2): New insn for reciprocal division estimate on vectors.
2026
2027         * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
2028         New builtin.
2029         (ALTIVEC_BUILTIN_VRECIPFP): Ditto.
2030         (ALTIVEC_BUITLIN_VEC_RE): Ditto.
2031         (ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
2032         (VSX_BUILTIN_RSQRT_V4SF): Ditto.
2033         (VSX_BUITLIN_RSQRT_V2DF): Ditto.
2034         (RS6000_BUILTIN_RSQRT): Ditto.
2035         (ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
2036         floating point builtin.
2037
2038         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
2039         macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
2040         __RECIP_PRECISION__ based on the command line switches.
2041         (altivec_overloaded_builtins): Add reciprocal estimate builtins.
2042
2043         * config/rs6000/rs6000.opt (-mrecip): Document add support for
2044         replacing division instructions with reciprocal estimate and fixup.
2045         (-mrecip=<opt>): New option.
2046         (-mrecip-precision): Ditto.
2047
2048         * config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
2049         (vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
2050         (vsx_copysignsf3): If -mvsx, use double precision cpsign on single
2051         precision scalar.
2052
2053         * config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
2054         (UNSPEC_VREFP): Ditto.
2055         (altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
2056         conterparts with regard to support of -mno-fused-madd and -ffast-math.
2057         (altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
2058         reciprocal estimate instructions to be generated.
2059         (altivec_vrefp): Ditto.
2060
2061         * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
2062         estimate support.
2063         (rreg): New mode attribute for reciprocal estimate support.
2064         (recip<mode>3): New insn for division using reciprocal estimate
2065         and fixup builtins.
2066         (divide define_split): New define_split to convert floating point
2067         division to use reciprocal estimate if the user used the
2068         appropriate options and the split is run when we can add new
2069         pseudo registers for the fixup.
2070         (rsqrt<mode>2): New insn for reciprocal square root support.
2071         (recipsf3): Move into recip<mode>3.
2072         (recipdf3): Ditto.
2073         (fres): Use TARGET_FRES.
2074         (rsqrtsf2): Move into rsqrt<mode>2.
2075         (rsqrtsf_internal1): Use TARGET_FRSQRTSES.
2076         (copysignsf3): Add support for VSX.
2077         (fred): Use TARGET_FRE.
2078         (fred_fpr): Ditto.
2079         (rsqrtdf_internal1): New function for frsqrte instruciton.
2080
2081         * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
2082         (vec_rsqrt): Ditto.
2083
2084 2010-06-03  Richard Guenther  <rguenther@suse.de>
2085
2086         PR middle-end/44291
2087         * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
2088         (set_user_assembler_libfunc): Likewise.
2089
2090 2010-06-02  Steven Bosscher  <steven@gcc.gnu.org>
2091
2092         * mkconfig.sh: Include insn-flags.h and insn-constants.h before
2093         defaults.h.
2094         * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
2095         to defaults.h
2096         * expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
2097         DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
2098         FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
2099         STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
2100         STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
2101         STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
2102         STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
2103         STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
2104         * defaults.h: Updated for above mentioned changes.
2105
2106 2010-06-02  Kai Tietz  <kai.tietz@onevision.com>
2107
2108         * c-common.c: Remove header include of tm_p.h.
2109         * Makefile.in (c-common.o): Remove TM_P_H dependency.
2110
2111 2010-06-02  Jakub Jelinek  <jakub@redhat.com>
2112
2113         * tree.h (struct tree_decl_map): New type.
2114         (tree_decl_map_eq, tree_decl_map_marked_p): Define.
2115         (tree_decl_map_hash): New prototype.
2116         (debug_expr_for_decl, value_expr_for_decl): Change into
2117         tree_decl_map hashtab from tree_map.
2118         (init_ttree): Adjust initialization.
2119         (tree_decl_map_hash): New function.
2120         (decl_debug_expr_lookup, decl_debug_expr_insert,
2121         decl_value_expr_lookup, decl_value_expr_insert): Adjust.
2122
2123 2010-06-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2124
2125         * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
2126         linker emulations.
2127         * configure: Regenerate.
2128         * config.in: Regenerate.
2129
2130         * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
2131         (X86_64_EMULATION): Define.
2132         (TARGET_LD_EMULATION): Use them.
2133
2134         * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
2135         (SPARC64_EMULATION): Define.
2136         (LINK_ARCH_SPEC): Use them.
2137
2138 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
2139
2140         * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
2141         smallest_mode_for_size for computing the precision types of new
2142         graphite IVs.  Do not call lang_hooks.types.type_for_size.
2143
2144 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
2145
2146         * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
2147         information.
2148         (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
2149
2150 2010-06-02  Sebastian Pop  <sebastian.pop@amd.com>
2151
2152         PR middle-end/44363
2153         * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
2154         return false instead.
2155
2156 2010-06-02  Jan Hubicka  <jh@suse.cz>
2157
2158         PR middle-end/44295
2159         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
2160         create new cgraph node to check callee.
2161
2162 2010-06-02  Richard Guenther  <rguenther@suse.de>
2163
2164         * lto-streamer-in.c (input_gimple_stmt): Fix typo.
2165
2166 2010-06-02  Richard Guenther  <rguenther@suse.de>
2167
2168         * lto-wrapper.c (lto_wrapper_exit): Rename to ...
2169         (lto_wrapper_cleanup): ... this.  Do not exit.
2170         (fatal): Adjust.  Exit here.
2171         (fatal_perror): Likewise.
2172         (fatal_signal): New function.
2173         (main): Set up signal handlers to cleanup temporary files.
2174         * Makefile.in (lto-wrapper.o): Adjust dependencies.
2175
2176 2010-06-02  Richard Guenther  <rguenther@suse.de>
2177
2178         PR tree-optimization/44377
2179         * tree-ssa-structalias.c (find_func_aliases): Fix typo.
2180
2181 2010-06-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2182
2183         * config/s390/2097.md (z10_fhex): Remove insn reservation.
2184         * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
2185         (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
2186         *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
2187         instruction.
2188         * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
2189
2190 2010-06-02  Jan Hubicka  <jh@suse.cz>
2191
2192         * bitmap.c (bitmap_descriptor): Add search_iter.
2193         (bitmap_find_bit): Increment it.
2194         (print_statistics): Print it.
2195
2196 2010-06-02  Nathan Froyd  <froydnj@codesourcery.com>
2197
2198         * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
2199         instead of gimple_build_call_vec.  Delete unnecessary local variable.
2200
2201 2010-06-02  Steven Bosscher  <steven@gcc.gnu.org>
2202
2203         * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
2204         change from yesterday.
2205
2206 2010-06-02  Steven Bosscher  <steven@gcc.gnu.org>
2207
2208         * c-ada-spec.c: Clean up redundant includes.
2209
2210 2010-06-01  Steven Bosscher  <steven@gcc.gnu.org>
2211
2212         * gimplify.c: Do not include except.h and optabs.h.
2213         (gimplify_body): Do not initialize RTL profiling.
2214         * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
2215         langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
2216         * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
2217         output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
2218         langhooks.h.
2219
2220         * tree-pretty-print.h: Include pretty-print.h.
2221         * gimple-pretty-print.h: Include pretty-print.h.
2222
2223         * tree-pretty-print.c: Do not include diagnostic.h.
2224         * tree-vrp.c: Likewise.
2225         * tree-tailcall.c: Likewise
2226         * tree-scalar-evolution.c: Likewise
2227         * tree-ssa-dse.c: Likewise
2228         * tree-chrec.c: Likewise
2229         * tree-ssa-sccvn.c: Likewise
2230         * tree-ssa-copyrename.c: Likewise
2231         * tree-nomudflap.c: Likewise
2232         * tree-call-cdce.c: Likewise
2233         * tree-stdarg.c: Likewise
2234         * tree-ssa-math-opts.c: Likewise
2235         * tree-nrv.c: Likewise
2236         * tree-ssa-sink.c: Likewise
2237         * tree-browser.c: Likewise
2238         * tree-ssa-loop-ivcanon.c: Likewise
2239         * tree-ssa-loop.c: Likewise
2240         * tree-parloops.c: Likewise
2241         * tree-ssa-address.c: Likewise
2242         * tree-ssa-ifcombine.c: Likewise
2243         * tree-if-conv.c: Likewise
2244         * tree-data-ref.c: Likewise
2245         * tree-affine.c: Likewise
2246         * tree-ssa-phiopt.c: Likewise
2247         * tree-ssa-coalesce.c: Likewise
2248         * tree-ssa-pre.c: Likewise
2249         * tree-ssa-live.c: Likewise
2250         * tree-predcom.c: Likewise
2251         * tree-ssa-forwprop.c: Likewise
2252         * tree-ssa-dce.c: Likewise
2253         * tree-ssa-ter.c: Likewise
2254         * tree-ssa-loop-prefetch.c: Likewise
2255         * tree-optimize.c: Likewise
2256         * tree-ssa-phiprop.c: Likewise
2257         * tree-object-size.c: Likewise
2258         * tree-outof-ssa.c: Likewise
2259         * tree-ssa-structalias.c: Likewise
2260         * tree-switch-conversion.c: Likewise
2261         * tree-ssa-reassoc.c: Likewise
2262         * tree-ssa-operands.c: Likewise
2263         * tree-vectorizer.c: Likewise
2264         * tree-vect-data-refs.c: Likewise
2265         * tree-vect-generic.c: Likewise
2266         * tree-vect-stmts.c: Likewise
2267         * tree-vect-patterns.c: Likewise
2268         * tree-vect-slp.c: Likewise
2269         * tree-vect-loop.c: Likewise
2270         * tree-ssa-loop-ivopts.c: Likewise
2271         * tree-ssa-loop-im.c: Likewise
2272         * tree-ssa-loop-niter.c: Likewise
2273         * tree-ssa-loop-unswitch.c: Likewise
2274         * tree-ssa-loop-manip.c: Likewise
2275         * tree-ssa-loop-ch.c: Likewise
2276         * tree-dump.c: Likewise
2277         * tree-complex.c: Likewise
2278
2279         * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
2280         * tree-ssa-uninit.c: Likewise
2281         * tree-ssa-threadupdate.c: Likewise
2282         * tree-ssa-uncprop.c: Likewise
2283         * tree-ssa-ccp.c: Likewise
2284         * tree-ssa-dom.c: Likewise
2285         * tree-ssa-propagate.c: Likewise
2286         * tree-ssa-alias.c: Likewise
2287         * tree-dfa.c: Likewise
2288         * tree-cfgcleanup.c: Likewise
2289         * tree-sra.c: Likewise
2290         * tree-ssa-copy.c: Likewise
2291         * tree-ssa.c: Likewise
2292         * tree-profile.c: Likewise
2293         * tree-cfg.c: Likewise
2294         * tree-ssa-threadedge.c: Likewise
2295         * tree-vect-loop-manip.c: Likewise
2296
2297         * tree-inline.c: Do not include diagnostic.h and expr.h.
2298         Include rtl.h.
2299         (copy_decl_for_dup_finish): Do not use NULL_RTX.
2300
2301         * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
2302         * tree-loop-distribution.c: Likewise.
2303
2304 2010-06-01  Jan Hubicka  <jh@suse.cz>
2305
2306         * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
2307
2308 2010-06-01  Jan Hubicka  <jh@suse.cz>
2309
2310         * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
2311         remove return value.
2312         (split_bbs_on_noreturn_calls) .... here.
2313         * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
2314         * tree-flow.h (fixup_noreturn_call): New.
2315
2316 2010-06-01  Jan Hubicka  <jh@suse.cz>
2317
2318         * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
2319
2320 2010-06-01  Nathan Froyd  <froydnj@codesourcery.com>
2321
2322         * tree.h (build_nt_call_list): Delete.
2323         * tree.c (build_nt_call_list): Delete.
2324
2325 2010-06-01  Jan Hubicka  <jh@suse.cz>
2326
2327         * fwprop.c: Make emit-rtl.h include last.
2328         * rtlanal.c: Include emit-rtl.h.
2329         * genautomata.c: Output emit-rtl include into insn-automata.c
2330         * df-scan.c: Include emit-rtl.h.
2331         * haifa-sched.c: Indlude emit-rtl.h.
2332         * mode-switching.c: Indlude emit-rtl.h.
2333         * graph.c: Indlude emit-rtl.h.
2334         * sel-sched.c: Include emit-rtl.h.
2335         * sel-sched-ir.c: Include emit-rtl.h.
2336         * ira-build.c: Include emit-rtl.h.
2337         * emit-rtl.c: (first_insn, last_insn): Remove defines.
2338         (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
2339         Move to emit-rtl.h.
2340         (set_new_first_and_last_insn, get_last_insn_anywhere,
2341         get_first_nonnote_insn, get_last_nonnote_insn, try_split,
2342         make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
2343         delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
2344         emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
2345         push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
2346         Use accessor functions.
2347         * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
2348          gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
2349         set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
2350         mem_expr_equal_p): Move here from rtl.h.
2351         (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
2352         Move here from emit-rtl.c; make inline.
2353         * cfglayout.h: Include emit-rtl.h.
2354         * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
2355          gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
2356         set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
2357         mem_expr_equal_p, get_insns, set_first-insn,
2358         get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
2359         * reg-stack.c: Include emit-rtl.h.
2360         * dce.c: Likewise.
2361
2362 2010-06-01  Jan Hubicka  <jh@suse.cz>
2363
2364         * cgraph.h (tree_function_versioning): Update prototype.
2365         (cgraph_function_versioning): Update prototype.
2366         * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
2367         bitmap.
2368         (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
2369         (cgraph_materialize_clone, save_inline_function_body): Update use of
2370         tree_function_versioning.
2371         * tree-inline.c (copy_bb): Look for previous copied block to link
2372         after; fix debug output.
2373         (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
2374         (copy_body): Likewise.
2375         (expand_call_inline): Update use of copy_body.
2376         (tree_function_versioning): Update use of copy body; accept
2377         blocks_to_copy and new_entry.
2378
2379 2010-06-01  Jan Hubicka  <jh@suse.cz>
2380
2381         * gegenrtl.c: Remove unnecesary prototypes.
2382         (gendecl): Remove.
2383         (gendef): Produce static inline.
2384         (gencode): Remove.
2385         (main): Do not decode parameters; generate header only.
2386         * Makefile.in (genrtl.c): Remove.
2387
2388 2010-06-01  Jan Hubicka  <jh@suse.cz>
2389
2390         * tree-switch-conversion.c (build_one_array): Make it readonly.
2391
2392 2010-06-01  Richard Guenther  <rguenther@suse.de>
2393
2394         * optabs.c (init_optabs): Guard all accesses to reinit.
2395         * ipa-pure-const.c (propagate): Fix another typo.
2396         * opts.c (common_handle_option): Split assignment to bool.
2397         * c-opts.c (c_common_handle_option): Likewise.
2398
2399 2010-06-01  Arnaud Charlet  <charlet@adacore.com>
2400             Matthew Gingell  <gingell@adacore.com>
2401
2402         * doc/invoke.texi: Mention -fdump-ada-spec.
2403         * tree-dump.c (dump_files): Add ada-spec.
2404         (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
2405         * tree-pass.h (tree_dump_index): Add TDI_ada.
2406         * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
2407         (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
2408         (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
2409         * c-decl.c: Include c-ada-spec.h.
2410         (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
2411         functions.
2412         (c_write_global_declarations): Add handling of -fdump-ada-spec.
2413         * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
2414         * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
2415         * c-ada-spec.h, c-ada-spec.c: New files.
2416
2417 2010-06-01  Richard Guenther  <rguenther@suse.de>
2418
2419         PR lto/43853
2420         * ipa-pure-const.c (get_function_state): Hand back varying state
2421         if we do not have one.
2422         (has_function_state): New function.
2423         (duplicate_node_data): Adjust.
2424         (remove_node_data): Likewise.
2425         (pure_const_write_summary): Likewise.
2426         (propagate): Likewise.  Fix typo.
2427
2428 2010-06-01  Jan Hubicka  <jh@suse.cz>
2429
2430         * tree-cfg.c (verify_stmt): Do not skip could_throw test.
2431         * passes.c (execute_function_todo): Do not make implicit verify_ssa.
2432         (execute_all_ipa_transforms): Do not play with the states.
2433
2434 2010-06-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
2435
2436         * config/arm/t-linux-androideabi: New.
2437         * config.gcc (arm*-*-linux-androideabi): Include multilib config.
2438
2439 2010-06-01  Jan Hubicka  <jh@suse.cz>
2440
2441         * tree-inline.c (estimate_num_insns): For stdarg functions look
2442         into call statement to count cost of argument passing.
2443
2444 2010-06-01  Kai Tietz  <kai.tietz@onevision.com>
2445
2446         * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
2447         argument for fprintf.
2448         (ix86_output_addr_diff_elt): Likewise.
2449         (x86_function_profiler): Likewise.
2450         * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
2451         (LPREFIX): Likewise.
2452         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2453
2454 2010-05-31  Jakub Jelinek  <jakub@redhat.com>
2455
2456         PR target/44338
2457         * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
2458         fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
2459         fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
2460         fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
2461         fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
2462         fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
2463         fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
2464         Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
2465         TARGET_FUSED_MADD.
2466
2467 2010-05-31  Jan Hubicka  <jh@suse.cz>
2468
2469         * tree.h (tree_range_check_failed): Declare noreturn.
2470
2471 2010-05-31  Jan Hubicka  <jh@suse.cz>
2472
2473         * gimple.c (gimple_call_builtin_p): New function.
2474         * gimple.h (gimple_call_builtin_p): Declare.
2475         * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
2476         to exit.
2477         (execute_warn_function_return): BUILT_IN_RETURN is return.
2478         (split_critical_edges): Return edges are not critical.
2479         (is_ctrl_altering_stmt): Builtin_in_return is altering.
2480         (gimple_verify_flow_info): Handle built_in_return.
2481         (execute_warn_function_return): Handle built_in_return.
2482         * ipa-pure-const.c (check_call): Ignore builtin_return.
2483
2484 2010-05-31  Jakub Jelinek  <jakub@redhat.com>
2485
2486         PR middle-end/44337
2487         * expr.c (expand_assignment): Don't store anything for out-of-bounds
2488         array accesses with non-MEM.
2489
2490         PR tree-optimization/44182
2491         * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
2492         newly needs to end a bb is followed by debug stmts, instead return
2493         true from the function at the end.
2494         (maybe_move_debug_stmts_to_successors): New function.
2495         (copy_cfg_body): Call it if copy_edges_for_bb returned true.
2496
2497 2010-05-31  Kai Tietz  <kai.tietz@onevision.com>
2498
2499         PR target/44161
2500         * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
2501
2502 2010-05-31  Eric Botcazou  <ebotcazou@adacore.com>
2503
2504         * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
2505         for nested functions in non-optimized compilation.
2506
2507 2010-05-31  Richard Guenther  <rguenther@suse.de>
2508
2509         * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
2510
2511 2010-05-30  Jan Hubicka  <jh@suse.cz>
2512
2513         * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
2514
2515 2010-05-30  Richard Guenther  <rguenther@suse.de>
2516
2517         PR lto/42975
2518         * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
2519         (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
2520         no longer needed.
2521
2522 2010-05-30  Iain Sandoe  <iains@gcc.gnu.org>
2523
2524         * config/darwin.c (output_objc_section_asm_op): Add comment.
2525         (name_needs_quotes): Add '_' to list of valid comment chars.
2526         (machopic_output_function_base_name): Remove unneeded quotes.
2527         (darwin_encode_section_info): Adjust asm whitespace.
2528         * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
2529         (ASM_OUTPUT_LOCAL): Ditto.
2530         * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
2531         * config/darwin.h (GLOBAL_ASM_OP): Ditto.
2532         * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
2533
2534 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
2535
2536         * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
2537         RS6000_OUTPUT_BASENAME unconditionally.
2538         (rs6000_output_function_epilogue): Likewise.
2539
2540 2010-05-30  Jan Hubicka  <jh@suse.cz>
2541
2542         * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
2543         nodes.
2544
2545 2010-05-30  Richard Guenther  <rguenther@suse.de>
2546
2547         * tree-cfg.c (verify_gimple_assign_single): Implement
2548         verification for COND_EXPR rhs.
2549
2550 2010-05-30  Jan Hubicka  <jh@suse.cz>
2551
2552         * cgraph.h (cgraph_dump_file): Declare.
2553         * cgraphunit.c (cgraph_dump_file): Export.
2554         * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
2555
2556 2010-05-30  Jan Hubicka  <jh@suse.cz>
2557
2558         * dwarf2out.c (reference_to_unused,
2559         premark_types_used_by_global_vars_helper): Avoid creation of new
2560         varpool nodes.
2561
2562 2010-05-30  Jan Hubicka  <jh@suse.cz>
2563
2564         * cgraph.h (cgraph_node_cannot_return,
2565         cgraph_edge_cannot_lead_to_return): New functions.
2566         * cgraph.c (cgraph_node_cannot_return,
2567         cgraph_edge_cannot_lead_to_return): Use them.
2568         * ipa-pure-const.c (pure_const_names): New static var.
2569         (check_call): Handle calls not leading to return.
2570         (pure_const_read_summary): Dump info read.
2571         (propagate): Dump info about propagation process; ignore side effects
2572         of functions not leading to exit; fix handling of pure functions.
2573
2574 2010-05-30  Jan Hubicka  <jh@suse.cz>
2575
2576         * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
2577         for tail call epilogues.
2578
2579 2010-05-30  Jan Hubicka  <jh@suse.cz>
2580
2581         * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
2582         ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
2583         dump files.
2584
2585 2010-05-29  Jan Hubicka  <jh@suse.cz>
2586
2587         * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
2588         node; remove references in node we no longer keep in cgrpah but need
2589         body of.
2590
2591 2010-05-29  Jan Hubicka  <jh@suse.cz>
2592
2593         * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
2594
2595 2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2596
2597         PR target/44165
2598         * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
2599
2600 2010-05-29  Jan Hubicka  <jh@suse.cz>
2601
2602         * tree-vrp.c (debug_value_range, debug_all_value_ranges,
2603         debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
2604         * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
2605         debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
2606         debug_names_replaced_by, debug_update_ssa): Likewise.
2607         * sbitmap.c (debug_sbitmap): Likewise.
2608         * genrecog.c (debug_decision, debug_decision_list): Likewise.
2609         * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
2610         debug_tree_chain): Likewise.
2611         * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
2612         * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
2613         * optabs.c  (debug_optab_libfuncs): Likewise.
2614         (verify_loop_closed_ssa): Likewise.
2615         * value-prof.c (verify_histograms): Likewise.
2616         * reload.c (debug_reload_to_stream, debug_reload): Likewise.
2617         * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
2618         * cfghooks.c (verify_flow_info): Likewise.
2619         * fold-const.c (debug_fold_checksum): Likewise.
2620         * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
2621         * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
2622         Likewise.
2623         * omega.c (debug_omega_problem): Likewise.
2624         * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
2625         * tree-ssa-ccp.c (debug_lattice_value): Likewise.
2626         * dominance.c (verify_dominators, debug_dominance_info,
2627         debug_dominance_tree): Likewise.
2628         * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
2629         * df_regno_debug, df_ref_debug,
2630         debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
2631         debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
2632         * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
2633         * sel-sched.c (debug_state): Likewise.
2634         * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
2635         Likewise.
2636         * cfganal.c (print_edge_list, verify_edge_list): Likewise.
2637         * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
2638         * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
2639         * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
2640         Likewise.
2641         * c-pretty-print.c (debug_c_tree): Likewise.
2642         * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
2643         debug_av_set, debug_lv_set, debug_ilist, debug_blist,
2644         debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
2645         * ebitmap.c (debug_ebitmap): Likewise.
2646         * function.c (debug_find_var_in_block_tree): Likewise.
2647         * print-rtl.c (debug_rtx): Likewise.
2648         (debug_rtx_count): Likewise.
2649         (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
2650         * stor-layout.c (debug_rli): Likewise.
2651         * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
2652         * tree-data-ref.c (debug_data_references,
2653         debug_data_dependence_relations, debug_data_reference,
2654         debug_data_dependence_relation, debug_rdg_vertex,
2655         debug_rdg_component, debug_rdg): Likewise.
2656         * tree-affine.c (debug_aff): Likewise.
2657         * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
2658         Likewise.
2659         * except.c (debug_eh_tree, verify_eh_tree): Likewise.
2660         * emit-rtl.c (verify_rtl_sharing): Likewise.
2661         * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
2662         debug_value_expressions): Likewise.
2663         * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
2664         * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
2665         * print-tree.c (debug_tree, debug_vec_tree): Likewise.
2666         * cfglayout.c (verify_insn_chain): Likewise.
2667         * graphite-clast-to-gimple.c (debug_clast_name_indexes,
2668         debug_clast_stmt, debug_generated_program): Likewise.
2669         * ggc-page.c (debug_print_page_list): Likewise.
2670         * tree-ssa-ter.c (debug_ter): Likewise.
2671         * graphite-dependences.c (debug_pddr): Likewise.
2672         * sched-deps.c (debug_ds): Likewise.
2673         * tree-ssa.c (verify_ssa): Likewise.
2674         * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
2675         debug_scattering_functions, debug_iteration_domains, debug_pdr,
2676         debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
2677         debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
2678         * tree-inline.c (debug_find_tree): Likewise.
2679         * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
2680         debug_ppl_powerset_matrix): Likewise.
2681         * var-tracking.c (debug_dv): Likewise.
2682         * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
2683         * cfgloop.c (verify_loop_structure): Likewise.
2684         * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
2685         * c-common.c (verify_sequence_points): Likewise.
2686         * sched-rgn.c (debug_regions, debug_region, debug_candidate,
2687         debug_candidates, debug_rgn_dependencies): Likewise.
2688         * tree-ssa-structalias.c (debug_constraint, debug_constraints,
2689         * debug_constraint_graph, debug_solution_for_var,
2690         debug_sa_points_to_info): Likewise.
2691         * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
2692         Likewie.
2693         * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
2694         debug_loops, debug_loop, debug_loop_num): Likewise.
2695         * passes.c (debug_pass): Likewise.
2696         (dump_properties): Likewise; add cfglayout property.
2697         (debug_properties): Likewise.
2698         * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
2699         * varpool.c (debug_varpool): Likewise.
2700         * regcprop.c (debug_value_data): Likewise.
2701         * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
2702         debug_immediate_uses_for): Likewise.
2703
2704 2010-05-29  H.J. Lu  <hongjiu.lu@intel.com>
2705
2706         PR bootstrap/44315
2707         * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
2708         Filter out insn-flags.h.
2709
2710 2010-05-29  Jan Hubicka  <jh@suse.cz>
2711
2712         * cgraph.h (struct varpool_node_set_def,
2713         struct cgraph_node_set_def): Remove unused AUX pointer.
2714         (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
2715         VEC_empty macro.
2716
2717 2010-05-29  Jan Hubicka  <jh@suse.cz>
2718
2719         PR middle-end/44324
2720         * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
2721
2722 2010-05-29  Richard Guenther  <rguenther@suse.de>
2723
2724         * lto-streamer.c (cached_bp): New global variable.
2725         (bitpack_create): Return the cached bitpack, if available.
2726         (bitpack_delete): Clear and cache the bitpack, if appropriate.
2727         (bp_pack_value): Remove redundant asserts.
2728
2729 2010-05-29  Sebastian Pop  <sebastian.pop@amd.com>
2730
2731         PR middle-end/44306
2732         * tree-if-conv.c (is_true_predicate): New.
2733         (is_predicated): Use is_true_predicate.
2734         (add_to_predicate_list): Same.  Do not use unshare_expr.
2735         (add_to_dst_predicate_list): Same.
2736
2737 2010-05-29  Sebastian Pop  <sebastian.pop@amd.com>
2738
2739         * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
2740         field on edges.
2741         (predicate_bbs): Same.
2742         (clean_predicate_lists): Same.
2743         (find_phi_replacement_condition): Do not AND the predicate from
2744         edge->aux.
2745
2746 2010-05-29  H.J. Lu  <hongjiu.lu@intel.com>
2747
2748         PR bootstrap/44315
2749         * Makefile.in (build/gencondmd.o): Add a missing `\'.
2750
2751 2010-05-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2752
2753         PR target/44261
2754         config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
2755         (negdf2): Adjust expander pattern and use negdf2_slow.
2756         (negsf2): Likewise.
2757
2758 2010-05-29  Nathan Froyd  <froydnj@codesourcery.com>
2759
2760         * basic-block.h (struct control_flow_graph): Move last_label_uid field
2761         up.
2762         * df.h (struct df_base_ref): Move regno field up.
2763         * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
2764         * expr.h (struct separate_ops): Move location field up.
2765         * optabs.h (struct optab_d): Move libcall_basename field down.
2766         * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
2767         * config/i386/i386.h (struct machine_function): Convert call_abi field
2768         into a bitfield.  Move cfa field to the end of the structure.
2769
2770 2010-05-29  Jan Hubicka  <jh@suse.cz>
2771
2772         * varpool.c (varpool_get_node): Fix lookup.
2773
2774 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2775
2776         * config/spu/spu-protos.h: Do not include rtl.h.  Protect
2777         RTL specific prototypes with #ifdef RTX_CODE.
2778         * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
2779         * config/spu/t-spu-elf: Fix dependencies.
2780
2781         * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
2782
2783 2010-05-29  Mike Stump  <mikestump@comcast.net>
2784
2785         PR bootstrap/44315
2786         * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
2787         TM_H when building to avoid dependency loops.
2788
2789 2010-05-29  Jan Hubicka  <jh@suse.cz>
2790
2791         * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
2792         refs and body; not the whole node for masters of materialized
2793         clones.
2794
2795 2010-05-29  Mike Stump  <mikestump@comcast.net>
2796
2797         * config/rs6000/rs6000-c.c: Remove c-tree.h include.
2798
2799 2010-05-29  Jan Hubicka  <jh@suse.cz>
2800
2801         * cgraph.c (clone_function_name): Take SUFFIX argument; export.
2802         (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
2803         use of clone_function_name.
2804         * cgraph.h (cgraph_create_virtual_clone,
2805         cgraph_function_versioning): update prototypes.
2806         (clone_function_name): Declare.
2807         * ipa-cp.c (ipcp_insert_stage): Update call of
2808         cgraph_create_virtual_clone.
2809         * omp-low.c (create_omp_child_function_name): Use
2810         cgraph_create_virtual_clone.
2811         * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
2812         (cgraph_function_versioning): Take SUFFIX argument; produce new name
2813         and make decl local.
2814
2815 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2816
2817         * vec.h: Include statistics.h
2818         * Makefile.in: Introduce VEC_H.  Replace all vec.h dependencies
2819         with VEC_H.
2820
2821 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2822
2823         * c-lex.c: Do not include c-tree.h.
2824         * c-pretty-print.c: Likewise.
2825         * c-opts.c: Likewise.
2826         * c-gimplify.c: Likewise.
2827         * c-common.c: Likewise.
2828         * c-dump.c: Likewise.  Include c-common.h.
2829
2830 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2831
2832         * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
2833         before including diagnostic-core.h.
2834         (c_cpp_error): New prototype moved from c-tree.h.
2835         Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
2836         * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
2837         (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
2838         (c_cpp_error): Prototype moved to c-common.h.
2839         * Makefile.in: Update dependency for C_COMMON_H.
2840
2841 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
2842
2843         * c-common.h: Add FIXME for awkward split of c_register_addr_space.
2844         * c-common.c (c_register_addr_space): Remove here.
2845         * c-decl.c (c_register_addr_space): Re-add here.
2846
2847 2010-05-28  Mike Stump  <mikestump@comcast.net>
2848
2849         * config/darwin-c.c: Remove c-tree.h include.
2850
2851 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
2852
2853         * gcc.c: Include diagnostic.h.
2854         (error_count): Remove.  All users changed to use errorcount.
2855         (programname): Remove.  All users changed to use progname.
2856         (fancy_abort, internal_error, fatal_error, error, warning, inform,
2857         fnotice): Remove.
2858         (execute): Don't include "Internal error" and bug reporting
2859         information in argument of internal_error call.
2860         (process_command): Don't increment error_count after calling
2861         perror_with_name.
2862         (input_filename): Rename to gcc_input_filename.  All users
2863         changed.
2864         (main): Call diagnostic_initialize.  Register delete_temp_files
2865         with atexit.  Use seen_error to test for errors.
2866         * gcc.h: Include diagnostic-core.h.
2867         (fatal_error, error, warning): Remove.
2868         * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
2869         (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
2870         (gcc.o): Update dependencies.
2871
2872 2010-05-28  Jeff Law  <law@redhat.com>
2873
2874         * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
2875         functions.
2876         * ira.h (ira_bad_reload_regno): Declare
2877         * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
2878
2879         * ira-color.c (update_curr_costs): Free updated hard reg costs.
2880         (ira_reassign_conflict_allocnos): Remove bogus asserts.
2881         (allocno_reload_assign): Likewise.
2882
2883 2010-05-28  Nathan Froyd  <froydnj@codesourcery.com>
2884
2885         * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
2886         build1_stat.
2887
2888 2010-05-28  Richard Guenther  <rguenther@suse.de>
2889
2890         PR lto/44312
2891         * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
2892         Stream fixed-point constants mode.
2893         (unpack_ts_type_value_fields): Fix width of TYPE_MODE
2894         and TYPE_PRECISION.
2895         * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
2896         Stream fixed-point constants mode.
2897         (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
2898         and TYPE_PRECISION.
2899
2900 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
2901
2902         * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
2903         only place it was called from.
2904         (number_of_latch_executions): Do not return chrec_dont_know when the
2905         may_be_zero is a runtime condition: instead, return a COND_EXPR
2906         including the may_be_zero condition.
2907         * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
2908         of nb_iterations.
2909         * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
2910         COND_EXPRs.
2911
2912 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
2913
2914         * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
2915         generate COND_EXPRs for degenerate_phi_result.
2916
2917 2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
2918
2919         PR middle-end/44293
2920         * tree-if-conv.c (if_convertible_loop_p): Check the
2921         if-convertibility of phi nodes in non predicated BBs.
2922
2923 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
2924
2925         * gcc.c (error, warning, inform): Remove duplicate ": " in output.
2926
2927 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
2928
2929         PR driver/15303
2930         * gcc.c (inform, warning, inform): New functions.
2931         (fatal_ice): Rename to internal_error; change cmsgid parameter to
2932         gmsgid.  All callers changed.
2933         (notice): Rename to fnotice; add parameter fp.  All callers
2934         changed.
2935         (fatal_error): Rename to fatal_signal.  All users changed.
2936         (fatal): Rename to fatal_error; change cmsgid parameter to
2937         gmsgid.  All callers changed.
2938         (process_command): Use warning instead of error for warnings.
2939         (end_going_arg): Don't use _() around argument of error.
2940         (do_spec_1): Use inform for message from %n specs.  Use warning
2941         instead of error for warnings.
2942         (main): Use inform for comparison messages.  Use warning for
2943         message about unused linker input.
2944         (error): Increment error_count.  Print "error: ".
2945         * gcc.h (fatal): Change to fatal_error.
2946         (warning): Declare.
2947         * config/darwin-driver.c (darwin_default_min_version): Use warning
2948         instead of fprintf for warnings.
2949         * cppspec.c (lang_specific_driver): Use fatal_error instead of
2950         fatal.
2951
2952 2010-05-28  Julian Brown  <julian@codesourcery.com>
2953
2954         * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
2955         (*thumb2_addsi3_compare0_scratch): New.
2956         * config/arm/constraints.md (Pv): New.
2957         * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
2958         for ARM mode only.
2959         (*addsi3_compare0_scratch): Likewise.
2960
2961 2010-05-28  Jan Hubicka  <jh@suse.cz>
2962
2963         * ipa-reference.c (add_static_var): Remove redundant all_module_statics
2964         check.
2965         (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
2966         only on local statics.
2967
2968 2010-05-28  Iain Sandoe  <iains@gcc.gnu.org>
2969
2970         * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
2971
2972 2010-05-28  Maxim Kuvyrkov  <maxim@codesourcery.com>
2973
2974         PR bootstrap/44314
2975         * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
2976         (OPTION_GLIBC): Define.
2977
2978 2010-05-28  Jakub Jelinek  <jakub@redhat.com>
2979
2980         PR debug/41048
2981         * dwarf2out.c (double_int_type_size_in_bits): New function.
2982         (round_up_to_align): Change first argument and return value to
2983         double_int.
2984         (field_byte_offset): Work internally on double_ints.
2985
2986         PR target/43636
2987         * builtins.c (expand_movstr): Use a temporary pseudo instead
2988         of target even when target is not NULL and not const0_rtx, but
2989         fails movstr predicate.
2990         * config/m32c/blkmov.md (movstr): Add predicate to first operand.
2991
2992 2010-05-28  Joseph Myers  <joseph@codesourcery.com>
2993
2994         * final.c (rest_of_clean_state): Use %m in errors instead of
2995         strerror (errno).
2996         * gengtype.c (read_input_list, close_output_files): Use xstrerror
2997         instead of strerror.
2998         * toplev.c (process_options): Use %m in errors instead of strerror
2999         (errno).
3000         * tree-dump.c (dump_begin): Use %m in errors instead of strerror
3001         (errno).
3002
3003 2010-05-28  Uros Bizjak  <ubizjak@gmail.com>
3004
3005         * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
3006         (ix86_canonical_va_list_type): Make static.  Add declaration.
3007         (ix86_enum_va_list): Make static.  Reindent.
3008         * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
3009         (ix86_canonical_va_list_type): Ditto.
3010         (ix86_enum_va_list): Ditto.
3011
3012 2010-05-28  Richard Guenther  <rguenther@suse.de>
3013
3014         * lto-wrapper.c (run_gcc): With -save-temps generate a
3015         user-visible ltrans filename.  Fixup ltrans unit numbering.
3016
3017 2010-05-28  Kai Tietz  <kai.tietz@onevision.com>
3018
3019         * c-common.c (c_common_nodes_and_builtins): Replace use
3020         of TARGET_ENUM_VA_LIST by target hook enum_va_list.
3021         * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
3022         to ix86_enum_va_list.
3023         * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
3024         * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
3025         (TARGET_ENUM_VA_LIST_P): Add hook description.
3026         * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
3027         * target.h (gcc_target): Add enum_va_list hook.
3028
3029         PR bootstrap/44299
3030         * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
3031         * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
3032         * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
3033
3034 2010-05-28  Alan Modra  <amodra@gmail.com>
3035
3036         PR target/44266
3037         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
3038         emit_library_call machinery to set up __tls_get_addr calls.
3039
3040 2010-05-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3041
3042         * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
3043
3044 2010-05-28  Dodji Seketeli  <dodji@redhat.com>
3045
3046         Revert fix for PR c++/44188
3047         * c-common.c (is_typedef_decl): Revert the moving of  this
3048         definition ...
3049         * tree.c (is_typedef_decl): ... here.
3050         (typdef_variant_p): Revert the moving of this  definition
3051         here from gcc/cp/tree.c.
3052         * c-common.h (is_typedef_decl): Revert the moving of this
3053         declaration ...
3054         * tree.h (is_typedef_decl): ... here.
3055         (typedef_variant_p): Revert the moving of this  declaration here
3056         from gcc/cp/cp-tree.h
3057         * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
3058         (gen_tagged_type_die): Revert the splitting out of ...
3059         (gen_type_die_with_usage): ... this function. Revert the anonymous
3060         tagged type handling.
3061         (gen_typedef_die): Revert emitting DW_TAG_typedef  for
3062         typedefs naming anonymous tagged types.
3063
3064 2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
3065
3066         * config/rs6000/rs6000-modes.def (PSImode): Delete.
3067
3068 2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
3069
3070         * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
3071         * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
3072         throughout.
3073         * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
3074         "xer" to "ca".
3075         Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
3076         XER_REGS to CA_REGS throughout.
3077         * config/rs6000/rs6000.h: Same.
3078         (ADDITIONAL_REGISTER_NAMES): Add "xer".
3079         * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO.  Document
3080         that mode_iterator "P" is the size for arithmetic carries as well.
3081         * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
3082
3083 2010-05-28  Jakub Jelinek  <jakub@redhat.com>
3084
3085         PR bootstrap/44255
3086         * combine.c (struct rtx_subst_pair): Define unconditionally.
3087         (propagate_for_debug_subst): Likewise.  If not AUTO_INC_DEC,
3088         copy_rtx pair->to instead of cleanup_auto_inc_dec it.
3089         Call make_compound_operation on pair->to.
3090         (propagate_for_debug): Don't call make_compound_operation here.
3091         Always use simplify_replace_fn_rtx.
3092
3093 2010-05-27  Sterling Augustine  <sterling@tensilica.com>
3094
3095         * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
3096         * config/xtensa/xtensa.c (override_options): Check
3097           TARGET_FORCE_NO_PIC and set flag_pic.
3098         * config/xtensa/xtensa.opt: Document -mforce-no-pic
3099
3100 2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
3101
3102         PR bootstrap/44299
3103         * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
3104         * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
3105
3106 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
3107
3108         * diagnostic-core.h: New.  Contents moved from diagnostic.h and
3109         toplev.h.
3110         * diagnostic.c: Don't include toplev.h.
3111         (progname): Define.  Moved from toplev.c.
3112         (seen_error): New function.
3113         * diagnostic.h: Include diagnostic-core.h.
3114         (diagnostic_t, emit_diagnostic): Don't declare here.
3115         * toplev.c (progname): Move to toplev.c.
3116         (emit_debug_global_declarations, compile_file, finalize,
3117         do_compile, toplev_main): Use seen_error.
3118         * toplev.h: Include diagnostic-core.h.
3119         (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
3120         internal_error, warning, warning_at, error, error_n, error_at,
3121         fatal_error, pedwarn, permerror, sorry, inform, inform_n,
3122         verbatim, fnotice, progname): Move to diagnostic-core.h.
3123         * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
3124         (expand_builtin_expect): Use seen_error.
3125         * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
3126         (c_make_fname_decl, c_write_global_declarations): Use seen_error.
3127         * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
3128         * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
3129         * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
3130         * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
3131         errorcount for errors.
3132         * c-opts.c (c_common_finish): Use seen_error.
3133         * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
3134         * cgraphunit.c (verify_cgraph_node, verify_cgraph,
3135         cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
3136         * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
3137         (get_coverage_counts): Use seen_error.
3138         * dwarf2out.c (dwarf2out_finish): Use seen_error.
3139         * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
3140         gimplify_body): Use seen_error.
3141         * ipa-inline.c (cgraph_early_inlining): Use seen_error.
3142         * ipa-pure-const.c (gate_pure_const): Use seen_error.
3143         * ipa-reference.c (gate_reference): Use seen_error.
3144         * jump.c: Include diagnostic-core.h instead of diagnostic.h.
3145         * lambda-code.c: Include diagnostic-core.h instead of
3146         diagnostic.h.
3147         * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
3148         * lto-compress.c: Include diagnostic-core.h instead of
3149         diagnostic.h.
3150         * lto-section-in.c: Include diagnostic-core.h instead of
3151         diagnostic.h.
3152         * lto-streamer-out.c: Include diagnostic-core.h instead of
3153         diagnostic.h.
3154         * lto-streamer.c: Include diagnostic-core.h instead of
3155         diagnostic.h.
3156         (gate_lto_out): Use seen_error.
3157         * matrix-reorg.c: Include diagnostic-core.h instead of
3158         diagnostic.h.
3159         * omega.c: Include diagnostic-core.h instead of diagnostic.h.
3160         * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
3161         (gate_expand_omp, lower_omp_1): Use seen_error.
3162         * passes.c: Include diagnostic-core.h instead of diagnostic.h.
3163         (rest_of_decl_compilation, rest_of_type_compilation,
3164         gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
3165         * tree-cfg.c (label_to_block_fn): Use seen_error.
3166         * tree-inline.c (optimize_inline_calls): Use seen_error.
3167         * tree-mudflap.c (mudflap_finish_file): Use
3168         seen_error.
3169         * tree-optimize.c (gate_all_optimizations,
3170         gate_all_early_local_passes, gate_all_early_optimizations): Use
3171         seen_error.
3172         * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
3173         * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
3174         (varpool_remove_unreferenced_decls,
3175         varpool_assemble_pending_decls): Use seen_error.
3176         * Makefile.in (DIAGNOSTIC_CORE_H): Define.
3177         (TOPLEV_H, DIAGNOSTIC_H): Update.
3178         (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
3179         lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
3180         c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
3181         builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
3182         coverage.o, lambda-code.o): Update dependencies.
3183
3184 2010-05-25  Dodji Seketeli  <dodji@redhat.com>
3185
3186         PR c++/44188
3187         * c-common.c (is_typedef_decl): Move this definition ...
3188         * tree.c (is_typedef_decl): ... here.
3189         (typdef_variant_p): Move definition here from gcc/cp/tree.c.
3190         * c-common.h (is_typedef_decl): Move this declaration ...
3191         * tree.h (is_typedef_decl): ... here.
3192         (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
3193         * dwarf2out.c (is_naming_typedef_decl): New function.
3194         (gen_tagged_type_die): Split out of ...
3195         (gen_type_die_with_usage): ... this function. When an anonymous
3196         tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
3197         is emitted for the typedef.
3198         (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
3199         anonymous tagged types.
3200
3201 2010-05-27  Jason Merrill  <jason@redhat.com>
3202
3203         * print-tree.c (debug_vec_tree): New fn.
3204         (print_vec_tree): New fn.
3205         * tree.h: Declare them.
3206         * gdbinit.in (pvt): New command.
3207
3208         * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
3209
3210         * gdbinit.in (pdd): New command.
3211
3212 2010-05-27  Jan Hubicka  <jh@suse.cz>
3213
3214         * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
3215         (update_caller_keys): Return early if there are no callers;
3216         only update fibheap when decresing the key.
3217         (update_callee_keys): Avoid recursion.
3218         (decide_inlining_of_small_functions): When badness does not match;
3219         re-insert into fibheap.
3220
3221 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
3222
3223         * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
3224         (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
3225         (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
3226         (ALL_HOST_OBJS): Now a union of the above two.
3227         <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
3228         all files in ALL_HOST_FRONTEND_OBJS.
3229         * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
3230
3231         * c-common.c: Pretend to be a backend file by undefining
3232         IN_GCC_FRONTEND (still need rtl.h here).
3233
3234 2010-05-27  Jan Hubicka  <jh@suse.cz>
3235
3236         * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
3237         * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
3238
3239 2010-05-27  Jan Hubicka  <jh@suse.cz>
3240
3241         * sched-ebb.c: Rename struct deps to struct deps_desc.
3242         * ddg.c: Likewise.
3243         * sel-sched-ir.c: Likewise.
3244         * sched-deps.c: Likewise.
3245         * sched-int.h: Likewise.
3246         * sched-rgn.c: Likewise.
3247
3248 2010-05-27  Jon Beniston <jon@beniston.com>
3249
3250         PR 43726
3251         * config/lm32/lm32.h: Remove definition of
3252         GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
3253
3254 2010-05-27  Eric Botcazou  <ebotcazou@adacore.com>
3255
3256         PR lto/44230
3257         * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
3258
3259 2010-05-27  Richard Guenther  <rguenther@suse.de>
3260
3261         PR tree-optimization/44284
3262         * tree-vect-stmts.c (vectorizable_assignment): Handle
3263         sign-changing conversions as simple copy.
3264
3265 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
3266
3267         * gthr-posix.h (pthread_cancel): Don't declare if compiling against
3268         Bionic C library.
3269         (__gthread_active_p): Check for pthread_create if compiling against
3270         Bionic C library.
3271
3272 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
3273
3274         Support compilation for Android platform.  Reimplement -mandroid.
3275
3276         * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
3277         (*android*): Set ANDROID_DEFAULT.
3278         (arm*-*-linux*): Include linux-android.h.
3279         (arm*-*-eabi*): Don't include previous -mandroid implementation.
3280         * config/arm/eabi.h: Remove, move Android-specific parts ...
3281         * config/linux-android.h: ... here.  New file.
3282         * config/arm/eabi.opt: Rename to ...
3283         * config/linux-android.opt: ... this.
3284         (mandroid): Allow -mno-android option.  Initialize based on
3285         ANDROID_DEFAULT.
3286         * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
3287         Move logic to corresponding LINUX_TARGET_* macros.
3288         (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
3289         * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
3290         (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
3291         Android definitions.
3292         (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
3293         * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
3294         Document.
3295
3296 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
3297
3298         Add support for Bionic C library
3299
3300         * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
3301         macro.
3302         (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
3303         (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
3304
3305         * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
3306         (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
3307         (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
3308         to support multiple C libraries.  Handle Bionic.
3309         (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
3310         (BIONIC_DYNAMIC_LINKER64): Define.
3311         (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
3312         Update.
3313         (TARGET_HAS_SINCOS): Enable for Bionic.
3314
3315         * config/linux.opt: Rewrite to handle more than 2 C libraries.  Make
3316         the last option specified on command line take effect.
3317         (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
3318         (mbionic): New.
3319         (mglibc, muclibc): Update.
3320
3321         * config/alpha/linux-elf.h, config/rs6000/linux64.h,
3322         * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
3323         DEFAULT_LIBC.
3324
3325         * doc/invoke.texi (-mglibc, -muclibc): Update.
3326         (-mbionic): Document.
3327
3328 2010-05-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3329
3330         * c-common.h (c_register_addr_space): Add prototype.
3331         (ADDR_SPACE_KEYWORD): Remove.
3332         * c-common.c (c_register_addr_space): New function.
3333         (c_addr_space_name): Reimplement.
3334         (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
3335
3336         * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
3337         (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
3338
3339         * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
3340         Remove TARGET_ADDR_SPACE_KEYWORDS.
3341
3342 2010-05-27  Joseph Myers  <joseph@codesourcery.com>
3343
3344         * input.c: New file.
3345         * input.h (main_input_filename): Move declaration to toplev.h.
3346         * toplev.c (input_location, line_table): Move to input.c
3347         * toplev.h (main_input_filename): Move declaration from input.h.
3348         * tree.c (expand_location): Move to input.c.
3349         * Makefile.in (OBJS-common): Add input.o.
3350         (input.o): Add dependencies.
3351
3352 2010-05-27  Richard Guenther  <rguenther@suse.de>
3353
3354         * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
3355         for non-existant files.
3356         (fork_execute): Mark args_name file as deleted.
3357
3358 2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
3359
3360         PR bootstrp/44287
3361         * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
3362         (narrow_signed_type): Likewise.
3363
3364 2010-05-26  Jan Hubicka  <jh@suse.cz>
3365
3366         * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
3367         edge only when checking is enabled; check using former_clone_of;
3368         check inline clones too.
3369         (cgraph_materialize_clone): Record former_clone_of pointer.
3370         (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
3371         combining redirections; dump args_to_skip bitmap
3372         (cgraph_materialize_all_clones): Do no redirection here.
3373         * ipa-inline.c (inline_transform): Do redirection here.
3374         * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
3375         cheking only).
3376
3377 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3378
3379         * config/avr/avr-c.c: Do not include regs.h.
3380         Include cpplib.h for cpp_define and tree.h for c-common.h.
3381         * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
3382         * config/avr/t-avr: Fix dependencies for avr-c.o.
3383
3384 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3385
3386         * explow.c (set_stack_check_libfunc): Adjust to accept name as a
3387         string instead of SYMBOL_REF rtx.
3388         * rtl.h (set_stack_check_libfunc): Move prototype from here...
3389         * libfuncs.h: ...to here.  Adjust for explow.c change.
3390
3391 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
3392
3393         * pretty-print.c: Don't include ggc.h.
3394         (identifier_to_locale_alloc, identifier_to_locale_free): Define.
3395         (identifier_to_locale): Use them for allocation.
3396         * pretty-print.h (identifier_to_locale_alloc,
3397         identifier_to_locale_free): Declare.
3398         * toplev.c (alloc_for_identifier_to_locale): New.
3399         (general_init): Set identifier_to_locale_alloc and
3400         identifier_to_locale_free.
3401         * Makefile.in (pretty-print.o): Update dependencies.
3402
3403 2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
3404
3405         * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
3406         pointer types if they have different alignment or mode.
3407
3408 2010-05-26  Anatoly Sokolov  <aesok@post.ru>
3409
3410         * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
3411         LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
3412         * config/sparc/sparc-protos.h (function_value): Remove declaration.
3413         * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
3414         sparc_function_value_regno_p): New functions.
3415         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3416         TARGET_FUNCTION_VALUE_REGNO_P): Define.
3417         (function_value): Rename to...
3418         (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
3419         argument to 'outgoing'.
3420         (function_arg_record_value, function_arg_union_value,
3421         function_arg_vector_value): Update comment.
3422
3423 2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
3424
3425         * dwarf2out.c (struct dw_fde_struct): Reorder flags.
3426         (fde_needed_for_eh_p): New predicate.
3427         (output_call_frame_info): Use it throughout to decide whether FDEs
3428         are needed for EH purpose.
3429         (dwarf2out_begin_prologue): Reorder assignments.
3430
3431 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
3432
3433         * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
3434         special case loop->header.
3435         (is_predicated): New.
3436         (if_convertible_loop_p): Call it.
3437
3438 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
3439
3440         * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
3441         iterator in parameter.  Do not generate code during the analysis.
3442         (tree_if_convert_cond_stmt): Removed.
3443         (tree_if_convert_stmt): Removed.
3444         (predicate_bbs): New.
3445         (if_convertible_loop_p): Call predicate_bbs.
3446         (tree_if_conversion): Simplify the top-level logic as predicate_bbs
3447         now contains all the analysis part.
3448
3449 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
3450
3451         * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
3452         statements in the analysis part.
3453         (tree_if_convert_stmt): Update comment.
3454         (remove_conditions_and_labels): New.
3455         (combine_blocks): Call remove_conditions_and_labels.
3456         (tree_if_conversion): Update comment.
3457
3458 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
3459
3460         * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
3461         than 2 predecessors or more than 2 successors.
3462
3463 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
3464
3465         * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
3466         of loops in which the data dependence analysis fails.
3467
3468 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
3469
3470         * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
3471         CDI_POST_DOMINATORS.
3472         (tree_if_conversion): Same.
3473
3474 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
3475
3476         * tree-if-conv.c (tree_if_conversion): Do not return a bool.
3477
3478 2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
3479
3480         * tree-if-conv.c: Update copyright years.  Fix comments.
3481         Fix indentation.
3482
3483 2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
3484
3485         * builtin-types.def (BT_INT128): New primitive type.
3486         (BT_UINT128): Likewise.
3487         * c-common.c (c_common_r): Add __int128 keyword.
3488         (c_common_type_for_size): Handle __int128.
3489         (c_common_type_for_mode): Likewise.
3490         (c_common_signed_or_unsigned_type): Likewise.
3491         (c_common_nodes_and_builtins): Add builtin type
3492         if target supports 128-bit integer scalar.
3493         * c-common.h (enum rid): Add RID_INT128.
3494         * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
3495         if target supports 128-bit integer scalar.
3496         * c-decl.c (declspecs_add_type): Handle new keyword __int128.
3497         (finish_declspecs): Likewise.
3498         * c-parser.c (c_token_starts_typename): Handle RID_INT128.
3499         (c_token_starts_declspecs): Likewise.
3500         (c_parser_declspecs): Likewise.
3501         (c_parser_attributes): Likewise.
3502         (c_parser_objc_selector): Likewise.
3503         * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
3504         * c-tree.h (enum c_typespec_keyword): Add cts_int128.
3505         * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
3506         * tree.c (make_or_reuse_type): Likewise.
3507         (make_unsigned_type): Likewise.
3508         (build_common_tree_nodes_2): Likewise.
3509         * tree.h (enum integer_type_kind): Add itk_int128 and
3510         itk_unsigned_int128.
3511         (int128_integer_type_node): New define.
3512         (int128_unsigned_type_node): New define.
3513         * doc/extend.texi: Add documentation about __int128 type.
3514
3515 2010-05-26  Richard Guenther  <rguenther@suse.de>
3516
3517         * tree-ssa-sccvn.c (copy_nary): Adjust.
3518         (copy_phis): Rename to ...
3519         (copy_phi): ... this.  Adjust.
3520         (copy_references): Rename to ...
3521         (copy_reference): ... this.  Adjust.
3522         (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
3523         result into the valid table.
3524
3525 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3526
3527         * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
3528         insn-config.h, insn-codes.h, recog.h, and optabs.h.
3529
3530 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3531
3532         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
3533
3534 2010-05-26  Richard Guenther  <rguenther@suse.de>
3535
3536         * opts.c (common_handle_option): Handle OPT_Ofast.
3537
3538 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
3539
3540         * diagnostic.c: Don't include opts.h.
3541         (permissive_error_option): Define.
3542         (diagnostic_initialize): Take n_opts parameter.  Allocate memory
3543         for classify_diagnostic.  Don't use memset for
3544         classify_diagnostic.  Initialize new and recently added fields.
3545         (diagnostic_classify_diagnostic): Use context->n_opts instead of
3546         N_OPTS.
3547         (diagnostic_report_diagnostic): Pass context parameter to
3548         diagnostic_report_warnings_p.  Use option_enabled and option_name
3549         hooks from context.
3550         (emit_diagnostic): Use permissive_error_option.
3551         (permerror): Likewise.
3552         * diagnostic.h: Don't include options.h.
3553         (struct diagnostic_context): Add n_opts, opt_permissive,
3554         inhibit_warnings, warn_system_headers, option_enabled and
3555         option_name fields.  Change classify_diagnostic to a pointer.
3556         * opts-diagnostic.h: New file.
3557         * opts.c: Include opts-diagnostic.h.
3558         (common_handle_option): Set global_dc fields for -Wfatal-errors,
3559         -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
3560         (option_name): New function.
3561         * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
3562         (c_common_handle_option): Set global_dc->permissive for
3563         -fpermissive.
3564         * c-common.c (c_cpp_error): Save and restore
3565         global_dc->warn_system_headers, not variable warn_system_headers.
3566         * toplev.c: Include opts-diagnostic.h.
3567         (general_init): Update call to diagnostic_initialize.  Set
3568         global_dc->show_column, global_dc->option_enabled and
3569         global_dc->option_name.
3570         (process_options): Don't set global_dc fields here.
3571         * Makefile.in (DIAGNOSTIC_H): Remove options.h.
3572         (diagnostic.o, opts.o, toplev.o): Update dependencies.
3573
3574 2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
3575
3576         * config/picochip/picochip.md (movsi): Split a movsi from a
3577         const after reload.
3578
3579 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3580
3581         * ggc-zone.c: Update copyright year.
3582         (poison_region): Mark memory for Valgrind as undefined before
3583         memset () call and inaccessible afterwards.
3584         (ggc_pch_total_size): Change type of i to int.
3585
3586 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3587
3588         * ggc-common.c (ggc_free_overhead): Allow empty slot.
3589
3590 2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3591
3592         * ggc-common.c: Update copyright year.
3593         (ggc_rlimit_bound): Remove prototype.  Compile only if
3594         !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
3595         (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
3596         && !ENABLE_GC_ALWAYS_COLLECT.  Make static.
3597         (ggc_min_heapsize_heuristic): Likewise.
3598
3599 2010-05-26  Richard Guenther  <rguenther@suse.de>
3600
3601         PR rtl-optimization/44164
3602         * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
3603         no-common access-path disambiguation.
3604         (indirect_ref_may_alias_decl_p): Adjust.
3605         (indirect_refs_may_alias_p): Likewise.
3606         (refs_may_alias_p_1): Likewise.
3607
3608 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3609
3610         * c-typeck.c: Do not include expr.h.
3611
3612 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3613
3614         * rtl.h (decl_default_tls_model): Move prototype from here...
3615         * output.h: ...to here.
3616         * c-decl.c: Do not include rtl.h.
3617         * c-pragma.c: Likewise.
3618         * c-parser.c: Likewise.
3619         * c-gimplify.c: Likewise.  And also not hard-reg-set.
3620         * c-common.c: Do not include rtl.h.  Include tm_p.h and add a
3621         FIXME note for it.  Add a FIXME note for expr.h.
3622         * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
3623         ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
3624         defined.
3625
3626 2010-05-26  Jakub Jelinek  <jakub@redhat.com>
3627
3628         PR target/44199
3629         * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
3630         or total_size is larger than red zone size for non-V4 ABI, emit a
3631         stack_tie resp. frame_tie insn before stack pointer restore.
3632         * config/rs6000/rs6000.md (frame_tie): New insn.
3633
3634 2010-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3635
3636         * function.h (struct function): Add can_throw_non_call_exceptions bit.
3637         * lto-streamer-in.c (input_function): Stream it in.
3638         * lto-streamer-out.c (output_function): Stream it out.
3639         * function.c (allocate_struct_function): Set it.
3640         (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
3641         for flag_non_call_exceptions.
3642         * cfgbuild.c (control_flow_insn_p): Likewise.
3643         (make_edges): Likewise.
3644         * cfgexpand.c (expand_stack_alignment): Likewise.
3645         * combine.c (distribute_notes): Likewise.
3646         * cse.c (cse_extended_basic_block): Likewise.
3647         * except.c (insn_could_throw_p): Likewise.
3648         * gcse.c (simple_mem): Likewise.
3649         * ipa-pure-const.c (check_call): Likewise.
3650         (check_stmt ): Likewise.
3651         * lower-subreg.c (lower-subreg.c): Likewise.
3652         * optabs.c (emit_libcall_block): Likewise.
3653         (prepare_cmp_insn): Likewise.
3654         * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
3655         * postreload.c (rest_of_handle_postreload): Likewise.
3656         * reload1.c (reload_as_needed): Likewise.
3657         (emit_input_reload_insns): Likewise.
3658         (emit_output_reload_insns): Likewise.
3659         (fixup_abnormal_edges): Likewise.
3660         * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
3661         * store-motion.c (find_moveable_store): Likewise.
3662         * tree-eh.c (stmt_could_throw_p): Likewise.
3663         (tree_could_throw_p): Likewise.
3664         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
3665         * config/arm/arm.c (arm_expand_prologue): Likewise.
3666         (thumb1_expand_prologue): Likewise.
3667         * config/rx/rx.md (cbranchsf4): Likewise.
3668         (cmpsf): Likewise.
3669         * config/s390/s390.c (s390_emit_prologue): Likewise.
3670         * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
3671         (inline_forbidden_into_p): New predicate.
3672         (expand_call_inline): Use it to forbid inlining.
3673         (tree_can_inline_p): Likewise.
3674
3675 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
3676
3677         * config/i386/i386-c.c: Do not include rtl.h.
3678         * config/i386/t-i386: Update dependencies.
3679
3680 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
3681
3682         * attribs.c: Do not include rtl.h.
3683         * Makefile.in: Update dependencies.
3684
3685 2010-05-25  Anatoly Sokolov  <aesok@post.ru>
3686
3687         * double-int.h (double_int_and): New.
3688         * combine.c (try_combine): Clean up, use double_int_* and
3689         immed_double_int_const functions.
3690
3691 2010-05-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3692
3693         * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
3694         stderr to /dev/null instead of grep -q.
3695         * configure: Regenerate.
3696
3697 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
3698
3699         * Makefile.in (EXCEPT_H): Fix typo.
3700
3701 2010-05-25  Vladimir Makarov <vmakarov@redhat.com>
3702
3703         * ira-build.c (update_conflict_hard_reg_costs): New.
3704         (ira_build): Call update_conflict_hard_reg_costs.
3705
3706 2010-05-25  Jakub Jelinek  <jakub@redhat.com>
3707
3708         PR debug/41371
3709         * var-tracking.c (find_loc_in_1pdv): Guard asserts with
3710         ENABLE_CHECKING.
3711         (intersect_loc_chains): Walk the s2var's loc_chain together
3712         with s1node chain as long as the locations are equal, don't
3713         call find_loc_in_1pdv in that case.
3714
3715         PR debug/42801
3716         * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
3717         (copy_bind_expr): ... instead of here.
3718         (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
3719         if the block hasn't been remapped.
3720         * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
3721         emitting concrete instance of abstract VLA, add DW_AT_type attribute.
3722
3723 2010-05-25  Richard Guenther  <rguenther@suse.de>
3724
3725         PR middle-end/44069
3726         * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
3727         out-of-bounds array accesses.
3728
3729 2010-05-25  Richard Guenther  <rguenther@suse.de>
3730
3731         * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
3732         (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
3733         (run_gcc): Re-organize to make cleanup easier.
3734
3735 2010-05-25  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3736
3737         * config/s390/s390.c (optimization_options): Fix and move the
3738         flag_prefetch_loop_arrays override ...
3739         (override_options): ... here.
3740
3741 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
3742
3743         * diagnostic.c: Don't include plugin.h.
3744         (diagnostic_report_diagnostic): Don't handle plugins specially
3745         here.  Pass context to internal_error callback.
3746         * diagnostic.h (struct diagnostic_context): Add context parameter
3747         to internal_error callback.
3748         * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
3749         * plugin.h (struct diagnostic_context): Declare.
3750         (warn_if_plugins, plugins_internal_error_function): Declare.
3751         * toplev.c (general_init): Set global_dc->internal_error.
3752         * Makefile.in (diagnostic.o): Update dependencies.
3753
3754 2010-05-25 Iain Sandoe  <iains@gcc.gnu.org>
3755
3756         * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
3757         * config/rs6000/t-darwin64: New.
3758         * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
3759         build crt2.
3760
3761 2010-05-25  Christian Borntraeger  <borntraeger@de.ibm.com>
3762
3763         PR 44203
3764         * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
3765         match the original (and intended) behaviour before r159557.  This
3766         changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
3767         in two ways.
3768
3769 2010-05-25  Richard Guenther  <rguenther@suse.de>
3770
3771         * doc/invoke.texi: Document -Ofast.
3772         * target.h (struct gcc_target): Add handle_ofast.
3773         * target-def.h (TARGET_HANDLE_OFAST): Add.
3774         (TARGET_INITIALIZER): Adjust.
3775         * opts.c (decode_options): Handle -Ofast.  Enable -ffast-math with it.
3776         * common.opt (Ofast): Add.
3777
3778 2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
3779
3780         * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
3781         * doc/md.texi (cstoreXX4): Update for cond-optab changes.
3782
3783 2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
3784
3785         PR target/43610
3786         * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
3787         even if !FLOAT_LIB_COMPARE_RETURNS_BOOL.  Always compute true_rtx and
3788         false_rtx.  Use false_rtx to compute the correct *ptest for reversed
3789         comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
3790
3791 2010-05-25  Jakub Jelinek  <jakub@redhat.com>
3792
3793         * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
3794         DW_OP_minus with negated offset instead of DW_OP_plus.
3795         (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
3796
3797 2010-05-25  Wei Guozhi  <carrot@google.com>
3798
3799         * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
3800         tst instruction and a new alternative.
3801         * config/arm/constraints.md (Pu): New constraint.
3802
3803 2010-05-24  Sebastian Pop  <sebastian.pop@amd.com>
3804
3805         * function.c (assign_stack_local_1): Initialize variable
3806         to avoid warning when bootstrapping at -O3.
3807
3808 2010-05-24  Steven Bosscher  <steven@gcc.gnu.org>
3809
3810         * configure.ac (all_lang_makefiles): Remove everything related to it.
3811         * configure: Regenerate.
3812         * Makefile.in: Fix reference to ada Make-lang.in.
3813         Remove support for LANG_MAKEFILES.
3814
3815 2010-05-24  Daniel Jacobowitz  <dan@codesourcery.com>
3816             Sandra Loosemore  <sandra@codesourcery.com>
3817
3818         * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
3819         * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
3820         description.  Add arm_neon_fp16_ok.
3821         (Add Options): Add arm_neon and arm_neon_fp16.
3822
3823 2010-05-24  Joseph Myers  <joseph@codesourcery.com>
3824
3825         * diagnostic.c: Don't include flags.h.
3826         (pedantic_warning_kind, permissive_error_kind): Take diagnostic
3827         context parameters.  Check flags in the context passed as a parameter.
3828         (diagnostic_build_prefix): Add context parameter.  Check
3829         show_column flag in context.
3830         (diagnostic_action_after_output): Check fatal_errors flag in context.
3831         (diagnostic_report_current_module): Check show_column flag in context.
3832         (default_diagnostic_starter): Update call to
3833         diagnostic_build_prefix.
3834         (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
3835         (emit_diagnostic): Pass context to permissive_error_kind.
3836         (permerror): Pass context to permissive_error_kind.
3837         * diagnostic.h (struct diagnostic_context): Add show_column,
3838         pedantic_errors, permissive and fatal_errors fields.
3839         (diagnostic_build_prefix): Update prototype.
3840         * langhooks.c
3841         * toplev.c (process_options): Set flags in global_dc from
3842         flag_show_column, flag_pedantic_errors, flag_permissive,
3843         flag_fatal_errors.
3844         * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
3845         to diagnostic_build_prefix.
3846         * Makefile.in (diagnostic.o): Update dependencies.
3847
3848 2010-05-24  H.J. Lu  <hongjiu.lu@intel.com>
3849
3850         * config/i386/ia32intrin.h (__crc32q): Define only if
3851         __SSE4_2__ is defined.
3852
3853 2010-05-24  Iain Sandoe  <iains@gcc.gnu.org>
3854
3855         PR target/44132
3856         PR middle-end/43602
3857         * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
3858         DECL_VISIBILITY_SPECIFIED.
3859         (emutls_decl): Set DECL_PRESERVE_P and copy
3860         DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
3861         (emutls_finalize_control_var): New callback.
3862         (emutls_finish): Finalize emutls control variables.
3863         * toplev.c (compile_file): Move the call to emutls_finish ()
3864         before varpool_assemble_pending_decls ().
3865
3866 2010-05-24  Daniel Gutson  <dgutson@codesourcery.com>
3867
3868         * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
3869         added to the preprocessor condition.
3870
3871 2010-05-24  Paul Brook  <paul@codesourcery.com>
3872
3873         * gengtype-lex.l: Add HARD_REG_SET.
3874         * expr.c (expand_expr_real_1): Record writes to hard registers.
3875         * function.c (rtl_data): Add asm_clobbers.
3876         * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
3877         (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
3878         Use crtl->asm_clobbers.
3879
3880 2010-05-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3881
3882         * doc/makefile.texi (Makefile): Mention stages 'profile'
3883         and 'feedback' for profiledbootstrap.
3884
3885 2010-05-23  H.J. Lu  <hongjiu.lu@intel.com>
3886
3887         PR target/44245
3888         * config/i386/i386.c (def_builtin): Properly check
3889         OPTION_MASK_ISA_64BIT.
3890
3891 2010-05-23  Joseph Myers  <joseph@codesourcery.com>
3892
3893         * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
3894         typedefs with different but compatible types.  Allow duplicate
3895         typedefs with the same type except for pedantic non-C1X, but give
3896         warning for variably modified types.
3897         * c-typeck.c (tagged_types_tu_compatible_p,
3898         function_types_compatible_p, type_lists_compatible_p,
3899         comptypes_internal): Add parameter different_types_p; set
3900         *different_types_p for different but compatible types.  All
3901         callers changed.
3902         (comptypes_check_different_types): New.
3903         * c-tree.h (comptypes_check_different_types): Declare.
3904
3905 2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
3906
3907         * regs.h: Do not include obstack.h, basic-block.h.  Include machmode.h.
3908         * jump.c: Include basic-block.h.
3909         * profile.c: Likewise.
3910         * tree-profile.c: Likewise.
3911         * coverage.c: Likewise.
3912         * basic-block.h (optimize_function_for_size_p): Move to function.h.
3913         (optimize_function_for_speed_p): Likewise.
3914         * function.h (optimize_function_for_size_p,
3915         optimize_function_for_speed_p): Moved here from basic-block.h.
3916         * Makefile.in: Update dependencies.
3917
3918 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3919
3920         * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
3921         before calling make; allow override through $MAKE.
3922         * doc/invoke.texi (Optimize Options): Document override.
3923
3924 2010-05-23  Anatoly Sokolov  <aesok@post.ru>
3925
3926         * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
3927         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3928         (rs6000_mode_dependent_address_ptr): Make static.
3929         * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3930         * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
3931         Remove.
3932
3933 2010-05-23  Maarten Lankhorst  <mlankhorst@codeweavers.com>
3934
3935         PR target/43869
3936         * config/i386/i386.c: Make sure that the correct regparm is passed.
3937
3938 2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
3939
3940         * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
3941         * sbitmap.c: ...to here to internalize sbitmap element access.
3942         Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
3943         Explain why basic-block.h is included.
3944         * function.h: Include tm.h for CUMULATIVE_ARGS.
3945         * Makefile.in: Update dependencies.
3946
3947 2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
3948
3949         * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
3950         New core types.
3951         * sbitmap.h (struct sbitmap_def): Do not typedef here.
3952         * sbitmap.c: Include sbitmap.h.
3953         * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
3954         hard-reg-set.h.  Split everything related to regsets out from here...
3955         * regset.h: ...to here.  New file.
3956         * df.h: Include regset.h and sbitmap.h.
3957         * tree-flow.h: Likewise.
3958         * cfgloop.h: Likewise.
3959         * except.h: Do not include sbitmap.h.  Include hashtab.h.
3960         * cgraph.h: Include vec.h and function.h.
3961         * reload.h (struct insn_chain): Change types of live_throughout
3962         and dead_or_set from regset_head to bitmap_head.
3963         (compute_use_by_pseudos): Be defined also if regset.h is not included.
3964         * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
3965         spilled_regs from regset_head to bitmap_head to avoid dependency
3966         in regset.h.
3967         * sel-sched-ir.h: Include regset.h.
3968         * reload.c: Include df.h before reload.h.
3969         * caller-save.c: Likewise.
3970         * reload1.c: Likewise.
3971         * ira.c: Likewise.
3972         (mark_elimination): Update type of r to bitmap, consistent with
3973         DF_LR_IN.
3974         * dominance.c: Include bitmap.h.
3975         * modulo-sched.c: Include df.h.
3976         * cfganal.c: Include bitmap.h and sbitmap.h.
3977         * cfgbuild.c: Include sbitmap.h.
3978         * lcm.c: Include sbitmap.h.
3979         * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
3980         * domwalk.c: Include sbitmap.h, exclude ggc.h.
3981         * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
3982         * cselib.c: Include bitmap.h.
3983         * tree-optimize.c: Include regset.h.
3984         * stmt.c: Include bitmap.h.
3985         * Makefile.in: Update dependencies.
3986
3987 2010-05-22  Jan Hubicka  <jh@suse.cz>