1 2010-06-11 Sebastian Pop <sebastian.pop@amd.com>
4 * tree-if-conv.c (bb_predicate_s): New struct.
6 (bb_has_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
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.
27 2010-10-11 Paul Brook <paul@codesourcery.com>
29 * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
30 * config/arm/arm.c (all_architectures): Change v7e-m default to
32 * config/arm/arm-cores.def: Add cortex-m4.
33 * config/arm/arm-tune.md: Regenerate.
35 2010-06-11 Jan Hubicka <jh@suse.cz>
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.
41 2010-06-11 Jan Hubicka <jh@suse.cz>
43 * df-problems.c (df_live_scratch): Convert to bitmap_head.
44 (df_live_alloc): Initialize df_live_scratch when initializing
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.
51 2010-06-11 Jan Hubicka <jh@suse.cz>
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.
65 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
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.
71 2010-06-11 Uros Bizjak <ubizjak@gmail.com>
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
76 (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
78 2010-06-10 Dodji Seketeli <dodji@redhat.com>
81 * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
84 2010-06-11 Kai Tietz <kai.tietz@onevision.com>
86 * system.h (helper_const_non_const_cast): New inline for
88 (CONST_CAST2): For gcc version <= 4.0 use
89 new helper to do const/non-const casting.
91 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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
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.
106 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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.
129 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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.
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".
271 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
273 * configure.ac (tm_include_list): Add insn-constants.h.
274 * configure: Regenerate.
275 * Makefile.in (GTM_H): Move insn-constants.h here from...
277 * mkconfig.sh: Remove special handling for insn-constants.h.
279 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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
286 (simple_generated_h, simple_generated_c): Include them. Add
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)
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
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
310 (parse_include): Update the comment accordingly.
312 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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.
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 *"
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)
363 (read_nested_rtx): New function. Handle (nil) here rather than
365 (read_rtx_variadic): Call read_nested_rtx to read subrtxes. Don't
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
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.
381 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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.
394 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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
417 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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
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
433 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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
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
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.
454 (process_define_cond_exec): Check have_error instead of errors.
455 (init_md_reader_args_cb): Likewise. Don't set errors.
457 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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
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.
486 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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.
509 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
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
546 * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
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.
552 2010-06-10 Anatoly Sokolov <aesok@post.ru>
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.
561 2010-06-10 Martin Jambor <mjambor@suse.cz>
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.
568 2010-06-10 Martin Jambor <mjambor@suse.cz>
570 PR tree-optimization/44258
571 * tree-sra.c (build_access_subtree): Return false iff there is a
573 (build_access_trees): Likewise.
574 (analyze_all_variable_accesses): Disqualify candidates if
575 build_access_trees returns true for them.
577 2010-06-10 Alexandre Oliva <aoliva@redhat.com>
580 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only
581 tail-recurse into canonical node. Fast-forward over
582 non-canonical VALUEs.
584 2010-06-10 H.J. Lu <hongjiu.lu@intel.com>
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.
592 2010-06-10 Joseph Myers <joseph@codesourcery.com>
594 * common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
596 2010-06-10 Jan Hubicka <jh@suse.cz>
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
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.
610 2010-06-10 Jan Beulich <jbeulich@novell.com>
613 * configure.ac: Replace $() with ${} when intending to expand
614 variables rather than invoking commands.
615 * configure: Re-generate.
617 2010-06-10 Jan Hubicka <jh@suse.cz>
619 PR rtl-optimization/44460
620 * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
621 TYPE_NEEDS_CONSTRUCTING sanity check.
623 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
625 * doc/include/fdl.texi: Move to GFDL version 1.3.
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.
634 2010-06-09 Jan Hubicka <jh@suse.cz>
636 * ipa-pure-const.c (propagate_pure_const, propagate_noreturn):
638 (propagate) ... here; swap the order.
640 2010-06-09 Jan Hubicka <jh@suse.cz>
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.
647 2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
649 * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
650 Do not the gather memory reference in the outer loop if the step
653 2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
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.
659 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
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.
665 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
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.
672 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
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.
680 2010-06-09 Eric Botcazou <ebotcazou@adacore.com>
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.
686 2010-06-09 Jan Hubicka <jh@suse.cz>
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.
700 2010-06-09 Dave Korn <dave.korn.cygwin@gmail.com>
702 * opts-common.c (prune_options): Ensure replacement argv array
703 is correctly terminated by a NULL entry.
705 2010-06-09 Jan Hubicka <jh@suse.cz>
707 * cgraph.h (varpool_first_static_initializer,
708 varpool_next_static_initializer): Make checking only when
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
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.
726 2010-06-09 Jason Merrill <jason@redhat.com>
728 * Makefile.in (TAGS): Collect tags info from c-family.
730 2010-06-09 Jan Hubicka <jh@suse.cz>
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.
754 2010-06-09 Sandra Loosemore <sandra@codesourcery.com>
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.
761 2010-06-09 Richard Guenther <rguenther@suse.de>
763 * tree-ssa-loop-niter.c (simplify_replace_tree): Do not
766 2010-06-09 Kai Tietz <kai.tietz@onevision.com>
768 * c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
770 2010-06-09 Martin Jambor <mjambor@suse.cz>
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.
777 2010-06-09 Joern Rennecke <amylaar@spamcop.net>
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).
786 2010-06-09 Bernd Schmidt <bernds@codesourcery.com>
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.
793 2010-06-09 Edmar Wienskoski <edmar@freescale.com>
796 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
799 2010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
802 * gcc-plugin.h: Encapsulate all declarations in extern "C".
804 2010-06-08 Jan Hubicka <jh@suse.cz>
806 * basic-block.h (single_succ_edge, single_pred_edge, ei_container,
807 ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
809 2010-06-08 Sandra Loosemore <sandra@codesourcery.com>
811 PR tree-optimization/39874
813 * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
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.
826 2010-06-08 Anatoly Sokolov <aesok@post.ru>
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.
835 2010-06-08 Kazu Hirata <kazu@codesourcery.com>
837 * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
838 Thumb-2 in the MINUS case.
840 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
842 * doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
844 * doc/gty.texi (GTY Options): Document typed GC allocation and
845 variable_size GTY option.
847 * ggc-internal.h: New.
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
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.
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.
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.
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.
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.
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.
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.
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.
951 * lto-streamer.h (lto_file_decl_data_ptr): New.
953 * passes.c (order): Define using cgraph_node_ptr.
955 * strinpool.c (struct string_pool_data): Declare nested_ptr using
958 * gimple.h (union gimple_statement_d): Likewise.
960 * rtl.h (struct rtx_def): Likewise.
961 (struct rtvec_def): Likewise.
963 * tree.h (union tree_node): Likewise.
965 * tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
967 * cfgloop.c (record_loop_exits): Use htab_create_ggc.
969 * tree-scalar-evolution.c (scev_initialize): Likewise.
971 * alias.c (record_alias_subset): Update splay_tree_new_ggc call.
973 * dwarf2asm.c (dw2_force_const_mem): Likewise.
975 * omp-low.c (lower_omp_critical): Likewise.
977 * bitmap.h (struct bitmap_head_def): Update comment to not
980 * config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
982 * ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
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.
988 * gimple.c (gimple_alloc_stat): Use
989 ggc_alloc_cleared_gimple_statement_d_stat.
991 * varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
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.
1001 * rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
1002 (shallow_copy_rtx_stat): Likewise.
1003 (make_node_stat): Likewise.
1005 * lto-symtab.c: Fix comment.
1007 * tree-cfg.c (create_bb): Update comment to not reference
1009 * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
1011 * varpool.c (varpool_node): Use typed GC allocation.
1012 (varpool_extra_name_alias): Likewise.
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.
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.
1031 * tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
1033 * tree-ssa.c (init_tree_ssa): Likewise.
1035 * tree-ssa-structalias.c (heapvar_insert): Likewise.
1037 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
1039 * tree-ssa-loop-niter.c (record_estimate): Likewise.
1041 * tree-ssa-alias.c (get_ptr_info): Likewise.
1043 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
1045 * tree-phinodes.c (allocate_phi_node): Likewise.
1047 * tree-iterator.c (tsi_link_before): Likewise.
1048 (tsi_link_after): Likewise.
1050 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
1052 * tree-dfa.c (create_var_ann): Likewise.
1054 * tree-cfg.c (create_bb): Likewise.
1056 * toplev.c (alloc_for_identifier_to_locale): Likewise.
1057 (general_init): Likewise.
1059 * stringpool.c (stringpool_ggc_alloc): Likewise.
1060 (gt_pch_save_stringpool): Likewise.
1062 * sese.c (if_region_set_false_region): Likewise.
1064 * passes.c (do_per_function_toporder): Likewise.
1066 * optabs.c (set_optab_libfunc): Likewise.
1067 (set_conv_libfunc): Likewise.
1069 * lto-symtab.c (lto_symtab_register_decl): Likewise.
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.
1077 * lto-section-in.c (lto_new_in_decl_state): Likewise.
1079 * lto-cgraph.c (input_node_opt_summary): Likewise.
1081 * loop-init.c (loop_optimizer_init): Likewise.
1083 * lambda.h (lambda_vector_new): Likewise.
1085 * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
1087 * ira.c (update_equiv_regs): Likewise.
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.
1094 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
1095 (duplicate_ipa_jump_func_array): Likewise.
1096 (ipa_read_node_info): Likewise.
1098 * ipa-cp.c (ipcp_create_replace_map): Likewise.
1100 * integrate.c (get_hard_reg_initial_val): Likewise.
1102 * gimple.c (gimple_alloc_stat): Likewise.
1103 (gimple_build_omp_for): Likewise.
1104 (gimple_seq_alloc): Likewise.
1105 (gimple_copy): Likewise.
1107 * gimple-iterator.c (gsi_insert_before_without_update): Likewise.
1108 (gsi_insert_after_without_update): Likewise.
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.
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.
1122 * emit-rtl.c (get_mem_attrs): Likewise.
1123 (get_reg_attrs): Likewise.
1124 (start_sequence): Likewise.
1125 (init_emit): Likewise.
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.
1148 * dbxout.c (dbxout_init): Likewise.
1150 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
1152 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
1154 * config/score/score7.c (score7_output_external): Likewise.
1156 * config/score/score3.c (score3_output_external): Likewise.
1158 * config/s390/s390.c (s390_init_machine_status): Likewise.
1160 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
1161 (rs6000_init_machine_status): Likewise.
1162 (output_toc): Likewise.
1164 * config/pa/pa.c (pa_init_machine_status): Likewise.
1165 (get_deferred_plabel): Likewise.
1167 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
1169 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
1171 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
1173 * config/mep/mep.c (mep_init_machine_status): Likewise.
1174 (mep_note_pragma_flag): Likewise.
1176 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
1178 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
1180 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
1182 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
1183 (i386_pe_maybe_record_exported_symbol): Likewise.
1185 * config/i386/i386.c (get_dllimport_decl): Likewise.
1186 (ix86_init_machine_status): Likewise.
1187 (assign_386_stack_local): Likewise.
1189 * config/frv/frv.c (frv_init_machine_status): Likewise.
1191 * config/darwin.c (machopic_indirection_name): Likewise.
1193 * config/cris/cris.c (cris_init_machine_status): Likewise.
1195 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
1197 * config/avr/avr.c (avr_init_machine_status): Likewise.
1199 * config/arm/arm.c (arm_init_machine_status): Likewise.
1201 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
1202 (alpha_need_linkage): Likewise.
1203 (alpha_use_linkage): Likewise.
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.
1210 * cfgrtl.c (init_rtl_bb_info): Likewise.
1212 * cfgloop.c (alloc_loop): Likewise.
1213 (rescan_loop_exit): Likewise.
1215 * cfg.c (init_flow): Likewise.
1216 (alloc_block): Likewise.
1217 (unchecked_make_edge): Likewise.
1219 * c-parser.c (c_parse_init): Likewise.
1220 (c_parse_file): Likewise.
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.
1231 * bitmap.c (bitmap_element_allocate): Likewise.
1232 (bitmap_gc_alloc_stat): Likewise.
1234 * alias.c (record_alias_subset): Likewise.
1235 (init_alias_analysis): Likewise.
1237 2010-06-08 Shujing Zhao <pearly.zhao@oracle.com>
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.
1243 2010-06-08 Andrew Pinski <pinskia@gmail.com>
1244 Shujing Zhao <pearly.zhao@oracle.com>
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
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.
1256 2010-06-07 Nathan Froyd <froydnj@codesourcery.com>
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.
1272 2010-06-07 Jan Hubicka <jh@suse.cz>
1275 (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
1278 2010-06-07 Kaz Kojima <kkojima@gcc.gnu.org>
1280 * config/sh/sh.c (sh_build_builtin_va_list): Set tree type
1283 2010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1285 * doc/sourcebuild.texi (Effective-Target Keywords, Other
1286 attributes): Document gas.
1288 2010-06-07 Uros Bizjak <ubizjak@gmail.com>
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.
1297 (*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
1298 (ashift_zext lea splitter): Use DImode for multiplication.
1300 * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
1301 to generate addition.
1303 2010-06-07 Joseph Myers <joseph@codesourcery.com>
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
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.
1323 2010-06-07 Jan Hubicka <jh@suse.cz>
1325 * df-core.c (df_analyze_problem): Do verification after allocation.
1327 * df-problems.c (df_lr_problem_data): Add lr_bitmaps.
1328 (df_lr_alloc): Initialize problem data; move bitmaps to
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.
1335 2010-06-07 Jan Hubicka <jh@suse.cz>
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.
1352 2010-06-07 Kazu Hirata <kazu@codesourcery.com>
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.
1358 2010-06-07 Richard Guenther <rguenther@suse.de>
1360 * gimplify.c (gimplify_cleanup_point_expr): For empty body
1361 and EH-only cleanup drop the cleanup instead of inserting it
1364 2010-06-07 Ira Rosen <irar@il.ibm.com>
1366 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
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):
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.
1393 2010-06-06 Sriraman Tallam <tmsriram@google.com>
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
1401 2010-05-25 Jan Hubicka <jh@suse.cz>
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
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.
1421 2010-05-25 Dodji Seketeli <dodji@redhat.com>
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.
1438 2010-06-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
1441 * c-decl.c (grokdeclarator): Delete warning.
1443 2010-06-06 Eric Botcazou <ebotcazou@adacore.com>
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
1450 2010-06-06 Segher Boessenkool <segher@kernel.crashing.org>
1454 * genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
1455 endianness-independent.
1457 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
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.
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.
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/.
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
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.
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.
1519 * config/m32c/m32c-pragma.c
1521 * po/exgettext: Look in c-family/ also.
1523 2010-06-05 Eric Botcazou <ebotcazou@adacore.com>
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.
1530 2010-06-05 Jan Hubicka <jh@suse.cz>
1532 * basic-block.h (compute_dominance_frontiers): Updated.
1533 (compute_idf): Likewise.
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.
1545 2010-06-05 Anatoly Sokolov <aesok@post.ru>
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.
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.
1571 2010-06-05 Jan Hubicka <jh@suse.cz>
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.
1577 2010-06-05 Matthias Klose <doko@ubuntu.com>
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".
1584 2010-06-05 Jakub Jelinek <jakub@redhat.com>
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.
1591 2010-06-05 Jan Hubicka <jh@suse.cz>
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.
1607 2010-06-05 Joseph Myers <joseph@codesourcery.com>
1610 * c-typeck.c (build_unary_op): Merge qualifiers into pointer
1611 target type for ADDR_EXPR; require no changes to qualifiers except
1613 * c-tree.h (c_build_type_variant): Remove.
1615 2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
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.
1621 2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
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.
1631 2010-06-04 H.J. Lu <hongjiu.lu@intel.com>
1634 * df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
1635 (df_byte_lr_bb_local_compute): Likewise.
1637 2010-06-03 Jason Merrill <jason@redhat.com>
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.
1643 2010-06-04 Joseph Myers <joseph@codesourcery.com>
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
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
1657 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
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
1670 (*add<mode>_4) <default>: Ditto.
1671 (*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
1673 2010-06-04 Nathan Froyd <froydnj@codesourcery.com>
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.
1681 2010-06-04 Alexandre Oliva <aoliva@redhat.com>
1683 PR rtl-optimization/44013
1684 * sched-deps.c (add_dependence_list_and_free): Don't free lists
1685 when processing debug insns.
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.
1692 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
1694 * config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
1699 (*addqi_ext_1_rex64): Ditto.
1700 (*addqi_ext_1): Ditto.
1702 (*addqi_4): Check for incdec_operand in QImode.
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
1709 (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
1710 using SWI mode iterator.
1712 2010-06-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
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.
1727 2010-06-04 Kai Tietz <kai.tietz@onevision.com>
1729 * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
1731 2010-06-04 Jan Hubicka <jh@suse.cz>
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,
1768 df_md_top_dump, df_md_bottom_dump): Update.
1769 (struct df_lr_problem_data): Embedd bitmap headers.
1771 2010-06-04 Jan Hubicka <jh@suse.cz>
1773 * dce.c (dce_process_block): Do not re-scan already marked
1776 2010-06-04 Bernd Schmidt <bernds@codesourcery.com>
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
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.
1806 2010-06-04 Julian Brown <julian@codesourcery.com>
1808 * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
1811 2010-06-04 Richard Guenther <rguenther@suse.de>
1814 * cgraph.h (struct varpool_node): Add lto_file_data field.
1815 * lto-cgraph.c (input_varpool_node): Initialize it.
1817 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
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.
1829 2010-06-03 Jan Hubicka <jh@suse.cz>
1831 * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
1833 * cfganal.c (compute_dominance_frontiers_1): Likewise.
1835 2010-06-03 Jan Hubicka <jh@suse.cz>
1837 * df-problems.c (df_create_unused_note, df_note_bb_compute):
1838 micro-optimize the checks when to add new note.
1840 2010-06-03 Nathan Froyd <froydnj@codesourcery.com>
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.
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.
1877 2010-06-03 Richard Guenther <rguenther@suse.de>
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.
1884 2010-06-03 H.J. Lu <hongjiu.lu@intel.com>
1887 * defaults.h (MAX_FIXED_MODE_SIZE): New.
1889 * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
1891 2010-06-03 Jakub Jelinek <jakub@redhat.com>
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.
1898 2010-06-03 Jan Hubicka <jh@suse.cz>
1899 Jakub Jelinek <jakub@redhat.com>
1901 * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
1902 set->regs[i] is NULL or has just one entry.
1904 2010-06-03 Jan Hubicka <jh@suse.cz>
1906 * lto-cgraph.c (lto_varpool_encoder_size): Remove.
1907 * lto-streamer.h (lto_varpool_encoder_size): New inline function.
1909 2010-06-03 Paul Brook <paul@codesourcery.com>
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.
1920 2010-06-03 Alan Modra <amodra@gmail.com>
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.
1928 2010-06-02 Jan Hubicka <jh@suse.cz>
1930 * passes.c (init_optimization_passes): Put ipa reference
1931 after ipa pure-const.
1933 2010-06-02 Jan Hubicka <jh@suse.cz>
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.
1955 2010-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
1958 * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
1959 -mswdiv option. Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
1961 * doc/extend.texi (powerpc builtins): Document vec_recip,
1962 vec_rsqrt, vec_rsqrte altivec/vsx builtins.
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.
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
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
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.
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.
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.
2027 * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
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.
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.
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.
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
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.
2061 * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
2063 (rreg): New mode attribute for reciprocal estimate support.
2064 (recip<mode>3): New insn for division using reciprocal estimate
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.
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.
2079 (rsqrtdf_internal1): New function for frsqrte instruciton.
2081 * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
2084 2010-06-03 Richard Guenther <rguenther@suse.de>
2087 * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
2088 (set_user_assembler_libfunc): Likewise.
2090 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
2092 * mkconfig.sh: Include insn-flags.h and insn-constants.h before
2094 * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
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.
2106 2010-06-02 Kai Tietz <kai.tietz@onevision.com>
2108 * c-common.c: Remove header include of tm_p.h.
2109 * Makefile.in (c-common.o): Remove TM_P_H dependency.
2111 2010-06-02 Jakub Jelinek <jakub@redhat.com>
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.
2123 2010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2125 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
2127 * configure: Regenerate.
2128 * config.in: Regenerate.
2130 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
2131 (X86_64_EMULATION): Define.
2132 (TARGET_LD_EMULATION): Use them.
2134 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
2135 (SPARC64_EMULATION): Define.
2136 (LINK_ARCH_SPEC): Use them.
2138 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
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.
2144 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
2146 * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
2148 (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
2150 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
2153 * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
2154 return false instead.
2156 2010-06-02 Jan Hubicka <jh@suse.cz>
2159 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
2160 create new cgraph node to check callee.
2162 2010-06-02 Richard Guenther <rguenther@suse.de>
2164 * lto-streamer-in.c (input_gimple_stmt): Fix typo.
2166 2010-06-02 Richard Guenther <rguenther@suse.de>
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.
2176 2010-06-02 Richard Guenther <rguenther@suse.de>
2178 PR tree-optimization/44377
2179 * tree-ssa-structalias.c (find_func_aliases): Fix typo.
2181 2010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
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
2188 * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
2190 2010-06-02 Jan Hubicka <jh@suse.cz>
2192 * bitmap.c (bitmap_descriptor): Add search_iter.
2193 (bitmap_find_bit): Increment it.
2194 (print_statistics): Print it.
2196 2010-06-02 Nathan Froyd <froydnj@codesourcery.com>
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.
2201 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
2203 * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
2204 change from yesterday.
2206 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
2208 * c-ada-spec.c: Clean up redundant includes.
2210 2010-06-01 Steven Bosscher <steven@gcc.gnu.org>
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
2220 * tree-pretty-print.h: Include pretty-print.h.
2221 * gimple-pretty-print.h: Include pretty-print.h.
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
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
2297 * tree-inline.c: Do not include diagnostic.h and expr.h.
2299 (copy_decl_for_dup_finish): Do not use NULL_RTX.
2301 * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
2302 * tree-loop-distribution.c: Likewise.
2304 2010-06-01 Jan Hubicka <jh@suse.cz>
2306 * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
2308 2010-06-01 Jan Hubicka <jh@suse.cz>
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.
2316 2010-06-01 Jan Hubicka <jh@suse.cz>
2318 * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
2320 2010-06-01 Nathan Froyd <froydnj@codesourcery.com>
2322 * tree.h (build_nt_call_list): Delete.
2323 * tree.c (build_nt_call_list): Delete.
2325 2010-06-01 Jan Hubicka <jh@suse.cz>
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):
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.
2362 2010-06-01 Jan Hubicka <jh@suse.cz>
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
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.
2379 2010-06-01 Jan Hubicka <jh@suse.cz>
2381 * gegenrtl.c: Remove unnecesary prototypes.
2383 (gendef): Produce static inline.
2385 (main): Do not decode parameters; generate header only.
2386 * Makefile.in (genrtl.c): Remove.
2388 2010-06-01 Jan Hubicka <jh@suse.cz>
2390 * tree-switch-conversion.c (build_one_array): Make it readonly.
2392 2010-06-01 Richard Guenther <rguenther@suse.de>
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.
2399 2010-06-01 Arnaud Charlet <charlet@adacore.com>
2400 Matthew Gingell <gingell@adacore.com>
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
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.
2417 2010-06-01 Richard Guenther <rguenther@suse.de>
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.
2428 2010-06-01 Jan Hubicka <jh@suse.cz>
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.
2434 2010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
2436 * config/arm/t-linux-androideabi: New.
2437 * config.gcc (arm*-*-linux-androideabi): Include multilib config.
2439 2010-06-01 Jan Hubicka <jh@suse.cz>
2441 * tree-inline.c (estimate_num_insns): For stdarg functions look
2442 into call statement to count cost of argument passing.
2444 2010-06-01 Kai Tietz <kai.tietz@onevision.com>
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.
2454 2010-05-31 Jakub Jelinek <jakub@redhat.com>
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 &&
2467 2010-05-31 Jan Hubicka <jh@suse.cz>
2469 * tree.h (tree_range_check_failed): Declare noreturn.
2471 2010-05-31 Jan Hubicka <jh@suse.cz>
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
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.
2484 2010-05-31 Jakub Jelinek <jakub@redhat.com>
2487 * expr.c (expand_assignment): Don't store anything for out-of-bounds
2488 array accesses with non-MEM.
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.
2497 2010-05-31 Kai Tietz <kai.tietz@onevision.com>
2500 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
2502 2010-05-31 Eric Botcazou <ebotcazou@adacore.com>
2504 * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
2505 for nested functions in non-optimized compilation.
2507 2010-05-31 Richard Guenther <rguenther@suse.de>
2509 * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
2511 2010-05-30 Jan Hubicka <jh@suse.cz>
2513 * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
2515 2010-05-30 Richard Guenther <rguenther@suse.de>
2518 * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
2519 (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
2522 2010-05-30 Iain Sandoe <iains@gcc.gnu.org>
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.
2534 2010-05-30 Eric Botcazou <ebotcazou@adacore.com>
2536 * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
2537 RS6000_OUTPUT_BASENAME unconditionally.
2538 (rs6000_output_function_epilogue): Likewise.
2540 2010-05-30 Jan Hubicka <jh@suse.cz>
2542 * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
2545 2010-05-30 Richard Guenther <rguenther@suse.de>
2547 * tree-cfg.c (verify_gimple_assign_single): Implement
2548 verification for COND_EXPR rhs.
2550 2010-05-30 Jan Hubicka <jh@suse.cz>
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.
2556 2010-05-30 Jan Hubicka <jh@suse.cz>
2558 * dwarf2out.c (reference_to_unused,
2559 premark_types_used_by_global_vars_helper): Avoid creation of new
2562 2010-05-30 Jan Hubicka <jh@suse.cz>
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.
2574 2010-05-30 Jan Hubicka <jh@suse.cz>
2576 * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
2577 for tail call epilogues.
2579 2010-05-30 Jan Hubicka <jh@suse.cz>
2581 * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
2582 ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
2585 2010-05-29 Jan Hubicka <jh@suse.cz>
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
2591 2010-05-29 Jan Hubicka <jh@suse.cz>
2593 * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
2595 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2598 * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
2600 2010-05-29 Jan Hubicka <jh@suse.cz>
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):
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):
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):
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):
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):
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.
2704 2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
2707 * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
2708 Filter out insn-flags.h.
2710 2010-05-29 Jan Hubicka <jh@suse.cz>
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
2717 2010-05-29 Jan Hubicka <jh@suse.cz>
2720 * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
2722 2010-05-29 Richard Guenther <rguenther@suse.de>
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.
2729 2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
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.
2737 2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
2739 * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
2741 (predicate_bbs): Same.
2742 (clean_predicate_lists): Same.
2743 (find_phi_replacement_condition): Do not AND the predicate from
2746 2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
2749 * Makefile.in (build/gencondmd.o): Add a missing `\'.
2751 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2754 config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
2755 (negdf2): Adjust expander pattern and use negdf2_slow.
2758 2010-05-29 Nathan Froyd <froydnj@codesourcery.com>
2760 * basic-block.h (struct control_flow_graph): Move last_label_uid field
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.
2770 2010-05-29 Jan Hubicka <jh@suse.cz>
2772 * varpool.c (varpool_get_node): Fix lookup.
2774 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
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.
2781 * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
2783 2010-05-29 Mike Stump <mikestump@comcast.net>
2786 * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
2787 TM_H when building to avoid dependency loops.
2789 2010-05-29 Jan Hubicka <jh@suse.cz>
2791 * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
2792 refs and body; not the whole node for masters of materialized
2795 2010-05-29 Mike Stump <mikestump@comcast.net>
2797 * config/rs6000/rs6000-c.c: Remove c-tree.h include.
2799 2010-05-29 Jan Hubicka <jh@suse.cz>
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.
2815 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
2817 * vec.h: Include statistics.h
2818 * Makefile.in: Introduce VEC_H. Replace all vec.h dependencies
2821 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
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.
2830 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
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.
2841 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
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.
2847 2010-05-28 Mike Stump <mikestump@comcast.net>
2849 * config/darwin-c.c: Remove c-tree.h include.
2851 2010-05-28 Joseph Myers <joseph@codesourcery.com>
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,
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
2862 (input_filename): Rename to gcc_input_filename. All users
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.
2872 2010-05-28 Jeff Law <law@redhat.com>
2874 * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
2876 * ira.h (ira_bad_reload_regno): Declare
2877 * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
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.
2883 2010-05-28 Nathan Froyd <froydnj@codesourcery.com>
2885 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
2888 2010-05-28 Richard Guenther <rguenther@suse.de>
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
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
2900 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
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
2909 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
2912 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
2914 * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
2915 generate COND_EXPRs for degenerate_phi_result.
2917 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
2920 * tree-if-conv.c (if_convertible_loop_p): Check the
2921 if-convertibility of phi nodes in non predicated BBs.
2923 2010-05-28 Joseph Myers <joseph@codesourcery.com>
2925 * gcc.c (error, warning, inform): Remove duplicate ": " in output.
2927 2010-05-28 Joseph Myers <joseph@codesourcery.com>
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
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.
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
2952 2010-05-28 Julian Brown <julian@codesourcery.com>
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
2959 (*addsi3_compare0_scratch): Likewise.
2961 2010-05-28 Jan Hubicka <jh@suse.cz>
2963 * ipa-reference.c (add_static_var): Remove redundant all_module_statics
2965 (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
2966 only on local statics.
2968 2010-05-28 Iain Sandoe <iains@gcc.gnu.org>
2970 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
2972 2010-05-28 Maxim Kuvyrkov <maxim@codesourcery.com>
2975 * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
2976 (OPTION_GLIBC): Define.
2978 2010-05-28 Jakub Jelinek <jakub@redhat.com>
2981 * dwarf2out.c (double_int_type_size_in_bits): New function.
2982 (round_up_to_align): Change first argument and return value to
2984 (field_byte_offset): Work internally on double_ints.
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.
2992 2010-05-28 Joseph Myers <joseph@codesourcery.com>
2994 * final.c (rest_of_clean_state): Use %m in errors instead of
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
3000 * tree-dump.c (dump_begin): Use %m in errors instead of strerror
3003 2010-05-28 Uros Bizjak <ubizjak@gmail.com>
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.
3012 2010-05-28 Richard Guenther <rguenther@suse.de>
3014 * lto-wrapper.c (run_gcc): With -save-temps generate a
3015 user-visible ltrans filename. Fixup ltrans unit numbering.
3017 2010-05-28 Kai Tietz <kai.tietz@onevision.com>
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.
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.
3034 2010-05-28 Alan Modra <amodra@gmail.com>
3037 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
3038 emit_library_call machinery to set up __tls_get_addr calls.
3040 2010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3042 * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
3044 2010-05-28 Dodji Seketeli <dodji@redhat.com>
3046 Revert fix for PR c++/44188
3047 * c-common.c (is_typedef_decl): Revert the moving of this
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
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.
3064 2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
3066 * config/rs6000/rs6000-modes.def (PSImode): Delete.
3068 2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
3070 * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
3071 * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
3073 * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
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.
3083 2010-05-28 Jakub Jelinek <jakub@redhat.com>
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.
3093 2010-05-27 Sterling Augustine <sterling@tensilica.com>
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
3100 2010-05-27 Kai Tietz <kai.tietz@onevision.com>
3103 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
3104 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
3106 2010-05-27 Joseph Myers <joseph@codesourcery.com>
3108 * diagnostic-core.h: New. Contents moved from diagnostic.h and
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
3147 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
3148 * lto-compress.c: Include diagnostic-core.h instead of
3150 * lto-section-in.c: Include diagnostic-core.h instead of
3152 * lto-streamer-out.c: Include diagnostic-core.h instead of
3154 * lto-streamer.c: Include diagnostic-core.h instead of
3156 (gate_lto_out): Use seen_error.
3157 * matrix-reorg.c: Include diagnostic-core.h instead of
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
3169 * tree-optimize.c (gate_all_optimizations,
3170 gate_all_early_local_passes, gate_all_early_optimizations): Use
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.
3184 2010-05-25 Dodji Seketeli <dodji@redhat.com>
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.
3201 2010-05-27 Jason Merrill <jason@redhat.com>
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.
3208 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
3210 * gdbinit.in (pdd): New command.
3212 2010-05-27 Jan Hubicka <jh@suse.cz>
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.
3221 2010-05-27 Steven Bosscher <steven@gcc.gnu.org>
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.
3231 * c-common.c: Pretend to be a backend file by undefining
3232 IN_GCC_FRONTEND (still need rtl.h here).
3234 2010-05-27 Jan Hubicka <jh@suse.cz>
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.
3239 2010-05-27 Jan Hubicka <jh@suse.cz>
3241 * sched-ebb.c: Rename struct deps to struct deps_desc.
3243 * sel-sched-ir.c: Likewise.
3244 * sched-deps.c: Likewise.
3245 * sched-int.h: Likewise.
3246 * sched-rgn.c: Likewise.
3248 2010-05-27 Jon Beniston <jon@beniston.com>
3251 * config/lm32/lm32.h: Remove definition of
3252 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
3254 2010-05-27 Eric Botcazou <ebotcazou@adacore.com>
3257 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
3259 2010-05-27 Richard Guenther <rguenther@suse.de>
3261 PR tree-optimization/44284
3262 * tree-vect-stmts.c (vectorizable_assignment): Handle
3263 sign-changing conversions as simple copy.
3265 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
3267 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
3269 (__gthread_active_p): Check for pthread_create if compiling against
3272 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
3274 Support compilation for Android platform. Reimplement -mandroid.
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
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):
3296 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
3298 Add support for Bionic C library
3300 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
3302 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
3303 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
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):
3313 (TARGET_HAS_SINCOS): Enable for Bionic.
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.
3319 (mglibc, muclibc): Update.
3321 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
3322 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
3325 * doc/invoke.texi (-mglibc, -muclibc): Update.
3326 (-mbionic): Document.
3328 2010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
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.
3336 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
3337 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
3339 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
3340 Remove TARGET_ADDR_SPACE_KEYWORDS.
3342 2010-05-27 Joseph Myers <joseph@codesourcery.com>
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.
3352 2010-05-27 Richard Guenther <rguenther@suse.de>
3354 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
3355 for non-existant files.
3356 (fork_execute): Mark args_name file as deleted.
3358 2010-05-27 Kai Tietz <kai.tietz@onevision.com>
3361 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
3362 (narrow_signed_type): Likewise.
3364 2010-05-26 Jan Hubicka <jh@suse.cz>
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
3377 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
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.
3384 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
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.
3391 2010-05-26 Joseph Myers <joseph@codesourcery.com>
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.
3403 2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
3405 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
3406 pointer types if they have different alignment or mode.
3408 2010-05-26 Anatoly Sokolov <aesok@post.ru>
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.
3423 2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
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.
3431 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
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.
3438 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
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.
3449 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
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.
3458 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
3460 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
3461 than 2 predecessors or more than 2 successors.
3463 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
3465 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
3466 of loops in which the data dependence analysis fails.
3468 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
3470 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
3471 CDI_POST_DOMINATORS.
3472 (tree_if_conversion): Same.
3474 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
3476 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
3478 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
3480 * tree-if-conv.c: Update copyright years. Fix comments.
3483 2010-05-26 Kai Tietz <kai.tietz@onevision.com>
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.
3515 2010-05-26 Richard Guenther <rguenther@suse.de>
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.
3525 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
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.
3530 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3532 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
3534 2010-05-26 Richard Guenther <rguenther@suse.de>
3536 * opts.c (common_handle_option): Handle OPT_Ofast.
3538 2010-05-26 Joseph Myers <joseph@codesourcery.com>
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
3547 (diagnostic_report_diagnostic): Pass context parameter to
3548 diagnostic_report_warnings_p. Use option_enabled and option_name
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
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.
3574 2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
3576 * config/picochip/picochip.md (movsi): Split a movsi from a
3579 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
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.
3586 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3588 * ggc-common.c (ggc_free_overhead): Allow empty slot.
3590 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
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.
3599 2010-05-26 Richard Guenther <rguenther@suse.de>
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.
3608 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
3610 * c-typeck.c: Do not include expr.h.
3612 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
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
3626 2010-05-26 Jakub Jelinek <jakub@redhat.com>
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.
3634 2010-05-25 Eric Botcazou <ebotcazou@adacore.com>
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.
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.
3675 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
3677 * config/i386/i386-c.c: Do not include rtl.h.
3678 * config/i386/t-i386: Update dependencies.
3680 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
3682 * attribs.c: Do not include rtl.h.
3683 * Makefile.in: Update dependencies.
3685 2010-05-25 Anatoly Sokolov <aesok@post.ru>
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.
3691 2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3693 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
3694 stderr to /dev/null instead of grep -q.
3695 * configure: Regenerate.
3697 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
3699 * Makefile.in (EXCEPT_H): Fix typo.
3701 2010-05-25 Vladimir Makarov <vmakarov@redhat.com>
3703 * ira-build.c (update_conflict_hard_reg_costs): New.
3704 (ira_build): Call update_conflict_hard_reg_costs.
3706 2010-05-25 Jakub Jelinek <jakub@redhat.com>
3709 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
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.
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.
3723 2010-05-25 Richard Guenther <rguenther@suse.de>
3726 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
3727 out-of-bounds array accesses.
3729 2010-05-25 Richard Guenther <rguenther@suse.de>
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.
3735 2010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3737 * config/s390/s390.c (optimization_options): Fix and move the
3738 flag_prefetch_loop_arrays override ...
3739 (override_options): ... here.
3741 2010-05-25 Joseph Myers <joseph@codesourcery.com>
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.
3754 2010-05-25 Iain Sandoe <iains@gcc.gnu.org>
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,
3761 2010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
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
3769 2010-05-25 Richard Guenther <rguenther@suse.de>
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.
3778 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
3780 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
3781 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
3783 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
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.
3791 2010-05-25 Jakub Jelinek <jakub@redhat.com>
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.
3797 2010-05-25 Wei Guozhi <carrot@google.com>
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.
3803 2010-05-24 Sebastian Pop <sebastian.pop@amd.com>
3805 * function.c (assign_stack_local_1): Initialize variable
3806 to avoid warning when bootstrapping at -O3.
3808 2010-05-24 Steven Bosscher <steven@gcc.gnu.org>
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.
3815 2010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
3816 Sandra Loosemore <sandra@codesourcery.com>
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.
3823 2010-05-24 Joseph Myers <joseph@codesourcery.com>
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.
3841 * toplev.c (process_options): Set flags in global_dc from
3842 flag_show_column, flag_pedantic_errors, flag_permissive,
3844 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
3845 to diagnostic_build_prefix.
3846 * Makefile.in (diagnostic.o): Update dependencies.
3848 2010-05-24 H.J. Lu <hongjiu.lu@intel.com>
3850 * config/i386/ia32intrin.h (__crc32q): Define only if
3851 __SSE4_2__ is defined.
3853 2010-05-24 Iain Sandoe <iains@gcc.gnu.org>
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 ().
3866 2010-05-24 Daniel Gutson <dgutson@codesourcery.com>
3868 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
3869 added to the preprocessor condition.
3871 2010-05-24 Paul Brook <paul@codesourcery.com>
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.
3880 2010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3882 * doc/makefile.texi (Makefile): Mention stages 'profile'
3883 and 'feedback' for profiledbootstrap.
3885 2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
3888 * config/i386/i386.c (def_builtin): Properly check
3889 OPTION_MASK_ISA_64BIT.
3891 2010-05-23 Joseph Myers <joseph@codesourcery.com>
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
3902 (comptypes_check_different_types): New.
3903 * c-tree.h (comptypes_check_different_types): Declare.
3905 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
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.
3918 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3924 2010-05-23 Anatoly Sokolov <aesok@post.ru>
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):
3933 2010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
3936 * config/i386/i386.c: Make sure that the correct regparm is passed.
3938 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
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.
3947 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
3949 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
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
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.
3972 (mark_elimination): Update type of r to bitmap, consistent with
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.
3987 2010-05-22 Jan Hubicka <jh@suse.cz>