12014-11-19  David Malcolm  <dmalcolm@redhat.com>
2
3	* gimple.h (struct gimple_statement_structure): Remove stray
4	newline.
5
62014-11-19  David Malcolm  <dmalcolm@redhat.com>
7
8	* gimple.c (gimple_build_assign_with_ops): Strengthen return type
9	of new overload, from gimple to gassign *.
10
112014-11-18  David Malcolm  <dmalcolm@redhat.com>
12
13	* cgraphbuild.c (pass_build_cgraph_edges::execute): Fix linebreak
14	at assignment statement.
15	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
16	Likewise.
17	* gimple-ssa-strength-reduction.c (replace_one_candidate): Likewise.
18	* gimple-walk.c (walk_gimple_stmt): Likewise.
19	* gimple.c (gimple_build_return): Likewise.
20	(gimple_build_call_1): Likewise.
21	(gimple_build_call_internal_1): Likewise.
22	(gimple_build_label): Likewise.
23	(gimple_build_goto): Likewise.
24	(gimple_build_eh_filter): Likewise.
25	(gimple_build_eh_must_not_throw): Likewise.
26	(gimple_build_resx): Likewise.
27	(gimple_build_switch_nlabels): Likewise.
28	(gimple_build_eh_dispatch): Likewise.
29	(gimple_build_debug_bind_stat): Likewise.
30	(gimple_build_debug_source_bind_stat): Likewise.
31	(gimple_build_omp_critical): Likewise.
32	(gimple_build_omp_parallel): Likewise.
33	(gimple_build_omp_task): Likewise.
34	(gimple_build_omp_continue): Likewise.
35	(gimple_build_omp_sections): Likewise.
36	(gimple_build_omp_single): Likewise.
37	(gimple_build_omp_target): Likewise.
38	(gimple_build_omp_teams): Likewise.
39	(gimple_build_omp_atomic_load): Likewise.
40	(gimple_build_omp_atomic_store): Likewise.
41	(gimple_build_transaction): Likewise.
42	(gimple_copy): Likewise.
43	* gimple.h (gimple_call_fntype): Likewise.
44	(gimple_eh_filter_types): Likewise.
45	(gimple_eh_filter_types_ptr): Likewise.
46	(gimple_eh_filter_failure_ptr
47	(gimple_phi_capacity): Likewise.
48	(gimple_phi_num_args): Likewise.
49	(gimple_phi_result): Likewise.
50	(gimple_omp_for_clauses): Likewise.
51	(gimple_omp_for_clauses_ptr): Likewise.
52	(gimple_omp_for_set_clauses): Likewise.
53	(gimple_omp_for_collapse): Likewise.
54	(gimple_omp_for_index): Likewise.
55	(gimple_omp_for_index_ptr): Likewise.
56	(gimple_omp_for_set_index): Likewise.
57	(gimple_omp_for_initial): Likewise.
58	(gimple_omp_for_initial_ptr): Likewise.
59	(gimple_omp_for_set_initial): Likewise.
60	(gimple_omp_for_final): Likewise.
61	(gimple_omp_for_final_ptr): Likewise.
62	(gimple_omp_for_set_final): Likewise.
63	(gimple_omp_for_incr): Likewise.
64	(gimple_omp_for_incr_ptr): Likewise.
65	(gimple_omp_for_set_incr): Likewise.
66	(gimple_omp_for_pre_body_ptr): Likewise.
67	(gimple_omp_for_set_pre_body): Likewise.
68	(gimple_omp_parallel_clauses): Likewise.
69	(gimple_omp_task_clauses): Likewise.
70	(gimple_omp_task_clauses_ptr): Likewise.
71	(gimple_omp_task_set_clauses): Likewise.
72	(gimple_omp_task_child_fn): Likewise.
73	(gimple_omp_task_child_fn_ptr): Likewise.
74	(gimple_omp_task_set_child_fn): Likewise.
75	(gimple_omp_task_data_arg): Likewise.
76	(gimple_omp_task_data_arg_ptr): Likewise.
77	(gimple_omp_task_set_data_arg): Likewise.
78	(gimple_omp_taskreg_clauses): Likewise.
79	(gimple_omp_taskreg_clauses_ptr): Likewise.
80	(gimple_omp_taskreg_set_clauses): Likewise.
81	(gimple_omp_taskreg_child_fn): Likewise.
82	(gimple_omp_taskreg_child_fn_ptr): Likewise.
83	(gimple_omp_taskreg_set_child_fn): Likewise.
84	(gimple_omp_taskreg_data_arg): Likewise.
85	(gimple_omp_taskreg_data_arg_ptr): Likewise.
86	(gimple_omp_taskreg_set_data_arg): Likewise.
87	(gimple_omp_task_copy_fn): Likewise.
88	(gimple_omp_task_copy_fn_ptr): Likewise.
89	(gimple_omp_task_set_copy_fn): Likewise.
90	(gimple_omp_task_arg_size): Likewise.
91	(gimple_omp_task_arg_size_ptr): Likewise.
92	(gimple_omp_task_set_arg_size): Likewise.
93	(gimple_omp_task_arg_align): Likewise.
94	(gimple_omp_task_arg_align_ptr): Likewise.
95	(gimple_omp_task_set_arg_align): Likewise.
96	(gimple_omp_single_clauses): Likewise.
97	(gimple_omp_single_clauses_ptr): Likewise.
98	(gimple_omp_target_clauses): Likewise.
99	(gimple_omp_target_clauses_ptr): Likewise.
100	(gimple_omp_teams_clauses): Likewise.
101	(gimple_omp_teams_clauses_ptr): Likewise.
102	(gimple_omp_sections_clauses): Likewise.
103	(gimple_omp_sections_clauses_ptr): Likewise.
104	(gimple_omp_sections_set_clauses): Likewise.
105	(gimple_omp_sections_control): Likewise.
106	(gimple_omp_sections_control_ptr): Likewise.
107	(gimple_omp_sections_set_control): Likewise.
108	(gimple_omp_for_set_cond): Likewise.
109	(gimple_omp_for_cond): Likewise.
110	* graphite-sese-to-poly.c (follow_ssa_with_commutative_ops): Likewise.
111	(detect_commutative_reduction_assign): Likewise.
112	* ipa-split.c (verify_non_ssa_vars): Likewise.
113	(split_function): Likewise.
114	* omp-low.c (check_omp_nesting_restrictions): Likewise.
115	(remove_exit_barrier): Likewise.
116	(expand_omp_for_generic): Likewise.
117	(expand_omp_for_static_nochunk): Likewise.
118	(expand_omp_for_static_chunk): Likewise.
119	(expand_omp_atomic
120	(lower_omp_for): Likewise.
121	(lower_omp_taskreg): Likewise.
122	* predict.c (tree_estimate_probability_bb): Likewise.
123	* trans-mem.c (propagate_tm_flags_out): Likewise.
124	(execute_tm_mark): Likewise.
125	* tree-cfg.c (make_edges): Likewise.
126	* tree-inline.c (remap_gimple_stmt): Likewise.
127	(estimate_num_insns): Likewise.
128	* tree-sra.c (init_subtree_with_zero): Likewise.
129	(sra_modify_expr): Likewise.
130	* tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
131	* tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
132	* tree-ssa-math-opts.c (build_and_insert_cast): Likewise.
133	(pass_cse_sincos::execute): Likewise.
134	* tree-ssa-pre.c (do_regular_insertion): Likewise.
135	(eliminate_insert): Likewise.
136	* tree-ssa-reassoc.c (update_ops): Likewise.
137	* tree-ssa-tail-merge.c (same_succ_hash): Likewise.
138	* tree-tailcall.c (static): Likewise.
139	* tree-vrp.c (simplify_truth_ops_using_ranges): Likewise.
140
1412014-11-14  David Malcolm  <dmalcolm@redhat.com>
142
143	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee):
144	Strengthen locals "dbndret" and "ibndret" from gimple to gcall *.
145	* gimple-iterator.c (gsi_for_phi): New function.
146	* gimple-iterator.h (gsi_for_phi): New prototype.
147	* internal-fn.c (expand_ADD_OVERFLOW): Strengthen param "stmt"
148	from gimple to gcall *.
149	(expand_SUB_OVERFLOW): Likewise.
150	(expand_MUL_OVERFLOW): Likewise.
151	* ipa-icf-gimple.c (func_checker::compare_bb): Add checked casts
152	within case GIMPLE_CALL.
153	(func_checker::compare_gimple_call): Strengthen params from gimple
154	to gcall *.
155	* ipa-icf-gimple.h (func_checker::compare_gimple_call): Likewise.
156	* sanopt.c (sanopt_optimize_walker): Replace check for GIMPLE_ASM
157	with a dyn_cast, introducing local "asm_stmt" and using it in
158	place of "stmt" for typesafety.
159	* tree-chkp.c (chkp_recompute_phi_bounds): Strengthen locals
160	"bounds_phi" and "ptr_phi" from gimple to gphi *.
161	(chkp_add_bounds_to_ret_stmt): Strengthen local "ret" from gimple
162	to greturn *.
163	(chkp_add_bounds_to_call_stmt): Strengthen locals "call" and
164	"new_call" from gimple to gcall *.
165	(chkp_build_returned_bound): Likewise for param "call".
166	(chkp_retbnd_call_by_val): Likewise for return type.
167	(chkp_get_bounds_by_definition): Strengthen param "iter" from
168	gimple_stmt_iterator * to gphi_iterator *.  Add a checked cast
169	within case GIMPLE_CALL.  Use gsi_for_phi rather than
170	gsi_for_stmt.
171	(chkp_find_bounds_1): Strengthen local "phi_iter" from
172	gimple_stmt_iterator to gphi_iterator.  Replace check for
173	GIMPLE_PHI with a dyn_cast, introducing local "def_phi" and using
174	in place of "def_stmt" for typesafety.
175	(chkp_copy_bounds_for_assign): Add checked cast.
176	(chkp_instrument_function): Within case GIMPLE_RETURN, add local
177	greturn * "r" from a checked cast and use in place of "s" for
178	typesafety.
179	* tree-chkp.h (chkp_retbnd_call_by_val): Strengthen return type
180	from gimple to gcall *.
181	* tree-inline.c (copy_bb): Update for renaming of field
182	"gimple_call" to "call_stmt" on the gimple-classes branch.
183	(expand_call_inline): Strengthen local "retbnc" from gimple to
184	gcall *.
185	* tree-ssa-forwprop.c (pass_forwprop::execute): Replace check for
186	GIMPLE_COND with a dyn_cast, introducing local "cond" and using
187	in place of "stmt" for typesafety.
188	* value-prof.c (gimple_ic): Strengthen local "iretbnd_stmt" from
189	gimple to gcall *.  Weaken top-level local "psi" from
190	gphi_iterator back to gimple_stmt_iterator, reintroducing the
191	name as a phi_iterator within the for loop that needs it.
192
1932014-10-28  David Malcolm  <dmalcolm@redhat.com>
194
195	* auto-profile.c (autofdo::function_instance::find_icall_target_map):
196	Strengthen param "stmt" from gimple to gcall *.
197	(autofdo::autofdo_source_profile::update_inlined_ind_target):
198	Likewise.
199	(autofdo::afdo_indirect_call): Rename local gimple "stmt" to "gs",
200	reintroducing "stmt" as a gcall * via a dyn_cast once we've
201	established that we have a GIMPLE_CALL.
202	(autofdo::afdo_set_bb_count): Use a gphi_iterator for the phi
203	iteration, renaming it from "gsi" to "gpi", strengthening
204	local "phi" from gimple to gphi *.
205	(autofdo::afdo_propagate_circuit): Rename local gimple "phi_stmt"
206	to "def_stmt".  Reintroduce "phi_stmt" as a gphi * via a dyn_cast
207	once we know we have a GIMPLE_PHI.
208	(autofdo::afdo_vpt_for_early_inline): Strengthen local "stmt" from
209	gimple to gcall *, using a dyn_cast.
210	* gimple-fold.c (replace_stmt_with_simplification): Replace check
211	against GIMPLE_COND with a dyn_cast <gcond *>, introducing local
212	"cond_stmt".  Use "cond_stmt" in place of "stmt" for typesafety.
213	* gimple-iterator.h (gsi_next_nonvirtual_phi): Strengthen param
214	from gimple_stmt_iterator * to gphi_iterator *, and local "phi"
215	from gimple to gphi *.
216	* ipa-icf-gimple.c (ipa_icf_gimple::func_checker::parse_labels):
217	Replace check against GIMPLE_LABEL with a dyn_cast <glabel *>,
218	introducing local "label_stmt".  Use it in place of "stmt" for
219	typesafety.
220	(ipa_icf_gimple::func_checker::compare_bb): Add checked casts
221	to appropriate gimple subclasses when invoking comparison methods
222	within the cases for GIMPLE_SWITCH, GIMPLE_RESX, GIMPLE_LABEL,
223	GIMPLE_RETURN, GIMPLE_ASM.
224	(ipa_icf_gimple::func_checker::compare_gimple_label): Strengthen
225	both params from gimple to const glabel *.
226	(ipa_icf_gimple::func_checker::compare_gimple_switch): Strengthen
227	both params from gimple to const gswitch *.
228	(ipa_icf_gimple::func_checker::compare_gimple_return): Strengthen
229	both params from gimple to const greturn *.
230	(ipa_icf_gimple::func_checker::compare_gimple_resx): Strengthen
231	both params from gimple to const gresx *.
232	(ipa_icf_gimple::func_checker::compare_gimple_asm): Strengthen
233	both params from gimple to const gasm *.
234	* ipa-icf-gimple.h (ipa_icf_gimple::func_checker::compare_gimple_label):
235	Strengthen both params from gimple to const glabel *.
236	(ipa_icf_gimple::func_checker::compare_gimple_switch): Strengthen
237	both params from gimple to const gswitch *.
238	(ipa_icf_gimple::func_checker::compare_gimple_return): Strengthen
239	both params from gimple to const greturn *.
240	(ipa_icf_gimple::func_checker::compare_gimple_resx): Strengthen
241	both params from gimple to const gresx *.
242	(ipa_icf_gimple::func_checker::compare_gimple_asm): Strengthen
243	both params from gimple to const gasm *.
244	* ipa-icf.c (ipa_icf_gimple::sem_function::compare_phi_node):
245	Strengthen locals "si1" and "si2" from gimple_stmt_iterator to
246	gphi_iterator, and locals "phi1" and "phi2" from gimple to gphi *.
247	* tree-ssa-forwprop.c (fold_all_stmts): Replace check against
248	GIMPLE_COND with a dyn_cast <gcond *>, introducing local
249	"cond_stmt".  Use "cond_stmt" in place of "stmt" for typesafety.
250	* tree-ssa-reassoc.c (branch_fixup): Strengthen local "phi" from
251	gimple to gphi *.
252
2532014-10-27  David Malcolm  <dmalcolm@redhat.com>
254
255	* doc/gimple.texi (Class hierarchy of GIMPLE statements): Update
256	to reflect the new gimple subclasses and the renamings of existing
257	classes.
258
2592014-10-27  David Malcolm  <dmalcolm@redhat.com>
260
261	* gimple.h (struct gdebug): Remove out-of-date references to
262	typedefs.
263	(struct ggoto): Likewise.
264	(struct glabel): Likewise.
265
2662014-10-27  David Malcolm  <dmalcolm@redhat.com>
267
268	Patch autogenerated by rename_gimple_subclasses.py from
269	https://github.com/davidmalcolm/gcc-refactoring-scripts
270	revision 7d754b63ff2bf47226a67b2c0af5d74b54d4709f
271
272	* asan.c (get_mem_ref_of_assignment): Rename gimple subclass types.
273	(instrument_strlen_call): Likewise.
274	(instrument_builtin_call): Likewise.
275	(has_mem_ref_been_instrumented): Likewise.
276	(has_stmt_been_instrumented_p): Likewise.
277	(create_cond_insert_point): Likewise.
278	(asan_expand_check_ifn): Likewise.
279	* builtins.c (validate_arg): Likewise.
280	(do_mpc_arg2): Likewise.
281	* builtins.h (validate_gimple_arglist): Likewise.
282	(fold_call_stmt): Likewise.
283	* cfgexpand.c (mark_transaction_restart_calls): Likewise.
284	(expand_gimple_stmt): Likewise.
285	(expand_asm_operands): Likewise.
286	(label_rtx_for_bb): Likewise.
287	(expand_gimple_stmt_1): Likewise.
288	(maybe_cleanup_end_of_block): Likewise.
289	(expand_gimple_basic_block): Likewise.
290	* cfgloop.c (find_subloop_latch_edge_by_ivs): Likewise.
291	* cfgloopmanip.c (create_empty_if_region_on_edge): Likewise.
292	(create_empty_loop_on_edge): Likewise.
293	* cgraph.c (cgraph_add_edge_to_call_site_hash): Likewise.
294	(cgraph_allocate_init_indirect_info): Likewise.
295	(cgraph_set_edge_callee): Likewise.
296	(cgraph_update_edges_for_call_stmt_node): Likewise.
297	* cgraph.h (set_call_stmt_including_clones): Likewise.
298	(create_indirect_edge): Likewise.
299	(create_edge_including_clones): Likewise.
300	(set_call_stmt): Likewise.
301	(redirect_call_stmt_to_callee): Likewise.
302	(rebuild_references): Likewise.
303	(create_edge): Likewise.
304	* cgraphbuild.c (mark_store): Likewise.
305	(record_references_in_initializer): Likewise.
306	* cgraphclones.c (function): Likewise.
307	(clone_function_name): Likewise.
308	* cgraphunit.c (thunk_adjust): Likewise.
309	* coretypes.h: Likewise.
310	* expr.h (expand_normal): Likewise.
311	* gimple-builder.c (get_expr_type): Likewise.
312	(build_assign): Likewise.
313	(build_type_cast): Likewise.
314	* gimple-builder.h (build_assign): Likewise.
315	(build_type_cast): Likewise.
316	* gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise.
317	(gimple_fold_builtin_sprintf_chk): Likewise.
318	(gimple_fold_builtin_snprintf): Likewise.
319	(gimple_fold_builtin): Likewise.
320	(gimple_fold_call): Likewise.
321	(gimple_fold_stmt_to_constant_1): Likewise.
322	(fold_gimple_assign): Likewise.
323	(fold_stmt_1): Likewise.
324	* gimple-iterator.c (gsi_commit_one_edge_insert): Likewise.
325	(gsi_start_phis): Likewise.
326	* gimple-iterator.h (gsi_commit_one_edge_insert): Likewise.
327	(gimple_phi_iterator::phi): Likewise.
328	* gimple-low.c (lower_try_catch): Likewise.
329	(gimple_try_catch_may_fallthru): Likewise.
330	(lower_gimple_bind): Likewise.
331	(gimple_stmt_may_fallthru): Likewise.
332	(struct return_statements_t): Likewise.
333	(lower_gimple_return): Likewise.
334	(lower_stmt): Likewise.
335	* gimple-pretty-print.c (dump_gimple_omp_target): Likewise.
336	(dump_gimple_omp_single): Likewise.
337	(dump_gimple_omp_continue): Likewise.
338	(dump_gimple_omp_teams): Likewise.
339	(dump_gimple_omp_parallel): Likewise.
340	(dump_gimple_phi): Likewise.
341	(dump_gimple_debug): Likewise.
342	(dump_gimple_omp_block): Likewise.
343	(dump_gimple_omp_for): Likewise.
344	(dump_gimple_omp_atomic_load): Likewise.
345	(dump_gimple_omp_task): Likewise.
346	(dump_gimple_bind): Likewise.
347	(dump_ssaname_info): Likewise.
348	(dump_phi_nodes): Likewise.
349	(gimple_dump_bb_for_graph): Likewise.
350	(dump_gimple_resx): Likewise.
351	(dump_gimple_eh_else): Likewise.
352	(dump_gimple_eh_must_not_throw): Likewise.
353	(dump_gimple_eh_filter): Likewise.
354	(dump_gimple_catch): Likewise.
355	(dump_gimple_try): Likewise.
356	(dump_gimple_goto): Likewise.
357	(dump_gimple_assign): Likewise.
358	(dump_gimple_omp_return): Likewise.
359	(dump_gimple_return): Likewise.
360	(pp_points_to_solution): Likewise.
361	(dump_gimple_transaction): Likewise.
362	(dump_gimple_fmt): Likewise.
363	(dump_unary_rhs): Likewise.
364	(dump_binary_rhs): Likewise.
365	(dump_ternary_rhs): Likewise.
366	(dump_gimple_call): Likewise.
367	(dump_gimple_cond): Likewise.
368	(pp_cfg_jump): Likewise.
369	(dump_gimple_label): Likewise.
370	(dump_gimple_eh_dispatch): Likewise.
371	(dump_gimple_switch): Likewise.
372	(pp_gimple_stmt_1): Likewise.
373	* gimple-ssa-isolate-paths.c (isolate_path): Likewise.
374	(find_implicit_erroneous_behaviour): Likewise.
375	(find_explicit_erroneous_behaviour): Likewise.
376	(insert_trap_and_remove_trailing_statements): Likewise.
377	* gimple-ssa-strength-reduction.c (slsr_process_copy): Likewise.
378	(add_cand_for_stmt): Likewise.
379	(create_phi_basis): Likewise.
380	(ncd_for_two_cands): Likewise.
381	(ncd_with_phi): Likewise.
382	(ncd_of_cand_and_phis): Likewise.
383	(replace_mult_candidate): Likewise.
384	(create_add_on_incoming_edge): Likewise.
385	(insert_initializers): Likewise.
386	(introduce_cast_before_cand): Likewise.
387	(replace_one_candidate): Likewise.
388	* gimple-streamer-in.c (input_phi): Likewise.
389	(input_gimple_stmt): Likewise.
390	* gimple-streamer-out.c (output_phi): Likewise.
391	(output_bb): Likewise.
392	(output_gimple_stmt): Likewise.
393	* gimple-walk.c (walk_gimple_stmt): Likewise.
394	(walk_gimple_seq): Likewise.
395	(walk_gimple_op): Likewise.
396	(walk_stmt_load_store_addr_ops): Likewise.
397	* gimple.c (gimple_build_omp_target): Likewise.
398	(gimple_build_omp_sections_switch): Likewise.
399	(gimple_build_omp_single): Likewise.
400	(gimple_build_omp_return): Likewise.
401	(gimple_build_omp_sections): Likewise.
402	(gimple_build_omp_task): Likewise.
403	(gimple_build_omp_parallel): Likewise.
404	(gimple_build_omp_for): Likewise.
405	(gimple_build_omp_critical): Likewise.
406	(gimple_build_omp_taskgroup): Likewise.
407	(gimple_build_omp_continue): Likewise.
408	(gimple_build_omp_teams): Likewise.
409	(gimple_build_omp_atomic_load): Likewise.
410	(gimple_build_try): Likewise.
411	(gimple_build_wce): Likewise.
412	(gimple_build_eh_else): Likewise.
413	(gimple_build_eh_must_not_throw): Likewise.
414	(gimple_build_eh_filter): Likewise.
415	(gimple_build_catch): Likewise.
416	(gimple_build_nop): Likewise.
417	(empty_stmt_p): Likewise.
418	(gimple_build_with_ops_stat): Likewise.
419	(infer_nonnull_range): Likewise.
420	(gimple_build_omp_atomic_store): Likewise.
421	(gimple_build_transaction): Likewise.
422	(gimple_copy): Likewise.
423	(gimple_call_flags): Likewise.
424	(gimple_call_fnspec): Likewise.
425	(gimple_call_arg_flags): Likewise.
426	(gimple_build_return): Likewise.
427	(gimple_call_reset_alias_info): Likewise.
428	(gimple_build_call_1): Likewise.
429	(gimple_build_call_vec): Likewise.
430	(gimple_build_call): Likewise.
431	(gimple_build_call_valist): Likewise.
432	(gimple_build_call_internal_1): Likewise.
433	(gimple_build_call_internal): Likewise.
434	(gimple_build_call_internal_vec): Likewise.
435	(canonicalize_cond_expr_cond): Likewise.
436	(gimple_call_copy_skip_args): Likewise.
437	(gimple_has_side_effects): Likewise.
438	(gimple_call_builtin_p): Likewise.
439	(gimple_build_bind): Likewise.
440	(gimple_build_asm_vec): Likewise.
441	(gimple_could_trap_p_1): Likewise.
442	(gimple_build_asm_1): Likewise.
443	(gimple_build_call_from_tree): Likewise.
444	(gimple_build_assign_stat): Likewise.
445	(gimple_build_resx): Likewise.
446	(gimple_build_switch_nlabels): Likewise.
447	(gimple_build_switch): Likewise.
448	(gimple_cond_set_condition_from_tree): Likewise.
449	(gimple_set_bb): Likewise.
450	(gimple_build_label): Likewise.
451	(gimple_build_goto): Likewise.
452	(gimple_build_eh_dispatch): Likewise.
453	(gimple_build_debug_bind_stat): Likewise.
454	(gimple_build_debug_source_bind_stat): Likewise.
455	(gimple_build_assign_with_ops): Likewise.
456	(gimple_build_cond): Likewise.
457	(gimple_build_cond_from_tree): Likewise.
458	* gimple.h (gimple_build_omp_target): Likewise.
459	(gimple_omp_teams_clauses): Likewise.
460	(gimple_omp_teams_clauses_ptr): Likewise.
461	(gimple_omp_target_set_kind): Likewise.
462	(gimple_omp_target_set_child_fn): Likewise.
463	(gimple_build_omp_single): Likewise.
464	(gimple_omp_target_kind): Likewise.
465	(gimple_omp_target_child_fn): Likewise.
466	(gimple_omp_target_child_fn_ptr): Likewise.
467	(gimple_omp_target_data_arg): Likewise.
468	(gimple_omp_target_data_arg_ptr): Likewise.
469	(gimple_omp_target_clauses): Likewise.
470	(gimple_omp_target_clauses_ptr): Likewise.
471	(gimple_build_omp_sections_switch): Likewise.
472	(gimple_omp_single_clauses): Likewise.
473	(gimple_omp_single_clauses_ptr): Likewise.
474	(gimple_build_omp_return): Likewise.
475	(gimple_omp_sections_clauses): Likewise.
476	(gimple_omp_sections_clauses_ptr): Likewise.
477	(gimple_omp_sections_set_clauses): Likewise.
478	(gimple_omp_sections_control): Likewise.
479	(gimple_omp_sections_control_ptr): Likewise.
480	(gimple_omp_sections_set_control): Likewise.
481	(gimple_build_omp_parallel): Likewise.
482	(gimple_omp_task_clauses): Likewise.
483	(gimple_omp_task_clauses_ptr): Likewise.
484	(gimple_omp_task_set_clauses): Likewise.
485	(gimple_omp_task_child_fn): Likewise.
486	(gimple_omp_task_child_fn_ptr): Likewise.
487	(gimple_omp_task_set_child_fn): Likewise.
488	(gimple_omp_task_data_arg): Likewise.
489	(gimple_omp_task_data_arg_ptr): Likewise.
490	(gimple_omp_task_set_data_arg): Likewise.
491	(gimple_omp_task_copy_fn): Likewise.
492	(gimple_omp_task_copy_fn_ptr): Likewise.
493	(gimple_omp_task_set_copy_fn): Likewise.
494	(gimple_omp_task_arg_size): Likewise.
495	(gimple_omp_task_arg_size_ptr): Likewise.
496	(gimple_omp_task_set_arg_size): Likewise.
497	(gimple_omp_task_arg_align): Likewise.
498	(gimple_omp_task_arg_align_ptr): Likewise.
499	(gimple_omp_task_set_arg_align): Likewise.
500	(gimple_omp_parallel_set_clauses): Likewise.
501	(gimple_omp_parallel_set_child_fn): Likewise.
502	(gimple_build_omp_for): Likewise.
503	(gimple_omp_parallel_clauses_ptr): Likewise.
504	(gimple_omp_parallel_child_fn): Likewise.
505	(gimple_omp_parallel_child_fn_ptr): Likewise.
506	(gimple_omp_parallel_data_arg): Likewise.
507	(gimple_omp_parallel_data_arg_ptr): Likewise.
508	(gimple_omp_parallel_clauses): Likewise.
509	(gimple_build_omp_critical): Likewise.
510	(gimple_omp_for_kind): Likewise.
511	(gimple_omp_for_combined_p): Likewise.
512	(gimple_omp_for_combined_into_p): Likewise.
513	(gimple_omp_for_clauses): Likewise.
514	(gimple_omp_for_clauses_ptr): Likewise.
515	(gimple_omp_for_set_clauses): Likewise.
516	(gimple_omp_for_collapse): Likewise.
517	(gimple_omp_for_index): Likewise.
518	(gimple_omp_for_index_ptr): Likewise.
519	(gimple_omp_for_set_index): Likewise.
520	(gimple_omp_for_initial): Likewise.
521	(gimple_omp_for_initial_ptr): Likewise.
522	(gimple_omp_for_set_initial): Likewise.
523	(gimple_omp_for_final): Likewise.
524	(gimple_omp_for_final_ptr): Likewise.
525	(gimple_omp_for_set_final): Likewise.
526	(gimple_omp_for_incr): Likewise.
527	(gimple_omp_for_incr_ptr): Likewise.
528	(gimple_omp_for_set_incr): Likewise.
529	(gimple_omp_for_pre_body_ptr): Likewise.
530	(gimple_omp_for_set_pre_body): Likewise.
531	(gimple_omp_for_set_cond): Likewise.
532	(gimple_omp_set_body): Likewise.
533	(gimple_build_debug_source_bind_stat): Likewise.
534	(gimple_omp_critical_name): Likewise.
535	(gimple_omp_critical_name_ptr): Likewise.
536	(gimple_omp_atomic_load_rhs_ptr): Likewise.
537	(gimple_omp_continue_set_control_def): Likewise.
538	(gimple_build_omp_taskgroup): Likewise.
539	(gimple_omp_continue_control_def): Likewise.
540	(gimple_omp_continue_control_def_ptr): Likewise.
541	(gimple_omp_continue_control_use): Likewise.
542	(gimple_omp_continue_control_use_ptr): Likewise.
543	(gimple_omp_atomic_store_set_val): Likewise.
544	(gimple_build_omp_atomic_load): Likewise.
545	(gimple_omp_for_cond): Likewise.
546	(gimple_omp_atomic_store_val): Likewise.
547	(gimple_omp_atomic_load_set_lhs): Likewise.
548	(gimple_omp_atomic_load_set_rhs): Likewise.
549	(gimple_build_omp_teams): Likewise.
550	(gimple_omp_atomic_store_val_ptr): Likewise.
551	(gimple_omp_atomic_load_lhs): Likewise.
552	(gimple_omp_atomic_load_lhs_ptr): Likewise.
553	(gimple_omp_atomic_load_rhs): Likewise.
554	(gimple_try_kind): Likewise.
555	(gimple_try_cleanup): Likewise.
556	(gimple_try_set_catch_is_cleanup): Likewise.
557	(gimple_try_set_eval): Likewise.
558	(gimple_build_eh_else): Likewise.
559	(gimple_try_eval_ptr): Likewise.
560	(gimple_try_cleanup_ptr): Likewise.
561	(gimple_phi_capacity): Likewise.
562	(gimple_phi_num_args): Likewise.
563	(gimple_phi_result): Likewise.
564	(gimple_phi_result_ptr): Likewise.
565	(gimple_phi_arg): Likewise.
566	(gimple_phi_arg_def): Likewise.
567	(gimple_phi_arg_def_ptr): Likewise.
568	(gimple_phi_arg_edge): Likewise.
569	(gimple_phi_arg_location): Likewise.
570	(gimple_phi_arg_location_from_edge): Likewise.
571	(gimple_phi_arg_set_location): Likewise.
572	(gimple_resx_set_region): Likewise.
573	(gimple_build_switch): Likewise.
574	(gimple_eh_dispatch_region): Likewise.
575	(gimple_phi_arg_has_location): Likewise.
576	(gimple_build_wce): Likewise.
577	(gimple_resx_region): Likewise.
578	(gimple_build_eh_must_not_throw): Likewise.
579	(gimple_eh_must_not_throw_set_fndecl): Likewise.
580	(gimple_eh_else_n_body_ptr): Likewise.
581	(gimple_eh_else_n_body): Likewise.
582	(gimple_eh_else_e_body_ptr): Likewise.
583	(gimple_eh_else_e_body): Likewise.
584	(gimple_eh_else_set_n_body): Likewise.
585	(gimple_build_eh_filter): Likewise.
586	(gimple_eh_filter_set_failure): Likewise.
587	(gimple_eh_must_not_throw_fndecl): Likewise.
588	(gimple_build_catch): Likewise.
589	(gimple_eh_filter_failure): Likewise.
590	(gimple_eh_filter_set_types): Likewise.
591	(gimple_eh_filter_types): Likewise.
592	(gimple_eh_filter_types_ptr): Likewise.
593	(gimple_eh_filter_failure_ptr): Likewise.
594	(gimple_asm_input_p): Likewise.
595	(gimple_build_asm_vec): Likewise.
596	(gimple_catch_types): Likewise.
597	(gimple_catch_types_ptr): Likewise.
598	(gimple_catch_handler_ptr): Likewise.
599	(gimple_catch_handler): Likewise.
600	(gimple_catch_set_types): Likewise.
601	(gimple_statement_catch): Likewise.
602	(gimple_goto_set_dest): Likewise.
603	(gimple_bind_add_seq): Likewise.
604	(gimple_build_nop): Likewise.
605	(gimple_seq_first_stmt): Likewise.
606	(gimple_seq_first_stmt_as_a_bind): Likewise.
607	(gimple_bind_vars): Likewise.
608	(gimple_bind_set_vars): Likewise.
609	(gimple_bind_append_vars): Likewise.
610	(gimple_bind_body_ptr): Likewise.
611	(gimple_bind_body): Likewise.
612	(gimple_bind_set_body): Likewise.
613	(gimple_bind_add_stmt): Likewise.
614	(gimple_bind_block): Likewise.
615	(gimple_transaction_set_subcode): Likewise.
616	(gimple_return_retval_ptr): Likewise.
617	(gimple_alloc_stat): Likewise.
618	(gimple_return_retval): Likewise.
619	(gimple_transaction_body): Likewise.
620	(gimple_transaction_label_ptr): Likewise.
621	(gimple_build_omp_atomic_store): Likewise.
622	(gimple_omp_continue_set_control_use): Likewise.
623	(gimple_transaction_body_ptr): Likewise.
624	(gimple_transaction_label): Likewise.
625	(gimple_transaction_subcode): Likewise.
626	(gimple_transaction_set_body): Likewise.
627	(gimple_transaction_set_label): Likewise.
628	(gimple_call_arg_flags): Likewise.
629	(gimple_call_return_flags): Likewise.
630	(gimple_call_fndecl): Likewise.
631	(gimple_call_chain): Likewise.
632	(gimple_expr_type): Likewise.
633	(gimple_call_reset_alias_info): Likewise.
634	(gimple_build_call_vec): Likewise.
635	(gimple_build_call): Likewise.
636	(gimple_build_call_valist): Likewise.
637	(gimple_build_call_internal): Likewise.
638	(gimple_build_call_internal_vec): Likewise.
639	(canonicalize_cond_expr_cond): Likewise.
640	(gimple_call_copy_skip_args): Likewise.
641	(gimple_call_fn_ptr): Likewise.
642	(gimple_call_set_fndecl): Likewise.
643	(gimple_call_chain_ptr): Likewise.
644	(gimple_call_set_arg): Likewise.
645	(gimple_call_set_tail): Likewise.
646	(gimple_call_tail_p): Likewise.
647	(gimple_call_set_return_slot_opt): Likewise.
648	(gimple_call_return_slot_opt_p): Likewise.
649	(gimple_call_set_from_thunk): Likewise.
650	(gimple_call_from_thunk_p): Likewise.
651	(gimple_call_set_va_arg_pack): Likewise.
652	(gimple_call_noreturn_p): Likewise.
653	(gimple_call_set_nothrow): Likewise.
654	(gimple_call_nothrow_p): Likewise.
655	(gimple_call_set_alloca_for_var): Likewise.
656	(gimple_call_alloca_for_var_p): Likewise.
657	(gimple_call_copy_flags): Likewise.
658	(gimple_call_use_set): Likewise.
659	(gimple_statement_call): Likewise.
660	(gimple_call_internal_fn): Likewise.
661	(gimple_call_fntype): Likewise.
662	(gimple_asm_clobbers_memory_p): Likewise.
663	(gimple_bind_set_block): Likewise.
664	(gimple_asm_ninputs): Likewise.
665	(gimple_asm_noutputs): Likewise.
666	(gimple_asm_nclobbers): Likewise.
667	(gimple_asm_nlabels): Likewise.
668	(gimple_asm_input_op): Likewise.
669	(gimple_asm_set_input_op): Likewise.
670	(gimple_asm_output_op): Likewise.
671	(gimple_asm_set_output_op): Likewise.
672	(gimple_asm_set_clobber_op): Likewise.
673	(gimple_asm_set_label_op): Likewise.
674	(gimple_asm_string): Likewise.
675	(gimple_asm_set_input): Likewise.
676	(gimple_build_bind): Likewise.
677	(gimple_asm_input_op_ptr): Likewise.
678	(gimple_asm_output_op_ptr): Likewise.
679	(gimple_asm_clobber_op): Likewise.
680	(gimple_asm_label_op): Likewise.
681	(gimple_asm_volatile_p): Likewise.
682	(gimple_asm_set_volatile): Likewise.
683	(gimple_assign_set_rhs_with_ops): Likewise.
684	(gimple_build_call_from_tree): Likewise.
685	(gimple_build_assign_stat): Likewise.
686	(gimple_eh_dispatch_set_region): Likewise.
687	(gimple_switch_set_num_labels): Likewise.
688	(gimple_switch_index): Likewise.
689	(gimple_switch_set_index): Likewise.
690	(gimple_switch_set_label): Likewise.
691	(gimple_build_resx): Likewise.
692	(gimple_build_switch_nlabels): Likewise.
693	(gimple_switch_num_labels): Likewise.
694	(gimple_switch_index_ptr): Likewise.
695	(gimple_switch_label): Likewise.
696	(gimple_switch_default_label): Likewise.
697	(gimple_cond_set_condition): Likewise.
698	(gimple_label_label): Likewise.
699	(gimple_build_label): Likewise.
700	(gimple_goto_dest): Likewise.
701	(gimple_build_eh_dispatch): Likewise.
702	(gimple_build_debug_bind_stat): Likewise.
703	(gimple_cond_lhs): Likewise.
704	(gimple_cond_rhs): Likewise.
705	(gimple_cond_set_rhs): Likewise.
706	(gimple_cond_set_false_label): Likewise.
707	(gimple_cond_make_true): Likewise.
708	(gimple_cond_true_p): Likewise.
709	(gimple_build_assign_with_ops): Likewise.
710	(gimple_build_cond): Likewise.
711	(gimple_cond_set_condition_from_tree): Likewise.
712	(gimple_cond_code): Likewise.
713	(gimple_cond_lhs_ptr): Likewise.
714	(gimple_cond_rhs_ptr): Likewise.
715	(gimple_cond_true_label): Likewise.
716	(gimple_cond_set_true_label): Likewise.
717	(gimple_cond_false_label): Likewise.
718	(gimple_cond_make_false): Likewise.
719	(gimple_cond_false_p): Likewise.
720	(gimple_statement_cond): Likewise.
721	(is_a_helper <gimple_statement_cond *>): Likewise.
722	* gimplify-me.c (gimple_regimplify_operands): Likewise.
723	* gimplify.c (gimplify_omp_target_update): Likewise.
724	(gimplify_omp_for): Likewise.
725	(gimplify_omp_atomic): Likewise.
726	(gimplify_cleanup_point_expr): Likewise.
727	(struct gimplify_ctx): Likewise.
728	(pop_gimplify_context): Likewise.
729	(gimple_pop_bind_expr): Likewise.
730	(gimple_current_bind_expr): Likewise.
731	(declare_vars): Likewise.
732	(gimplify_one_sizepos): Likewise.
733	(gimplify_body): Likewise.
734	(gimplify_return_expr): Likewise.
735	(gimplify_transaction): Likewise.
736	(voidify_wrapper_expr): Likewise.
737	(gimplify_bind_expr): Likewise.
738	(gimplify_call_expr): Likewise.
739	(gimplify_modify_expr_to_memcpy): Likewise.
740	(gimplify_modify_expr_to_memset): Likewise.
741	(gimplify_modify_expr): Likewise.
742	(gimplify_expr): Likewise.
743	(gimplify_function_tree): Likewise.
744	(gimplify_asm_expr): Likewise.
745	(gimplify_init_constructor): Likewise.
746	(gimple_push_cleanup): Likewise.
747	(gimplify_switch_expr): Likewise.
748	(gimplify_case_label_expr): Likewise.
749	(gimplify_cond_expr): Likewise.
750	* gimplify.h (pop_gimplify_context): Likewise.
751	(gimple_current_bind_expr): Likewise.
752	(gimplify_one_sizepos): Likewise.
753	* graphite-scop-detection.c (limit_scops): Likewise.
754	(same_close_phi_node): Likewise.
755	(make_close_phi_nodes_unique): Likewise.
756	(canonicalize_loop_closed_ssa): Likewise.
757	* graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Likewise.
758	(simple_copy_phi_p): Likewise.
759	(gsi_for_phi_node): Likewise.
760	(rewrite_close_phi_out_of_ssa): Likewise.
761	(rewrite_cross_bb_scalar_deps): Likewise.
762	(rewrite_commutative_reductions_out_of_ssa_loop): Likewise.
763	(tree_int_to_gmp): Likewise.
764	(reduction_phi_p): Likewise.
765	(build_scop_drs): Likewise.
766	(rewrite_phi_out_of_ssa): Likewise.
767	(rewrite_degenerate_phi): Likewise.
768	(rewrite_reductions_out_of_ssa): Likewise.
769	(is_reduction_operation_p): Likewise.
770	(phi_contains_arg): Likewise.
771	(follow_ssa_with_commutative_ops): Likewise.
772	(detect_commutative_reduction_arg): Likewise.
773	(detect_commutative_reduction_assign): Likewise.
774	(follow_inital_value_to_phi): Likewise.
775	(edge_initial_value_for_loop_phi): Likewise.
776	(used_outside_reduction): Likewise.
777	(detect_commutative_reduction): Likewise.
778	(dr_indices_valid_in_loop): Likewise.
779	(translate_scalar_reduction_to_array): Likewise.
780	(scop_ivs_can_be_represented): Likewise.
781	(remove_simple_copy_phi): Likewise.
782	(remove_invariant_phi): Likewise.
783	(insert_out_of_ssa_copy): Likewise.
784	(translate_scalar_reduction_to_array_for_stmt): Likewise.
785	(create_pw_aff_from_tree): Likewise.
786	(add_conditions_to_domain): Likewise.
787	(add_conditions_to_constraints): Likewise.
788	(single_pred_cond_non_loop_exit): Likewise.
789	* gsstruct.def: Likewise.
790	* internal-fn.c (get_multi_vector_move): Likewise.
791	(expand_LOAD_LANES): Likewise.
792	(expand_STORE_LANES): Likewise.
793	(expand_ANNOTATE): Likewise.
794	(expand_GOMP_SIMD_LANE): Likewise.
795	(expand_GOMP_SIMD_VF): Likewise.
796	(expand_GOMP_SIMD_LAST_LANE): Likewise.
797	(expand_UBSAN_NULL): Likewise.
798	(expand_UBSAN_BOUNDS): Likewise.
799	(expand_UBSAN_OBJECT_SIZE): Likewise.
800	(expand_ASAN_CHECK): Likewise.
801	(ubsan_expand_si_overflow_addsub_check): Likewise.
802	(ubsan_expand_si_overflow_neg_check): Likewise.
803	(ubsan_expand_si_overflow_mul_check): Likewise.
804	(expand_UBSAN_CHECK_ADD): Likewise.
805	(expand_UBSAN_CHECK_SUB): Likewise.
806	(expand_UBSAN_CHECK_MUL): Likewise.
807	(expand_LOOP_VECTORIZED): Likewise.
808	(expand_MASK_LOAD): Likewise.
809	(expand_MASK_STORE): Likewise.
810	(expand_ABNORMAL_DISPATCHER): Likewise.
811	(expand_BUILTIN_EXPECT): Likewise.
812	* internal-fn.h (internal_fn_fnspec): Likewise.
813	* ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
814	(phi_result_unknown_predicate): Likewise.
815	(set_switch_stmt_execution_predicate): Likewise.
816	* ipa-prop.c (param_type_may_change_p): Likewise.
817	(detect_type_change_from_memory_writes): Likewise.
818	(detect_type_change): Likewise.
819	(ipa_load_from_parm_agg): Likewise.
820	(get_ancestor_addr_info): Likewise.
821	(compute_complex_ancestor_jump_func): Likewise.
822	(build_agg_jump_func_from_list): Likewise.
823	(ipa_compute_jump_functions_for_edge): Likewise.
824	(ipa_is_ssa_with_stmt_def): Likewise.
825	(ipa_note_param_call): Likewise.
826	(ipa_analyze_indirect_call_uses): Likewise.
827	(ipa_analyze_virtual_call_uses): Likewise.
828	(ipa_analyze_stmt_uses): Likewise.
829	(ipa_modify_formal_parameters): Likewise.
830	(ipa_modify_call_arguments): Likewise.
831	* ipa-prop.h (ipa_get_agg_replacements_for_node): Likewise.
832	* ipa-pure-const.c (special_builtin_state): Likewise.
833	(check_stmt): Likewise.
834	* ipa-split.c (consider_split): Likewise.
835	(visit_bb): Likewise.
836	(find_return_bb): Likewise.
837	(find_retval): Likewise.
838	(split_function): Likewise.
839	(verify_non_ssa_vars): Likewise.
840	(check_forbidden_calls): Likewise.
841	* lto-streamer-in.c (fixup_call_stmt_edges_1): Likewise.
842	* lto-streamer-out.c (output_function): Likewise.
843	* omp-low.c (scan_omp_target): Likewise.
844	(scan_omp_single): Likewise.
845	(expand_omp_target): Likewise.
846	(scan_omp_sections): Likewise.
847	(lower_omp_single_simple): Likewise.
848	(scan_omp_for): Likewise.
849	(new_omp_context): Likewise.
850	(delete_omp_context): Likewise.
851	(scan_omp_task): Likewise.
852	(expand_cilk_for_call): Likewise.
853	(task_copyfn_remap_type): Likewise.
854	(gimple_build_cond_empty): Likewise.
855	(remove_exit_barrier): Likewise.
856	(expand_omp_taskreg): Likewise.
857	(expand_cilk_for): Likewise.
858	(struct omp_for_data): Likewise.
859	(is_combined_parallel): Likewise.
860	(workshare_safe_to_combine_p): Likewise.
861	(get_ws_args_for): Likewise.
862	(scan_omp_parallel): Likewise.
863	(finish_taskreg_scan): Likewise.
864	(expand_omp_for): Likewise.
865	(check_omp_nesting_restrictions): Likewise.
866	(expand_omp_sections): Likewise.
867	(expand_omp_atomic): Likewise.
868	(expand_parallel_call): Likewise.
869	(finalize_task_copyfn): Likewise.
870	(scan_omp_1_stmt): Likewise.
871	(lower_omp_sections): Likewise.
872	(lower_omp_single): Likewise.
873	(lower_omp_master): Likewise.
874	(lower_omp_critical): Likewise.
875	(lower_omp_for): Likewise.
876	(lower_omp_taskreg): Likewise.
877	(lower_omp_target): Likewise.
878	(lower_omp_teams): Likewise.
879	(ipa_simd_modify_function_body): Likewise.
880	(build_omp_barrier): Likewise.
881	(lower_omp_taskgroup): Likewise.
882	(lower_omp_ordered): Likewise.
883	(simd_clone_adjust): Likewise.
884	(lower_rec_input_clauses): Likewise.
885	(expand_omp_for_init_vars): Likewise.
886	(expand_omp_atomic_pipeline): Likewise.
887	(expand_omp_atomic_mutex): Likewise.
888	(diagnose_sb_1): Likewise.
889	(lower_lastprivate_clauses): Likewise.
890	(lower_send_shared_vars): Likewise.
891	(expand_omp_for_init_counts): Likewise.
892	(expand_omp_for_generic): Likewise.
893	(expand_omp_for_static_nochunk): Likewise.
894	(expand_omp_for_static_chunk): Likewise.
895	(expand_omp_simd): Likewise.
896	(lower_omp_1): Likewise.
897	(diagnose_sb_2): Likewise.
898	* predict.c (apply_return_prediction): Likewise.
899	(tree_estimate_probability_bb): Likewise.
900	(get_base_value): Likewise.
901	(predict_iv_comparison): Likewise.
902	(predict_extra_loop_exits): Likewise.
903	(predict_loops): Likewise.
904	* sese.c (sese_build_liveouts_bb): Likewise.
905	(sese_add_exit_phis_edge): Likewise.
906	(set_ifsese_condition): Likewise.
907	* ssa-iterators.h (for): Likewise.
908	(num_ssa_operands): Likewise.
909	(single_phi_def): Likewise.
910	(op_iter_init_phiuse): Likewise.
911	(link_use_stmts_after): Likewise.
912	(op_iter_init): Likewise.
913	* stmt.c (reset_out_edges_aux): Likewise.
914	(compute_cases_per_edge): Likewise.
915	* trans-mem.c (diagnose_tm_1): Likewise.
916	(lower_transaction): Likewise.
917	(tm_region_init): Likewise.
918	(generate_tm_state): Likewise.
919	(make_pass_lower_tm): Likewise.
920	(transaction_subcode_ior): Likewise.
921	(build_tm_load): Likewise.
922	(build_tm_store): Likewise.
923	(expand_transaction): Likewise.
924	(expand_block_edges): Likewise.
925	(dump_tm_memopt_transform): Likewise.
926	(tm_memopt_transform_blocks): Likewise.
927	(ipa_tm_insert_irr_call): Likewise.
928	(ipa_tm_transform_calls_redirect): Likewise.
929	(expand_call_tm): Likewise.
930	(ipa_tm_insert_gettmclone_call): Likewise.
931	* tree-call-cdce.c (check_target_format): Likewise.
932	(check_pow): Likewise.
933	(check_builtin_call): Likewise.
934	(gen_conditions_for_pow_int_base): Likewise.
935	(get_no_error_domain): Likewise.
936	(gen_shrink_wrap_conditions): Likewise.
937	(shrink_wrap_one_built_in_call): Likewise.
938	(shrink_wrap_conditional_dead_built_in_calls): Likewise.
939	(gen_one_condition): Likewise.
940	* tree-cfg.c (replace_uses_by): Likewise.
941	(reinstall_phi_args): Likewise.
942	(verify_gimple_in_cfg): Likewise.
943	(gimple_make_forwarder_block): Likewise.
944	(gimple_duplicate_bb): Likewise.
945	(add_phi_args_after_copy_edge): Likewise.
946	(gimple_duplicate_sese_tail): Likewise.
947	(gimple_lv_adjust_loop_header_phi): Likewise.
948	(move_stmt_r): Likewise.
949	(do_warn_unused_result): Likewise.
950	(verify_gimple_assign): Likewise.
951	(extract_true_false_edges_from_block): Likewise.
952	(verify_gimple_transaction): Likewise.
953	(verify_gimple_in_seq_2): Likewise.
954	(single_noncomplex_succ): Likewise.
955	(valid_fixed_convert_types_p): Likewise.
956	(make_gimple_asm_edges): Likewise.
957	(is_ctrl_altering_stmt): Likewise.
958	(need_fake_edge_p): Likewise.
959	(verify_gimple_comparison): Likewise.
960	(verify_gimple_assign_unary): Likewise.
961	(verify_gimple_assign_binary): Likewise.
962	(verify_gimple_assign_ternary): Likewise.
963	(verify_gimple_assign_single): Likewise.
964	(make_gimple_switch_edges): Likewise.
965	(find_case_label_for_value): Likewise.
966	(end_recording_case_labels): Likewise.
967	(get_cases_for_edge): Likewise.
968	(group_case_labels): Likewise.
969	(find_taken_edge): Likewise.
970	(find_taken_edge_cond_expr): Likewise.
971	(find_taken_edge_switch_expr): Likewise.
972	(verify_gimple_goto): Likewise.
973	(gimple_redirect_edge_and_branch): Likewise.
974	(make_edges): Likewise.
975	(gimple_can_merge_blocks_p): Likewise.
976	(gimple_merge_blocks): Likewise.
977	(remove_bb): Likewise.
978	(stmt_starts_bb_p): Likewise.
979	(verify_gimple_debug): Likewise.
980	(gimple_verify_flow_info): Likewise.
981	(gimple_block_label): Likewise.
982	(move_block_to_fn): Likewise.
983	(verify_gimple_return): Likewise.
984	(fold_cond_expr_cond): Likewise.
985	(make_cond_expr_edges): Likewise.
986	(cleanup_dead_labels): Likewise.
987	(verify_gimple_label): Likewise.
988	(verify_gimple_stmt): Likewise.
989	* tree-cfg.h (notice_special_calls): Likewise.
990	(group_case_labels_stmt): Likewise.
991	* tree-cfgcleanup.c (phi_alternatives_equal): Likewise.
992	(cleanup_control_expr_graph): Likewise.
993	(tree_forwarder_block_p): Likewise.
994	(remove_forwarder_block): Likewise.
995	(remove_forwarder_block_with_phi): Likewise.
996	* tree-complex.c (init_dont_simulate_again): Likewise.
997	(complex_visit_stmt): Likewise.
998	(update_phi_components): Likewise.
999	(expand_complex_move): Likewise.
1000	(expand_complex_libcall): Likewise.
1001	(expand_complex_asm): Likewise.
1002	(expand_complex_comparison): Likewise.
1003	* tree-data-ref.c (get_references_in_stmt): Likewise.
1004	* tree-dfa.c (collect_dfa_stats): Likewise.
1005	(dump_dfa_stats): Likewise.
1006	* tree-eh.c (lookup_stmt_eh_lp): Likewise.
1007	(record_in_finally_tree): Likewise.
1008	(collect_finally_tree_1): Likewise.
1009	(outside_finally_tree): Likewise.
1010	(eh_region_may_contain_throw): Likewise.
1011	(lower_try_finally_dup_block): Likewise.
1012	(cleanup_is_dead_in): Likewise.
1013	(lower_try_finally): Likewise.
1014	(lower_eh_filter): Likewise.
1015	(same_handler_p): Likewise.
1016	(cleanup_empty_eh_merge_phis): Likewise.
1017	(emit_eh_dispatch): Likewise.
1018	(make_pass_lower_eh): Likewise.
1019	(redirect_eh_edge): Likewise.
1020	(sink_clobbers): Likewise.
1021	(lower_eh_dispatch): Likewise.
1022	(verify_eh_edges): Likewise.
1023	(emit_resx): Likewise.
1024	(make_pass_refactor_eh): Likewise.
1025	(lower_resx): Likewise.
1026	(mark_reachable_handlers): Likewise.
1027	(lower_try_finally_fallthru_label): Likewise.
1028	(get_eh_else): Likewise.
1029	(lower_try_finally_nofallthru): Likewise.
1030	(lower_try_finally_copy): Likewise.
1031	(lower_try_finally_switch): Likewise.
1032	(decide_copy_try_finally): Likewise.
1033	(honor_protect_cleanup_actions): Likewise.
1034	(lower_eh_must_not_throw): Likewise.
1035	(replace_goto_queue_1): Likewise.
1036	(lower_catch): Likewise.
1037	(refactor_eh_r): Likewise.
1038	(stmt_could_throw_p): Likewise.
1039	(lower_eh_constructs_2): Likewise.
1040	(collect_finally_tree): Likewise.
1041	(emit_post_landing_pad): Likewise.
1042	(lower_try_finally_onedest): Likewise.
1043	(unsplit_eh): Likewise.
1044	(cleanup_empty_eh_unsplit): Likewise.
1045	(do_goto_redirection): Likewise.
1046	(maybe_record_in_goto_queue): Likewise.
1047	* tree-eh.h (make_eh_dispatch_edges): Likewise.
1048	(redirect_eh_dispatch_edge): Likewise.
1049	(verify_eh_dispatch_edge): Likewise.
1050	* tree-emutls.c (lower_emutls_function_body): Likewise.
1051	(lower_emutls_stmt): Likewise.
1052	(gen_emutls_addr): Likewise.
1053	* tree-if-conv.c (if_convertible_loop_p_1): Likewise.
1054	(bb_with_exit_edge_p): Likewise.
1055	(convert_scalar_cond_reduction): Likewise.
1056	(predicate_all_scalar_phis): Likewise.
1057	* tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
1058	(copy_phis_for_bb): Likewise.
1059	(copy_edges_for_bb): Likewise.
1060	(remap_gimple_seq): Likewise.
1061	(replace_locals_stmt): Likewise.
1062	(copy_bb): Likewise.
1063	(inline_forbidden_p_stmt): Likewise.
1064	(expand_call_inline): Likewise.
1065	(estimate_num_insns): Likewise.
1066	(mark_local_labels_stmt): Likewise.
1067	(remap_gimple_stmt): Likewise.
1068	(maybe_move_debug_stmts_to_successors): Likewise.
1069	(copy_cfg_body): Likewise.
1070	(copy_debug_stmts): Likewise.
1071	* tree-inline.h (void): Likewise.
1072	* tree-into-ssa.c (node): Likewise.
1073	(find_def_blocks_for): Likewise.
1074	(mark_phi_for_rewrite): Likewise.
1075	(insert_phi_nodes_for): Likewise.
1076	(rewrite_add_phi_arguments): Likewise.
1077	(rewrite_update_phi_arguments): Likewise.
1078	(mark_use_interesting): Likewise.
1079	(prepare_block_for_update): Likewise.
1080	(prepare_use_sites_for): Likewise.
1081	(delete_update_ssa): Likewise.
1082	(mark_virtual_operand_for_renaming): Likewise.
1083	* tree-into-ssa.h (mark_virtual_phi_result_for_renaming): Likewise.
1084	* tree-loop-distribution.c (stmts_from_loop): Likewise.
1085	(destroy_loop): Likewise.
1086	(distribute_loop): Likewise.
1087	(generate_loops_for_partition): Likewise.
1088	* tree-nested.c (walk_function): Likewise.
1089	(convert_nonlocal_reference_stmt): Likewise.
1090	(convert_local_reference_stmt): Likewise.
1091	(finalize_nesting_tree_1): Likewise.
1092	(get_chain_field): Likewise.
1093	(convert_nl_goto_reference): Likewise.
1094	(convert_tramp_reference_op): Likewise.
1095	(convert_gimple_call): Likewise.
1096	(convert_nl_goto_receiver): Likewise.
1097	* tree-nrv.c (finalize_nrv_r): Likewise.
1098	(make_pass_nrv): Likewise.
1099	(dest_safe_for_nrv_p): Likewise.
1100	* tree-object-size.c (pass_through_call): Likewise.
1101	(addr_object_size): Likewise.
1102	(alloc_object_size): Likewise.
1103	(expr_object_size): Likewise.
1104	(collect_object_sizes_for): Likewise.
1105	(check_for_plus_in_loops_1): Likewise.
1106	(fini_object_sizes): Likewise.
1107	* tree-outof-ssa.c (eliminate_build): Likewise.
1108	(eliminate_phi): Likewise.
1109	(remove_gimple_phi_args): Likewise.
1110	(eliminate_useless_phis): Likewise.
1111	(rewrite_trees): Likewise.
1112	(insert_backedge_copies): Likewise.
1113	* tree-parloops.c (printf): Likewise.
1114	(create_phi_for_local_result): Likewise.
1115	(loop_has_vector_phi_nodes): Likewise.
1116	(gather_scalar_reductions): Likewise.
1117	(try_create_reduction_list): Likewise.
1118	(take_address_of): Likewise.
1119	(transform_to_exit_first_loop): Likewise.
1120	(create_parallel_loop): Likewise.
1121	* tree-phinodes.c (remove_phi_args): Likewise.
1122	(phinodes_print_statistics): Likewise.
1123	(release_phi_node): Likewise.
1124	(reserve_phi_args_for_new_edge): Likewise.
1125	(add_phi_node_to_bb): Likewise.
1126	(create_phi_node): Likewise.
1127	(add_phi_arg): Likewise.
1128	(remove_phi_nodes): Likewise.
1129	(allocate_phi_node): Likewise.
1130	(ideal_phi_node_len): Likewise.
1131	(make_phi_node): Likewise.
1132	(resize_phi_node): Likewise.
1133	* tree-phinodes.h (add_phi_node_to_bb): Likewise.
1134	(add_phi_arg): Likewise.
1135	(degenerate_phi_result): Likewise.
1136	* tree-predcom.c (valid_initializer_p): Likewise.
1137	(find_looparound_phi): Likewise.
1138	(add_looparound_copies): Likewise.
1139	(initialize_root_vars): Likewise.
1140	(eliminate_temp_copies): Likewise.
1141	(replace_ref_with): Likewise.
1142	(initialize_root_vars_lm): Likewise.
1143	(reassociate_to_the_same_stmt): Likewise.
1144	* tree-profile.c (gimple_gen_interval_profiler): Likewise.
1145	(gimple_gen_pow2_profiler): Likewise.
1146	(gimple_gen_one_value_profiler): Likewise.
1147	(gimple_gen_time_profiler): Likewise.
1148	(gimple_gen_average_profiler): Likewise.
1149	(gimple_gen_ior_profiler): Likewise.
1150	(gimple_gen_edge_profiler): Likewise.
1151	(gimple_gen_ic_profiler): Likewise.
1152	(gimple_gen_ic_func_profiler): Likewise.
1153	* tree-scalar-evolution.c (follow_ssa_edge_binary): Likewise.
1154	(follow_ssa_edge_expr): Likewise.
1155	(follow_ssa_edge_in_rhs): Likewise.
1156	(backedge_phi_arg_p): Likewise.
1157	(follow_ssa_edge_in_condition_phi_branch): Likewise.
1158	(follow_ssa_edge_in_condition_phi): Likewise.
1159	(follow_ssa_edge_inner_loop_phi): Likewise.
1160	(follow_ssa_edge): Likewise.
1161	(simplify_peeled_chrec): Likewise.
1162	(analyze_evolution_in_loop): Likewise.
1163	(analyze_initial_condition): Likewise.
1164	(interpret_loop_phi): Likewise.
1165	(analyze_scalar_evolution_1): Likewise.
1166	(loop_closed_phi_def): Likewise.
1167	(scev_const_prop): Likewise.
1168	(add_to_evolution): Likewise.
1169	(get_loop_exit_condition): Likewise.
1170	* tree-scalar-evolution.h (number_of_latch_executions): Likewise.
1171	* tree-sra.c (replace_removed_params_ssa_names): Likewise.
1172	(convert_callers): Likewise.
1173	(scan_function): Likewise.
1174	(sra_modify_function_body): Likewise.
1175	(ipa_sra_modify_function_body): Likewise.
1176	(build_ref_for_offset): Likewise.
1177	(generate_subtree_copies): Likewise.
1178	(init_subtree_with_zero): Likewise.
1179	(sra_modify_expr): Likewise.
1180	(load_assign_lhs_subreplacements): Likewise.
1181	(sra_modify_assign): Likewise.
1182	(sra_ipa_reset_debug_stmts): Likewise.
1183	* tree-ssa-alias.c (refs_output_dependent_p): Likewise.
1184	(ref_maybe_used_by_call_p_1): Likewise.
1185	(ref_maybe_used_by_stmt_p): Likewise.
1186	(call_may_clobber_ref_p_1): Likewise.
1187	(stmt_may_clobber_ref_p_1): Likewise.
1188	* tree-ssa-alias.h (call_may_clobber_ref_p): Likewise.
1189	(call_may_clobber_ref_p_1): Likewise.
1190	* tree-ssa-ccp.c (ccp_initialize): Likewise.
1191	(ccp_lattice_meet): Likewise.
1192	(insert_clobber_before_stack_restore): Likewise.
1193	(ccp_fold): Likewise.
1194	(evaluate_stmt): Likewise.
1195	(ccp_fold_stmt): Likewise.
1196	(optimize_unreachable): Likewise.
1197	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
1198	(coalesce_partitions): Likewise.
1199	(create_outofssa_var_map): Likewise.
1200	* tree-ssa-copy.c (copy_prop_visit_stmt): Likewise.
1201	(init_copy_prop): Likewise.
1202	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
1203	* tree-ssa-dce.c (remove_dead_phis): Likewise.
1204	(forward_edge_to_pdom): Likewise.
1205	(eliminate_unnecessary_stmts): Likewise.
1206	(propagate_necessity): Likewise.
1207	(remove_dead_stmt): Likewise.
1208	* tree-ssa-dom.c (record_equivalences_from_phis): Likewise.
1209	(cprop_into_successor_phis): Likewise.
1210	(get_rhs_or_phi_arg): Likewise.
1211	(eliminate_degenerate_phis_1): Likewise.
1212	(struct hashable_expr): Likewise.
1213	(add_hashable_expr): Likewise.
1214	(print_expr_hash_elt): Likewise.
1215	(record_equivalences_from_stmt): Likewise.
1216	(initialize_hash_element): Likewise.
1217	(record_edge_info): Likewise.
1218	(eliminate_redundant_computations): Likewise.
1219	(propagate_rhs_into_lhs): Likewise.
1220	(free_all_edge_infos): Likewise.
1221	(make_pass_dominator): Likewise.
1222	(optimize_stmt): Likewise.
1223	* tree-ssa-forwprop.c (remove_prop_source_from_use): Likewise.
1224	(simplify_bitwise_binary): Likewise.
1225	(simplify_rotate): Likewise.
1226	(simplify_not_neg_expr): Likewise.
1227	(simplify_gimple_switch_label_vec): Likewise.
1228	(forward_propagate_into_comparison): Likewise.
1229	(simplify_mult): Likewise.
1230	* tree-ssa-ifcombine.c (same_phi_args_p): Likewise.
1231	(get_name_for_bit_test): Likewise.
1232	(recognize_single_bit_test): Likewise.
1233	(ifcombine_ifandif): Likewise.
1234	* tree-ssa-live.c (remove_unused_locals): Likewise.
1235	(set_var_live_on_entry): Likewise.
1236	(calculate_live_on_exit): Likewise.
1237	(verify_live_on_entry): Likewise.
1238	* tree-ssa-loop-im.c (mem_ref_in_stmt): Likewise.
1239	(determine_max_movement): Likewise.
1240	(execute_sm_if_changed): Likewise.
1241	(rewrite_reciprocal): Likewise.
1242	(execute_sm): Likewise.
1243	(rewrite_bittest): Likewise.
1244	* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
1245	Likewise.
1246	(unloop_loops): Likewise.
1247	(tree_estimate_loop_size): Likewise.
1248	(create_canonical_iv): Likewise.
1249	(remove_exits_and_undefined_stmts): Likewise.
1250	(remove_redundant_iv_tests): Likewise.
1251	(try_unroll_loop_completely): Likewise.
1252	* tree-ssa-loop-ivopts.c (get_iv): Likewise.
1253	(find_bivs): Likewise.
1254	(mark_bivs): Likewise.
1255	(find_interesting_uses_outside): Likewise.
1256	(determine_set_costs): Likewise.
1257	(rewrite_use_nonlinear_expr): Likewise.
1258	(remove_unused_ivs): Likewise.
1259	(extract_cond_operands): Likewise.
1260	(rewrite_use_compare): Likewise.
1261	* tree-ssa-loop-manip.c (tree_unroll_loop): Likewise.
1262	(rewrite_all_phi_nodes_with_iv): Likewise.
1263	(add_exit_phi): Likewise.
1264	(find_uses_to_rename_bb): Likewise.
1265	(verify_loop_closed_ssa): Likewise.
1266	(split_loop_exit_edge): Likewise.
1267	(create_iv): Likewise.
1268	(rewrite_phi_with_iv): Likewise.
1269	(tree_transform_and_unroll_loop): Likewise.
1270	(canonicalize_loop_ivs): Likewise.
1271	* tree-ssa-loop-niter.c (determine_value_range): Likewise.
1272	(finite_loop_p): Likewise.
1273	(chain_of_csts_start): Likewise.
1274	(get_base_for): Likewise.
1275	(loop_niter_by_eval): Likewise.
1276	(number_of_iterations_exit): Likewise.
1277	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.
1278	(emit_mfence_after_loop): Likewise.
1279	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Likewise.
1280	(tree_unswitch_single_loop): Likewise.
1281	* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Likewise.
1282	(build_and_insert_call): Likewise.
1283	(insert_reciprocals): Likewise.
1284	(powi_as_mults_1): Likewise.
1285	(powi_as_mults): Likewise.
1286	(build_and_insert_binop): Likewise.
1287	(build_and_insert_cast): Likewise.
1288	(gimple_expand_builtin_cabs): Likewise.
1289	(convert_mult_to_fma): Likewise.
1290	* tree-ssa-operands.c (get_tmr_operands): Likewise.
1291	(maybe_add_call_vops): Likewise.
1292	(parse_ssa_operands): Likewise.
1293	* tree-ssa-phiopt.c (tree_ssa_cs_elim): Likewise.
1294	(single_non_singleton_phi_for_edges): Likewise.
1295	(tree_ssa_phiopt_worker): Likewise.
1296	(replace_phi_edge_with_variable): Likewise.
1297	(hoist_adjacent_loads): Likewise.
1298	(conditional_replacement): Likewise.
1299	(abs_replacement): Likewise.
1300	(cond_store_replacement): Likewise.
1301	(cond_if_else_store_replacement_1): Likewise.
1302	(minmax_replacement): Likewise.
1303	* tree-ssa-phiprop.c (propagate_with_phi): Likewise.
1304	(phivn_valid_p): Likewise.
1305	(phiprop_insert_phi): Likewise.
1306	* tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
1307	(compute_avail): Likewise.
1308	(create_expression_by_pieces): Likewise.
1309	(do_regular_insertion): Likewise.
1310	(eliminate_insert): Likewise.
1311	* tree-ssa-propagate.c (simulate_stmt): Likewise.
1312	(replace_uses_in): Likewise.
1313	(replace_phi_args_in): Likewise.
1314	(update_gimple_call): Likewise.
1315	(update_call_from_tree): Likewise.
1316	(may_propagate_copy_into_stmt): Likewise.
1317	(propagate_tree_value_into_stmt): Likewise.
1318	* tree-ssa-propagate.h (prop_simulate_again_p): Likewise.
1319	* tree-ssa-reassoc.c (suitable_cond_bb): Likewise.
1320	(is_phi_for_stmt): Likewise.
1321	(build_and_add_sum): Likewise.
1322	(update_ops): Likewise.
1323	(get_reassociation_width): Likewise.
1324	(reassociate_bb): Likewise.
1325	(maybe_optimize_range_tests): Likewise.
1326	* tree-ssa-sccvn.c (DFS): Likewise.
1327	(ao_ref_init_from_vn_reference): Likewise.
1328	(valueize_shared_reference_ops_from_ref): Likewise.
1329	(vn_reference_lookup_3): Likewise.
1330	(vn_reference_lookup): Likewise.
1331	(visit_nary_op): Likewise.
1332	(simplify_binary_expression): Likewise.
1333	(simplify_unary_expression): Likewise.
1334	(visit_use): Likewise.
1335	(set_hashtable_value_ids): Likewise.
1336	* tree-ssa-sccvn.h (vn_constant_eq_with_type): Likewise.
1337	* tree-ssa-sink.c (find_bb_for_arg): Likewise.
1338	(nearest_common_dominator_of_uses): Likewise.
1339	(statement_sink_location): Likewise.
1340	* tree-ssa-strlen.c (do_invalidate): Likewise.
1341	* tree-ssa-structalias.c (new_var_info): Likewise.
1342	(get_call_vi): Likewise.
1343	(lookup_call_use_vi): Likewise.
1344	(lookup_call_clobber_vi): Likewise.
1345	(get_call_use_vi): Likewise.
1346	(get_function_part_constraint): Likewise.
1347	(handle_rhs_call): Likewise.
1348	(handle_lhs_call): Likewise.
1349	(handle_const_call): Likewise.
1350	(handle_pure_call): Likewise.
1351	(get_fi_for_callee): Likewise.
1352	(find_func_aliases_for_builtin_call): Likewise.
1353	(find_func_clobbers): Likewise.
1354	(compute_points_to_sets): Likewise.
1355	(ipa_pta_execute): Likewise.
1356	(find_func_aliases): Likewise.
1357	* tree-ssa-tail-merge.c (same_succ_hash): Likewise.
1358	(release_last_vdef): Likewise.
1359	(same_phi_alternatives_1): Likewise.
1360	(find_clusters): Likewise.
1361	(vop_phi): Likewise.
1362	(replace_block_by): Likewise.
1363	* tree-ssa-ter.c (ter_is_replaceable_p): Likewise.
1364	* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
1365	Likewise.
1366	(record_temporary_equivalences_from_stmts_at_dest): Likewise.
1367	(simplify_control_stmt_condition): Likewise.
1368	(dummy_simplify): Likewise.
1369	(propagate_threaded_block_debug_into): Likewise.
1370	(thread_around_empty_blocks): Likewise.
1371	(thread_through_normal_block): Likewise.
1372	* tree-ssa-threadedge.h (thread_across_edge): Likewise.
1373	* tree-ssa-threadupdate.c (copy_phi_arg_into_existing_phi): Likewise.
1374	(get_value_locus_in_path): Likewise.
1375	(copy_phi_args): Likewise.
1376	(phi_args_equal_on_edges): Likewise.
1377	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
1378	* tree-ssa-uninit.c (can_skip_redundant_opnd): Likewise.
1379	(find_predicates): Likewise.
1380	(collect_phi_def_edges): Likewise.
1381	(find_matching_predicate_in_rest_chains): Likewise.
1382	(prune_uninit_phi_opnds_in_unrealizable_paths): Likewise.
1383	(use_pred_not_overlap_with_undef_path_pred): Likewise.
1384	(normalize_preds): Likewise.
1385	(is_use_properly_guarded): Likewise.
1386	(find_uninit_use): Likewise.
1387	(gate_warn_uninitialized): Likewise.
1388	* tree-ssa.c (ssa_redirect_edge): Likewise.
1389	(flush_pending_stmts): Likewise.
1390	(verify_use): Likewise.
1391	(verify_ssa): Likewise.
1392	(execute_update_addresses_taken): Likewise.
1393	(insert_debug_temp_for_var_def): Likewise.
1394	* tree-stdarg.c (check_all_va_list_escapes): Likewise.
1395	* tree-switch-conversion.c (check_final_bb): Likewise.
1396	(build_constructors): Likewise.
1397	(build_arrays): Likewise.
1398	(gen_def_assigns): Likewise.
1399	(case_bit_test_cmp): Likewise.
1400	(emit_case_bit_tests): Likewise.
1401	(gather_default_values): Likewise.
1402	(constructor_contains_same_values_p): Likewise.
1403	(array_value_type): Likewise.
1404	(build_one_array): Likewise.
1405	(fix_phi_nodes): Likewise.
1406	(process_switch): Likewise.
1407	(hoist_edge_and_branch_if_true): Likewise.
1408	(gen_inbound_check): Likewise.
1409	* tree-tailcall.c (add_successor_phi_arg): Likewise.
1410	(propagate_through_phis): Likewise.
1411	(eliminate_tail_call): Likewise.
1412	(create_tailcall_accumulator): Likewise.
1413	(tree_optimize_tail_calls_1): Likewise.
1414	(adjust_return_value): Likewise.
1415	(optimize_tail_call): Likewise.
1416	(independent_of_stmt_p): Likewise.
1417	(find_tail_calls): Likewise.
1418	(adjust_return_value_with_ops): Likewise.
1419	(update_accumulator_with_ops): Likewise.
1420	* tree-vect-data-refs.c (bump_vector_ptr): Likewise.
1421	(vect_setup_realignment): Likewise.
1422	* tree-vect-generic.c (expand_vector_condition): Likewise.
1423	(optimize_vector_constructor): Likewise.
1424	(lower_vec_perm): Likewise.
1425	(expand_vector_operations_1): Likewise.
1426	* tree-vect-loop-manip.c (rename_variables_in_bb): Likewise.
1427	(vect_can_advance_ivs_p): Likewise.
1428	(slpeel_update_phi_nodes_for_guard1): Likewise.
1429	(slpeel_update_phi_nodes_for_guard2): Likewise.
1430	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
1431	(slpeel_tree_peel_loop_to_edge): Likewise.
1432	(vect_update_ivs_after_vectorizer): Likewise.
1433	(vect_loop_versioning): Likewise.
1434	(slpeel_make_loop_iterate_ntimes): Likewise.
1435	(slpeel_add_loop_guard): Likewise.
1436	(slpeel_can_duplicate_loop_p): Likewise.
1437	(set_prologue_iterations): Likewise.
1438	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
1439	(vect_analyze_scalar_cycles_1): Likewise.
1440	(vect_analyze_loop_operations): Likewise.
1441	(get_initial_def_for_induction): Likewise.
1442	(vectorizable_reduction): Likewise.
1443	(vect_transform_loop): Likewise.
1444	(vect_create_epilog_for_reduction): Likewise.
1445	(vect_analyze_scalar_cycles): Likewise.
1446	(vect_analyze_loop_form): Likewise.
1447	* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
1448	* tree-vect-slp.c (vect_build_slp_tree_1): Likewise.
1449	* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
1450	(vectorizable_load): Likewise.
1451	(vect_finish_stmt_generation): Likewise.
1452	(vectorizable_call): Likewise.
1453	(vectorizable_condition): Likewise.
1454	* tree-vectorizer.h (unlimited_cost_model): Likewise.
1455	* tree-vrp.c (find_assert_locations): Likewise.
1456	(vrp_initialize): Likewise.
1457	(vrp_meet): Likewise.
1458	(extract_range_from_unary_expr): Likewise.
1459	(extract_range_basic): Likewise.
1460	(build_assert_expr_for): Likewise.
1461	(vrp_visit_assignment_or_call): Likewise.
1462	(simplify_truth_ops_using_ranges): Likewise.
1463	(simplify_float_conversion_using_ranges): Likewise.
1464	(live_on_edge): Likewise.
1465	(compare_case_labels): Likewise.
1466	(vrp_visit_cond_stmt): Likewise.
1467	(find_case_label_index): Likewise.
1468	(find_case_label_range): Likewise.
1469	(find_case_label_ranges): Likewise.
1470	(simplify_cond_using_ranges): Likewise.
1471	(register_edge_assert_for): Likewise.
1472	(find_assert_locations_1): Likewise.
1473	(vrp_evaluate_conditional): Likewise.
1474	(vrp_visit_stmt): Likewise.
1475	(range_fits_type_p): Likewise.
1476	(simplify_stmt_using_ranges): Likewise.
1477	(fold_predicate_in): Likewise.
1478	(simplify_stmt_for_jump_threading): Likewise.
1479	(identify_jump_threads): Likewise.
1480	* tree.c (find_decls_types_in_node): Likewise.
1481	* ubsan.c (instrument_nonnull_return): Likewise.
1482	(instrument_mem_ref): Likewise.
1483	* value-prof.c (find_func_by_profile_id): Likewise.
1484	(check_ic_target): Likewise.
1485	(gimple_ic_transform): Likewise.
1486	(interesting_stringop_to_profile_p): Likewise.
1487	(gimple_stringops_transform): Likewise.
1488	(gimple_stringops_values_to_profile): Likewise.
1489	(gimple_value_profile_transformations): Likewise.
1490	(gimple_divmod_fixed_value_transform): Likewise.
1491	(gimple_mod_pow2_value_transform): Likewise.
1492	(gimple_mod_subtract_transform): Likewise.
1493	(gimple_divmod_fixed_value): Likewise.
1494	(gimple_mod_pow2): Likewise.
1495	(gimple_mod_subtract): Likewise.
1496	(gimple_ic): Likewise.
1497	(gimple_stringop_fixed_value): Likewise.
1498	* value-prof.h (stringop_block_profile): Likewise.
1499	(gimple_ic): Likewise.
1500	* vtable-verify.c (verify_bb_vtables): Likewise.
1501
15022014-10-27  David Malcolm  <dmalcolm@redhat.com>
1503
1504	* coretypes.h (gimple_cond): Drop this typedef.
1505	(const_gimple_cond): Likewise.
1506	(gimple_debug): Likewise.
1507	(const_gimple_debug): Likewise.
1508	(gimple_goto): Likewise.
1509	(const_gimple_goto): Likewise.
1510	(gimple_label): Likewise.
1511	(const_gimple_label): Likewise.
1512	(gimple_switch): Likewise.
1513	(const_gimple_switch): Likewise.
1514	(gimple_assign): Likewise.
1515	(const_gimple_assign): Likewise.
1516	(gimple_asm): Likewise.
1517	(const_gimple_asm): Likewise.
1518	(gimple_call): Likewise.
1519	(const_gimple_call): Likewise.
1520	(gimple_transaction): Likewise.
1521	(const_gimple_transaction): Likewise.
1522	(gimple_return): Likewise.
1523	(const_gimple_return): Likewise.
1524	(gimple_bind): Likewise.
1525	(const_gimple_bind): Likewise.
1526	(gimple_catch): Likewise.
1527	(const_gimple_catch): Likewise.
1528	(gimple_eh_filter): Likewise.
1529	(const_gimple_eh_filter): Likewise.
1530	(gimple_eh_must_not_throw;): Likewise.
1531	(const_gimple_eh_must_not_throw): Likewise.
1532	(gimple_eh_else): Likewise.
1533	(const_gimple_eh_else): Likewise.
1534	(gimple_resx): Likewise.
1535	(const_gimple_resx): Likewise.
1536	(gimple_eh_dispatch): Likewise.
1537	(const_gimple_eh_dispatch): Likewise.
1538	(gimple_phi): Likewise.
1539	(const_gimple_phi): Likewise.
1540	(gimple_try): Likewise.
1541	(const_gimple_try): Likewise.
1542	(gimple_omp_atomic_load): Likewise.
1543	(const_gimple_omp_atomic_load): Likewise.
1544	(gimple_omp_atomic_store): Likewise.
1545	(const_gimple_omp_atomic_store): Likewise.
1546	(gimple_omp_continue): Likewise.
1547	(const_gimple_omp_continue): Likewise.
1548	(gimple_omp_critical): Likewise.
1549	(const_gimple_omp_critical): Likewise.
1550	(gimple_omp_for): Likewise.
1551	(const_gimple_omp_for): Likewise.
1552	(gimple_omp_parallel): Likewise.
1553	(const_gimple_omp_parallel): Likewise.
1554	(gimple_omp_task): Likewise.
1555	(const_gimple_omp_task): Likewise.
1556	(gimple_omp_sections): Likewise.
1557	(const_gimple_omp_sections): Likewise.
1558	(gimple_omp_single): Likewise.
1559	(const_gimple_omp_single): Likewise.
1560	(gimple_omp_target): Likewise.
1561	(const_gimple_omp_target): Likewise.
1562	(gimple_omp_teams): Likewise.
1563	(const_gimple_omp_teams): Likewise.
1564
15652014-10-24  David Malcolm  <dmalcolm@redhat.com>
1566
1567	* tree-inline.h (struct copy_body_data): Rename field
1568	"gimple_call" to "call_stmt".
1569
1570	* gimplify.c (gimplify_bind_expr): Rename local "gimple_bind" to
1571	"bind_stmt".
1572	(gimplify_switch_expr): Rename local "gimple_switch" to
1573	"switch_stmt".
1574	(gimplify_cond_expr): Rename local "gimple_cond" to "cond_stmt".
1575	* tree-eh.c (lower_catch): Rename local "gcatch" to "catch_stmt".
1576	* tree-inline.c (copy_bb): Update for renaming of field within
1577	struct copy_body_data from "gimple_call" to "call_stmt".
1578	(copy_cfg_body): Likewise.
1579	(copy_debug_stmt): Likewise.
1580	(expand_call_inline): Likewise.
1581
15822014-10-24  David Malcolm  <dmalcolm@redhat.com>
1583
1584	Convert various gimple to gimple_phi within ssa-iterators.h
1585
1586	* ssa-iterators.h (FOR_EACH_PHI_OR_STMT_USE): Add checked cast to
1587	gimple_phi.
1588	(FOR_EACH_PHI_OR_STMT_DEF): Likewise.
1589
1590	* ssa-iterators.h (single_phi_def): Require a gimple_phi.
1591	(op_iter_init_phiuse): Likewise.
1592	(op_iter_init_phidef): Likewise.
1593	* tree-ssa-loop-im.c (extract_true_false_args_from_phi): Likewise.
1594
1595	* tree-ssa-loop-im.c (link_use_stmts_after): Replace check against
1596	GIMPLE_PHI with add a dyn_cast to gimple_phi, using result as needed.
1597	(determine_max_movement): Likewise.
1598	* tree-ssa-reassoc.c (is_phi_for_stmt): Likewise.
1599	* tree-ssa-sccvn.c (start_over:): Likewise.
1600
1601	* tree-ssa-loop-im.c
1602	(move_computations_dom_walker::before_dom_children): Split iterator
1603	into gimple_stmt_iterator and a gimple_phi_iterator so that a local
1604	can become a gimple_phi.
1605
16062014-10-24  David Malcolm  <dmalcolm@redhat.com>
1607
1608	Use gimple_phi in many more places.
1609
1610	* gimple-ssa-strength-reduction.c (slsr_process_phi): Require a
1611	gimple_phi.
1612	* ipa-inline-analysis.c (predicate_for_phi_result): Likewise.
1613	* tree-emutls.c (lower_emutls_phi_arg): Likewise.
1614	* tree-if-conv.c (predicate_scalar_phi): Likewise.
1615	* tree-into-ssa.c (mark_virtual_phi_result_for_renaming): Likewise.
1616	* tree-into-ssa.h (mark_virtual_phi_result_for_renaming): Likewise.
1617	* tree-phinodes.c (degenerate_phi_result): Likewise.
1618	* tree-phinodes.h (degenerate_phi_result): Likewise.
1619	* tree-ssa.c (verify_use): Likewise.
1620	* tree-switch-conversion.c (array_value_type): Likewise.
1621
1622	* graphite-scop-detection.c (same_close_phi_node): Require a pair
1623	of gimple_phi.
1624	(remove_duplicate_close_phi): Require a gimple_phi and a
1625	gimple_phi_iterator.
1626	(make_close_phi_nodes_unique): Convert a local into a
1627	gimple_phi_iterator.
1628
1629	* gimple-pretty-print.c (gimple_dump_bb_for_graph): Split iterator
1630	into gimple_stmt_iterator and gimple_phi_iterator, converting local
1631	from gimple to gimple_phi.
1632	* gimple-ssa-strength-reduction.c
1633	(find_candidates_dom_walker::before_dom_children): Likewise.
1634	* ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
1635	* ipa-split.c (verify_non_ssa_vars): Likewise.
1636	(visit_bb): Likewise.
1637	(split_function): Likewise.
1638	* lto-streamer-out.c (output_function): Likewise.
1639	* sese.c (sese_build_liveouts_bb): Likewise.
1640	* tree-cfg.c (gimple_can_merge_blocks_p): Likewise.
1641	* tree-complex.c (init_dont_simulate_again): Likewise.
1642	* tree-dfa.c (collect_dfa_stats): Likewise.
1643	* tree-eh.c (sink_clobbers): Likewise.
1644	* tree-emutls.c (lower_emutls_function_body): Likewise.
1645	* tree-into-ssa.c (rewrite_dom_walker::before_dom_children):
1646	Likewise.
1647	(rewrite_update_dom_walker::before_dom_children): Likewise.
1648	(prepare_block_for_update): Likewise.
1649	* tree-loop-distribution.c (stmts_from_loop): Likewise.
1650	(generate_loops_for_partition): Likewise.
1651	(destroy_loop): Likewise.
1652	(tree_loop_distribution): Likewise.
1653	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
1654	* tree-ssa-copy.c (init_copy_prop): Likewise.
1655	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
1656	* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Likewise.
1657	* tree-ssa-loop-manip.c (find_uses_to_rename_bb): Likewise.
1658	(verify_loop_closed_ssa): Likewise.
1659	* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
1660	* tree-ssa-pre.c (compute_avail): Likewise.
1661	(eliminate_dom_walker::before_dom_children): Likewise.
1662	* tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Likewise.
1663	* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
1664	(ipa_pta_execute): Likewise.
1665	* tree-ssa-tail-merge.c (same_succ_hash): Likewise.
1666	(release_last_vdef): Likewise.
1667	* tree-ssa.c (verify_ssa): Likewise.
1668	(execute_update_addresses_taken): Likewise.
1669	* tree-stdarg.c (check_all_va_list_escapes): Likewise.
1670	(execute_optimize_stdarg): Likewise.
1671	* tree-switch-conversion.c (build_arrays): Likewise.
1672	* tree-vect-loop-manip.c (rename_variables_in_bb): Likewise.
1673	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
1674	(vect_analyze_loop_operations): Likewise.
1675	(vect_transform_loop): Likewise.
1676	* tree-vrp.c (find_assert_locations_1): Likewise.
1677	(vrp_initialize): Likewise.
1678
1679	* graphite-sese-to-poly.c (gsi_for_phi_node): Convert psi to a
1680	gimple_phi_iterator.
1681	(rewrite_degenerate_phi): Require a gimple_phi_iterator; strengthen
1682	local "phi" from gimple to gimple-phi.
1683
1684	* ipa-split.c (consider_split): Convert local psi to a
1685	gimple_phi_iterator.
1686	* tree-cfg.c (gimple_merge_blocks): Likewise.
1687
1688	* tree-eh.c (unsplit_eh): Replace reuse of gsi with a new
1689	gimple_phi_iterator gpi, using it to convert statement from gimple
1690	to a gimple_phi.
1691	(cleanup_empty_eh_merge_phis): Strengthen ophi from gimple to
1692	gimple_phi.
1693	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Replace reuse of
1694	gsi with a new gimple_phi_iterator gpi, using it to convert
1695	expressions from gimple to gimple_phi; add a checked cast to
1696	gimple_phi.
1697
1698	* tree-if-conv.c (predicate_all_scalar_phis): Convert local phi_gsi
1699	to be a gimple_phi_iterator; convert "phi" to be a gimple_phi.
1700	* tree-parloops.c (loop_has_vector_phi_nodes): Convert local to be a
1701	gimple_phi_iterator.
1702	* tree-ssa-ccp.c (ccp_initialize): Likewise.
1703
1704	* tree-scalar-evolution.c (analyze_initial_condition): Add checked cast
1705	to a gimple_phi.
1706	* tree-ssa.c (insert_debug_temp_for_var_def): Likewise.
1707	* tree-ssa-dom.c (get_rhs_or_phi_arg): Likewise.
1708
17092014-10-24  David Malcolm  <dmalcolm@redhat.com>
1710
1711	Use gimple_call in some places within tree-ssa-dom.c
1712
1713	* tree-ssa-dom.c (struct hashable_expr): Strengthen field
1714	call.fn_from from gimple to gimple_call.
1715	(initialize_hash_element): Replace check against GIMPLE_CALL
1716	with dyn_cast<gimple_call> and update gimple_call_ uses to use
1717	new gimple_call local, along with fn_from initializer.
1718	(iterative_hash_hashable_expr): Strengthen type of local "fn_from"
1719	from gimple to gimple_call.
1720	(print_expr_hash_elt): Likewise.
1721
17222014-10-24  David Malcolm  <dmalcolm@redhat.com>
1723
1724	Concretize gimple_call_copy_flags and ipa_modify_call_arguments
1725
1726	* gimple.h (gimple_call_copy_flags): Require gimple_calls.
1727
1728	* ipa-prop.c (ipa_modify_call_arguments): Require a gimple_call.
1729	* ipa-prop.h (ipa_modify_call_arguments): Likewise.
1730
1731	* tree-inline.c (copy_bb): Replace is_gimple_call with new local
1732	and call to dyn_cast<gimple_call>, updating gimple_call_ uses to
1733	use the type-checked local.
1734
1735	* tree-sra.c (convert_callers): Replace check for GIMPLE_CALL with
1736	a dyn_cast.
1737
17382014-10-24  David Malcolm  <dmalcolm@redhat.com>
1739
1740	Concretize gimple_assign_nontemporal_move_p
1741
1742	* gimple.h (gimple_assign_nontemporal_move_p): Require a
1743	const_gimple_assign rather than a const_gimple.
1744
1745	* cfgexpand.c (expand_gimple_stmt_1): Add local assign_stmt and
1746	checked cast within "case GIMPLE_ASSIGN".
1747
1748	* gimple-streamer-out.c (output_gimple_stmt): Add checked cast to
1749	gimple_assign.
1750
17512014-10-24  David Malcolm  <dmalcolm@redhat.com>
1752
1753	Concretize gimple_call_arg_flags
1754
1755	* gimple.h (gimple_call_arg_flags): Require a const_gimple_call
1756	rather than a const_gimple.
1757
1758	* gimple.c (gimple_call_fnspec): Likewise.
1759	(gimple_call_arg_flags): Likewise.
1760
1761	* tree-inline.c (remap_gimple_stmt): Use a dyn_cast rather than a
1762	is_gimple_call and repeated checked casts.
1763
17642014-10-24  David Malcolm  <dmalcolm@redhat.com>
1765
1766	Concretize gimple_call_set_tail and gimple_call_tail_p
1767
1768	* gimple.h (gimple_call_set_tail): Require a gimple_call.
1769	(gimple_call_tail_p): Likewise.
1770
1771	* cfgexpand.c (expand_gimple_tailcall): Likewise.
1772	(expand_gimple_basic_block): Convert calls to is_gimple_call to a
1773	dyn_cast, introducing a new "call_stmt" local.
1774
1775	* trans-mem.c (expand_block_edges): Likewise, for comparison against
1776	GIMPLE_CALL.
1777
1778	* tree-inline.c (remap_gimple_stmt): Add checked casts to
1779	gimple_call in region guarded by is_gimple_call.
1780
1781	* tree-tailcall.c (optimize_tail_call): Add checked cast to gimple_call
1782	for t->call_gsi.
1783
17842014-10-24  David Malcolm  <dmalcolm@redhat.com>
1785
1786	Concretize gimple_call_set_fntype
1787
1788	* gimple-fold.c (gimple_fold_builtin_sprintf_chk): Strengthen
1789	local "stmt" from gimple to gimple_call.
1790
1791	* gimple.h (gimple_call_set_fntype): Require a gimple_call.
1792
1793	* omp-low.c (lower_omp_1): Add a new local gimple_call "call_stmt",
1794	from a checked cast to gimple_call within the "case GIMPLE_CALL",
1795	for the regions where "stmt" is not subsequently overwritten.
1796
17972014-10-24  David Malcolm  <dmalcolm@redhat.com>
1798
1799	Concretize gimple_call_set_fn
1800
1801	* gimple.h (gimple_call_set_fn): Require a gimple_call.
1802
1803	* trans-mem.c (dump_tm_memopt_transform): Likewise.
1804	(tm_memopt_transform_blocks): Add checked casts to gimple_call in
1805	suites guarded by is_tm_simple_{load|store}, which enforce that
1806	the statement must be a GIMPLE_CALL; use this when invoking
1807	dump_tm_memopt_transform.
1808
18092014-10-24  David Malcolm  <dmalcolm@redhat.com>
1810
1811	Tweak to gimplify_modify_expr
1812
1813	* gimplify.c (gimplify_modify_expr): Introduce local "call_stmt".
1814
18152014-10-24  David Malcolm  <dmalcolm@redhat.com>
1816
1817	Concretize gimple_call_nothrow_p
1818
1819	* gimple.h (gimple_call_nothrow_p): Require a gimple_call.
1820
1821	* tree-eh.c (stmt_could_throw_p): Add checked cast to gimple_call.
1822
1823	* tree-vect-slp.c (vect_build_slp_tree_1): Replace call to
1824	is_gimple_call with dyn_cast<gimple_call>, introducing a local.
1825
18262014-10-24  David Malcolm  <dmalcolm@redhat.com>
1827
1828	Concretize gimple_call_set_nothrow
1829
1830	* gimple.h (gimple_call_set_nothrow): Require a gimple_call.
1831
1832	* trans-mem.c (ipa_tm_insert_gettmclone_call): Likewise.
1833	(ipa_tm_transform_calls_redirect): Add checked cast to gimple call; this
1834	is only called for gsi on a GIMPLE_CALL statement.
1835
18362014-10-24  David Malcolm  <dmalcolm@redhat.com>
1837
1838	Concretize various expressions from gimple to gimple_cond
1839
1840	* ipa-split.c (check_forbidden_calls): Replace check against
1841	GIMPLE_COND with a dyn_cast<gimple_cond>, introducing a
1842	gimple_cond local.
1843	* predict.c (predict_extra_loop_exits): Likewise.
1844	* tree-vrp.c (fold_predicate_in): Likewise.
1845	(simplify_stmt_for_jump_threading): Likewise.
1846
1847	* predict.c (is_comparison_with_loop_invariant_p): Require a
1848	gimple_cond.
1849	(predict_iv_comparison): Add checked cast to gimple_cond once we
1850	know the code is GIMPLE_COND.
1851	(predict_loops): Change type of "stmt" to gimple_cond,
1852	adding checked casts to its assignments (which are both guarded by
1853	checks against GIMPLE_COND).
1854
1855	* tree-vrp.c (find_conditional_asserts): Require a gimple_cond.
1856	(vrp_evaluate_conditional): Likewise.
1857	(find_assert_locations_1): Add checked cast to gimple_cond.
1858	(vrp_visit_stmt): Likewise.
1859
18602014-10-24  David Malcolm  <dmalcolm@redhat.com>
1861
1862	Concretize gimple_cond_{lhs|rhs}_ptr
1863
1864	* gimple.h (gimple_cond_lhs_ptr): Require a const_gimple_cond
1865	rather than just a const_gimple_cond.
1866	(gimple_cond_rhs_ptr): Likewise.
1867
1868	* gimplify-me.c (gimple_regimplify_operands): Add a checked cast
1869	to gimple_cond within "case GIMPLE_COND".
1870	* omp-low.c (lower_omp_1): Likewise.
1871
1872	* omp-low.c (expand_omp_simd): Introduce a new local cond_stmt
1873	to express that the conditional is indeed a gimple_cond.
1874
1875	* tree-ssa-loop-ivopts.c (extract_cond_operands): Add a checked
1876	cast to gimple_cond within a region where the code is known to
1877	be GIMPLE_COND.
1878
18792014-10-24  David Malcolm  <dmalcolm@redhat.com>
1880
1881	Concretize gimple_cond_set_{lhs|rhs}
1882
1883	* gimple.h (gimple_cond_set_lhs): Require a gimple_cond.
1884	(gimple_cond_set_rhs): Likewise.
1885
1886	* tree-parloops.c (transform_to_exit_first_loop): Convert locals
1887	"cond_stmt" and "cond_nit" to gimple_cond, adding checked casts,
1888	since the existing code assumes that code is GIMPLE_COND.  Convert
1889	"stmt" to a gimple_assign.
1890	(create_parallel_loop): Likewise for "cond_stmt".
1891
1892	* tree-ssa-loop-im.c (rewrite_bittest): Replace check for code
1893	GIMPLE_COND with a dyn_cast, adding new local "cond_stmt".
1894
18952014-10-24  David Malcolm  <dmalcolm@redhat.com>
1896
1897	Concretize gimple_cond_set_code
1898
1899	* gimple.h (gimple_cond_set_code): Require a gimple_cond.
1900
1901	* tree-complex.c (expand_complex_comparison): Add a checked cast to
1902	gimple_cond within "case GIMPLE_COND".
1903
1904	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Convert local "cond"
1905	to a gimple_cond, adding a checked cast.  The existing code requires
1906	that the last statement before the exit edge have code GIMPLE_COND,
1907	though it's not clear to me where this is verified.
1908
1909	* tree-ssa-loop-ivopts.c (rewrite_use_compare): Add a checked cast
1910	to gimple_cond on "use->stmt".
1911
1912	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Convert
1913	local "exit_if" to gimple_cond, adding a checked cast.  It's not
1914	clear to me exactly where the GIMPLE_COND-ness of this is
1915	established, but the existing code requires it.
1916	(canonicalize_loop_ivs): Similarly for "stmt".
1917
1918	* tree-ssa-propagate.c (propagate_tree_value_into_stmt): Replace
1919	a check against GIMPLE_COND with a dyn_cast<gimple_cond>.
1920
19212014-10-24  David Malcolm  <dmalcolm@redhat.com>
1922
1923	Concretize gimple_cond_{true|false}_label
1924
1925	* gimple.h (gimple_cond_true_label): Require a const_gimple_cond
1926	rather than just a const_gimple.
1927	(gimple_cond_false_label): Likewise.
1928
1929	* omp-low.c (diagnose_sb_2): Add checked cast to gimple_cond within
1930	case GIMPLE_COND.
1931	* tree-eh.c (maybe_record_in_goto_queue): Likewise.
1932
1933	* tree-cfg.c (verify_gimple_stmt): Add a checked cast to gimple_cond
1934	within "case GIMPLE_COND", splitting it out into...
1935	(verify_gimple_label): New.
1936
19372014-10-24  David Malcolm  <dmalcolm@redhat.com>
1938
1939	Concretize gimple_switch_index and gimple_switch_index_ptr
1940
1941	* gimple.h (gimple_switch_index): Require a const_gimple_switch rather
1942	than a plain const_gimple.
1943	(gimple_switch_index_ptr): Likewise.
1944
1945	* gimplify-me.c (gimple_regimplify_operands): Add checked cast to
1946	gimple_switch within "case GIMPLE_SWITCH".
1947	* tree-cfgcleanup.c (cleanup_control_expr_graph): Likewise.
1948	* tree-ssa-ccp.c (ccp_fold): Likewise.
1949	* tree-ssa-dom.c (optimize_stmt): Likewise.
1950
1951	* tree-ssa-ccp.c (evaluate_stmt): Add checked cast to
1952	gimple_switch within region guarded by check for GIMPLE_SWITCH.
1953	* tree-ssa-dom.c (record_edge_info): Likewise.
1954	(eliminate_redundant_computations): Likewise.
1955	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
1956	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
1957
1958	* tree-ssa-dom.c (initialize_hash_element): Replace check for
1959	code GIMPLE_SWITCH with a dyn_cast<gimple_switch>.
1960	(propagate_rhs_into_lhs): Likewise.
1961	* tree-ssa-propagate.c (may_propagate_copy_into_stmt): Likewise.
1962	(propagate_tree_value_into_stmt): Likewise.
1963
19642014-10-24  David Malcolm  <dmalcolm@redhat.com>
1965
1966	Concretize gimple_cond_make_{false|true}
1967
1968	* gimple.h (gimple_cond_make_false): Require a gimple_cond.
1969	(gimple_cond_make_true): Likewise.
1970
1971	* tree-cfg.c (fold_cond_expr_cond): Add a checked cast to
1972	gimple_cond within region guarded by check for GIMPLE_COND.
1973	* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
1974
1975	* tree-loop-distribution.c (generate_loops_for_partition): Replace
1976	a check for GIMPLE_COND with a dyn_cast<gimple_cond>.
1977	* tree-ssa-ccp.c (optimize_unreachable): Likewise.
1978	* tree-ssa-loop-niter.c (number_of_iterations_exit): Likewise.
1979	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1980	Likewise.
1981
1982	* tree-vrp.c (fold_predicate_in): Add a checked cast to
1983	gimple_cond.  We must be dealing with a GIMPLE_COND since logic
1984	at top of the function ensures we only act on GIMPLE_ASSIGN and
1985	GIMPLE_COND statements, and we're now within a "not a GIMPLE_ASSIGN"
1986	clause.
1987
1988	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Add
1989	checked cast of elt->stmt to gimple_cond.  The existing code requires
1990	this to be a GIMPLE_COND, though it's not clear to me how this
1991	requirement is enforced.
1992	(remove_redundant_iv_tests): Likewise.
1993	(try_unroll_loop_completely): Likewise, for the last_stmt of the
1994	preceding bb along edge_to_cancel.
1995	* tree-ssa-reassoc.c (maybe_optimize_range_tests): Likewise, for the
1996	last_stmt of bb.
1997
19982014-10-24  David Malcolm  <dmalcolm@redhat.com>
1999
2000	Concretize locals within expand_omp_for_init_counts
2001
2002	* omp-low.c (expand_omp_for_init_counts): Eliminate local "stmt"
2003	in favor of new locals "cond_stmt" and "assign_stmt" with more
2004	concrete types.
2005
20062014-10-24  David Malcolm  <dmalcolm@redhat.com>
2007
2008	Make gimple_cond_set_{true|false}_label require gimple_cond.
2009
2010	* gimple.h (gimple_cond_set_true_label): Require a gimple_cond.
2011	(gimple_cond_set_false_label): Likewise.
2012
2013	* tree-cfg.c (make_cond_expr_edges): Convert "entry" from gimple to
2014	a gimple_cond.
2015	(cleanup_dead_labels): Introduce a checked cast to a gimple_cond within
2016	the GIMPLE_COND case.
2017
20182014-10-24  David Malcolm  <dmalcolm@redhat.com>
2019
2020	Concretize three gimple_return_ accessors
2021
2022	* gimple.h (gimple_return_retval_ptr): Require a const_gimple_return
2023	rather than a const_gimple.
2024	(gimple_return_retval): Likewise.
2025	(gimple_return_set_retval): Require a gimple_return.
2026
2027	* cfgexpand.c (expand_gimple_stmt_1): Add a checked cast to
2028	gimple_return.
2029	(expand_gimple_basic_block): Likewise.
2030	* tree-complex.c (expand_complex_move): Likewise.
2031	(expand_complex_comparison): Likewise.
2032	* tree-inline.c (remap_gimple_stmt): Likewise.
2033	* tree-sra.c (scan_function): Likewise.
2034	(sra_modify_function_body): Likewise.
2035	(ipa_sra_modify_function_body): Likewise.
2036	* tree-ssa-structalias.c (find_func_aliases): Likewise.
2037
2038	* gimple-ssa-isolate-paths.c (isolate_path): Strengthen local
2039	"ret" from gimple to gimple_return.
2040	(find_implicit_erroneous_behaviour): Replace a check for code
2041	GIMPLE_RETURN with a dyn_cast and a new local.
2042	(find_explicit_erroneous_behaviour): Likewise.
2043	* gimple-walk.c (walk_stmt_load_store_addr_ops): Likewise.
2044	* gimple.c (infer_nonnull_range): Likewise.
2045	* ipa-split.c (find_return_bb): Likewise.
2046	(find_retval): Likewise.
2047	(split_function): Likewise.
2048	* omp-low.c (ipa_simd_modify_function_body): Likewise.
2049	* tree-cfg.c (pass_warn_function_return::execute): Likewise.
2050	* tree-nrv.c (tree_nrv): Likewise.
2051	* tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Likewise.
2052	* tree-ssa-dce.c (propagate_necessity): Likewise.
2053	* tree-ssa-structalias.c (find_func_clobbers): Likewise.
2054	* tree-tailcall.c (find_tail_calls): Likewise.
2055
2056	* predict.c (apply_return_prediction): Rework the search for
2057	return_stmt so that the latter can have type gimple_return.
2058
20592014-10-24  David Malcolm  <dmalcolm@redhat.com>
2060
2061	Make gimple_phi_arg_location require a gimple_phi.
2062
2063	* gimple.h (gimple_phi_arg_location): Require a gimple_phi.
2064
2065	* tree-into-ssa.c (rewrite_update_phi_arguments): Replace a check
2066	for code GIMPLE_PHI with a dyn_cast and a new local.
2067	* tree-ssa-ter.c (ter_is_replaceable_p): Likewise.
2068
2069	* tree-ssa-live.c (remove_unused_locals): Replace a
2070	gimple_stmt_iterator with a gimple_phi_iterator, using it to make
2071	local "phi" be a gimple_phi.
2072	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
2073
2074	* tree-ssa-phiopt.c (conditional_replacement): Require a gimple_phi.
2075	(single_non_singleton_phi_for_edges): Return a gimple_phi; update
2076	local to be a gimple_phi, adding checked casts since we're working
2077	on a sequence of gimple_phi.
2078	(conditional_replacement): Require a gimple_phi.
2079
2080	* tree-ssa-threadupdate.c (get_value_locus_in_path): Strengthen
2081	type of local "def_phi" to gimple_phi by replacing a check of the
2082	code for GIMPLE_PHI with a dyn_cast<gimple_phi>.
2083
20842014-10-24  David Malcolm  <dmalcolm@redhat.com>
2085
2086	Make gimple_phi_arg_location_from_edge require a gimple_phi
2087
2088	* gimple.h (gimple_phi_arg_location_from_edge): Require a
2089	gimple_phi.
2090
2091	* tree-parloops.c (create_parallel_loop): Split up local variable
2092	"stmt", introducing other locals for the various statements created
2093	by this function.  Reuse "stmt" within the phi-handling code, and
2094	change to type gimple_phi, since this is the only remaining
2095	"non-phi" user of gimple_phi_arg_location_from_edge.
2096
20972014-10-24  David Malcolm  <dmalcolm@redhat.com>
2098
2099	Concretize three gimple_try_set_ accessors
2100
2101	* gimple.c (gimple_copy): Add checked casts to gimple_try.
2102
2103	* gimple.h (gimple_try_set_kind): Require a gimple_try.
2104	(gimple_try_set_eval): Likewise.
2105	(gimple_try_set_cleanup): Likewise.
2106
2107	* tree-eh.c (optimize_double_finally): Require a pair of gimple_try
2108	statements.
2109	(refactor_eh_r): Convert code comparisons to dynamic casts.
2110
21112014-10-24  David Malcolm  <dmalcolm@redhat.com>
2112
2113	Concretize gimple_try_set_catch_is_cleanup
2114
2115	* gimple.h (gimple_try_set_catch_is_cleanup): Require a gimple_try.
2116
2117	* gimplify.c (gimplify_expr): Convert local "try_" from a gimple
2118	to a gimple_try.
2119
21202014-10-24  David Malcolm  <dmalcolm@redhat.com>
2121
2122	Concretize gimple_eh_filter_set_types and gimple_eh_filter_set_failure
2123
2124	* gimple.h (gimple_eh_filter_set_types): Require a gimple_eh_filter.
2125	(gimple_eh_filter_set_failure): Likewise.
2126	* gimple.c (gimple_copy): Add checked casts to gimple_eh_filter
2127	within GIMPLE_EH_FILTER case.
2128
21292014-10-24  David Malcolm  <dmalcolm@redhat.com>
2130
2131	Concretize gimple_label_label
2132
2133	* gimple.h (gimple_label_label): Require a const_gimple_label
2134	rather than just a const_gimple.
2135
2136	* cfgexpand.c (label_rtx_for_bb): Convert local from gimple to
2137	gimple_label, replacing a check against GIMPLE_LABEL with a
2138	dyn_cast<gimple_label>.
2139	* predict.c (tree_estimate_probability_bb): Likewise.
2140	* tree-cfg.c (make_edges): Likewise.
2141	(cleanup_dead_labels): Likewise (twice).
2142	(gimple_can_merge_blocks_p): Likewise.
2143	(gimple_block_label): Likewise.
2144	* tree-eh.c (unsplit_eh): Likewise.
2145	(cleanup_empty_eh_unsplit): Likewise.
2146	* tree-inline.c (mark_local_labels_stmt): Likewise.
2147	* tree-nested.c (convert_nl_goto_receiver): Likewise.
2148
2149	* cfgexpand.c (expand_gimple_stmt_1): Add a checked cast to
2150	gimple_label when invoking gimple_label_label in a region where
2151	we've checked the code is GIMPLE_LABEL.
2152	* gimple-pretty-print.c (pp_cfg_jump): Likewise.
2153	* gimple.c (gimple_set_bb): Likewise.
2154	* ipa-pure-const.c (check_stmt): Likewise.
2155	* omp-low.c (diagnose_sb_1): Likewise.
2156	* tree-cfg.c (gimple_verify_flow_info): Likewise.
2157	* tree-cfgcleanup.c (tree_forwarder_block_p): Likewise.
2158	(remove_forwarder_block): Likewise.
2159	* tree-eh.c (collect_finally_tree): Likewise.
2160
2161	* ipa-split.c (verify_non_ssa_vars): Replace a check against
2162	GIMPLE_LABEL with a dyn_cast<gimple_label>, introducing a
2163	gimple_label local.
2164	* tree-cfg.c (gimple_can_merge_blocks_p): Likewise.
2165	(gimple_merge_blocks): Likewise.
2166	(remove_bb): Likewise.
2167	(stmt_starts_bb_p): Likewise.
2168	(gimple_verify_flow_info): Likewise.
2169	(move_block_to_fn): Likewise.
2170	* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
2171	(remove_forwarder_block_with_phi): Likewise.
2172	* tree-ssa-ccp.c (optimize_unreachable): Likewise.
2173
21742014-10-24  David Malcolm  <dmalcolm@redhat.com>
2175
2176	Concretize gimple_call_use_set and gimple_call_clobber_set
2177
2178	* gimple.h (gimple_call_use_set): Require a gimple_call.
2179	(gimple_call_clobber_set): Likewise.
2180
21812014-10-24  David Malcolm  <dmalcolm@redhat.com>
2182
2183	Concretize gimple_catch_types
2184
2185	* gimple.h (gimple_catch_types): Require a const_gimple_catch
2186	rather than a const_gimple.
2187
21882014-10-24  David Malcolm  <dmalcolm@redhat.com>
2189
2190	Make gimple_goto_set_dest require a gimple_goto
2191
2192	* gimple.h (gimple_goto_set_dest): Require a gimple_goto.
2193
2194	* tree-cfg.c (factor_computed_gotos): Add checked cast to
2195	gimple_goto.
2196	(cleanup_dead_labels): Likewise.
2197
21982014-10-24  David Malcolm  <dmalcolm@redhat.com>
2199
2200	Make gimple_label_set_label require a gimple_label
2201
2202	* gimple.h (gimple_label_set_label): Require a gimple_label.
2203
22042014-10-24  David Malcolm  <dmalcolm@redhat.com>
2205
2206	Concretize parameter to gimple_call_copy_skip_args
2207
2208	* gimple.c (gimple_call_copy_skip_args): Require a gimple_call.
2209	* gimple.h (gimple_call_copy_skip_args): Likewise.
2210
22112014-10-24  David Malcolm  <dmalcolm@redhat.com>
2212
2213	Various gimple to gimple_call conversions in IPA
2214
2215	* ipa-prop.c (detect_type_change_from_memory_writes): Require a
2216	gimple_call rather than a plain gimple.
2217	(detect_type_change): Likewise.
2218	(detect_type_change_ssa): Likewise.
2219	(compute_complex_assign_jump_func): Likewise.
2220	(compute_complex_ancestor_jump_func): Likewise.
2221	(compute_known_type_jump_func): Likewise.
2222	(determine_locally_known_aggregate_parts): Likewise.
2223	(ipa_compute_jump_functions_for_edge): Strengthen local "call" to
2224	a gimple_call; add checked cast to gimple_phi.
2225	(ipa_note_param_call): Require a gimple_call rather than a plain
2226	gimple.
2227	(ipa_analyze_indirect_call_uses): Likewise.
2228	(ipa_analyze_virtual_call_uses): Likewise.
2229	(ipa_analyze_call_uses): Likewise.
2230	(ipa_analyze_stmt_uses):Add checked cast to gimple_call.
2231
2232	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2233	Replace use of is_gimple_call with dyn_cast<gimple_call> and a
2234	new local "call_stmt".
2235
22362014-10-24  David Malcolm  <dmalcolm@redhat.com>
2237
2238	Use gimple_call for callgraph edges
2239
2240	* cgraph.h (cgraph_edge::call_stmt): Strengthen field from plain
2241	gimple to a gimple_call.
2242	(cgraph_node::set_call_stmt_including_clones): Likewise for param
2243	"new_stmt".
2244	(cgraph_node::create_edge): Likewise for param "call_stmt".
2245	(cgraph_node::create_indirect_edge): Likewise.
2246	(cgraph_node::create_edge_including_clones): Likewise for param
2247	"stmt".
2248	(cgraph_edge::set_call_stmt): Likewise for param "new_stmt".
2249	(cgraph_edge::clone): Likewise for param "call_stmt".
2250	(symbol_table::create_edge): Likewise.
2251
2252	* cgraph.c (cgraph_edge::set_call_stmt): Require a gimple_call
2253	rather than a plain gimple.
2254	(symbol_table::create_edge): Likewise.
2255	(cgraph_node::create_edge): Likewise.
2256	(cgraph_node::create_indirect_edge): Likewise.
2257	(cgraph_edge::redirect_call_stmt_to_callee): Strengthen local
2258	"new_stmt" from gimple to gimple_call.
2259	(cgraph_update_edges_for_call_stmt_node): Add checked casts to
2260	gimple_call.
2261
2262	* cgraphbuild.c (pass_build_cgraph_edges::execute): Replace
2263	is_gimple_call with dyn_cast<gimple_call> and new local
2264	"call_stmt".
2265	(cgraph_edge::rebuild_edges): Likewise.
2266
2267	* cgraphclones.c (cgraph_edge::clone): Require a gimple_call
2268	rather than a plain gimple.
2269	(cgraph_node::set_call_stmt_including_clones): Likewise.
2270	(cgraph_node::create_edge_including_clones): Likewise.
2271
2272	* lto-streamer-in.c (fixup_call_stmt_edges_1): Add checked casts
2273	to gimple_call.
2274
2275	* omp-low.c (simd_clone_adjust): Strengthen local "call" from
2276	gimple to gimple_call.
2277
2278	* trans-mem.c (ipa_tm_insert_irr_call): Likewise for "g".
2279	(ipa_tm_insert_gettmclone_call): Likewise; also strengthen "g2"
2280	to gimple_assign.
2281
2282	* tree-emutls.c (gen_emutls_addr): Strengthen local "x" from
2283	gimple to gimple_call.
2284
2285	* tree-inline.c (copy_bb): Replace is_gimple_call with
2286	dyn_cast<gimple_call> and new local "call_stmt".
2287
2288	* value-prof.c (gimple_ic): Require and return a gimple_call,
2289	rather than a plain gimple.
2290	* value-prof.h (gimple_ic): Likewise.
2291
22922014-10-24  David Malcolm  <dmalcolm@redhat.com>
2293
2294	Make gimple_call_return_slot_opt_p require a gimple_call.
2295
2296	* gimple.h (gimple_call_return_slot_opt_p): Require a gimple_call
2297	rather than a plain gimple.
2298
2299	* gimple-walk.c (walk_stmt_load_store_addr_ops): Convert usage of
2300	is_gimple_call to dyn_cast<gimple_call>, introducing a new local
2301	"call_stmt".
2302
2303	* trans-mem.c (expand_call_tm): Split local "stmt", strengthening
2304	from plain gimple to a gimple_call, and introducing new local
2305	gimple_assign "assign_stmt".
2306
2307	* tree-inline.c (expand_call_inline):  Convert check of code against
2308	GIMPLE_CALL to dyn_cast<gimple_call>, introducing a new local
2309	"call_stmt".
2310
23112014-10-24  David Malcolm  <dmalcolm@redhat.com>
2312
2313	More gimple_phi
2314
2315	* gimple.h (gimple_phi_set_result): Require a gimple_phi rather
2316	than a plain gimple.
2317	(gimple_phi_set_arg): Likewise.
2318
2319	* tree-outof-ssa.c (remove_gimple_phi_args): Likewise; add a checked
2320	cast to gimple_phi.
2321
2322	* tree-sra.c (replace_removed_params_ssa_names): Add a checked
2323	cast to gimple_phi.
2324
23252014-10-24  David Malcolm  <dmalcolm@redhat.com>
2326
2327	Make gimple_phi_arg_edge require a gimple_phi
2328
2329	* gimple.h (gimple_phi_arg_edge): Require a gimple_phi rather
2330	than a plain gimple.
2331
2332	* gimple-ssa-strength-reduction.c (ncd_with_phi): Strengthen
2333	param "phi" from gimple to gimple_phi.  Add a checked cast.
2334	(ncd_of_cand_and_phis): Add a checked cast.
2335
2336	* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Require a
2337	gimple_phi_iterator; strengthen local "phi" from gimple to a
2338	gimple_phi.
2339	(rewrite_cross_bb_scalar_deps): Strengthen local "psi" from
2340	a gimple_stmt_iterator to a gimple_phi_iterator.
2341	(edge_initial_value_for_loop_phi): Require a gimple phi.
2342	(initial_value_for_loop_phi): Likewise.
2343
2344	* ipa-split.c (consider_split): Convert "bsi" to a
2345	gimple_phi_iterator and "stmt" to a gimple_phi.
2346
2347	* predict.c (predict_extra_loop_exits): Convert "phi_stmt" to be
2348	a gimple_phi; introduce "lhs_def_stmt" as plain gimple.
2349	(apply_return_prediction): Convert "phi" to be a gimple_phi.
2350
2351	* tree-cfg.c (replace_uses_by): Add checked cast to gimple_phi.
2352	(verify_gimple_in_cfg): Introduce gimple_phi_iterator "gpi" and use
2353	it to convert "phi" to a gimple_phi.
2354
2355	* tree-eh.c (cleanup_empty_eh_merge_phis): Convert "ngsi", "ogsi"
2356	to be gimple_phi_iterators.  Convert "ophi", "nphi" to be
2357	gimple_phi.
2358
2359	* tree-into-ssa.c (prepare_use_sites_for): Add checked cast to
2360	gimple_phi.
2361
2362	* tree-ssa-coalesce.c (create_outofssa_var_map): Introduce
2363	gimple_phi_iterator "gpi" and use it to convert "phi" to a
2364	gimple_phi.
2365
2366	* tree-ssa-dce.c (propagate_necessity): Introduce local "phi",
2367	from checked cast to gimple_phi.
2368
2369	* tree-ssa-live.c (set_var_live_on_entry): Add checked cast to
2370	gimple_phi.
2371
2372	* tree-ssa-propagate.c (replace_phi_args_in): Require a gimple_phi
2373	rather than a plain gimple.
2374	(substitute_and_fold_dom_walker::before_dom_children): Introduce
2375	gimple_phi_iterator "gpi".
2376
2377	* tree-ssa-sink.c (find_bb_for_arg): Require a gimple_phi rather
2378	than a plain gimple.
2379	(nearest_common_dominator_of_uses): Replace check of code against
2380	GIMPLE_PHI with a dyn_cast<gimple_phi>, introducing a new local.
2381	(statement_sink_location): Add checked cast to gimple_phi.
2382
2383	* tree-ssa-uninit.c (compute_uninit_opnds_pos): Require a
2384	gimple_phi rather than a plain gimple.
2385	(collect_phi_def_edges): Likewise.  Add a checked cast.
2386	(find_def_preds): Strengthen param "phi" from gimple to
2387	gimple_phi.
2388	(prune_uninit_phi_opnds_in_unrealizable_paths): Likewise for
2389	params "phi" and "flag_def".  Strenghen param "visited_phis" from
2390	hash_set<gimple> * to hash_set<gimple_phi> *.  Convert
2391	"flag_arg_def", "phi_arg_def" to gimple_phi using
2392	dyn_cast<gimple_phi>.  Similarly, introduce new local
2393	"opnd_def_phi".
2394	(use_pred_not_overlap_with_undef_path_pred): Strengthen param
2395	"phi" from gimple to gimple_phi, and param "visited_phis" from
2396	hash_set<gimple> * to hash_set<gimple_phi> *.  Add a checked cast.
2397	(is_use_properly_guarded): Likewise for params.
2398	(find_uninit_use): Replace check of code against GIMPLE_PHI with
2399	a dyn_cast<gimple_phi>, introducing a new local "use_phi".
2400	Strengthen local "visited_phis" from hash_set<gimple> to
2401	hash_set<gimple_phi>.
2402
24032014-10-24  David Malcolm  <dmalcolm@redhat.com>
2404
2405	Update GRAPHITE to use more concrete gimple statement classes
2406
2407	* graphite-scop-detection.c (canonicalize_loop_closed_ssa):
2408	Strengthen local "psi" to be a gimple_phi_iterator and "phi" to
2409	a gimple_phi.
2410
2411	* graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Require
2412	a gimple_phi rathen than a plain gimple.
2413	(remove_simple_copy_phi): Require a gimple_phi_iterator;
2414	strengthen local "phi" to be a gimple_phi and "stmt" to be a
2415	gimple_assign.
2416	(remove_invariant_phi): Likewise.
2417	(simple_copy_phi_p): Require a gimple_phi.
2418	(reduction_phi_p): Require a gimple_phi_iterator; strengthen
2419	local "phi" to be a gimple_phi.
2420	(add_condition_to_pbb): Require a gimple_cond rather than a
2421	plain gimple.
2422	(add_conditions_to_domain): Add checked cast to gimple_cond
2423	within GIMPLE_COND case of switch statement.
2424	(single_pred_cond_non_loop_exit): Return a gimple_cond rather
2425	than a plain gimple, via a checked cast.
2426	(sese_dom_walker::before_dom_children): Strengthen local "stmt"
2427	from gimple to gimple_cond.
2428	(gsi_for_phi_node): Require a gimple_phi, and return a
2429	gimple_phi_iterator.
2430	(insert_out_of_ssa_copy): Strengthen local "stmt" from gimple to
2431	gimple_assign.
2432	(rewrite_reductions_out_of_ssa): Strengthen "psi" to be a
2433	gimple_phi_iterator, and "phi" to be a gimple_phi.
2434	(phi_contains_arg): Require a gimple_phi.
2435	(follow_ssa_with_commutative_ops): Strengthen return type from
2436	gimple to gimple_phi, by converting a check for code GIMPLE_PHI to
2437	a dyn_cast<gimple_phi>, and strengthening local "res" from gimple
2438	to gimple_phi.
2439	(detect_commutative_reduction_arg): Strengthen return type from
2440	gimple to gimple_phi, and strengthen local "phi" to be a
2441	gimple_phi.
2442	(detect_commutative_reduction_assign): Strengthen return type from
2443	gimple to gimple_phi, and strengthen local "res" to be a
2444	gimple_phi.
2445	(follow_inital_value_to_phi): Strengthen return type from
2446	gimple to gimple_phi.  Replace check for code GIMPLE_PHI with
2447	a dyn_cast<gimple_phi>.
2448	(detect_commutative_reduction): Strengthen return type and locals
2449	"loop_phi", "phi", "close_phi" from gimple to gimple_phi,
2450	introducing a checked cast of "stmt" in region guarded by
2451	scalar_close_phi_node_p (stmt).
2452	(translate_scalar_reduction_to_array_for_stmt): Require param
2453	"loop_phi" to be a gimple_phi.  Strengthen local "assign" from
2454	gimple to gimple_assign.
2455	(remove_phi): Require a gimple_phi.
2456	(close_phi_written_to_memory): Likewise.
2457	(translate_scalar_reduction_to_array): We expect the first element
2458	in each vector to be an arbitrary statement, but all of the
2459	subsequent elements to be phi nodes.  Hence the decls of gimple
2460	locals "loop_phi" and "close_phi" are replaced with decls of gimple
2461	"loop_stmt" and "close_stmt", with decls of the more-strongly typed
2462	gimple_phi "loop_phi" and "close_phi" occurring lower down, within
2463	the region where we're dealing with i > 0 and hence where we can
2464	safely assign them using the checked cast as_a <gimple_phi>.
2465	This allows many of the strengthenings from gimple to gimple_phi
2466	above.  We eliminate the local "stmt", since we can simply use
2467	"loop_stmt".
2468	(rewrite_commutative_reductions_out_of_ssa_close_phi): Strengthen
2469	param "close_phi" from gimple to gimple_phi, and local "gsi" from
2470	gimple_stmt_iterator to gimple_phi_iterator, converting uses of
2471	gsi_stmt to gsi.phi for type-safety.
2472	(scop_ivs_can_be_represented): Strengthen local "gsi" from
2473	gimple_stmt_iterator to gimple_phi_iterator, and "phi" from gimple
2474	to gimple_phi.
2475
24762014-10-24  David Malcolm  <dmalcolm@redhat.com>
2477
2478	Make gimple_phi_arg_set_location require a gimple_phi
2479
2480	* gimple.h (gimple_phi_arg_set_location): Require a gimple_phi
2481	rather than a plain gimple.
2482
24832014-10-24  David Malcolm  <dmalcolm@redhat.com>
2484
2485	Make add_phi_arg require a gimple_phi
2486
2487	* tree-phinodes.h (add_phi_arg): Require a gimple_phi rather than
2488	a plain gimple.
2489	* tree-phinodes.c (add_phi_arg): Likewise.
2490
2491	* gimple-ssa-strength-reduction.c (create_phi_basis): Strengthen
2492	local "phi" from plain gimple to gimple_phi.
2493
2494	* graphite-scop-detection.c (canonicalize_loop_closed_ssa):
2495	Likewise for "close_phi".
2496
2497	* ipa-split.c (split_function): Convert "psi" to
2498	gimple_phi_iterator.
2499
2500	* omp-low.c (expand_omp_for_static_nochunk): Introduce
2501	gimple_phi_iterator gpi, using it to strengthen "phi" to be a
2502	gimple_phi.
2503	(expand_omp_for_static_chunk): Likewise.
2504
2505	* tree-cfg.c (gimple_duplicate_bb): Make topmost "gsi" decl more
2506	tightly-scoped, and eliminate decls "phis", "phi", "stmt", "copy"
2507	in favor of more tightly-scoped gimple_phi_iterator gpi and
2508	gimple_phi decls "phi" and "copy", and gimple decls "stmt" and
2509	"copy".
2510
2511	* tree-parloops.c (create_parallel_loop): Introduce
2512	gimple_phi_iterator gpi, using it to strengthen "phi" to be a
2513	gimple_phi.
2514
2515	* tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
2516
2517	* tree-ssa-loop-manip.c (create_iv): Split out new gimple_phi
2518	local "phi" from "stmt", and convert the latter into being a
2519	gimple_assign.
2520
2521	* tree-ssa-pre.c (insert_into_preds_of_block): Strengthen local
2522	"phi" to be a gimple_phi.
2523
2524	* tree-ssa-tail-merge.c (vop_phi): Require a gimple_phi rather
2525	than a plain gimple.
2526	(replace_block_by): Strengthen local "bb2_phi" to be a gimple_phi.
2527
2528	* tree-tailcall.c (add_successor_phi_arg): Use gsi.phi when
2529	invoking add_phi_arg.
2530	(eliminate_tail_call): Introduce gimple_phi_iterator gpi, using it
2531	to strengthen "phi" to be a gimple_phi.
2532	(create_tailcall_accumulator): Strengthen local "phi" to be a
2533	gimple_phi.
2534	(tree_optimize_tail_calls_1): Likewise.
2535
2536	* tree-vect-data-refs.c (vect_setup_realignment): Strengthen
2537	local "phi_stmt" to be a gimple_phi.
2538
2539	* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
2540	Strengthen "gsi", "gsi_orig", "gsi_new" to be
2541	gimple_phi_iterators, and "phi" "orig_phi", "new_phi" to be
2542	gimple_phi instances.
2543	(slpeel_tree_peel_loop_to_edge): Strengthen local "new_phi" to be
2544	a gimple_phi.
2545
2546	* tree-vect-loop.c (get_initial_def_for_induction): Likewise for
2547	"induction_phi".
2548	(vect_create_epilog_for_reduction): Add checked casts to
2549	gimple_phi; strengthen local "outer_phi" to gimple_phi and
2550	"new_vec_stmt" to gimple_assign.
2551	(vect_finalize_reduction): Strengthen local "vect_phi" to
2552	gimple_phi.
2553	(vectorizable_reduction): Likewise for "new_phi".
2554
2555	* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
2556	(vectorizable_load): Likewise for "phi".
2557
25582014-10-24  David Malcolm  <dmalcolm@redhat.com>
2559
2560	Make gimple_phi_arg_def_ptr and gimple_phi_arg_has_location require a gimple_phi
2561
2562	* gimple.h (gimple_phi_arg_def_ptr): Require a gimple_phi rather
2563	than a plain gimple.
2564	(gimple_phi_arg_has_location): Likewise.
2565
2566	* gimple-streamer-in.c (input_phi): Return a gimple_phi rather
2567	than a plain gimple.
2568	* gimple-streamer-out.c (output_phi): Require a gimple_phi rather
2569	than a plain gimple.
2570	(output_bb): Convert iteration to a gimple_phi_iterator, and local
2571	"phi" to gimple_phi.
2572
2573	* omp-low.c (expand_omp_for_static_chunk): Convert iterator "psi"
2574	to a gimple_phi_iterator; convert locals "phi" and "nphi" to be
2575	gimple_phi.
2576
2577	* tree-cfg.c (gimple_duplicate_sese_tail): Likewise for "psi" and
2578	"phi".
2579	(move_block_to_fn): Introduce new gimple_phi_iterator "psi", using
2580	it in place of "gsi" where necessary.  Convert "phi" to be a
2581	gimple_phi.
2582
2583	* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
2584
2585	* tree-vect-loop-manip.c (vect_loop_versioning): Convert "gsi" to
2586	a gimple_phi_iterator, and "orig_phi" and "new_phi" to be
2587	gimple_phi.
2588
2589	* tree.c (find_decls_types_in_node): Introduce new
2590	gimple_phi_iterator "psi", using it in place of "si" where
2591	necessary.  Convert "phi" to be a gimple_phi.
2592
25932014-10-24  David Malcolm  <dmalcolm@redhat.com>
2594
2595	omp-low.c: Use more concrete types of gimple statement for various locals
2596
2597	* omp-low.c (finalize_task_copyfn): Strengthen local "bind" from
2598	plain gimple to gimple_bind.
2599	(lower_rec_input_clauses): Strengthen local "g" from
2600	plain gimple to gimple_assign.
2601	(lower_lastprivate_clauses): Likewise for "stmt" to gimple_cond
2602	and "g" to gimple_call.
2603	(expand_omp_for_init_vars): Likewise, for two decls of "stmt" to
2604	gimple_assign.
2605	(expand_omp_atomic_pipeline): Likewise for one decl of "stmt".
2606	(expand_omp_atomic_mutex): Likewise.
2607	(lower_omp_master): Likewise for "x" to gimple_call.
2608	(lower_omp_ordered): Likewise.
2609
26102014-10-24  David Malcolm  <dmalcolm@redhat.com>
2611
2612	tree-parloops.c: Use gimple_phi in various places
2613
2614	* tree-parloops.c (reduction_info::keep_res): Strengthen field
2615	from plain gimple to gimple_phi.
2616	(transform_to_exit_first_loop): Strengthen locals "phi", "nphi"
2617	to gimple_phi.  Eliminate early decl of gimple_stmt_iterator gsi
2618	in favor of more tightly scoped gimple_phi_iterators, and a final
2619	later decl as a gimple_stmt_iterator.
2620
26212014-10-24  David Malcolm  <dmalcolm@redhat.com>
2622
2623	Introduce gimple_omp_sections
2624
2625	* coretypes.h (gimple_omp_sections): New typedef.
2626	(const_gimple_omp_sections): New typedef.
2627
2628	* gimple-pretty-print.c (dump_gimple_omp_sections): Require a
2629	gimple_omp_sections rather than a plain gimple.
2630	(pp_gimple_stmt_1): Add checked cast to gimple_omp_sections within
2631	GIMPLE_OMP_SECTIONS case of switch statement.
2632
2633	* gimple.c (gimple_build_omp_sections): Return a
2634	gimple_omp_sections rather than a plain gimple.
2635
2636	* gimple.h (gimple_build_omp_sections): Return a
2637	gimple_omp_sections rather than a plain gimple.
2638
2639	* omp-low.c (scan_omp_sections): Require a gimple_omp_sections
2640	rather than a plain gimple.
2641	(scan_omp_1_stmt): Add checked cast to gimple_omp_sections within
2642	GIMPLE_OMP_SECTIONS case of switch statement.
2643	(expand_omp_sections): Strengthen local "sections_stmt" from gimple
2644	to gimple_omp_sections.
2645	(lower_omp_sections): Likewise for "stmt".
2646
26472014-10-24  David Malcolm  <dmalcolm@redhat.com>
2648
2649	Introduce gimple_omp_teams
2650
2651	* coretypes.h (gimple_omp_teams): New typedef.
2652	(const_gimple_omp_teams): New typedef.
2653
2654	* gimple.h (gimple_build_omp_teams): Return a gimple_omp_teams
2655	rather than a plain gimple.
2656	(gimple_omp_teams_set_clauses): Require a gimple_omp_teams rather
2657	than a plain gimple.
2658
2659	* gimple-pretty-print.c (dump_gimple_omp_teams): Require a
2660	gimple_omp_teams rather than a plain gimple.
2661	(pp_gimple_stmt_1): Add checked cast to gimple_omp_teams within
2662	GIMPLE_OMP_TEAMS case of switch statement.
2663
2664	* gimple.c (gimple_build_omp_teams): Return a gimple_omp_teams
2665	rather than a plain gimple.
2666
2667	* omp-low.c (scan_omp_teams): Likewise.
2668	(scan_omp_1_stmt): Add checked cast to gimple_omp_teams within
2669	GIMPLE_OMP_TEAMS case of switch statement.
2670	(lower_omp_teams): Strengthen local "teams_stmt" from gimple to
2671	gimple_omp_teams.
2672
26732014-10-24  David Malcolm  <dmalcolm@redhat.com>
2674
2675	Introduce gimple_omp_target
2676
2677	* coretypes.h (gimple_omp_target): New typedef.
2678	(const_gimple_omp_target): New typedef.
2679
2680	* gimple.h (gimple_build_omp_target): Return a gimple_omp_target
2681	rather than a plain gimple.
2682	(gimple_omp_target_set_clauses): Require a gimple_omp_target
2683	rather than a plain gimple.
2684	(gimple_omp_target_set_kind): Likewise.
2685	(gimple_omp_target_child_fn_ptr): Likewise.
2686	(gimple_omp_target_set_child_fn): Likewise.
2687	(gimple_omp_target_data_arg_ptr): Likewise.
2688	(gimple_omp_target_set_data_arg): Likewise.
2689	(gimple_omp_target_child_fn): Require a const_gimple_omp_target
2690	rather than a plain const_gimple.
2691	(gimple_omp_target_data_arg): Likewise.
2692
2693	* gimple-pretty-print.c (dump_gimple_omp_target): Require a
2694	gimple_omp_target rather than a plain gimple.
2695	(pp_gimple_stmt_1): Add checked cast to gimple_omp_target within
2696	GIMPLE_OMP_TARGET case of switch statement.
2697
2698	* gimple.c (gimple_build_omp_target): Return a gimple_omp_target
2699	rather than a plain gimple.
2700
2701	* gimplify.c (gimplify_omp_target_update): Strengthen local "stmt"
2702	from gimple to gimple_omp_target.
2703
2704	* omp-low.c (scan_omp_target): Require a gimple_omp_target rather
2705	than a plain gimple.
2706	(scan_omp_1_stmt): Add checked cast to gimple_omp_target within
2707	GIMPLE_OMP_TARGET case of switch statement.
2708	(expand_omp_target): Strengthen local "entry_stmt" from gimple to
2709	gimple_omp_target.
2710	(lower_omp_target): Likewise for "stmt".
2711
2712	* tree-nested.c (convert_nonlocal_reference_stmt): Add checked
2713	cast to gimple_omp_target.
2714	(convert_local_reference_stmt): Likewise.
2715	(convert_gimple_call): Likewise.
2716
27172014-10-24  David Malcolm  <dmalcolm@redhat.com>
2718
2719	Introduce gimple_omp_single
2720
2721	* coretypes.h (gimple_omp_single): New typedef.
2722	(const_gimple_omp_single): New typedef.
2723
2724	* gimple.h (gimple_build_omp_single): Return a gimple_omp_single
2725	rather than a plain gimple.
2726	(gimple_omp_single_set_clauses): Require a gimple_omp_single
2727	rather than a plain gimple.
2728
2729	* gimple-pretty-print.c (dump_gimple_omp_single): Require a
2730	gimple_omp_single rather than a plain gimple.
2731	(pp_gimple_stmt_1): Add checked cast to gimple_omp_single within
2732	GIMPLE_OMP_SINGLE case of switch statement.
2733
2734	* gimple.c (gimple_build_omp_single): Return a gimple_omp_single
2735	rather than a plain gimple.
2736
2737	* omp-low.c (scan_omp_single): Require a gimple_omp_single rather
2738	than a plain gimple.
2739	(scan_omp_1_stmt): Add checked cast to gimple_omp_single within
2740	GIMPLE_OMP_SINGLE case of switch statement.
2741	(lower_omp_single_simple): Require a gimple_omp_single rather
2742	than a plain gimple.
2743	(lower_omp_single_copy): Likewise.
2744	(lower_omp_single): Strengthen local "single_stmt" from gimple to
2745	gimple_omp_single.
2746
27472014-10-24  David Malcolm  <dmalcolm@redhat.com>
2748
2749	Introduce gimple_omp_task
2750
2751	* coretypes.h (gimple_omp_task): New typedef.
2752	(const_gimple_omp_task): New typedef.
2753
2754	* gimple.h (gimple_build_omp_task): Return a gimple_omp_task
2755	rather than a plain gimple.
2756
2757	* gimple-pretty-print.c (dump_gimple_omp_task): Require a
2758	gimple_omp_task rather than a plain gimple.
2759	(pp_gimple_stmt_1): Add checked cast to gimple_omp_task within
2760	GIMPLE_OMP_TASK case of switch statement.
2761
2762	* gimple.c (gimple_build_omp_task): Return a gimple_omp_task
2763	rather than a plain gimple.
2764
2765	* omp-low.c (finalize_task_copyfn): Require a gimple_omp_task
2766	rather than a plain gimple.
2767	(delete_omp_context): Add checked cast to gimple_omp_task.
2768	(scan_omp_task): Strengthen local "stmt" from gimple to
2769	gimple_omp_task.
2770	(expand_task_call): Require a gimple_omp_task rather than a plain
2771	gimple.
2772	(expand_omp_taskreg): Add checked cast to gimple_omp_task.
2773	(create_task_copyfn): Require a gimple_omp_task rather than a
2774	plain gimple.
2775	(lower_omp_taskreg): Add checked cast to gimple_omp_task.
2776
27772014-10-24  David Malcolm  <dmalcolm@redhat.com>
2778
2779	tree-cfg.c: Make verify_gimple_call require a gimple_call
2780
2781	* tree-cfg.c (verify_gimple_call): Require a gimple_call rather
2782	than a plain gimple.
2783	(verify_gimple_stmt): Add checked cast to gimple_call within
2784	GIMPLE_CALL case of switch statement.
2785
27862014-10-24  David Malcolm  <dmalcolm@redhat.com>
2787
2788	Introduce gimple_omp_parallel
2789
2790	* coretypes.h (gimple_omp_parallel): New typedef.
2791	(const_gimple_omp_parallel): New typedef.
2792
2793	* cgraphbuild.c (build_cgraph_edges): Convert check of code
2794	against GIMPLE_OMP_PARALLEL to a dyn_cast <gimple_omp_parallel>
2795	and new local.
2796
2797	* gimple-pretty-print.c (dump_gimple_omp_parallel): Require a
2798	gimple_omp_parallel rather than a plain gimple.
2799	(pp_gimple_stmt_1): Add a checked cast to gimple_omp_parallel
2800	within GIMPLE_OMP_PARALLEL case of switch statement.
2801
2802	* gimple-walk.c (walk_gimple_op): Likewise, introducing a local.
2803
2804	* gimple.c (gimple_build_omp_parallel): Return a
2805	gimple_omp_parallel rather than a plain gimple.
2806	(gimple_copy): Add checked casts to gimple_omp_parallel within
2807	GIMPLE_OMP_PARALLEL case of switch statement, introducing locals.
2808
2809	* gimple.h (gimple_build_omp_parallel): Return a
2810	gimple_omp_parallel rather than a plain gimple.
2811	(gimple_omp_parallel_clauses_ptr): Require a gimple_omp_parallel
2812	rather than a plain gimple.
2813	(gimple_omp_parallel_set_clauses): Likewise.
2814	(gimple_omp_parallel_data_arg_ptr): Likewise.
2815	(gimple_omp_parallel_set_data_arg): Likewise.
2816	(gimple_omp_parallel_child_fn_ptr): Likewise.
2817	(gimple_omp_parallel_set_child_fn): Likewise.
2818	(gimple_omp_parallel_child_fn): Require a
2819	const_gimple_omp_parallel rather than a plain const_gimple.
2820	(gimple_omp_parallel_data_arg): Likewise.
2821
2822	* omp-low.c (scan_omp_parallel): Strengthen local "stmt" from
2823	gimple to gimple_omp_parallel.
2824	(expand_parallel_call): Require a gimple_omp_parallel for
2825	"entry_stmt" rather than a plain gimple.
2826	(remove_exit_barrier):  Strengthen local "parallel_stmt" from
2827	gimple to gimple_omp_parallel.
2828	(expand_omp_taskreg): Add checked casts to gimple_omp_parallel.
2829
2830	* tree-inline.c (remap_gimple_stmt): Add a checked cast to
2831	gimple_omp_parallel within GIMPLE_OMP_PARALLEL case of switch
2832	statement, introducing local.
2833
28342014-10-24  David Malcolm  <dmalcolm@redhat.com>
2835
2836	Introduce gimple_omp_for
2837
2838	* coretypes.h (gimple_omp_for): New.
2839	(const_gimple_omp_for): New.
2840
2841	* gimple.h (gimple_build_omp_for): Return a gimple_omp_for rather
2842	than a plain gimple.
2843	(gimple_omp_for_set_kind): Require a gimple_omp_for rather than a
2844	plain gimple.
2845	(gimple_omp_for_set_combined_p): Likewise.
2846	(gimple_omp_for_set_combined_into_p): Likewise.
2847
2848	* gimple-pretty-print.c (dump_gimple_omp_for): Require a
2849	gimple_omp_for rather than a plain gimple.
2850	(pp_gimple_stmt_1): Add a checked cast to gimple_omp_for in
2851	GIMPLE_OMP_FOR case of switch statement.
2852
2853	* gimple.c (gimple_build_omp_for): Return a gimple_omp_for rather
2854	than a plain gimple.
2855	(gimple_copy): Add a checked cast to gimple_omp_for and a new local.
2856
2857	* gimplify.c (gimplify_omp_for): Strengthen local "gfor" from
2858	gimple to gimple_omp_for.
2859
2860	* omp-low.c (omp_for_data::for_stmt): Strengthen field from gimple
2861	to gimple_omp_for.
2862	(extract_omp_for_data): Require a gimple_omp_for rather than a
2863	plain gimple.
2864	(workshare_safe_to_combine_p): Add a checked cast to
2865	gimple_omp_for.
2866	(get_ws_args_for): Convert check of code against GIMPLE_OMP_FOR
2867	with a dyn_cast<gimple_omp_for> and a new local.
2868	(scan_omp_parallel): Add a checked cast to gimple_omp_for and a
2869	new local.
2870	(scan_omp_for): Require a gimple_omp_for rather than a plain
2871	gimple.
2872	(scan_omp_1_stmt): Add a checked cast to gimple_omp_for in
2873	GIMPLE_OMP_FOR case of switch statement.
2874	(expand_omp_for): Add a checked cast to gimple_omp_for.
2875	(lower_omp_for): Strengthen local "stmt" from gimple to
2876	gimple_omp_for.
2877
2878	* tree-nested.c (walk_gimple_omp_for): Require a gimple_omp_for
2879	rather than a plain gimple.
2880	(convert_nonlocal_reference_stmt): Add a checked cast to
2881	gimple_omp_for in GIMPLE_OMP_FOR case of switch statement.
2882	(convert_local_reference_stmt): Likewise.
2883
2884	* tree-parloops.c (create_parallel_loop): Strengthen local
2885	"for_stmt" from gimple to gimple_omp_for.
2886
28872014-10-24  David Malcolm  <dmalcolm@redhat.com>
2888
2889	Introduce gimple_omp_critical
2890
2891	* coretypes.h (gimple_omp_critical): New typedef.
2892	(const_gimple_omp_critical): New typedef.
2893
2894	* gimple-pretty-print.c (dump_gimple_omp_critical): Require a
2895	gimple_omp_critical rather than a plain gimple.
2896	(pp_gimple_stmt_1): Add a checked cast to gimple_omp_critical
2897	within GIMPLE_OMP_CRITICAL case of switch statement.
2898
2899	* gimple-walk.c (walk_gimple_op): Likewise.
2900
2901	* gimple.c (gimple_build_omp_critical): Return a gimple_omp_critical
2902	rather than a plain gimple.
2903	(gimple_copy): Add checked casts to gimple_omp_critical
2904	within GIMPLE_OMP_CRITICAL case of switch statement.
2905
2906	* gimple.h (gimple_debug): Likewise.
2907	(gimple_build_omp_critical): Return a gimple_omp_critical rather
2908	than a plain gimple.
2909	(gimple_omp_critical_name): Require a const_gimple_omp_critical
2910	rather than a plain const_gimple.
2911	(gimple_omp_critical_name_ptr): Require a gimple_omp_critical
2912	rather than a plain gimple.
2913	(gimple_omp_critical_set_name): Likewise.
2914
2915	* omp-low.c (check_omp_nesting_restrictions): Add a checked cast
2916	to gimple_omp_critical within GIMPLE_OMP_CRITICAL case of switch
2917	statement, introducing a new local "other_crit" for type-safety.
2918	(lower_omp_critical): Strengthen local "stmt" to
2919	gimple_omp_critical.
2920
2921	* tree-inline.c (remap_gimple_stmt): Add a checked cast to
2922	gimple_omp_critical within GIMPLE_OMP_CRITICAL case of switch
2923	statement.
2924
29252014-10-24  David Malcolm  <dmalcolm@redhat.com>
2926
2927	Introduce gimple_omp_continue
2928
2929	* coretypes.h (gimple_omp_continue): New typedef.
2930	(const_gimple_omp_continue): New typedef.
2931
2932	* gimple.h (gimple_build_omp_continue): Return a
2933	gimple_omp_continue rather than a plain gimple.
2934	(gimple_omp_continue_control_def): Require a
2935	const_gimple_omp_continue rather than a plain const_gimple.
2936	(gimple_omp_continue_control_use): Likewise.
2937	(gimple_omp_continue_control_def_ptr): Require a gimple_omp_continue
2938	rather than a plain gimple.
2939	(gimple_omp_continue_set_control_def): Likewise.
2940	(gimple_omp_continue_control_use_ptr): Likewise.
2941	(gimple_omp_continue_set_control_use): Likewise.
2942
2943	* gimple-pretty-print.c (dump_gimple_omp_continue): Require a
2944	gimple_omp_continue rather than a plain gimple.
2945	(pp_gimple_stmt_1): Add a checked cast to gimple_omp_continue
2946	within GIMPLE_OMP_CONTINUE case of switch statement.
2947
2948	* gimple-walk.c (walk_gimple_op): Likewise, adding a new local.
2949
2950	* gimple.c (gimple_build_omp_continue): Return a
2951	gimple_omp_continue rather than a plain gimple.
2952
2953	* omp-low.c (gimple_build_cond_empty): Return a gimple_cond
2954	rather than a plain gimple.
2955	(expand_omp_for_generic): Split local "stmt" into "assign_stmt",
2956	"cont_stmt", "cond_stmt", "call_stmt" of types gimple_assign,
2957	gimple_omp_continue, gimple_cond, gimple_call respectively.
2958	(expand_omp_for_static_nochunk): Likewise, splitting into two
2959	"cond_stmt" decls. "assign_stmt", "cont_stmt"
2960	(expand_omp_for_static_chunk): Likewise, splitting into
2961	"cond_stmt", "assign_stmt", "cont_stmt".
2962	(expand_omp_sections): Strengthen local "cont" from gimple to
2963	gimple_omp_continue.
2964
29652014-10-24  David Malcolm  <dmalcolm@redhat.com>
2966
2967	Introduce gimple_omp_atomic_store
2968
2969	* coretypes.h (gimple_omp_atomic_store): New typedef.
2970	(const_gimple_omp_atomic_store): New typedef.
2971
2972	* gimple-pretty-print.c (dump_gimple_omp_atomic_store): Require
2973	a gimple_omp_atomic_store rather than a plain gimple.
2974	(pp_gimple_stmt_1): Add checked cast to gimple_omp_atomic_store
2975	within GIMPLE_OMP_ATOMIC_STORE case of switch statement.
2976	* gimple-walk.c (walk_gimple_op): Likewise.
2977
2978	* gimple.c (gimple_build_omp_atomic_store): Return a
2979	gimple_omp_atomic_store rather than a plain gimple.
2980
2981	* gimple.h (gimple_build_omp_atomic_store): Return a
2982	gimple_omp_atomic_store rather than a plain gimple.
2983	(gimple_omp_atomic_store_set_val): Require a gimple_omp_atomic_store
2984	rather than a plain gimple.
2985	(gimple_omp_atomic_store_val_ptr): Likewise.
2986	(gimple_omp_atomic_store_val): Require a
2987	const_gimple_omp_atomic_store rather than a plain const_gimple.
2988
2989	* gimplify.c (gimplify_omp_atomic): Strengthen locals "loadstmt" and
2990	"storestmt" from gimple to gimple_omp_atomic_load loadstmt and
2991	gimple_omp_atomic_store storestmt respectively.
2992
2993	* omp-low.c (expand_omp_atomic): Strengthen local "store" from
2994	gimple to gimple_omp_atomic_store.
2995
29962014-10-24  David Malcolm  <dmalcolm@redhat.com>
2997
2998	Introduce gimple_omp_atomic_load
2999
3000	* coretypes.h (gimple_omp_atomic_load): New typedef.
3001	(const_gimple_omp_atomic_load): New typedef.
3002
3003	* gimple-pretty-print.c (dump_gimple_omp_atomic_load): Require a
3004	gimple_omp_atomic_load rather than a plain gimple.
3005	(pp_gimple_stmt_1): Add a checked cast to gimple_omp_atomic_load
3006	within GIMPLE_OMP_ATOMIC_LOAD case of switch statement.
3007
3008	* gimple-walk.c (walk_gimple_op): Likewise, introducing a new local.
3009
3010	* gimple.c (gimple_build_omp_atomic_load): Return a
3011	gimple_omp_atomic_load rather than a plain gimple.
3012
3013	* gimple.h (gimple_build_omp_atomic_load): Return a
3014	gimple_omp_atomic_load rather than a plain gimple.
3015	(gimple_omp_atomic_load_set_lhs): Require a
3016	gimple_omp_atomic_load rather than a plain gimple.
3017	(gimple_omp_atomic_load_lhs_ptr): Likewise.
3018	(gimple_omp_atomic_load_set_rhs): Likewise.
3019	(gimple_omp_atomic_load_rhs_ptr): Likewise.
3020	(gimple_omp_atomic_load_lhs): Require a
3021	const_gimple_omp_atomic_load rather than a plain const_gimple.
3022	(gimple_omp_atomic_load_rhs): Likewise.
3023
3024	* gimplify-me.c (gimple_regimplify_operands): Add a checked cast
3025	to gimple_omp_atomic_load within GIMPLE_OMP_ATOMIC_LOAD case of
3026	switch statement.
3027
3028	* omp-low.c (expand_omp_atomic): Strengthen type of local "load"
3029	from gimple to gimple_omp_atomic_load.
3030	(lower_omp_1): Add a checked cast to gimple_omp_atomic_load within
3031	GIMPLE_OMP_ATOMIC_LOAD case of switch statement.
3032
30332014-10-24  David Malcolm  <dmalcolm@redhat.com>
3034
3035	Use more concrete types for various gimple statements
3036
3037	* cgraphunit.c (thunk_adjust): Strengthen local "stmt" from gimple
3038	to gimple_assign.
3039
3040	* gimple-ssa-isolate-paths.c
3041	(insert_trap_and_remove_trailing_statements): Strengthen local
3042	"new_stmt" from gimple to gimple_call.
3043
3044	* gimple-ssa-strength-reduction.c (replace_mult_candidate):
3045	Strengthen local "copy_stmt" from gimple to gimple_assign.
3046	(create_add_on_incoming_edge): Likewise, for "new_stmt".
3047	(insert_initializers): Likewise, for "init_stmt".
3048	(introduce_cast_before_cand): Likewise, for "cast_stmt".
3049	(replace_one_candidate): Likewise, for "copy_stmt" and
3050	"cast_stmt".
3051
3052	* gimplify.c (build_stack_save_restore): Require gimple_calls
3053	rather than plain gimples.
3054	(gimplify_bind_expr): Strengthen locals "stack_save" and
3055	"stack_restore" from gimple to gimple_call.  Strengthen "gs"
3056	to gimple_try.
3057	(gimplify_switch_expr): Strengthen local "gimple_switch" from
3058	gimple to gimple_switch, and "new_default" to gimple_label.
3059	(gimplify_cond_expr): Strengthen local "gimple_cond" from gimple
3060	to gimple_cond.
3061	(gimplify_init_constructor): Strengthen local "init" from gimple
3062	to gimple_assign.
3063	(gimplify_cleanup_point_expr): Strengthen local "gtry" from gimple
3064	to gimple_try.
3065	(gimple_push_cleanup): Strengthen locals "ffalse" and "ftrue" from
3066	gimple to gimple_assign.
3067
3068	* tree-eh.c (do_goto_redirection): Strengthen local to gimple_goto.
3069	(emit_post_landing_pad): Strengthen local to gimple_label.
3070
3071	* tree-outof-ssa.c (insert_backedge_copies): Strengthen local
3072	"stmt" from gimple to gimple_assign.
3073
3074	* tree-parloops.c (take_address_of): Likewise.
3075
3076	* tree-predcom.c (replace_ref_with): Likewise, for "new_stmt".
3077	(initialize_root_vars_lm): Likewise, for "init_stmt".
3078	(reassociate_to_the_same_stmt): Likewise, for "new_stmt" and "tmp_stmt".
3079
3080	* tree-profile.c (gimple_gen_edge_profiler): Likewise, for "stmt1",
3081	"stmt2", "stmt3".
3082	(gimple_gen_ic_profiler): Likewise.
3083	(gimple_gen_ic_func_profiler): Strengthen local "stmt1" from
3084	gimple to gimple_call, and "stmt2" to gimple_assign.
3085
3086	* tree-scalar-evolution.c (scev_const_prop): Strengthen local
3087	"ass" from gimple to gimple_assign.
3088
3089	* tree-sra.c (build_ref_for_offset): Likewise for "stmt".
3090	(generate_subtree_copies): Likewise; also strengthen "ds" to
3091	gimple_debug.
3092	(init_subtree_with_zero): Likewise.
3093	(sra_modify_expr): Likewise.
3094	(load_assign_lhs_subreplacements): Likewise.
3095	(sra_modify_assign): Strengthen "ds" to gimple_debug.
3096	(sra_ipa_reset_debug_stmts): Likewise for "def_temp".
3097
3098	* tree-ssa-ccp.c (insert_clobber_before_stack_restore):
3099	Strengthen local "clobber_stmt" from gimple to gimple_assign.
3100
3101	* tree-ssa-dce.c (remove_dead_stmt): Strengthen "note" to
3102	gimple_debug.
3103
3104	* tree-ssa-dom.c (record_equivalences_from_stmt): Strengthen
3105	local "new_stmt" from gimple to gimple_assign.
3106	(optimize_stmt): Likewise.
3107
3108	* tree-ssa-forwprop.c (simplify_bitwise_binary): Likewise for
3109	4 declarations of "newop".
3110	(simplify_rotate): Likewise for "g".
3111
3112	* tree-ssa-loop-im.c (rewrite_reciprocal): Likewise for 3 locals.
3113	(rewrite_bittest): Likewise for "stmt" and "stmt2".
3114	(move_computations_dom_walker::before_dom_children): Likewise for
3115	"new_stmt".
3116	(execute_sm): Likewise for "load" and "store".
3117
3118	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts):
3119	Strengthen local "stmt" from gimple to gimple_call.
3120	(unloop_loops): Likewise.
3121
3122	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Strengthen
3123	local "ass" from gimple to gimple_assign.
3124	(remove_unused_ivs): Strengthen "def_temp" to gimple_debug.
3125
3126	* tree-ssa-loop-manip.c (rewrite_phi_with_iv): Strengthen local "stmt"
3127	from gimple to gimple_assign.
3128
3129	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Strengthen local
3130	"prefetch" from gimple to gimple_call.
3131
3132	* tree-ssa-math-opts.c (insert_reciprocals): Strengthen local
3133	"new_stmt" from gimple to gimple_assign.
3134	(powi_as_mults_1): Likewise for "mult_stmt".
3135	(powi_as_mults): Likewise for "div_stmt".
3136	(build_and_insert_binop): Likewise for "stmt".
3137	(build_and_insert_cast): Likewise.
3138	(pass_cse_sincos::execute): Likewise for "stmt" and various decls
3139	of "new_stmt".
3140	(convert_mult_to_fma): Likewise for "fma_stmt".
3141
3142	* tree-ssa-phiopt.c (conditional_replacement): Likewise for "new_stmt".
3143	(abs_replacement): Likewise.
3144
3145	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise for "tmp".
3146
3147	* tree-ssa-pre.c (create_expression_by_pieces): Likewise for "newstmt".
3148	(eliminate_insert): Likewise for "tem".
3149
3150	* tree-ssa-propagate.c (update_gimple_call): Strengthen locals
3151	"new_stmt" and "stmt" from gimple to gimple_call.
3152	(update_call_from_tree): Likewise for "new_stmt".
3153
3154	* tree-ssa-reassoc.c (build_and_add_sum): Likewise for "sum".
3155	(update_ops): Likewise for "g".
3156	(maybe_optimize_range_tests): Likewise.
3157	(rewrite_expr_tree_parallel): Require a gimple_assign rather than
3158	a plain gimple.
3159	(reassociate_bb): Add a checked cast to gimple_assign.
3160
3161	* tree-ssa.c (insert_debug_temp_for_var_def): Strengthen local
3162	"def_temp" from gimple to gimple_debug.
3163
3164	* tree-switch-conversion.c (emit_case_bit_tests): Strengthen local
3165	"shift_stmt" from gimple to gimple_assign.
3166
3167	* tree-tailcall.c (adjust_return_value_with_ops): Likewise for
3168	"stmt".
3169	(update_accumulator_with_ops): Likewise.
3170
3171	* tree-vect-data-refs.c (bump_vector_ptr): Likewise for
3172	"incr_stmt".
3173
3174	* tree-vect-stmts.c (vectorizable_condition): Likewise for
3175	"new_stmt".
3176
3177	* tree-vrp.c (build_assert_expr_for): Likewise for "assertion".
3178	(simplify_truth_ops_using_ranges): Likewise for "newop".
3179	(simplify_float_conversion_using_ranges): Likewise for "conv".
3180
3181	* ubsan.c (instrument_mem_ref): Strengthen local "g" from gimple
3182	to gimple_call.
3183
3184	* value-prof.c (gimple_divmod_fixed_value): Require a
3185	gimple_assign rather than a plain gimple; strengthen types of locals.
3186	(gimple_mod_pow2): Likewise.
3187	(gimple_mod_subtract): Likewise.
3188	(gimple_divmod_fixed_value_transform): Strengthen local
3189	"stmt" from gimple to gimple_assign.
3190	(gimple_mod_pow2_value_transform): Likewise.
3191	(gimple_mod_subtract_transform): Likewise.
3192	(gimple_ic): Strengthen types of locals.
3193
31942014-10-24  David Malcolm  <dmalcolm@redhat.com>
3195
3196	Introduce gimple_try
3197
3198	* coretypes.h (gimple_try): New typedef.
3199	(const_gimple_try): New typedef.
3200
3201	* gimple-low.c (gimple_try_catch_may_fallthru): Require a
3202	gimple_try rather than a plain gimple.
3203	(gimple_stmt_may_fallthru): Add checked cast to gimple_try.
3204
3205	* gimple-pretty-print.c (dump_gimple_try): Require a gimple_try
3206	rather than a plain gimple.
3207	(pp_gimple_stmt_1): Add checked cast to gimple_try within
3208	GIMPLE_TRY case of switch statement.
3209
3210	* tree-eh.c (finally_tree_node::parent): Strengthen field from
3211	gimple to gimple_try.
3212	(record_in_finally_tree): Require a gimple_try rather than a plain
3213	gimple.
3214	(collect_finally_tree): Likewise.
3215	(collect_finally_tree_1): Likewise.
3216	(struct leh_tf_state::try_finally_expr): Strengthen field from
3217	gimple to gimple_try.
3218	(struct leh_tf_state::top_p): Likewise.
3219	(lower_eh_must_not_throw): Require a gimple_try rather than a
3220	plain gimple.
3221	(frob_into_branch_around): Likewise.
3222	(lower_try_finally_dup_block): Strengthen local from gimple to
3223	gimple_try.
3224	(honor_protect_cleanup_actions): Split out uses of "x" into new
3225	locals "eh_mnt" and "try_stmt" with stronger types.
3226	(lower_try_finally): Require a gimple_try rather than a plain
3227	gimple.
3228	(lower_catch): Likewise.
3229	(lower_eh_filter): Likewise.
3230	(lower_eh_must_not_throw): Likewise.
3231	(lower_cleanup): Likewise.
3232	(lower_eh_constructs_2): Add checked cast to gimple_try within
3233	GIMPLE_TRY case of switch statement, introducing new local
3234	"try_stmt", using it for type-safety.
3235
32362014-10-24  David Malcolm  <dmalcolm@redhat.com>
3237
3238	Use subclasses of gimple in various places
3239
3240	* asan.c (insert_if_then_before_iter): Require a gimple cond
3241	rathern than a plain gimple.
3242	(asan_expand_check_ifn): Add a checked cast to gimple_cond.
3243
3244	* cfgloopmanip.c (create_empty_if_region_on_edge): Likewise.
3245
3246	* omp-low.c (simd_clone_adjust): Strengthen local from gimple
3247	to gimple_phi.
3248
3249	* sese.c (set_ifsese_condition): Strengthen local from gimple to
3250	gimple_cond.
3251
3252	* tree-call-cdce.c (gen_one_condition): Strengthen locals from
3253	gimple to gimple_assign and gimple_cond.
3254
3255	* tree-ssa-phiopt.c (minmax_replacement): Likewise.
3256	(cond_store_replacement): Strengthen locals from gimple to
3257	gimple_phi and gimple_assign.
3258	(cond_if_else_store_replacement_1): Likewise.
3259
3260	* tree-ssa-pre.c (do_regular_insertion): Strengthen local from
3261	gimple to gimple_assign.
3262
3263	* tree-switch-conversion.c (hoist_edge_and_branch_if_true):
3264	Strengthen local from gimple to gimple_cond.
3265	(gen_def_assigns): Return a gimple_assign rather than a plain
3266	gimple.
3267	(gen_inbound_check): Strengthen locals from gimple to gimple_cond
3268	and gimple_assign.
3269
3270	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Strengthen local
3271	from gimple to gimple_cond.
3272	(set_prologue_iterations): Strengthen locals from gimple to
3273	gimple_phi and gimple_cond.
3274
3275	* value-prof.c (gimple_ic): Strengthen local from gimple to
3276	gimple_phi.
3277	(gimple_stringop_fixed_value): Strengthen locals from gimple to
3278	gimple_assign, gimple_cond, gimple_call, and gimple_phi.
3279
32802014-10-24  David Malcolm  <dmalcolm@redhat.com>
3281
3282	Introduce gimple_eh_dispatch
3283
3284	* coretypes.h (gimple_eh_dispatch): New typedef.
3285	(const_gimple_eh_dispatch): New typedef.
3286
3287	* gimple-pretty-print.c (dump_gimple_eh_dispatch): Require a
3288	gimple_eh_dispatch rather than a plain gimple.
3289	(pp_gimple_stmt_1): Add a checked cast to gimple_eh_dispatch
3290	within GIMPLE_EH_DISPATCH case of switch statement.
3291
3292	* gimple-streamer-in.c (input_gimple_stmt): Likewise.
3293
3294	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
3295
3296	* gimple.c (gimple_build_eh_dispatch): Return a gimple_eh_dispatch
3297	rather than a plain gimple.
3298
3299	* gimple.h (gimple_build_eh_dispatch): Return a gimple_eh_dispatch
3300	rather than a plain gimple.
3301	(gimple_eh_dispatch_region): Require a const_gimple_eh_dispatch
3302	rather than a plain const_gimple.
3303	(gimple_eh_dispatch_set_region): Require a gimple_eh_dispatch
3304	rather than a plain gimple.
3305
3306	* tree-cfg.c (make_edges): Add a checked cast to gimple_eh_dispatch
3307	within GIMPLE_EH_DISPATCH case of switch statement.
3308	(gimple_verify_flow_info): Likewise.
3309	(gimple_redirect_edge_and_branch): Likewise.
3310	(move_stmt_r): Likewise, adding a local.
3311
3312	* tree-eh.c (emit_eh_dispatch): Convert local from gimple to
3313	gimple_eh_dispatch.
3314	(make_eh_dispatch_edges): Require a gimple_eh_dispatch rather than
3315	a plain gimple.
3316	(redirect_eh_dispatch_edge): Likewise.
3317	(lower_eh_dispatch): Likewise.
3318	(execute_lower_eh_dispatch): Add a checked cast to
3319	gimple_eh_dispatch.
3320	(mark_reachable_handlers): Likewise.
3321	(verify_eh_dispatch_edge): Require a gimple_eh_dispatch rather
3322	than a plain gimple.
3323
3324	* tree-eh.h (make_eh_dispatch_edges): Likewise.
3325	(redirect_eh_dispatch_edge): Likewise.
3326	(verify_eh_dispatch_edge): Likewise.
3327
3328	* tree-inline.c (remap_gimple_stmt): Add a checked cast to
3329	gimple_eh_dispatch within GIMPLE_EH_DISPATCH case of switch
3330	statement, adding a local.
3331	(copy_edges_for_bb): Add a checked cast to gimple_eh_dispatch.
3332
33332014-10-24  David Malcolm  <dmalcolm@redhat.com>
3334
3335	Introduce gimple_resx
3336
3337	* coretypes.h (gimple_resx): New typedef.
3338	(const_gimple_resx): New typedef.
3339
3340	* gimple.h (gimple_build_resx): Return a gimple_resx rather than a
3341	plain gimple.
3342	(gimple_resx_region): Require a const_gimple_resx rather than a
3343	plain const_gimple.
3344	(gimple_resx_set_region): Require a gimple_resx rather than a
3345	plain gimple.
3346
3347	* gimple-pretty-print.c (dump_gimple_resx): Require a gimple_resx
3348	rather than a plain gimple.
3349	(pp_gimple_stmt_1): Add a checked cast to gimple_resx within
3350	GIMPLE_RESX case of switch statement.
3351
3352	* gimple-streamer-in.c (input_gimple_stmt): Likewise.
3353
3354	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
3355
3356	* gimple.c (gimple_build_resx): Return a gimple_resx rather than
3357	a plain gimple.
3358
3359	* tree-cfg.c (move_stmt_r): Add a checked cast to gimple_resx
3360	within GIMPLE_RESX case of switch statement, adding a new local.
3361
3362	* tree-eh.c (emit_resx): Convert local "x" from gimple to
3363	gimple_resx.
3364	(lower_resx): Require a gimple_resx rather than a plain gimple.
3365	(pass_lower_resx::execute): Add a checked cast to gimple_resx.
3366	(mark_reachable_handlers): Likewise.
3367
3368	* tree-inline.c (remap_gimple_stmt): Add a checked cast to
3369	gimple_resx within GIMPLE_RESX case of switch statement, adding
3370	a new local.
3371
33722014-10-24  David Malcolm  <dmalcolm@redhat.com>
3373
3374	Introduce gimple_eh_else
3375
3376	* coretypes.h (gimple_eh_else): New typedef.
3377	(const_gimple_eh_else): New typedef.
3378
3379	* gimple.h (gimple_build_eh_else): Return a gimple_eh_else rather
3380	than a plain gimple.
3381	(gimple_eh_else_n_body_ptr): Require a gimple_eh_else rather than
3382	a plain gimple.
3383	(gimple_eh_else_n_body): Likewise.
3384	(gimple_eh_else_e_body_ptr): Likewise.
3385	(gimple_eh_else_e_body): Likewise.
3386	(gimple_eh_else_set_n_body): Likewise.
3387	(gimple_eh_else_set_e_body): Likewise.
3388
3389	* gimple-low.c (lower_stmt): Add checked cast to gimple_eh_else
3390	within GIMPLE_EH_ELSE case of switch statement, introducing a new
3391	local.
3392	(gimple_stmt_may_fallthru): Likewise.
3393
3394	* gimple-pretty-print.c (dump_gimple_eh_else): Require a
3395	gimple_eh_else rather than a plain gimple.
3396	(pp_gimple_stmt_1): Add checked cast to gimple_eh_else within
3397	GIMPLE_EH_ELSE case of switch statement
3398
3399	* gimple-walk.c (walk_gimple_stmt): Add checked cast to
3400	gimple_eh_else within GIMPLE_EH_ELSE case of switch statement,
3401	introducing a new local.
3402
3403	* gimple.c (gimple_build_eh_else): Return a gimple_eh_else
3404	rather than a plain gimple.
3405	(gimple_copy): Add checked casts to gimple_eh_else within
3406	GIMPLE_EH_ELSE case of switch statement, introducing new locals.
3407
3408	* tree-cfg.c (verify_gimple_in_seq_2): Add checked cast to
3409	gimple_eh_else within GIMPLE_EH_ELSE case of switch statement,
3410	introducing a new local.
3411
3412	* tree-eh.c (collect_finally_tree): Likewise.
3413	(replace_goto_queue_1): Likewise.
3414	(get_eh_else): Return a gimple_eh_else rather than a plain gimple.
3415	(honor_protect_cleanup_actions): Convert local "eh_else" from
3416	gimple to gimple_eh_else.
3417	(lower_try_finally_nofallthru): Likewise.
3418	(lower_try_finally_onedest): Introduce locals "eh_else" and
3419	"label_stmt", using them in favor of "x" for the gimple_eh_else
3420	and the gimple_label.
3421	(lower_try_finally_copy): Convert local "eh_else" from gimple to
3422	gimple_eh_else.
3423	(lower_try_finally_switch): Likewise.
3424	(decide_copy_try_finally): Likewise.
3425	(refactor_eh_r): Add checked cast to gimple_eh_else within
3426	GIMPLE_EH_ELSE case of switch statement, introducing a new local.
3427
34282014-10-24  David Malcolm  <dmalcolm@redhat.com>
3429
3430	Introduce gimple_eh_must_not_throw
3431
3432	* coretypes.h (gimple_eh_must_not_throw): New typedef.
3433	(const_gimple_eh_must_not_throw): New typedef.
3434
3435	* gimple-pretty-print.c (dump_gimple_eh_must_not_throw): Require
3436	a gimple_eh_must_not_throw rather than a plain gimple.
3437	(pp_gimple_stmt_1): Add a checked cast to gimple_eh_must_not_throw
3438	within GIMPLE_EH_MUST_NOT_THROW case of switch statement.
3439
3440	* gimple-streamer-in.c (input_gimple_stmt): Likewise.
3441
3442	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
3443
3444	* gimple.c (gimple_build_eh_must_not_throw): Return a
3445	gimple_eh_must_not_throw rather than a plain gimple.
3446
3447	* gimple.h (gimple_build_eh_must_not_throw): Return a
3448	gimple_eh_must_not_throw rather than a plain gimple.
3449	(gimple_eh_must_not_throw_fndecl): Require a
3450	gimple_eh_must_not_throw rather than a plain gimple.
3451	(gimple_eh_must_not_throw_set_fndecl): Likewise.
3452
3453	* tree-eh.c (lower_eh_must_not_throw): Add checked cast.
3454
34552014-10-24  David Malcolm  <dmalcolm@redhat.com>
3456
3457	Introduce gimple_eh_filter
3458
3459	* coretypes.h (gimple_eh_filter): New typedef.
3460	(const_gimple_eh_filter): New typedef.
3461
3462	* gimple.h (gimple_build_eh_filter): Return a gimple_eh_filter
3463	rather than a plain gimple.
3464
3465	* gimple-pretty-print.c (dump_gimple_eh_filter): Require a
3466	gimple_eh_filter rather than a plain gimple.
3467	(pp_gimple_stmt_1): Add checked cast to gimple_eh_filter within
3468	GIMPLE_EH_FILTER case of switch statement.
3469
3470	* gimple.c (gimple_build_eh_filter): Return a gimple_eh_filter
3471	rather than a plain gimple.
3472
34732014-10-24  David Malcolm  <dmalcolm@redhat.com>
3474
3475	Introduce gimple_catch
3476
3477	* coretypes.h (gimple_catch): New typedef.
3478	(const_gimple_catch): New typedef.
3479
3480	* gimple-low.c (lower_try_catch): Add checked cast to gimple_catch.
3481	(gimple_try_catch_may_fallthru): Likewise.
3482
3483	* gimple-pretty-print.c (dump_gimple_catch): Require a gimple_catch
3484	rather than a plain gimple.
3485	(pp_gimple_stmt_1): Add checked cast to gimple_catch within
3486	GIMPLE_CATCH case of switch statement.
3487
3488	* gimple-walk.c (walk_gimple_op): Likewise.
3489	(walk_gimple_stmt): Likewise.
3490
3491	* gimple.c (gimple_build_catch): Return a gimple_catch rather than
3492	a plain gimple.
3493	(gimple_copy): Add checked casts to gimple_catch within
3494	GIMPLE_CATCH case of switch statement, introducing new locals.
3495
3496	* gimple.h (gimple_build_catch): Return a gimple_catch rather than
3497	a plain gimple.
3498	(gimple_catch_types_ptr): Require a gimple_catch rather than a
3499	plain gimple.
3500	(gimple_catch_handler_ptr): Likewise.
3501	(gimple_catch_handler): Likewise.
3502	(gimple_catch_set_types): Likewise.
3503	(gimple_catch_set_handler): Likewise.
3504
3505	* omp-low.c (lower_omp_1): Add checked cast to gimple_catch within
3506	GIMPLE_CATCH case of switch statement.
3507
3508	* tree-cfg.c (verify_gimple_in_seq_2): Likewise.
3509	(do_warn_unused_result): Likewise.
3510
3511	* tree-eh.c (collect_finally_tree): Likewise.
3512	(replace_goto_queue_1): Likewise.
3513	(lower_catch): Convert local from gimple to gimple_catch.
3514	(refactor_eh_r): Add checked cast to gimple_catch within
3515	GIMPLE_CATCH case of switch statement.
3516
3517	* tree-inline.c (remap_gimple_stmt): Likewise.
3518	(estimate_num_insns): Add checked cast to gimple_catch within
3519	GIMPLE_CATCH case of switch statement, introducing new local.
3520
35212014-10-24  David Malcolm  <dmalcolm@redhat.com>
3522
3523	Introduce gimple_transaction
3524
3525	* coretypes.h (gimple_transaction): New typedef.
3526	(const_gimple_transaction): New typedef.
3527
3528	* gimple.h (gimple_build_transaction): Return a gimple_transaction
3529	rather than a plain gimple.
3530	(gimple_transaction_body_ptr): Require a gimple_transaction rather
3531	than a plain gimple.
3532	(gimple_transaction_body): Likewise.
3533	(gimple_transaction_label_ptr): Likewise.
3534	(gimple_transaction_set_body): Likewise.
3535	(gimple_transaction_set_label): Likewise.
3536	(gimple_transaction_set_subcode): Likewise.
3537	(gimple_transaction_label): Require a const_gimple_transaction
3538	rather than a plain const_gimple.
3539	(gimple_transaction_subcode): Likewise.
3540
3541	* gimple-low.c (lower_stmt): Add checked cast to
3542	gimple_transaction within GIMPLE_TRANSACTION case of switch
3543	statement.
3544
3545	* gimple-pretty-print.c (dump_gimple_transaction): Require a
3546	gimple_transaction rather than a plain gimple.
3547	(pp_gimple_stmt_1): Add checked cast to gimple_transaction within
3548	GIMPLE_TRANSACTION case of switch statement.
3549	* gimple-streamer-in.c (input_gimple_stmt): Likewise.
3550	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
3551	* gimple-walk.c (walk_gimple_op): Likewise.
3552	(walk_gimple_stmt): Likewise.
3553
3554	* gimple.c (gimple_build_transaction): Return a gimple_transaction
3555	rather than a plain gimple.
3556	(gimple_copy): Add checked casts to gimple_transaction within
3557	GIMPLE_TRANSACTION case of switch statement.
3558
3559	* gimplify.c (gimplify_transaction): Split local "g" into
3560	"body_stmt" and "trans_stmt", strengthening the type of the latter
3561	from gimple to gimple_transaction.
3562
3563	* omp-low.c (lower_omp_1): Add checked cast to gimple_transaction
3564	within GIMPLE_TRANSACTION case of switch statement.
3565
3566	* trans-mem.c (diagnose_tm_1): Add checked cast within
3567	GIMPLE_TRANSACTION case of switch statement, introducing a new
3568	local "trans_stmt".  Use it in place of "stmt".
3569	(examine_call_tm): Convert local from gimple to gimple_transaction.
3570	(tm_region::get_transaction_stmt): New method.
3571	(tm_region::transaction_stmt): Add clarification of type to the
3572	comment.
3573	(tm_region_init_0): Require a gimple_transaction rather than a
3574	plain gimple.
3575	(tm_region_init): Convert a check against GIMPLE_TRANSACTION to a
3576	dyn_cast<gimple_transaction> and new local.
3577	(transaction_subcode_ior): Add a new local, using the new
3578	get_transaction_stmt method to perform a checked cast.
3579	(propagate_tm_flags_out): Likewise.
3580	(expand_transaction): Add a checked cast using the new
3581	get_transaction_stmt method.
3582	(generate_tm_state): Likewise.
3583	(execute_tm_mark): Likewise.
3584	(ipa_tm_diagnose_transaction): Likewise.
3585
3586	* tree-cfg.c (verify_gimple_transaction): Require a
3587	gimple_transaction rather than a plain gimple.
3588	(make_edges): Add checked cast within GIMPLE_TRANSACTION case of
3589	switch statement
3590	(cleanup_dead_labels): Likewise.
3591	(verify_gimple_stmt): Likewise.
3592	(verify_gimple_in_seq_2): Likewise.
3593	(verify_gimple_in_seq_2): Likewise.
3594	(gimple_redirect_edge_and_branch): Add checked cast.
3595
3596	* tree-inline.c (remap_gimple_stmt): Add checked cast within
3597	GIMPLE_TRANSACTION case of switch statement, introducing a new
3598	local "old_trans_stmt".  Use it in place of "stmt".  Add new
3599	local "new_trans_stmt", using it to initialize "copy", and for
3600	type-safe operations as a transaction.
3601	(estimate_num_insns): Add checked cast within GIMPLE_TRANSACTION
3602	case of switch statement.
3603
36042014-10-24  David Malcolm  <dmalcolm@redhat.com>
3605
3606	Introduce gimple_asm
3607
3608	* coretypes.h (gimple_asm): New typedef.
3609	(const_gimple_asm): New typedef.
3610
3611	* gimple.h (gimple_build_asm_vec): Return a gimple_asm rather than
3612	just a gimple.
3613	(gimple_asm_clobbers_memory_p): Require a const_gimple_asm rather
3614	than just a const_gimple.
3615	(gimple_asm_ninputs): Likewise.
3616	(gimple_asm_noutputs): Likewise.
3617	(gimple_asm_nclobbers): Likewise.
3618	(gimple_asm_nlabels): Likewise.
3619	(gimple_asm_input_op): Likewise.
3620	(gimple_asm_input_op_ptr): Likewise.
3621	(gimple_asm_output_op): Likewise.
3622	(gimple_asm_output_op_ptr): Likewise.
3623	(gimple_asm_clobber_op): Likewise.
3624	(gimple_asm_label_op): Likewise.
3625	(gimple_asm_string): Likewise.
3626	(gimple_asm_volatile_p): Likewise.
3627	(gimple_asm_input_p): Likewise.
3628	(gimple_asm_set_input_op): Require a gimple_asm rather than a plain
3629	gimple.
3630	(gimple_asm_set_output_op): Likewise.
3631	(gimple_asm_set_clobber_op): Likewise.
3632	(gimple_asm_set_label_op): Likewise.
3633	(gimple_asm_set_volatile): Likewise.
3634	(gimple_asm_set_input): Likewise.
3635
3636	* cfgexpand.c (expand_asm_stmt): Require a gimple_asm rather than
3637	a plain gimple.
3638	(expand_gimple_stmt_1): Add checked cast to gimple_asm within
3639	GIMPLE_ASM case of switch statement.
3640
3641	* gimple-fold.c (fold_stmt_1): Add new local from checked cast to
3642	gimple_asm within case GIMPLE_ASM.
3643
3644	* gimple-pretty-print.c (dump_gimple_asm): Require a gimple_asm
3645	rather than a plain gimple.
3646	(pp_gimple_stmt_1): Add checked cast to gimple_asm within
3647	GIMPLE_ASM case of switch statement.
3648
3649	* gimple-streamer-in.c (input_gimple_stmt): Rework existing
3650	checked cast to gimple_asm; add a new one.
3651
3652	* gimple-streamer-out.c (output_gimple_stmt): Add new local from
3653	checked cast to gimple_asm within case GIMPLE_ASM.
3654
3655	* gimple-walk.c (walk_gimple_asm): Require a gimple_asm rather
3656	than a plain gimple.
3657	(walk_gimple_op): Add checked cast to gimple_asm within GIMPLE_ASM
3658	case of switch statement.
3659	(walk_stmt_load_store_addr_ops): Use dyn_cast<gimple_asm> in place
3660	of a code check against GIMPLE_ASM to introduce a new gimple_asm
3661	local.
3662
3663	* gimple.c (gimple_build_asm_1): Return a gimple_asm rather than
3664	a plain gimple.
3665	(gimple_build_asm_vec): Likewise.
3666	(gimple_has_side_effects): Add a checked cast to gimple_asm.
3667	(gimple_could_trap_p_1): Likewise.
3668	(gimple_call_builtin_p): Require a const_gimple_asm rather then
3669	a const_gimple.
3670
3671	* gimplify-me.c (gimple_regimplify_operands): Add a checked cast
3672	and a new local of type gimple_asm within GIMPLE_ASM case.
3673
3674	* gimplify.c (gimplify_asm_expr): Convert a local from gimple to
3675	gimple_asm.
3676
3677	* ipa-pure-const.c (check_stmt): Add checked casts within
3678	GIMPLE_ASM case.
3679
3680	* ssa-iterators.h (op_iter_init): Likewise.
3681
3682	* tree-cfg.c (make_goto_expr_edges): Convert a local from gimple
3683	to gimple_asm.
3684	(cleanup_dead_labels): Add a checked cast and a new local of type
3685	gimple_asm within GIMPLE_ASM case.
3686	(gimple_redirect_edge_and_branch): Likewise.
3687	(is_ctrl_altering_stmt): Add a checked cast.
3688	(need_fake_edge_p): Replace a code check against GIMPLE_ASM with a
3689	dyn_cast<gimple_asm>.
3690
3691	* tree-complex.c (expand_complex_comparison): Convert a local from
3692	gimple to gimple_asm.
3693
3694	* tree-data-ref.c (get_references_in_stmt): Add a checked cast to
3695	gimple_asm.
3696
3697	* tree-eh.c (stmt_could_throw_p): Likewise.
3698
3699	* tree-inline.c (estimate_num_insns): Likewise.
3700
3701	* tree-sra.c (scan_function): Add a checked cast and a new local
3702	of type gimple_asm within GIMPLE_ASM case.
3703	(sra_modify_function_body): Likewise.
3704	(ipa_sra_modify_function_body): Likewise.
3705
3706	* tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
3707
3708	* tree-ssa-dce.c (propagate_necessity): Replace a code check
3709	against GIMPLE_ASM with a dyn_cast<gimple_asm>.
3710
3711	* tree-ssa-operands.c (maybe_add_call_vops): Require a gimple_asm
3712	rather than a plain gimple.
3713	(parse_ssa_operands): Add a checked cast to gimple_asm.
3714
3715	* tree-ssa-structalias.c (find_func_aliases): Replace a check for
3716	GIMPLE_ASM with a dyn_cast<gimple_asm>, introducing  a new local
3717	"asm_stmt", using it in place of "t" for typesafety.
3718
3719	* tree-ssa-threadedge.c
3720	(record_temporary_equivalences_from_stmts_at_dest): Add a checked
3721	cast to gimple_asm.
3722
3723	* tree-ssa.c (execute_update_addresses_taken): Add checked casts
3724	and new locals of type gimple_asm within clauses guarded by code
3725	check.
3726
37272014-10-24  David Malcolm  <dmalcolm@redhat.com>
3728
3729	Introduce gimple_goto
3730
3731	* coretypes.h (gimple_goto): New typedef.
3732	(const_gimple_goto): New typedef.
3733
3734	* gimple.h (gimple_statement_goto): New subclass of
3735	gimple_statement_with_ops, adding the invariant that
3736	stmt->code == GIMPLE_GOTO.
3737	(is_a_helper <gimple_statement_goto>::test): New.
3738	(gimple_build_goto): Return a gimple_goto rather than a
3739	plain gimple.
3740
3741	* gimple-pretty-print.c (dump_gimple_goto): Require a gimple_goto
3742	rather than a plain gimple.
3743	(pp_gimple_stmt_1): Add a checked cast to gimple_goto within
3744	GIMPLE_GOTO case of switch statement.
3745
3746	* gimple.c (gimple_build_goto): Return a gimple_goto rather than a
3747	plain gimple.
3748
3749	* tree-cfg.c (verify_gimple_goto): Require a gimple_goto rather
3750	than a plain gimple.
3751	(verify_gimple_stmt): Add a checked cast to gimple_goto within
3752	GIMPLE_GOTO case of switch statement.
3753
37542014-10-24  David Malcolm  <dmalcolm@redhat.com>
3755
3756	Introduce gimple_return
3757
3758	* coretypes.h (gimple_return): New typedef.
3759	(const_gimple_return): New typedef.
3760
3761	* gimple.h (gimple_statement_return): New subclass of
3762	gimple_statement_with_memory_ops, adding the invariant that
3763	stmt->code == GIMPLE_RETURN.
3764	(is_a_helper <gimple_statement_return>::test): New.
3765	(gimple_build_return): Return a gimple_return rather
3766	than a plain gimple.
3767
3768	* gimple.c (gimple_build_return): Return a gimple_return rather
3769	than a plain gimple.
3770
3771	* cgraphunit.c (expand_thunk): Convert local from a gimple to
3772	a gimple_return.
3773
3774	* gimple-low.c (struct return_statements_t): Convert field "stmt"
3775	from a gimple to a gimple_return.
3776	(lower_gimple_return): Convert local from a gimple to a
3777	gimple_return.
3778
3779	* gimple-pretty-print.c (dump_gimple_return): Require a
3780	gimple_return rather than a plain gimple.
3781	(pp_gimple_stmt_1): Add a checked cast to gimple_return within
3782	case GIMPLE_RETURN of switch statement.
3783
3784	* gimplify.c (gimplify_return_expr): Convert locals from
3785	gimple to gimple_return.
3786
3787	* ipa-split.c (split_function): Likewise.
3788
3789	* tree-cfg.c (verify_gimple_assign): Require a gimple_return
3790	rather than a plain gimple.
3791	(verify_gimple_stmt): Add checked cast to gimple_return within
3792	case GIMPLE_RETURN of switch statement.
3793
3794	* tree-tailcall.c (adjust_return_value): Convert local from
3795	gimple to gimple_return.
3796
37972014-10-24  David Malcolm  <dmalcolm@redhat.com>
3798
3799	Introduce gimple_call
3800
3801	* coretypes.h (gimple_call): New typedef.
3802	(const_gimple_call): New typedef.
3803
3804	* asan.c (get_mem_refs_of_builtin_call): Require a
3805	const_gimple_call rather than a const gimple.
3806	(has_stmt_been_instrumented_p): Add a checked cast to
3807	gimple_call.
3808	(instrument_strlen_call): Likewise.
3809	(instrument_builtin_call): Likewise.
3810	* builtins.c (validate_gimple_arglist): Require a
3811	const_gimple_call rather than a const gimple.
3812	(fold_call_stmt): Require a gimple_call rather than a gimple.
3813	* builtins.h (validate_gimple_arglist): Require a
3814	const_gimple_call rather than a const gimple.
3815	(fold_call_stmt): Require a gimple_call rather than a gimple.
3816	* cfgexpand.c (expand_call_stmt): Likewise.
3817	(expand_gimple_stmt_1): Add a checked cast to gimple_call within
3818	GIMPLE_CALL case.
3819	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Strengthen
3820	local "new_stmt" from gimple to gimple_call, adding a checked
3821	cast.
3822	* cgraphunit.c (cgraph_node::expand_thunk): Likewise for local
3823	"call".
3824	* gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise for
3825	local "stmt".
3826	(gimple_fold_builtin_snprintf): Likewise.
3827	(gimple_fold_builtin): Likewise.
3828	(gimple_fold_call): Likewise.
3829	(gimple_fold_stmt_to_constant_1): Introduce local "call_stmt" via
3830	checked cast of "stmt" to gimple_call, using it in various places
3831	for typesafety.
3832	* gimple-pretty-print.c (dump_gimple_call_args): Strengthen param
3833	2 from gimple to gimple_call.
3834	(dump_gimple_call): Likewise.
3835	(pp_gimple_stmt_1): Add a checked cast to gimple_call within
3836	GIMPLE_CALL case.
3837	* gimple-streamer-in.c (input_gimple_stmt): Replace is_gimple_call
3838	with a dyn_cast<gimple_call>, introducing local "call_stmt", and
3839	using it in place of "stmt" for typesafety.  Add a checked cast
3840	in statement guarded by check for GIMPLE_CALL.
3841	* gimple-walk.c (walk_gimple_op): Add a checked cast to
3842	gimple_call.
3843	* gimple.c (gimple_call_reset_alias_info): Strengthen param from
3844	gimple to gimple_call.
3845	(gimple_build_call_1): Strengthen return type and local from
3846	gimple to gimple_call.
3847	(gimple_build_call_vec): Likewise.
3848	(gimple_build_call): Likewise.
3849	(gimple_build_call_valist): Likewise.
3850	(gimple_build_call_internal_1): Likewise.
3851	(gimple_build_call_internal): Likewise.
3852	(gimple_build_call_internal_vec): Likewise.
3853	(gimple_build_call_from_tree): Likewise.
3854	(gimple_call_return_flags): Strengthen param from
3855	const_gimple to const_gimple_call.
3856	(gimple_call_copy_skip_args): Strengthen return type and local from
3857	gimple to gimple_call.
3858	* gimple.h (gimple_call_reset_alias_info): Strengthen param from
3859	gimple to gimple_call.
3860	(gimple_build_call_vec): Strengthen return type from gimple to
3861	gimple_call.
3862	(gimple_build_call): Likewise.
3863	(gimple_build_call_valist): Likewise.
3864	(gimple_build_call_internal): Likewise.
3865	(gimple_build_call_internal_vec): Likewise.
3866	(gimple_build_call_from_tree): Likewise.
3867	(gimple_call_return_flags): Strengthen param from const_gimple to
3868	const_gimple_call.
3869	(gimple_call_copy_skip_args): Strengthen return type from gimple
3870	to gimple_call.
3871	(gimple_call_set_internal_fn): Strengthen param "call_stmt" from
3872	gimple to gimple_call.
3873	(gimple_call_return_type): Strengthen param from const_gimple to
3874	const_gimple_call.
3875	(gimple_call_chain_ptr): Likewise.
3876	(gimple_call_set_chain): Strengthen param from gimple to
3877	gimple_call.
3878	(gimple_call_set_return_slot_opt): Likewise.
3879	(gimple_call_set_from_thunk): Likewise.
3880	(gimple_call_from_thunk_p): Likewise.
3881	(gimple_call_set_va_arg_pack): Likewise.
3882	(gimple_call_va_arg_pack_p): Likewise.
3883	(gimple_call_set_alloca_for_var): Likewise.
3884	(gimple_call_alloca_for_var_p): Likewise.
3885	(gimple_expr_type): Introduce local "call_stmt" via a checked cast
3886	and use it for typesafety.
3887	* gimplify.c (gimplify_call_expr): Strengthen local "call" from
3888	gimple to gimple_call.
3889	(gimplify_modify_expr_to_memcpy): Likewise for local "gs".
3890	(gimplify_modify_expr_to_memset): Likewise.
3891	(gimplify_modify_expr): Add a checked cast to gimple_call.
3892	(gimplify_expr): Strengthen local "call" from gimple to
3893	gimple_call.
3894	(gimplify_function_tree): Likewise.
3895	* internal-fn.c (expand_LOAD_LANES): Strengthen param from gimple
3896	to gimple_call.
3897	(expand_STORE_LANES): Likewise.
3898	(expand_ANNOTATE): Likewise.
3899	(expand_GOMP_SIMD_LANE): Likewise.
3900	(expand_GOMP_SIMD_VF): Likewise.
3901	(expand_GOMP_SIMD_LAST_LANE): Likewise.
3902	(expand_UBSAN_NULL): Likewise.
3903	(expand_UBSAN_BOUNDS): Likewise.
3904	(expand_UBSAN_OBJECT_SIZE): Likewise.
3905	(expand_ASAN_CHECK): Likewise.
3906	(ubsan_expand_si_overflow_addsub_check): Likewise.
3907	(ubsan_expand_si_overflow_neg_check): Likewise.
3908	(ubsan_expand_si_overflow_mul_check): Likewise.
3909	(expand_UBSAN_CHECK_ADD): Likewise.
3910	(expand_UBSAN_CHECK_SUB): Likewise.
3911	(expand_UBSAN_CHECK_MUL): Likewise.
3912	(expand_LOOP_VECTORIZED): Likewise.
3913	(expand_MASK_LOAD): Likewise.
3914	(expand_MASK_STORE): Likewise.
3915	(expand_ABNORMAL_DISPATCHER): Likewise.
3916	(expand_BUILTIN_EXPECT): Likewise.
3917	(internal_fn_expanders): Likewise for entries in this table.
3918	(expand_internal_call): Likewise.
3919	* internal-fn.def: Update comment to reflect strengthening of
3920	param of expanders.
3921	* internal-fn.h (expand_internal_call): Strengthen param from
3922	gimple to gimple_call.
3923	* ipa-prop.c (ipa_modify_call_arguments): Likewise for local
3924	"new_stmt".
3925	* ipa-pure-const.c (check_call): Likewise for param "call".
3926	(check_stmt): Add a checked cast to gimple_call within GIMPLE_CALL
3927	case.
3928	* ipa-split.c (split_function): Strengthen local "call" from
3929	gimple to gimple_call.
3930	* omp-low.c (build_omp_barrier): Likewise for local "g".
3931	(lower_rec_input_clauses): Likewise for local "stmt".
3932	* trans-mem.c (build_tm_load): Likewise for return type and local
3933	"gcall".
3934	(build_tm_store): Likewise.
3935	(expand_transaction): Likewise for local "call".
3936	* tree-call-cdce.c (check_pow): Likewise for param.
3937	(check_builtin_call): Likewise.
3938	(is_call_dce_candidate): Likewise.
3939	(gen_conditions_for_pow): Likewise.
3940	(gen_shrink_wrap_conditions): Likewise.
3941	(shrink_wrap_one_built_in_call): Likewise.
3942	(shrink_wrap_conditional_dead_built_in_calls): Strengthen param
3943	from vec<gimple> to vec<gimple_call>, and local "bi_call" from
3944	gimple to gimple_call.
3945	(pass_call_cdce::execute): Strengthen local
3946	"cond_dead_built_in_calls" from auto_vec<gimple> to
3947	auto_vec<gimple_call> and local "stmt" from gimple to gimple_call,
3948	* tree-cfg.c (notice_special_calls): Strengthen param from gimple
3949	to gimple_call.
3950	* tree-cfg.h (notice_special_calls): Likewise.
3951	* tree-complex.c (expand_complex_libcall): Likewise for local
3952	"stmt".
3953	* tree-inline.c (remap_gimple_stmt): Add checked cast to
3954	gimple_call.
3955	(copy_bb): Likewise.  Strengthen local "new_call" from gimple to
3956	gimple_call.
3957	(inline_forbidden_p_stmt): Add checked cast to gimple_call.
3958	* tree-nested.c (init_tmp_var_with_call): Strengthen param "call"
3959	from gimple to gimple_call.
3960	(convert_nl_goto_reference): Likewise for local "call".
3961	(convert_tramp_reference_op): Likewise.
3962	(convert_gimple_call): Add checked cast to gimple_call.
3963	* tree-nrv.c (dest_safe_for_nrv_p): Strengthen param "call" from
3964	gimple to gimple_call.
3965	(pass_return_slot::execute): Likewise for local "stmt", using a
3966	dyn_cast<gimple_call> rather than an is_gimple_call call.
3967	* tree-object-size.c (alloc_object_size): Strengthen param "call"
3968	from const_gimple to const_gimple_call.
3969	(pass_through_call): Likewise.
3970	(call_object_size): Strengthen param "call" from gimple to
3971	gimple_call.
3972	(collect_object_sizes_for): Introduce local "call_stmt" via a
3973	checked cast, using it for typesafety.
3974	(check_for_plus_in_loops_1): Likewise.
3975	(pass_object_sizes::execute): Add a checked cast to gimple_call.
3976	* tree-profile.c (gimple_gen_interval_profiler): Strengthen local
3977	"call" from gimple to gimple_call.
3978	(gimple_gen_pow2_profiler): Likewise.
3979	(gimple_gen_one_value_profiler): Likewise.
3980	(gimple_gen_time_profiler): Likewise.
3981	(gimple_gen_average_profiler): Likewise.
3982	(gimple_gen_ior_profiler): Likewise.
3983	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise for
3984	param "call".
3985	(ref_maybe_used_by_call_p): Likewise.
3986	(ref_maybe_used_by_stmt_p): Add a checked cast to gimple_call.
3987	(call_may_clobber_ref_p_1): Strengthen param "call" from gimple to
3988	gimple_call.
3989	(call_may_clobber_ref_p): Likewise.
3990	(stmt_may_clobber_ref_p_1): Add a checked cast to gimple_call.
3991	* tree-ssa-alias.h (call_may_clobber_ref_p): Strengthen param 1
3992	from gimple to gimple_call.
3993	(call_may_clobber_ref_p_1): Likewise.
3994	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Add a checked cast
3995	to gimple_call.
3996	* tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Strengthen
3997	local "call" from gimple to gimple_call.
3998	* tree-ssa-math-opts.c (build_and_insert_call): Likewise for local
3999	"call_stmt".
4000	* tree-ssa-operands.c (maybe_add_call_vops): Likewise for param
4001	"stmt".
4002	(parse_ssa_operands): Add a checked cast to gimple_call within
4003	GIMPLE_CALL case.
4004	* tree-ssa-pre.c (compute_avail): Add a checked cast to
4005	gimple_call.
4006	* tree-ssa-sccvn.c (copy_reference_ops_from_call): Strengthen
4007	param "call" from gimple to gimple_call.
4008	(valueize_shared_reference_ops_from_call): Likewise.
4009	(vn_reference_lookup_3): Add a checked cast to gimple_call.
4010	(vn_reference_lookup_call): Strengthen param "call" from gimple to
4011	gimple_call.
4012	(visit_reference_op_call): Likewise for param "stmt".
4013	(visit_use): Replace is_gimple_call with a dyn_cast, introducing
4014	local "call_stmt", using it in place of "stmt" for type-safety.
4015	* tree-ssa-sccvn.h (vn_reference_lookup_call): Strengthen param 1
4016	from gimple to gimple_call.
4017	* tree-ssa-structalias.c (get_call_vi): Likewise.
4018	(lookup_call_use_vi): Likewise.
4019	(lookup_call_clobber_vi): Likewise.
4020	(get_call_use_vi): Likewise.
4021	(get_call_clobber_vi): Likewise.
4022	(handle_rhs_call): Likewise.
4023	(handle_lhs_call): Likewise.
4024	(handle_const_call): Likewise.
4025	(handle_pure_call): Likewise.
4026	(get_fi_for_callee): Likewise.
4027	(find_func_aliases_for_builtin_call): Likewise for param 2.
4028	(find_func_aliases_for_call): Likewise.
4029	(find_func_aliases): Add a checked cast to gimple_call.
4030	(find_func_clobbers): Replace is_gimple_call with a dyn_cast,
4031	introducing local "call_stmt", using it in place of "stmt" for
4032	type-safety.
4033	(compute_points_to_sets): Strengthen local "stmt" from gimple to
4034	gimple_call, replacing is_gimple_call with a
4035	dyn_cast <gimple_call>.
4036	(ipa_pta_execute): Likewise.
4037	* tree-ssa-threadedge.c
4038	(record_temporary_equivalences_from_stmts_at_dest): Add checked
4039	cast to gimple_call.
4040	* tree-tailcall.c (find_tail_calls): Strengthen local "call" from
4041	gimple to gimple_call, adding a checked cast.
4042	* tree-vect-data-refs.c (vect_setup_realignment): Eliminate
4043	top-level local "new_stmt" in favor of more tightly-scoped locals
4044	"new_stmt" of type gimple_assign and gimple_call.
4045	* tree-vect-patterns.c (vect_recog_pow_pattern): Strenghthen local
4046	"stmt" from gimple to gimple_call.
4047	* tree-vect-stmts.c (vectorizable_function): Likewise for param
4048	"call".
4049	(vectorizable_call): Rename param 1 from "stmt" to "gs",
4050	reintroducing "stmt" as a gimple_call once we've established that
4051	we're working with a GIMPLE_CALL.
4052	* tree-vectorizer.h (vectorizable_function): Strengthen param 1
4053	from gimple to gimple_call.
4054	* value-prof.c (check_ic_target): Likewise.
4055	(gimple_ic_transform): Likewise for local "stmt", replacing a
4056	check for GIMPLE_CALL with a dyn_cast.
4057	(interesting_stringop_to_profile_p): Strengthen param "call"
4058	from gimple to gimple_call.
4059	(gimple_stringop_fixed_value): Likewise for param "vcall_stmt".
4060	(gimple_stringops_transform): Likewise for local "stmt",
4061	replacing a check for GIMPLE_CALL with a dyn_cast.
4062	(gimple_stringops_values_to_profile): Rename param 1 from "stmt"
4063	to "gs", reintroducing "stmt" as a gimple_call once we've
4064	established that we're working with a GIMPLE_CALL.
4065	* vtable-verify.c (verify_bb_vtables): Strengthen local
4066	"call_stmt" from gimple to gimple_call.
4067
40682014-10-24  David Malcolm  <dmalcolm@redhat.com>
4069
4070	Concretize get_loop_exit_condition et al to working on gimple_cond
4071
4072	* tree-scalar-evolution.h (get_loop_exit_condition): Return a
4073	gimple_cond.
4074	* tree-scalar-evolution.c (get_loop_exit_condition): Likewise, also
4075	concretizing local "res" from gimple to gimple_cond.
4076	* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Convert
4077	locals from gimple to gimple_cond.
4078	(slpeel_can_duplicate_loop_p): Likewise.
4079	* tree-vect-loop.c (vect_get_loop_niters): Return a gimple_cond.
4080	(vect_analyze_loop_form): Convert local from gimple to gimple_cond.
4081
40822014-10-24  David Malcolm  <dmalcolm@redhat.com>
4083
4084	Update various expressions within tree-scalar-evolution.c to be gimple_phi
4085
4086	* tree-scalar-evolution.c (follow_ssa_edge): Require a gimple_phi,
4087	rather than a gimple.
4088	(follow_ssa_edge_binary): Likewise.
4089	(follow_ssa_edge_expr): Likewise.
4090	(follow_ssa_edge_in_rhs): Likewise.
4091	(backedge_phi_arg_p): Likewise.
4092	(follow_ssa_edge_in_condition_phi_branch): Likewise.
4093	(follow_ssa_edge_in_condition_phi): Likewise.
4094	(follow_ssa_edge_inner_loop_phi): Likewise.
4095	(analyze_evolution_in_loop): Likewise.
4096	(analyze_initial_condition): Likewise.
4097	(interpret_loop_phi): Likewise.
4098	(interpret_condition_phi): Likewise.
4099	(follow_ssa_edge): Likewise; also, add checked casts to gimple_phi.
4100
4101	(analyze_scalar_evolution_1): Add checked casts to gimple_phi
4102	within "case GIMPLE_PHI".
4103
41042014-10-24  David Malcolm  <dmalcolm@redhat.com>
4105
4106	tree-ssa-loop-ivopts.c: use gimple_phi in a few places
4107
4108	* tree-ssa-loop-ivopts.c (determine_biv_step): Require a gimple_phi.
4109	(find_bivs): Convert local "phi" into a gimple_phi.
4110	(mark_bivs): Likewise.
4111
41122014-10-24  David Malcolm  <dmalcolm@redhat.com>
4113
4114	tree-ssa-loop-manip.c: use gimple_phi in three places
4115
4116	* tree-ssa-loop-manip.c (add_exit_phi): Convert local "phi" to be a
4117	gimple_phi.
4118	(split_loop_exit_edge): Likewise for "phi" and "new_phi".
4119
41202014-10-24  David Malcolm  <dmalcolm@redhat.com>
4121
4122	tree-ssa-loop-niter.c: use gimple_phi in a few places
4123
4124	* tree-ssa-loop-niter.c (chain_of_csts_start): Return a gimple_phi
4125	rather than a gimple.
4126	(get_base_for): Likewise; convert local "phi" to be a gimple_phi.
4127	(loop_niter_by_eval): Convert local "phi" to be a gimple_phi.
4128
41292014-10-24  David Malcolm  <dmalcolm@redhat.com>
4130
4131	tree-ssa-phiprop.c: use gimple_phi
4132
4133	* tree-ssa-phiprop.c (phiprop_insert_phi): Strengthen types of
4134	parameter "phi" and local "new_phi" from gimple to gimple_phi.
4135
41362014-10-24  David Malcolm  <dmalcolm@redhat.com>
4137
4138	tree-predcom.c: use gimple_phi in various places
4139
4140	* tree-predcom.c (find_looparound_phi): Return a gimple_phi rather
4141	than just a gimple.
4142	(insert_looparound_copy): Require a gimple_phi rather than just a
4143	gimple.
4144	(add_looparound_copies): Convert local "phi" to be a gimple_phi.
4145	(initialize_root_vars): Likewise.
4146	(initialize_root_vars_lm): Likewise.
4147
41482014-10-24  David Malcolm  <dmalcolm@redhat.com>
4149
4150	tree-parloops.c: use gimple_phi in various places
4151
4152	* tree-parloops.c (struct reduction_info): Strengthen field "new_phi"
4153	from gimple to gimple_phi.
4154	(create_phi_for_local_result): Convert local "new_phi" to gimple_phi.
4155	(loop_has_vector_phi_nodes): Require a gimple_phi rather than a gimple.
4156	(gather_scalar_reductions): Convert to a gimple_phi_iterator and
4157	gimple_phi.
4158	(try_create_reduction_list): Likewise.
4159
41602014-10-24  David Malcolm  <dmalcolm@redhat.com>
4161
4162	Update ssa_prop_visit_phi_fn callbacks to take a gimple_phi
4163
4164	* tree-ssa-propagate.h (typedef ssa_prop_visit_phi_fn): Strengthen
4165	type of parameter from gimple to gimple_phi.
4166
4167	* tree-complex.c (complex_visit_phi): Update signature of callback
4168	implementation accordingly.
4169	* tree-ssa-ccp.c (ccp_visit_phi_node): Likewise.
4170	* tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
4171	* tree-vrp.c (vrp_visit_phi_node): Likewise.
4172
4173	* tree-ssa-propagate.c (simulate_stmt): Add a checked cast to
4174	gimple_phi when invoking the ssa_prop_visit_phi callback.
4175
41762014-10-24  David Malcolm  <dmalcolm@redhat.com>
4177
4178	Introduce gimple_phi_iterator
4179
4180	* gimple-iterator.h (struct gimple_phi_iterator): New subclass of
4181	gimple_stmt_iterator with identical layout, but adding...
4182	(gimple_phi_iterator::phi): ...new method, equivalent to
4183	gsi_stmt (), but casting the underlying gimple to gimple_phi,
4184	checking that code == GIMPLE_PHI in a checked build.
4185	(gsi_start_phis): Return a gimple_phi_iterator, rather than just a
4186	gimple_stmt_iterator.
4187
4188	* tree-if-conv.c (bb_with_exit_edge_p): Require a gimple_phi rather
4189	than just a gimple.
4190	(if_convertible_phi_p): Likewise.
4191	* tree-phinodes.h (add_phi_node_to_bb): Likewise.
4192	* tree-ssa-phiprop.c (propagate_with_phi): Likewise.
4193
4194	* tree-ssa-uninit.c (warn_uninitialized_phi): Require a gimple_phi
4195	and a vec<gimple_phi> *, rather than just a gimple and
4196	vec<gimple> *, and a hash_set<gimple_phi> * rather than a
4197	hash_set<gimple> *.
4198	(find_uninit_use): Likewise; add checked cast to gimple_phi when
4199	adding to worklist.
4200	(pass_late_warn_uninitialized::execute): Strengthen types of
4201	various locals, "worklist" from vec<gimple> to vec<gimple_phi>,
4202	"gsi" to a gimple_phi_iterator, "phi" and "cur_phi" to a
4203	gimple_phi, "added_to_worklist" from hash_set<gimple> to
4204	hash_set<gimple_phi>.
4205
4206	* tree-ssa-loop-manip.c (rewrite_phi_with_iv): Require a
4207	gimple_phi_iterator * rather than a gimple_stmt_iterator *;
4208	use it to strengthen local from a gimple to a gimple_phi.
4209
4210	* cfgloop.c (find_subloop_latch_edge_by_ivs): Convert local from a
4211	gimple_stmt_iterator to a gimple_phi_iterator.  Use the iterator's
4212	"phi" method rather than gsi_stmt.  Use this checked cast to convert
4213	the type of related local from a plain gimple to a gimple_phi.
4214	* gimple-pretty-print.c (dump_phi_nodes): Likewise.
4215	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
4216	Likewise.
4217	* sese.c (sese_add_exit_phis_edge): Likewise.
4218	* tree-cfg.c (reinstall_phi_args): Likewise.
4219	(gimple_make_forwarder_block): Likewise.
4220	(add_phi_args_after_copy_edge): Likewise.
4221	(gimple_lv_adjust_loop_header_phi): Likewise.
4222	* tree-cfgcleanup.c (phi_alternatives_equal): Likewise.
4223	(remove_forwarder_block_with_phi): Likewise.
4224	(merge_phi_nodes): Likewise.
4225	* tree-complex.c (update_phi_components): Likewise.
4226	* tree-if-conv.c (if_convertible_loop_p_1): Likewise.
4227	* tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
4228	(copy_phis_for_bb): Likewise.
4229	* tree-into-ssa.c (rewrite_add_phi_arguments): Likewise.
4230	* tree-outof-ssa.c (eliminate_build): Likewise.
4231	(eliminate_useless_phis): Likewise.
4232	(rewrite_trees): Likewise.
4233	(insert_backedge_copies): Likewise.
4234	* tree-phinodes.c (reserve_phi_args_for_new_edge): Likewise.
4235	(remove_phi_args): Likewise.
4236	(remove_phi_nodes): Likewise.
4237	* tree-predcom.c (find_looparound_phi): Likewise.
4238	(eliminate_temp_copies): Likewise.
4239	* tree-scalar-evolution.c (loop_closed_phi_def): Likewise.
4240	(scev_const_prop): Likewise; also, add checked cast to phi.
4241	* tree-ssa-coalesce.c (coalesce_partitions): Likewise.
4242	* tree-ssa-dce.c (remove_dead_phis): Likewise.
4243	(forward_edge_to_pdom): Likewise.
4244	* tree-ssa-dom.c (record_equivalences_from_phis): Likewise.
4245	(cprop_into_successor_phis): Likewise.
4246	(propagate_rhs_into_lhs): Likewise.
4247	(eliminate_degenerate_phis_1): Likewise.
4248	* tree-ssa-ifcombine.c (same_phi_args_p): Likewise.
4249	* tree-ssa-live.c (calculate_live_on_exit): Likewise.
4250	(verify_live_on_entry): Likewise.
4251	* tree-ssa-loop-im.c
4252	(move_computations_dom_walker::before_dom_children): Likewise.
4253	* tree-ssa-loop-ivopts.c (find_bivs): Likewise.
4254	(mark_bivs): Likewise.
4255	(find_interesting_uses_outside): Likewise.
4256	(determine_set_costs): Likewise.
4257	* tree-ssa-loop-manip.c (split_loop_exit_edge): Likewise.
4258	(tree_transform_and_unroll_loop): Likewise.
4259	(rewrite_all_phi_nodes_with_iv): Likewise.
4260	(canonicalize_loop_ivs): Likewise.
4261	* tree-ssa-loop-niter.c (determine_value_range): Likewise.
4262	* tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
4263	* tree-ssa-phiprop.c (tree_ssa_phiprop): Likewise.
4264	* tree-ssa-reassoc.c (suitable_cond_bb): Likewise.
4265	* tree-ssa-tail-merge.c (same_phi_alternatives_1): Likewise.
4266	(vop_phi): Likewise.
4267	* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
4268	Likewise.
4269	* tree-ssa-threadupdate.c (copy_phi_arg_into_existing_phi): Likewise.
4270	(copy_phi_args): Likewise.
4271	(phi_args_equal_on_edges): Likewise.
4272	* tree-ssa.c (ssa_redirect_edge): Likewise.
4273	(flush_pending_stmts): Likewise.
4274	* tree-switch-conversion.c (check_final_bb): Likewise.
4275	(gather_default_values): Likewise.
4276	(build_constructors): Likewise.
4277	(fix_phi_nodes): Likewise.
4278	* tree-tailcall.c (propagate_through_phis): Likewise.
4279	(add_successor_phi_arg): Likewise.
4280	* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
4281	Likewise.
4282	(slpeel_update_phi_nodes_for_guard2): Likewise.
4283	(slpeel_tree_peel_loop_to_edge): Likewise.
4284	(vect_can_advance_ivs_p): Likewise.
4285	(vect_update_ivs_after_vectorizer): Likewise.
4286	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
4287	* tree-vrp.c (find_assert_locations): Likewise.
4288	* value-prof.c (gimple_ic): Likewise.
4289
4290	* omp-low.c (expand_parallel_call): Convert local to a gimple_phi.
4291
42922014-10-24  David Malcolm  <dmalcolm@redhat.com>
4293
4294	Introduce gimple_phi and use it in various places
4295
4296	* coretypes.h (gimple_phi): New typedef.
4297	(const_gimple_phi): New typedef.
4298
4299	* gdbhooks.py (build_pretty_printer): Add gimple_phi and its
4300	variants, using the gimple printer.
4301
4302	* gimple.h (gimple_vec): Eliminate thie typedef in the hope of using
4303	vecs of more concrete gimple subclasses as appropriate; also the
4304	comment is about to become misleading.
4305
4306	* gimple.h (gimple_phi_capacity): Use const_gimple_phi typedef
4307	rather than spelling out the full type.
4308	(gimple_phi_num_args): Likewise.
4309	(gimple_phi_result): Likewise.
4310	(gimple_phi_result_ptr): Use gimple_phi typedef.
4311	(gimple_phi_set_result): Likewise.
4312	(gimple_phi_arg): Likewise.
4313	(gimple_phi_set_arg): Likewise.
4314	* tree-phinodes.c (allocate_phi_node): Likewise.
4315	(resize_phi_node): Likewise.
4316	(reserve_phi_args_for_new_edge): Likewise.
4317	(remove_phi_arg_num): Likewise.
4318
4319	* gimple-pretty-print.c (dump_gimple_phi): Require a gimple_phi
4320	rather than just a gimple.
4321	* tree-into-ssa.c (mark_phi_for_rewrite): Likewise.
4322
4323	* tree-phinodes.c (make_phi_node): Return a gimple_phi rather than
4324	just a gimple.
4325	(create_phi_node): Likewise.
4326	* tree-phinodes.h (create_phi_node): Likewise.
4327
4328	* trans-mem.c (struct struct tm_log_entry): Replace use of
4329	now-removed gimple_vec with a plain vec<gimple>.
4330
4331	* tree-into-ssa.c (phis_to_rewrite): Strengthen from a
4332	vec<gimple_vec> to a vec< vec<gimple_phi> >.
4333
4334	* tree-into-ssa.c (insert_phi_nodes_for): Update local to be a
4335	gimple_phi.
4336	* tree-into-ssa.c (rewrite_update_phi_arguments): Strengthen local
4337	"phis" from a gimple_vec to a vec<gimple_phi>, and local "phi" to
4338	a gimple_phi.
4339	* tree-into-ssa.c (delete_update_ssa): Strengthen local
4340	"phis" from a gimple_vec to a vec<gimple_phi>.
4341
4342	* gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
4343	gimple_phi in regions where a stmt is known to have code
4344	GIMPLE_PHI.
4345	* tree-into-ssa.c (mark_use_interesting): Likewise.
4346
43472014-10-24  David Malcolm  <dmalcolm@redhat.com>
4348
4349	Introduce gimple_debug and use it in a few places
4350
4351	* coretypes.h (gimple_debug): New typedef.
4352	(const_gimple_debug): New typedef.
4353
4354	* gimple.h (struct gimple_statement_debug): New subclass of
4355	gimple_statement_with_ops, adding the invariant that
4356	stmt->code == GIMPLE_DEBUG.
4357	(is_a_helper <gimple_statement_debug>::test): New.
4358
4359	* gdbhooks.py (build_pretty_printer): Add gimple_debug and its
4360	variants, using the gimple printer.
4361
4362	* gimple-pretty-print.c (dump_gimple_debug): Require a gimple_debug
4363	rather than just a gimple.
4364	* tree-inline.c (copy_debug_stmt): Likewise.
4365
4366	* tree-inline.h (struct copy_body_data): Strengthen field
4367	"debug_stmts" from a vec<gimple> to a vec<gimple_debug>.
4368
4369	* gimple.c (gimple_build_debug_bind_stat): Return a gimple_debug
4370	rather than just a gimple.
4371	(gimple_build_debug_source_bind_stat): Likewise.
4372	* gimple.h (gimple_build_debug_bind_stat): Likewise.
4373	(gimple_build_debug_source_bind_stat): Likewise.
4374
4375	* tree-inline.c (remap_gimple_stmt): Update locals to be a
4376	gimple_debug.
4377	(maybe_move_debug_stmts_to_successors): Likewise.
4378	(copy_debug_stmts): Likewise.
4379
4380	* gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
4381	gimple_debug in regions where a stmt is known to have code
4382	GIMPLE_DEBUG.
4383
43842014-10-24  David Malcolm  <dmalcolm@redhat.com>
4385
4386	Introduce gimple_label and use it in a few places
4387
4388	* coretypes.h (gimple_label): New typedef.
4389	(const_gimple_label): New typedef.
4390
4391	* gimple.h (struct gimple_statement_label): New subclass of
4392	gimple_statement_with_ops, adding the invariant that
4393	stmt->code == GIMPLE_LABEL.
4394	(is_a_helper <gimple_statement_label>::test): New.
4395
4396	* gdbhooks.py (build_pretty_printer): Add gimple_label and its
4397	variants, reusing the gimple printer.
4398
4399	* gimple-pretty-print.c (dump_gimple_label): Require a gimple_label
4400	rather than just a gimple.
4401	* tree-cfg.c (verify_gimple_label): Likewise.
4402
4403	* gimple.c (gimple_build_label): Return a gimple_label rather than
4404	just a gimple.
4405	* gimple.h (gimple_build_label): Likewise.
4406
4407	* gimplify.c (gimplify_case_label_expr): Update local to be a
4408	gimple_label.
4409	* tree-switch-conversion.c (gen_inbound_check): Likewise.
4410
4411	* gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
4412	gimple_label in regions where a stmt is known to have code
4413	GIMPLE_LABEL.
4414	* tree-cfg.c (verify_gimple_stmt): Likewise.
4415
44162014-10-24  David Malcolm  <dmalcolm@redhat.com>
4417
4418	Introduce gimple_assign and use it in various places
4419
4420	* coretypes.h (gimple_assign): New typedef.
4421	(const_gimple_assign): New typedef.
4422
4423	* gimple.h (struct gimple_statement_assign): New subclass of
4424	gimple_statement_with_memory_ops, adding the invariant that
4425	stmt->code == GIMPLE_ASSIGN.
4426	(is_a_helper <gimple_statement_assign>::test): New.
4427
4428	* gdbhooks.py (build_pretty_printer): Add gimple_assign and its
4429	variants, using the gimple printer.
4430
4431	* gimple-builder.c (build_assign): Return a gimple_assign rather
4432	than just a gimple from each of the overloaded variants.
4433	(build_type_cast): Likewise.
4434	* gimple-builder.h (build_assign): Likewise.
4435	(build_type_cast): Likewise.
4436	* gimple.c (gimple_build_assign_stat): Likewise.
4437	(gimple_build_assign_with_ops): Likewise.
4438	* gimple.h (gimple_build_assign_stat): Likewise.
4439	(gimple_build_assign_with_ops): Likewise.
4440
4441	* asan.c (get_mem_ref_of_assignment): Require a const_gimple_assign
4442	rather than just a "const gimple" (the latter is not a
4443	"const_gimple").
4444	* gimple-pretty-print.c (dump_unary_rhs): Require a gimple_assign
4445	rather than just a gimple.
4446	(dump_binary_rhs): Likewise.
4447	(dump_ternary_rhs): Likewise.
4448	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
4449	(verify_gimple_assign_binary): Likewise.
4450	(verify_gimple_assign_ternary): Likewise.
4451	(verify_gimple_assign_single): Likewise.
4452	(verify_gimple_assign): Likewise.
4453	* tree-ssa-sccvn.c (simplify_unary_expression): Likewise.
4454	(try_to_simplify): Likewise.
4455	* tree-tailcall.c (process_assignment): Likewise.
4456	* tree-vect-generic.c (expand_vector_operation): Likewise.
4457	* tree-vrp.c (extract_range_from_cond_expr): Likewise.
4458	(extract_range_from_assignment): Likewise.
4459
4460	* asan.c (has_stmt_been_instrumented_p): Add checked cast to
4461	gimple_assign in regions where a stmt is known to have code
4462	GIMPLE_ASSIGN.
4463	* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
4464	* tree-cfg.c (verify_gimple_stmt): Likewise.
4465	* tree-ssa-sccvn.c (visit_use): Likewise.
4466	* tree-tailcall.c (find_tail_calls): Likewise.
4467	* tree-vrp.c (vrp_visit_assignment_or_call): Likewise.
4468
4469	* tree-vrp.c (simplify_stmt_for_jump_threading): Replace a check
4470	against GIMPLE_ASSIGN with a dyn_cast<gimple_assign>, introducing
4471	a gimple_assign local.
4472
4473	* tree-vect-generic.c (expand_vector_condition): Convert local to a
4474	gimple_assign, adding a checked cast when extracting from gsi, since
4475	this is only called when  underlying stmt has code GIMPLE_ASSIGN.
4476	(optimize_vector_constructor): Likewise.
4477	(lower_vec_perm): Likewise.
4478	(expand_vector_operations_1): Convert local to a gimple_assign,
4479	introducing a dyn_cast.
4480
44812014-10-24  David Malcolm  <dmalcolm@redhat.com>
4482
4483	Introduce gimple_cond and use it in various places
4484
4485	* coretypes.h (gimple_cond): New typedef.
4486	(const_gimple_cond): Likewise.
4487
4488	* gimple.h (struct gimple_statement_cond): New subclass of
4489	gimple_statement_with_ops, adding the invariant that
4490	stmt->code == GIMPLE_COND.
4491	(is_a_helper <gimple_statement_cond>::test): New.
4492	(gimple_build_cond): Return a gimple_cond, rather than just
4493	a gimple.
4494	(gimple_build_cond_from_tree): Likewise.
4495
4496	* gdbhooks.py (build_pretty_printer): Add gimple_cond and its
4497	variants, using the gimple printer.
4498
4499	* cfgexpand.c (expand_gimple_cond): Require a gimple_cond rather
4500	than just a gimple.
4501	* gimple.h (gimple_cond_set_condition_from_tree): Likewise.
4502	(gimple_cond_true_p): Likewise.
4503	(gimple_cond_false_p): Likewise.
4504	(gimple_cond_set_condition): Likewise.
4505	* gimple.c (gimple_cond_set_condition_from_tree): Likewise.
4506	* gimple-fold.c (fold_gimple_cond): Likewise.
4507	* gimple-pretty-print.c (dump_gimple_cond): Likewise.
4508	* tree-ssa-dom.c (canonicalize_comparison): Likewise.
4509	* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Likewise.
4510	* tree-ssa-ifcombine.c (recognize_single_bit_test): Likewise.
4511	(recognize_bits_test): Likewise.
4512	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
4513	(thread_around_empty_blocks): Likewise.
4514	(thread_through_normal_block): Likewise.
4515	(thread_across_edge): Likewise.
4516	* tree-ssa-threadedge.h (thread_across_edge): Likewise.
4517	* tree-vrp.c (range_fits_type_p): Likewise.
4518
4519	* cfgexpand.c (expand_gimple_basic_block): Add checked cast to
4520	gimple_cond in regions where a stmt is known to have code GIMPLE_COND.
4521	* gimple-fold.c (fold_stmt_1): Likewise.
4522	* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
4523	* tree-ssa-dom.c (optimize_stmt): Likewise.
4524	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
4525	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise.
4526	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
4527	Likewise.
4528	* tree-vrp.c (simplify_stmt_using_ranges): Likewise.
4529
4530	* cfgloopmanip.c (create_empty_loop_on_edge): Update local to be a
4531	gimple_cond.
4532	* tree-vrp.c (identify_jump_threads): Likewise.
4533
4534	* gimple.c (gimple_build_cond): Return a gimple_cond, rather than
4535	just a gimple.
4536	(gimple_build_cond_from_tree): Likewise.
4537
4538	* tree-ssa-dom.c (class dom_opt_dom_walker): Strengthen type of
4539	field "m_dummy_cond" from a plain gimple to a gimple_cond.
4540
4541	* tree-ssa-ifcombine.c (ifcombine_ifandif): Introduce locals
4542	inner_stmt and outer_stmt so that inner_cond and outer_cond can be
4543	of type gimple_cond once we know that we have code == GIMPLE_COND.
4544	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Introduce local
4545	"last" so that stmt can be of type gimple_cond.
4546
45472014-10-24  David Malcolm  <dmalcolm@redhat.com>
4548
4549	Introduce gimple_bind and use it for accessors.
4550
4551	* coretypes.h (gimple_bind): New typedef.
4552	(const_gimple_bind): New typedef.
4553
4554	* gdbhooks.py (build_pretty_printer): Add gimple_bind
4555	and its variants, using the gimple printer.
4556
4557	* gimple-pretty-print.c (dump_gimple_bind): Update type-signature to
4558	require a gimple_bind rather than just a gimple.
4559
4560	* gimple.c (gimple_build_bind): Return a gimple_bind rather than
4561	just a gimple.
4562	* gimple.h (gimple_build_bind): Likewise.
4563
4564	* gimple.h (gimple_seq_first_stmt_as_a_bind): New.
4565
4566	* gimple.h (gimple_bind_vars): Update type-signature to
4567	require a gimple_bind rather than just a gimple, removing
4568	as_a and hence run-time check.
4569	(gimple_bind_set_vars): Likewise.
4570	(gimple_bind_append_vars): Likewise.
4571	(gimple_bind_body_ptr): Likewise.
4572	(gimple_bind_body): Likewise.
4573	(gimple_bind_set_body): Likewise.
4574	(gimple_bind_add_stmt): Likewise.
4575	(gimple_bind_add_seq): Likewise.
4576	(gimple_bind_block): Likewise.
4577	(gimple_bind_set_block): Likewise.
4578	* gimplify.c (gimple_push_bind_expr): Likewise.
4579	(gimple_current_bind_expr): Likewise.
4580	* tree-inline.c (copy_gimple_bind): Likewise.
4581
4582	* gimplify.h (gimple_current_bind_expr): Return a gimple_bind
4583	rather than a plain gimple.
4584	(gimplify_body): Likewise.
4585	(gimple_bind_expr_stack): Return a vec<gimple_bind> rather than
4586	a vec<gimple>.
4587
4588	* gimplify.c (struct gimplify_ctx): Strengthen field
4589	"bind_expr_stack" from vec<gimple> to vec<gimple_bind>.
4590	(gimple_bind_expr_stack): Likewise for type of returned value.
4591
4592	* gimplify.c (gimplify_body): Strengthen various types from gimple
4593	to gimple_bind, including the return type.
4594
4595	* gimplify.c (declare_vars): Introduce "gs" as a generic gimple,
4596	so that local "scope" can be of type gimple_bind once we've reached
4597	the region where it must be of code GIMPLE_BIND.
4598
4599	* gimple-low.c (lower_gimple_bind): Add checked cast to
4600	gimple_bind, since both callers (lower_function_body and
4601	lower_stmt) have checked the code for us.
4602
4603	* gimple.c (gimple_copy): Add checked cast to gimple_bind in
4604	region guarded by check for code GIMPLE_BIND.
4605	* gimple-low.c (gimple_stmt_may_fallthru): Likewise.
4606	* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
4607	* gimple-walk.c (walk_gimple_stmt): Likewise.
4608	* omp-low.c (scan_omp_1_stmt): Likewise.
4609	(lower_omp_1): Likewise.
4610	(lower_omp_for): Likewise.
4611	* tree-cfg.c (verify_gimple_in_seq_2): Likewise.
4612	(do_warn_unused_result): Likewise.
4613	* tree-inline.c (remap_gimple_stmt): Likewise.
4614	(estimate_num_insns): Likewise.
4615	* tree-nested.c (convert_nonlocal_reference_stmt): Likewise.
4616
4617	* gimplify.c (gimplify_bind_expr): Update local(s) to be a
4618	gimple_bind rather than just a gimple.
4619	(gimplify_function_tree): Likewise.
4620	* omp-low.c (lower_omp_sections): Likewise.
4621	(lower_omp_single): Likewise.
4622	(lower_omp_master): Likewise.
4623	(lower_omp_taskgroup): Likewise.
4624	(lower_omp_ordered): Likewise.
4625	(lower_omp_critical): Likewise.
4626	(lower_omp_taskreg): Likewise.
4627	(lower_omp_teams): Likewise.
4628	* omp-low.c (lower_omp_for): Likewise; use
4629	gimple_seq_first_stmt_as_a_bind to encapsulate the checked cast.
4630	(lower_omp_target): Likewise.
4631	* tree-nested.c (finalize_nesting_tree_1): Likewise.
4632
4633	* gimple.c (empty_stmt_p): Add dyn_cast to a gimple_bind.
4634	* tree-inline.c (replace_locals_stmt): Add dyn_cast to gimple_bind.
4635
46362014-10-24  David Malcolm  <dmalcolm@redhat.com>
4637
4638	Introduce gimple_switch and use it in various places
4639
4640	* gimple.h (gimple_statement_switch): New subclass of
4641	gimple_statement_with_ops, adding the invariant that
4642	stmt->code == GIMPLE_SWITCH.
4643	(is_a_helper <gimple_statement_switch>::test (gimple)): New.
4644
4645	* coretypes.h (gimple_switch): New typedef
4646	(const_gimple_switch): Likewise.
4647
4648	* gdbhooks.py (build_pretty_printer): Add gimple_switch
4649	and its variants, using the gimple printer.
4650
4651	* gimple.c (gimple_build_switch_nlabels): Return a gimple_switch
4652	rather than just a gimple.
4653	(gimple_build_switch): Likewise.
4654	* gimple.h (gimple_build_switch_nlabels): Likewise.
4655	(gimple_build_switch): Likewise.
4656
4657	* gimple.h (gimple_switch_num_labels): Update type-signature to
4658	require a gimple_switch rather than just a gimple.
4659	(gimple_switch_set_num_labels): Likewise.
4660	(gimple_switch_set_index): Likewise.
4661	(gimple_switch_label): Likewise.
4662	(gimple_switch_set_label): Likewise.
4663	(gimple_switch_default_label): Likewise.
4664	(gimple_switch_set_default_label): Likewise.
4665	* expr.h (expand_case): Likewise.
4666	* gimple-pretty-print.c (dump_gimple_call): Likewise.
4667	* stmt.c (compute_cases_per_edge): Likewise.
4668	(expand_case): Likewise.
4669	* tree-cfg.h (group_case_labels_stmt): Likewise.
4670	* tree-cfg.c (make_gimple_switch_edges): Likewise.
4671	(find_taken_edge_switch_expr) Likewise.
4672	(find_case_label_for_value) Likewise.
4673	(get_cases_for_edge): Likewise.
4674	(group_case_labels_stmt): Likewise.
4675	(verify_gimple_switch): Likewise.
4676	* tree-eh.c (verify_norecord_switch_expr): Likewise.
4677	* tree-eh.c (lower_eh_constructs_2): Likewise.
4678	* tree-loop-distribution.c (generate_loops_for_partition): Likewise.
4679	* tree-ssa-dom.c (record_edge_info): Likewise.
4680	* tree-ssa-forwprop.c (simplify_gimple_switch_label_vec): Likewise.
4681	(simplify_gimple_switch): Likewise.
4682	* tree-switch-conversion.c (emit_case_bit_tests): Likewise.
4683	(collect_switch_conv_info): Likewise.
4684	(build_constructors): Likewise.
4685	(array_value_type): Likewise.
4686	(build_one_array): Likewise.
4687	(build_arrays): Likewise.
4688	(gen_inbound_check): Likewise.
4689	* tree-vrp.c (find_switch_asserts): Likewise.
4690	(find_case_label_range): Likewise.
4691	(find_case_label_ranges): Likewise.
4692	(vrp_visit_switch_stmt): Likewise.
4693	(simplify_switch_using_ranges): Likewise.
4694
4695	* tree-vrp.c (switch_update): Strengthen field "stmt" from being
4696	merely a gimple to being a gimple_switch.
4697
4698	* cfgexpand.c (expand_gimple_stmt_1): Add checked cast to
4699	gimple_switch in regions where the stmt code has been tested as
4700	GIMPLE_SWITCH.
4701	* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
4702	* tree-cfg.c (make_edges): Likewise.
4703	(end_recording_case_labels): Likewise.
4704	(cleanup_dead_labels): Likewise.
4705	(cleanup_dead_labels): Likewise.
4706	(group_case_labels): Likewise.
4707	(find_taken_edge): Likewise.
4708	(find_case_label_for_value): Likewise.
4709	(verify_gimple_stmt): Likewise.
4710	(gimple_verify_flow_info): Likewise.
4711	(gimple_redirect_edge_and_branch): Likewise.
4712	* tree-inline.c (estimate_num_insns): Likewise.
4713	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
4714	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
4715	* tree-switch-conversion.c (do_switchconv): Likewise.
4716	* tree-vrp.c  (find_assert_locations_1): Likewise.
4717	(vrp_visit_stmt): Likewise.
4718	(simplify_stmt_using_ranges): Likewise.
4719
4720	* ipa-inline-analysis.c (set_switch_stmt_execution_predicate):
4721	Introduce local "lastg" as a generic gimple, so that local "last"
4722	can be of type gimple_switch once lastg's code has been verified.
4723
4724	* omp-low.c (diagnose_sb_2): Introduce switch_stmt local to handle
4725	the GIMPLE_SWITCH case.
4726
4727	* tree-cfg.c (find_taken_edge_switch_expr): Add gimple_switch
4728	argument, since the caller (find_taken_edge) has checked that
4729	last_stmt is a switch.
4730
4731Copyright (C) 2014 Free Software Foundation, Inc.
4732
4733Copying and distribution of this file, with or without modification,
4734are permitted in any medium without royalty provided the copyright
4735notice and this notice are preserved.
4736