1 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
3 * tree-if-conv.c: Include hash-map.h.
4 (aggressive_if_conv): New variable.
5 (fold_build_cond_expr): Add simplification of non-zero condition.
6 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
7 destination block is not always executed.
8 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
9 than two predecessors if AGGRESSIVE_IF_CONV is true.
10 (if_convertible_stmt_p): Fix commentary.
11 (all_preds_critical_p): New function.
12 (has_pred_critical_p): New function.
13 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
14 BB can have more than two predecessors and all incoming edges can be
16 (predicate_bbs): Skip predication for loop exit block, use build2_loc
17 to compute predicate for true edge.
18 (find_phi_replacement_condition): Delete this function.
19 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
20 Allow interchange PHI arguments if EXTENDED is false.
21 Change check that block containing reduction statement candidate
22 is predecessor of phi-block since phi may have more than two arguments.
23 (phi_args_hash_traits): New helper structure.
24 (struct phi_args_hash_traits): New type.
25 (phi_args_hash_traits::hash): New function.
26 (phi_args_hash_traits::equal_keys): New function.
27 (gen_phi_arg_condition): New function.
28 (predicate_scalar_phi): Add handling of phi nodes with more than two
29 arguments, delete COND and TRUE_BB arguments, insert body of
30 find_phi_replacement_condition to predicate ordinary phi nodes.
31 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
32 delete call of find_phi_replacement_condition and invoke
33 predicate_scalar_phi with two arguments.
34 (insert_gimplified_predicates): Add assert that non-predicated block
35 don't have statements to insert.
36 (ifcvt_split_critical_edges): New function.
37 (ifcvt_split_def_stmt): Likewise.
38 (ifcvt_walk_pattern_tree): Likewise.
39 (stmt_is_root_of_bool_pattern): Likewise.
40 (ifcvt_repair_bool_pattern): Likewise.
41 (ifcvt_local_dce): Likewise.
42 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
43 is copy of inner or outer loop force_vectorize field, invoke
44 ifcvt_split_critical_edges, ifcvt_local_dce and
45 ifcvt_repair_bool_pattern for aggressive if-conversion.
47 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
49 * config/aarch64/aarch64.md: Include xgene1.md.
50 * config/aarch64/xgene1.md: New file.
52 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
54 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
55 xgene1 (APM XGene-1) core definition.
56 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
57 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
58 * doc/invoke.texi: Document -mcpu=xgene1.
60 2015-10-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
62 * dojump.h: New header file.
64 * expr.h: Remove includes.
65 Move expmed.c prototypes to expmed.h.
66 Move dojump.c prototypes to dojump.h.
67 Move alias.c prototypes to alias.h.
68 Move explow.c prototypes to explow.h.
69 Move calls.c prototypes to calls.h.
70 Move emit-rtl.c prototypes to emit-rtl.h.
71 Move varasm.c prototypes to varasm.h.
72 Move stmt.c prototypes to stmt.h.
73 (saved_pending_stack_adjust): Move to dojump.h.
74 (adjust_address): Move to explow.h.
75 (adjust_address_nv): Move to emit-rtl.h.
76 (adjust_bitfield_address): Likewise.
77 (adjust_bitfield_address_size): Likewise.
78 (adjust_bitfield_address_nv): Likewise.
79 (adjust_automodify_address_nv): Likewise.
80 * explow.c (expr_size): Move to expr.c.
81 (int_expr_size): Likewise.
82 (tree_expr_size): Likewise.
83 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
84 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
85 * genemit.c (main): Generate includes statistics.h, real.h, fixed-value.h,
86 insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
87 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, function.h,
88 statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
90 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
91 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
92 * genemit.c (open_base_files): Generate includes flags.h, statistics.h, real.h,
93 fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h,
95 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, hash-set.h, vec.h,
96 machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
97 double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
98 insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
99 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
100 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
101 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
102 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
103 tm.h tree.h varasm.h vec.h wide-int.h.
104 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
105 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
106 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
107 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
108 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
109 explow.h expmed.h fixed-value.h flags.h inchash.h insn-config.h
110 real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
111 * loop-iv.c: Likewise.
112 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
113 explow.h expmed.h fixed-value.h flags.h inchash.h real.h
114 statistics.h stmt.h tree.h varasm.h wide-int.h.
115 * lra-constraints.c: Likewise.
116 * lra-eliminations.c: Likewise.
117 * lra-lives.c: Likewise.
118 * lra-remat.c: Likewise.
119 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
120 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
121 statistics.h stmt.h tree.h varasm.h wide-int.h.
122 * hw-doloop.c: Likewise.
123 * ira-color.c: Likewise.
124 * ira-emit.c: Likewise.
125 * loop-doloop.c: Likewise.
126 * loop-invariant.c: Likewise.
127 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
128 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
129 statistics.h stmt.h tree.h varasm.h wide-int.h.
130 * caller-save.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
131 explow.h expmed.h fixed-value.h inchash.h real.h statistics.h
132 stmt.h tree.h varasm.h wide-int.h.
133 * combine-stack-adj.c: Likewise.
137 * ira-costs.c: Likewise.
139 * lra-coalesce.c: Likewise.
140 * lra-spills.c: Likewise.
141 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
142 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
143 stmt.h varasm.h wide-int.h.
144 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
145 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
147 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
148 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
149 statistics.h stmt.h varasm.h wide-int.h.
150 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
151 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
153 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
154 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
155 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
156 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
158 * config/tilepro/tilepro.c: Likewise.
159 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
160 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
161 * config/pdp11/pdp11.c: Likewise.
162 * config/xtensa/xtensa.c: Likewise.
163 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
164 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
166 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
167 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
168 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
169 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
170 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
171 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
172 * rtl-chkp.c: Likewise.
173 * tree-chkp-opt.c: Likewise.
174 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h explow.h
175 expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
176 insn-config.h real.h statistics.h stmt.h varasm.h.
177 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
178 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
180 * tree-vect-data-refs.c: Likewise.
181 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
182 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
183 rtl.h statistics.h stmt.h varasm.h.
184 * internal-fn.c: Likewise.
185 * ipa-icf-gimple.c: Likewise.
186 * lto-section-out.c: Likewise.
187 * tree-data-ref.c: Likewise.
188 * tree-nested.c: Likewise.
189 * tree-outof-ssa.c: Likewise.
190 * tree-predcom.c: Likewise.
191 * tree-pretty-print.c: Likewise.
192 * tree-scalar-evolution.c: Likewise.
193 * tree-ssa-strlen.c: Likewise.
194 * tree-vect-loop.c: Likewise.
195 * tree-vect-patterns.c: Likewise.
196 * tree-vect-slp.c: Likewise.
197 * tree-vect-stmts.c: Likewise.
199 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
200 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
202 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
203 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
204 statistics.h stmt.h varasm.h.
205 * loop-unroll.c: Likewise.
207 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
208 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
210 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
211 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
212 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
213 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
215 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
216 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
217 statistics.h stmt.h varasm.h.
218 * gimple-match-head.c: Likewise.
219 * lto-cgraph.c: Likewise.
220 * lto-section-in.c: Likewise.
221 * lto-streamer-in.c: Likewise.
222 * lto-streamer-out.c: Likewise.
223 * tree-affine.c: Likewise.
224 * tree-cfg.c: Likewise.
225 * tree-cfgcleanup.c: Likewise.
226 * tree-if-conv.c: Likewise.
227 * tree-into-ssa.c: Likewise.
228 * tree-ssa-alias.c: Likewise.
229 * tree-ssa-copyrename.c: Likewise.
230 * tree-ssa-dse.c: Likewise.
231 * tree-ssa-forwprop.c: Likewise.
232 * tree-ssa-live.c: Likewise.
233 * tree-ssa-math-opts.c: Likewise.
234 * tree-ssa-pre.c: Likewise.
235 * tree-ssa-sccvn.c: Likewise.
236 * tree-tailcall.c: Likewise.
237 * tree-vect-generic.c: Likewise.
238 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
239 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
240 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
241 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
242 * varasm.c: Likewise.
243 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
244 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
246 * init-regs.c: Likewise.
248 * omp-low.c: Likewise.
249 * stack-ptr-mod.c: Likewise.
250 * tree-ssa-reassoc.c: Likewise.
251 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
252 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
254 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
255 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
256 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
257 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
258 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
259 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
260 * tree-ssa-phiopt.c: Likewise.
261 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
262 fixed-value.h hashtab.h real.h statistics.h stmt.h.
263 * config/fr30/fr30.c: Likewise.
264 * config/frv/frv.c: Likewise.
267 * optabs.c: Likewise.
268 * passes.c: Likewise.
269 * simplify-rtx.c: Likewise.
271 * toplev.c: Likewise.
272 * var-tracking.c: Likewise.
273 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
274 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
275 * lower-subreg.c: Likewise.
276 * postreload-gcse.c: Likewise.
278 * reginfo.c: Likewise.
279 * store-motion.c: Likewise.
280 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
281 fixed-value.h hashtab.h real.h stmt.h varasm.h.
282 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
283 fixed-value.h hashtab.h statistics.h stmt.h.
284 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
285 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
286 * except.c: Likewise.
287 * explow.c: Likewise.
288 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
289 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
291 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
292 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
293 * tree-ssa-structalias.c: Likewise.
294 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
295 fixed-value.h insn-config.h real.h statistics.h.
296 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
297 fixed-value.h insn-config.h real.h statistics.h stmt.h.
298 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
299 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
300 * cfgbuild.c: Likewise.
301 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
302 fixed-value.h real.h rtl.h statistics.h stmt.h.
303 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
304 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
305 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
306 fixed-value.h real.h statistics.h stmt.h.
307 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
308 fixed-value.h real.h statistics.h stmt.h varasm.h.
310 * modulo-sched.c: Likewise.
311 * postreload.c: Likewise.
312 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
313 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
314 statistics.h stmt.h varasm.h.
315 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
316 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
317 rtl.h statistics.h stmt.h varasm.h.
318 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
319 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
321 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
322 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
324 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
325 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
327 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
328 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
329 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
330 function.h real.h statistics.h stmt.h varasm.h.
331 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
332 insn-config.h real.h statistics.h stmt.h.
333 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
335 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
336 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
337 statistics.h stmt.h varasm.h.
338 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
339 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
340 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
341 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
342 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
343 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
344 statistics.h stmt.h varasm.h.
345 * ipa-polymorphic-call.c: Likewise.
346 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h expmed.h
347 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
349 * config/c6x/c6x.c: Likewise.
350 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h explow.h
351 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
352 statistics.h stmt.h varasm.h.
353 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
354 hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h.
355 * ipa-split.c: Likewise.
356 * tree-eh.c: Likewise.
357 * tree-ssa-dce.c: Likewise.
358 * tree-ssa-loop-niter.c: Likewise.
359 * tree-vrp.c: Likewise.
360 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
361 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
363 * config/nds32/nds32-fp-as-gp.c: Likewise.
364 * config/nds32/nds32-intrinsic.c: Likewise.
365 * config/nds32/nds32-isr.c: Likewise.
366 * config/nds32/nds32-md-auxiliary.c: Likewise.
367 * config/nds32/nds32-memory-manipulation.c: Likewise.
368 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
369 * config/nds32/nds32-predicates.c: Likewise.
370 * config/nds32/nds32.c: Likewise.
371 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
372 fixed-value.h hashtab.h real.h statistics.h.
373 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
374 fixed-value.h hashtab.h real.h statistics.h stmt.h.
375 * config/arm/arm.c: Likewise.
376 * config/avr/avr.c: Likewise.
377 * config/bfin/bfin.c: Likewise.
378 * config/h8300/h8300.c: Likewise.
379 * config/i386/i386.c: Likewise.
380 * config/ia64/ia64.c: Likewise.
381 * config/iq2000/iq2000.c: Likewise.
382 * config/m32c/m32c.c: Likewise.
383 * config/m32r/m32r.c: Likewise.
384 * config/m68k/m68k.c: Likewise.
385 * config/mcore/mcore.c: Likewise.
386 * config/mep/mep.c: Likewise.
387 * config/mips/mips.c: Likewise.
388 * config/mn10300/mn10300.c: Likewise.
389 * config/moxie/moxie.c: Likewise.
390 * config/pa/pa.c: Likewise.
391 * config/rl78/rl78.c: Likewise.
392 * config/rx/rx.c: Likewise.
393 * config/s390/s390.c: Likewise.
394 * config/sh/sh.c: Likewise.
395 * config/sparc/sparc.c: Likewise.
396 * config/spu/spu.c: Likewise.
397 * config/stormy16/stormy16.c: Likewise.
398 * config/v850/v850.c: Likewise.
399 * config/vax/vax.c: Likewise.
400 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
401 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
402 * config/msp430/msp430.c: Likewise.
403 * predict.c: Likewise.
404 * value-prof.c: Likewise.
405 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
406 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
407 * config/microblaze/microblaze.c: Likewise.
408 * config/nios2/nios2.c: Likewise.
409 * config/rs6000/rs6000.c: Likewise.
410 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
411 insn-config.h real.h rtl.h statistics.h stmt.h.
412 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
413 insn-config.h real.h statistics.h stmt.h.
414 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
415 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
416 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
417 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
418 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
419 real.h statistics.h stmt.h.
420 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
421 fixed-value.h statistics.h stmt.h.
422 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
425 2015-01-15 Jakub Jelinek <jakub@redhat.com>
427 * gengtype.c (create_user_defined_type): Workaround
428 -Wmaybe-uninitialized false positives.
429 * cse.c (fold_rtx): Likewise.
430 * loop-invariant.c (gain_for_invariant): Likewise.
432 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
434 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
435 set the memory attributes in all cases but clear MEM_EXPR if need be.
437 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
439 PR tree-optimization/64434
440 * cfgexpand.c (reorder_operands): New function.
441 (expand_gimple_basic_block): Insert call of reorder_operands if
444 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
446 * config/mips/micromips.md (*swp): Remove explicit parallel.
447 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
448 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
449 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
450 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
451 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
452 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
453 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
454 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
455 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
456 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
457 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
458 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
459 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
460 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
461 (mips_wrdsp): Likewise.
462 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
464 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
465 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
466 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
467 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
468 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
469 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
470 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
471 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
472 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
474 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
476 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
477 (mips_print_operand): Support 'y' to print exact log2 in decimal
479 * config/mips/mips.h (ISA_HAS_LSA): New define.
480 (ISA_HAS_DLSA): Likewise.
481 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
482 * config/mips/predicates.md (const_immlsa_operand): New predicate.
484 2015-01-15 Martin Liska <mliska@suse.cz>
487 * optc-save-gen.awk: Add support for array types.
489 2015-01-15 Richard Biener <rguenther@suse.de>
492 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
493 for MEM_REF access functions with the same base can never partially
496 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
498 * common.opt: New option -fstack-protector-explicit.
499 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
500 (stack_protect_decl_phase): Handle stack_protect attribute for
501 explicit stack protection requests.
502 (expand_used_vars): Similarly.
503 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
504 * doc/extend.texi: Add documentation for "stack_protect" attribute.
505 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
507 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
510 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
512 (sh_extending_set_of_reg): New struct.
513 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
514 sh_remove_reg_dead_or_unused_notes): New Declarations.
515 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
516 sh_find_extending_set_of_reg, sh_split_tst_subregs,
517 sh_extending_set_of_reg::use_as_extended_reg): New functions.
518 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
519 convert to insn_and_split and use new function sh_split_tst_subregs.
521 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
523 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
525 (Optimization Options): Move -fuse-ld documentation to...
526 (Link Options): ...here.
528 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
530 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
532 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
533 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
534 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
535 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
536 instead of ZR for the memory operand of LL/SC.
537 (compare_and_swap_12, sync_add<mode>): Likewise.
538 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
539 (sync_new_<optab>_12, sync_nand_12): Likewise.
540 (sync_old_nand_12, sync_new_nand_12): Likewise.
541 (sync_sub<mode>, sync_old_add<mode>): Likewise.
542 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
543 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
544 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
545 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
546 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
547 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
548 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
549 * doc/md.texi (ZC): Update description.
551 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
553 * builtins.c (expand_builtin_atomic_exchange): Remove error when
554 memory model is CONSUME.
555 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
556 expand_builtin_atomic_store): Change invalid memory model errors to
558 (expand_builtin_atomic_clear): Change invalid model errors to warnings
559 and issue warning for CONSUME.
561 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
563 * lto-cgraph: Update function comments for
564 lto_symtab_encoder_encode_*.
566 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
568 * Makefile.in (site.exp): Do not set ENABLE_LTO.
570 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
572 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
573 * lto-cgraph.c (select_what_to_stream): Remove argument, use
574 lto_stream_offload_p instead.
575 * lto-streamer.h (select_what_to_stream): Remove argument.
576 * passes.c (ipa_write_summaries): Likewise.
577 * tree-pass.h (ipa_write_summaries): Likewise.
579 2015-01-14 Richard Biener <rguenther@suse.de>
581 PR tree-optimization/59354
582 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
583 groups larger than the slp group size as having gaps.
585 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
588 * builtins.c (get_memmodel): Promote consume to acquire always.
590 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
593 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
596 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
599 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
601 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
602 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
603 AVX512VBMI, as it implies AVX512BW.
605 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
608 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
609 (vec_unpacks_hi_v16sf): Ditto.
611 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
613 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
616 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
618 * doc/invoke.texi (mapcs): Mention deprecation.
619 (mapcs-frame): Likewise.
621 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
624 * config/arm/arm.c (callee_saved_reg_p): Define.
625 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
626 register is callee saved instead of !call_used_regs[reg].
627 (thumb1_compute_save_reg_mask): Likewise.
629 2015-01-14 Hale Wang <hale.wang@arm.com>
631 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
634 2015-01-14 Richard Biener <rguenther@suse.de>
637 * tree-inline.c (insert_debug_decl_map): Check destination
638 function MAY_HAVE_DEBUG_STMTS.
639 (insert_init_debug_bind): Likewise.
640 (insert_init_stmt): Remove redundant check.
641 (remap_gimple_stmt): Drop debug stmts if the destination
642 function has var-tracking assignments disabled.
644 2015-01-14 Martin Liska <mliska@suse.cz>
646 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
647 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
649 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
652 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
653 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
655 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
657 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
658 level from an ARCH; do not inject the default.
659 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
661 (MIPS_ISA_NAN2008_SPEC): Update comment.
662 (BASE_DRIVER_SELF_SPECS): Likewise.
663 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
664 MIPS_DEFAULT_ISA_LEVEL_SPEC.
665 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
666 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
667 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
669 2015-01-14 Richard Biener <rguenther@suse.de>
671 PR tree-optimization/64493
672 PR tree-optimization/64495
673 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
674 assign the proper vectorized PHI to the inner loop exit PHIs.
676 2015-01-14 Joey Ye <joey.ye@arm.com>
678 * config/arm/arm.c (arm_compute_save_reg_mask):
679 Do not save lr in case of tail call.
680 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
682 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
684 * tree-vrp.c (check_array_ref): Emit more warnings
685 for warn_array_bounds >= 2.
686 * common.opt: New option -Warray-bounds=.
687 * doc/invoke.texi: Document -Warray-bounds=.
689 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
691 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
692 (mforbid-fp-as-gp): Remove.
694 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
695 (nds32_symbol_load_store_p): Remove.
696 (nds32_fp_as_gp_check_available): Clean up implementation.
697 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
699 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
700 fp-as-gp and ex9 cases.
702 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
704 * tree-profile.c (init_ic_make_global_vars): Drop workaround
705 for bintuils bug 14342.
706 (init_ic_make_global_vars): Likewise.
707 (gimple_init_edge_profiler): Likewise.
708 (gimple_gen_ic_func_profiler): Likewise.
710 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
712 * ipa-inline.c (inline_small_functions): Swap the operands in
715 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
718 * ipa-inline-analysis.c (node_growth_cache): Remove.
719 (initialize_growth_caches): Do not initialize it.
720 (free_growth_caches): Do not free it.
721 (do_estimate_growth): Rename to ...
722 (estimate_growth): ... this one; drop growth cache code.
723 (growth_likely_positive): Always go the heuristics way.
724 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
725 (reset_edge_caches): Do not reset node growth.
726 (heap_edge_removal_hook): Do not maintain cache.
727 (inline_small_functions): Likewise; strenghten sanity check.
728 (ipa_inline): Do not maintain caches.
729 * ipa-inline.h (node_growth_cache): Remove.
730 (do_estimate_growth): Remove to ...
731 (estimate_growth): this one; remove inline version.
732 (reset_node_growth_cache): Remove.
734 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
737 * ipa-inline.c (inline_small_functions): Update callee keys after
738 resolving speculation
739 (inline_small_functions): Always check monotonicity of the queue.
741 2015-01-13 Marek Polacek <polacek@redhat.com>
744 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
746 2015-01-13 Jakub Jelinek <jakub@redhat.com>
748 PR rtl-optimization/64286
749 * ree.c (combine_reaching_defs): Move part of comment earlier,
750 remove !SCALAR_INT_MODE_P check.
751 (add_removable_extension): Don't add vector mode
752 extensions if all uses of the source register aren't the same
755 2015-01-13 Renlin Li <renlin.li@arm.com>
757 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
758 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
760 2015-01-13 Martin Liska <mliska@suse.cz>
762 * ipa-icf.c (sem_function::equals_private): Call new functions
763 cl_target_option_print_diff and cl_optimization_print_diff.
764 * optc-save-gen.awk (cl_target_option_print_diff): New function.
765 (cl_optimization_print_diff): Likewise.
766 * opth-gen.awk: Likewise.
768 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
770 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
771 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
772 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
773 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
774 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
775 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
777 2015-01-13 Andrew Pinski <apinski@cavium.com>
779 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
782 2015-01-13 Richard Biener <rguenther@suse.de>
785 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
788 2015-01-13 Andrew Pinski <apinski@cavium.com>
790 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
792 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
794 2015-01-13 Jakub Jelinek <jakub@redhat.com>
797 * cfgexpand.c (expand_computed_goto): Don't call
798 convert_memory_address here.
800 2015-01-13 Richard Biener <rguenther@suse.de>
802 PR tree-optimization/64406
803 * tree-loop-distibution.c (pass_loop_distribution::execute):
804 Reset the SCEV hashtable if we distributed anything.
806 2015-01-13 Richard Biener <rguenther@suse.de>
808 PR tree-optimization/64404
809 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
810 SLP types for CSEd loads.
812 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
814 PR tree-optimization/64436
815 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
816 merge of two symbolic numbers for a bitwise OR to ...
817 (perform_symbolic_merge): This. Also fix computation of the range and
818 end of the symbolic number corresponding to the result of a bitwise OR.
820 2014-01-13 Richard Biener <rguenther@suse.de>
822 PR tree-optimization/64568
823 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
824 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
826 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
828 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
829 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
831 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
833 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
834 target-specific symbol_ref flag.
835 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
836 resides in rodata section.
837 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
838 (nds32_encode_section_info): New function.
840 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
842 * config/nds32/nds32.md (call): Use pseudo instruction bal which
843 clobbers TA_REGNUM if large code model is specified.
844 (call_register): Likewise.
845 (call_immediate): Likewise.
846 (call_value): Likewise.
847 (call_value_register): Likewise.
848 (call_value_immediate): Likewise.
850 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
852 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
853 (TARGET_CMODEL_MEDIUM): New macro.
854 (TARGET_CMODEL_LARGE): New macro.
855 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
856 code model setting in assembly code.
858 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
860 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
861 Remove MASK_GP_DIRECT flag.
862 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
863 one of the multilib default options.
864 * config/nds32/nds32.opt (mgp-direct): Remove.
865 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
866 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
868 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
870 * config/nds32/nds32.opt (mcmodel): Add new option.
871 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
872 to describe code model.
874 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
877 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
879 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
881 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
882 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
883 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
884 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
885 __builtin_sh_set_fpscr.
887 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
889 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
890 after a funtion name just to indicate it is a function.
891 ([-fsanitize-undefined-trap-on-error]): Likewise.
892 ([-fdbg-cnt=]): Likewise.
893 ([-mmemcpy]): Likewise.
894 ([-mflush-func]): Likewise.
895 ([-msynci]): Likewise.
897 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
899 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
902 2015-01-12 Jakub Jelinek <jakub@redhat.com>
904 PR tree-optimization/64563
905 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
906 instead of != VR_VARYING.
909 * config/i386/i386.c (ix86_expand_prologue): Add
910 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
912 PR tree-optimization/64454
913 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
914 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
915 for signed or [0, op1 - 1] for unsigned modulo.
916 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
917 even if op1 does not satisfy integer_pow2p.
920 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
922 2015-01-12 Jeff Law <law@redhat.com>
925 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
926 (trunchiqi2, truncsihi2): Similarly.
928 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
929 rather than calling F.
931 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
933 * tsan.c (instrument_expr): Use force_gimple_operand.
934 Use may_be_nonaddressable_p instead of is_gimple_addressable.
936 2015-01-12 Richard Biener <rguenther@suse.de>
938 PR tree-optimization/64530
939 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
942 2015-01-12 Richard Biener <rguenther@suse.de>
945 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
948 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
950 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
951 Cortex-A17 tuning parameters.
952 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
954 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
956 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
957 * config/arm/arm.c (arm_macro_fusion_p): New function.
958 (arm_macro_fusion_pair_p): Likewise.
959 (TARGET_SCHED_MACRO_FUSION_P): Define.
960 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
961 (ARM_FUSE_NOTHING): Likewise.
962 (ARM_FUSE_MOVW_MOVT): Likewise.
963 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
964 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
965 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
966 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
967 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
968 arm_cortex_a5_tune): Specify fuseable_ops value.
970 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
973 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
974 test for PIE with copy reloc.
975 * configure: Regenerated.
977 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
979 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
981 (arm_tls_descseq_addr): Likewise.
982 (arm_gen_movmemqi): Likewise.
983 (arm_expand_epilogue_apcs_frame): Likewise.
984 (arm_expand_epilogue): Likewise.
985 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
988 2015-01-12 Martin Liska <mliska@suse.cz>
991 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
992 volatility for correct operands.
994 2015-01-12 Martin Liska <mliska@suse.cz>
996 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
997 that a function is not leaf.
998 (sem_function::compare_polymorphic_p): Likewise.
1000 2015-01-12 Martin Liska <mliska@suse.cz>
1002 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
1003 that a function is not leaf.
1004 (sem_function::compare_polymorphic_p): Likewise.
1006 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1008 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
1009 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
1010 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
1011 fold-const.h, tree-check.h.
1013 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
1017 * ipa-inline.c (compute_uninlined_call_time,
1018 compute_inlined_call_time): Use counts for extra precision when
1020 (big_speedup_p): Fix formating.
1021 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
1022 (relative_time_benefit): Remove.
1023 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
1024 merge guessed and read profile paths.
1025 (inline_small_functions): Count only !optimize_size functions into
1026 initial size; be more lax about sanity check when profile is used;
1027 be sure to update inlined function profile when profile is read.
1029 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
1032 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
1033 cost when edge becomes direct.
1034 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
1035 is resolved or when introducing new speculation.
1037 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
1041 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
1042 '||' to fix typo issue.
1044 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
1045 accept and return NULL.
1047 2015-01-12 Martin Liska <mliska@suse.cz>
1049 * cgraph.c (cgraph_edge::remove_callee): Move function to header
1050 file for being inlined.
1051 (cgraph_set_edge_callee): Delete.
1052 (cgraph_edge::redirect_callee): Move function to header file
1054 (cgraph_edge::make_direct): Use new function.
1055 (cgraph_edge::dump_edge_flags): New function created from
1056 static dump_edge_flags function.
1057 (cgraph_node::dump): Use new function.
1058 (cgraph_edge::verify_count_and_frequency): New function created
1059 from verify_edge_count_and_frequency.
1060 (cgraph_edge::verify_corresponds_to_fndecl): New function created
1061 from verify_edge_corresponds_to_fndecl.
1062 (verify_edge_corresponds_to_fndecl): Delete.
1063 (cgraph_node::verify_node): Use new function.
1064 * cgraph.h (cgraph_edge::set_callee): New function.
1065 (cgraph_edge::dump_edge_flags): Likewise.
1066 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
1068 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
1070 * ipa-utils.c (estimate_function_body_sizes): Do not
1071 free node params when called late with early=true.
1073 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
1075 * doc/md.texi (Instruction Patterns): Rewrite text for
1077 (Example): Likewise.
1079 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
1081 * doc/invoke.texi (Option Summary): Break long lines.
1082 [(-fdiagnostics-color)]: Put long literal in @smallexample
1084 [(-fsanitize-recover)]: Likewise.
1085 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
1086 [(-ffast-math)]: Likewise.
1087 [(--param max-inline-insns-recursive)]: Likewise.
1088 [(--param max-inline-recursive-depth)]: Likewise.
1089 [(-mno-text-section-literals)]: Likewise.
1091 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1093 * doc/install.texi: Update for libgomp being renamed from "GNU
1094 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
1096 * doc/sourcebuild.texi: Likewise.
1098 2015-01-10 Anthony Green <green@moxielogic.com>
1100 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
1101 mul.x availability for moxiebox configuration.
1103 2015-01-09 Anthony Green <green@moxielogic.com>
1105 * config/moxie/moxie.md: Tabify assembly output.
1107 2015-01-09 Anthony Green <green@moxielogic.com>
1109 * config/moxie/moxie.md (CC_REG): Correct register definition.
1111 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
1113 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
1114 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
1117 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
1119 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
1121 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
1122 Jakub Jelinek <jakub@redhat.com>
1125 * lto-streamer.h (lto_stream_offload_p): New declaration.
1126 * lto-streamer.c (lto_stream_offload_p): New variable.
1127 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
1128 at the same time as section_name_prefix.
1129 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
1130 if lto_stream_offload_p.
1131 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
1132 stream TREE_TARGET_OPTION if lto_stream_offload_p.
1133 (write_ts_function_decl_tree_pointers): Don't
1134 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
1135 * tree-streamer-in.c (unpack_value_fields): Don't stream
1136 TREE_TARGET_OPTION in if ACCEL_COMPILER.
1137 (lto_input_ts_function_decl_tree_pointers): Don't stream
1138 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
1139 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
1140 instead of section_name_prefix string comparisons.
1142 2015-01-09 Jakub Jelinek <jakub@redhat.com>
1144 PR rtl-optimization/64536
1145 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
1148 2015-01-09 Michael Collison <michael.collison@linaro.org>
1150 * genattrtab.c (write_header): Include hash-set.h, machmode.h,
1151 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1152 fold-const.h, wide-int.h, and inchash.h when generating
1154 * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h, machmode.h,
1155 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1156 fold-const.h, wide-int.h, and inchash.h when generating
1158 * genemit.c (main): Include hash-set.h, machmode.h,
1159 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1160 fold-const.h, wide-int.h, and inchash.h when generating
1162 * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
1163 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1164 fold-const.h, wide-int.h, and inchash.h when generating
1166 * genopinit.c (main): Include hash-set.h, machmode.h,
1167 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1168 fold-const.h, wide-int.h, and inchash.h when generating
1170 * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
1171 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1172 fold-const.h, wide-int.h, and inchash.h when generating
1174 * genpeep.c (main): Include hash-set.h, machmode.h,
1175 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1176 fold-const.h, wide-int.h, and inchash.h when generating
1178 * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
1179 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1180 fold-const.h, wide-int.h, and inchash.h when generating
1182 * optc-save-gen-awk: Include hash-set.h, machmode.h,
1183 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1184 fold-const.h, wide-int.h, and inchash.h when generating
1186 * opth-gen.awk: Change include guard from GCC_C_COMMON_H to GCC_C_COMMON_C
1187 when generating options.h.
1188 * alias.c: Include hash-set.h, machmode.h,
1189 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1190 fold-const.h, wide-int.h, and inchash.h due to
1191 flattening of tree.h.
1194 * auto-inc-dec.c: Ditto.
1195 * auto-profile.c: Ditto
1196 * bb-reorder.c: Ditto.
1197 * bt-load.c: Include symtab.h due to flattening of tree.h.
1198 * builtins.c: Include hash-set.h, machmode.h,
1199 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1200 fold-const.h, wide-int.h, and inchash.h due to
1201 flattening of tree.h.
1202 * calls.c: Include hash-set.h, machmode.h,
1203 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1204 fold-const.h, wide-int.h, and inchash.h due to
1205 flattening of tree.h.
1207 * cfgbuild.c: Include hash-set.h, machmode.h,
1208 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1209 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1211 * cfgcleanup.c: Ditto.
1212 * cfgexpand.c: Ditto.
1213 * cfghooks.c: Ditto.
1214 * cfgloop.c: Include symtab.h, fold-const.h, and
1215 inchash.h due to flattening of tree.h.
1216 * cfgloopmanip.c: Ditto.
1217 * cfgrtl.c: Include hash-set.h, machmode.h,
1218 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1219 fold-const.h, wide-int.h, and inchash.h due to
1220 flattening of tree.h.
1221 * cgraphbuild.c: Ditto.
1223 * cgraphclones.c: Ditto.
1224 * cgraphunit.c: Ditto.
1225 * cilk-common.c: Ditto.
1227 * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
1228 * config/aarch64/aarch64-builtins.c: Include hash-set.h, machmode.h,
1229 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1230 fold-const.h, wide-int.h, and inchash.h due to
1231 flattening of tree.h.
1232 * config/aarch64/aarch64.c: Ditto.
1233 * config/alpha/alpha.c: Ditto.
1234 * config/arc/arc.c: Ditto.
1235 * config/arm/aarch-common.c: Ditto.
1236 * config/arm/arm-builtins.c: Ditto.
1237 * config/arm/arm.c: Ditto.
1238 * config/arm/arm-c.c: Ditto.
1239 * config/avr/avr.c: Ditto.
1240 * config/avr/avr-c.c: Ditto.
1241 * config/avr/avr-log.c: Ditto.
1242 * config/bfin/bfin.c: Ditto.
1243 * config/c6x/c6x.c: Ditto.
1244 * config/cr16/cr16.c: Ditto.
1245 * config/cris/cris.c: Ditto.
1246 * config/darwin.c: Ditto.
1247 * config/darwin-c.c: Ditto.
1248 * config/default-c.c: Ditto.
1249 * config/epiphany/epiphany.c: Ditto.
1250 * config/fr30/fr30.c: Ditto.
1251 * config/frv/frv.c: Ditto.
1252 * config/glibc-c.c: Ditto.
1253 * config/h8300/h8300.c: Ditto.
1254 * config/i386/i386.c: Ditto.
1255 * config/i386/i386-c.c: Ditto.
1256 * config/i386/msformat.c: Ditto.
1257 * config/i386/winnt.c: Ditto.
1258 * config/i386/winnt-cxx.c: Ditto.
1259 * config/i386/winnt-stubs.c: Ditto.
1260 * config/ia64/ia64.c: Ditto.
1261 * config/ia64/ia64-c.c: Ditto.
1262 * config/iq2000/iq2000.c: Ditto.
1263 * config/lm32/lm32.c: Include symtab.h, fold-const.h,
1264 wide-int.h, and inchash.h due to flattening of tree.h.
1265 * config/m32c/m32c.c: Include hash-set.h, machmode.h,
1266 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1267 fold-const.h, wide-int.h, and inchash.h due to
1268 flattening of tree.h.
1269 * config/m32c/m32c-pragma.c: Ditto.
1270 * config/m32c/m32cr.c: Ditto.
1271 * config/m68/m68k.c: Ditto.
1272 * config/mcore/mcore.c: Ditto.
1273 * config/mep/mep.c: Ditto.
1274 * config/mep/mep-pragma.c: Ditto.
1275 * config/microblaze/microblaze.c: Ditto.
1276 * config/microblaze/microblaze-c.c: Ditto.
1277 * config/mips/mips.c: Ditto.
1278 * config/mmix/mmix.c: Include symtab.h, fold-const.h,
1279 wide-int.h, and inchash.h due to flattening of tree.h.
1280 * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
1281 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1282 fold-const.h, wide-int.h, and inchash.h due to
1283 flattening of tree.h.
1284 * config/moxie/moxie.c: Ditto.
1285 * config/msp430/msp430.c: Ditto.
1286 * config/msp430/msp430-c.c: Ditto.
1287 * config/nds32/nds32.c: Ditto.
1288 * config/nds32/nds32-cost.c: Ditto.
1289 * config/nds32/nds32-fp-as-gp.c: Ditto.
1290 * config/nds32/nds32-intrinsic.c: Ditto.
1291 * config/nds32/nds32-isr.c: Ditto.
1292 * config/nds32/nds32-md-auxillary.c: Ditto.
1293 * config/nds32/nds32-memory-manipulationx.c: Ditto.
1294 * config/nds32/nds32-pipelines-auxillary.c: Ditto.
1295 * config/nds32/nds32-predicates.c: Ditto.
1296 * config/nios2/nios2.c: Ditto.
1297 * config/nvptx/nvptx.c: Ditto.
1298 * config/pa/pa.c: Ditto.
1299 * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
1300 wide-int.h, and inchash.h due to flattening of tree.h.
1301 * config/rl78/rl78.c: Include hash-set.h, machmode.h,
1302 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1303 fold-const.h, wide-int.h, and inchash.h due to
1304 flattening of tree.h.
1305 * config/rl78/rl78-cx.c: Ditto.
1306 * config/rs6000/rs6000.c: Ditto.
1307 * config/rs6000/rs6000-c.c: Ditto.
1308 * config/rx/rx.c: Ditto.
1309 * config/s390/s390.c: Ditto.
1310 * config/sh/sh.c: Ditto.
1311 * config/sh/sc.c: Ditto.
1312 * config/sh/sh-mem.cc: Ditto.
1313 * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
1314 due to flattening of tree.h.
1315 Remove include of tree-core.h.
1316 * config/sol2.c: Include hash-set.h, machmode.h,
1317 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1318 fold-const.h, wide-int.h, and inchash.h due to
1319 flattening of tree.h.
1320 * config/sol2-c.c: Ditto.
1321 * config/sol2-cxx.c: Ditto.
1322 * config/sol2-stubs.c: Ditto.
1323 * config/sparc/sparc.c: Ditto.
1324 * config/sparc/sparc-cx.c: Ditto.
1325 * config/spu/spu.c: Ditto.
1326 * config/spu/spu-c.c: Ditto
1327 * config/storym16/stormy16.c: Ditto.
1328 * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
1329 wide-int.h, and inchash.h due to flattening of tree.h.
1330 * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
1331 * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
1332 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1333 fold-const.h, wide-int.h, and inchash.h due to
1334 flattening of tree.h.
1335 * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
1336 wide-int.h, and inchash.h due to flattening of tree.h.
1337 * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
1338 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1339 fold-const.h, wide-int.h, and inchash.h due to
1340 flattening of tree.h.
1341 * config/v850/v850.c: Ditto.
1342 * config/v850/v850-c.c: Ditto.
1343 * config/vax/vax.c: Ditto.
1344 * config/vms/vms.c: Ditto.
1345 * config/vms/vms-c.c: Ditto.
1346 * config/vxworks.c: Ditto.
1347 * config/winnt-c.c: Ditto.
1348 * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
1349 wide-int.h, and inchash.h due to flattening of tree.h.
1350 * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1351 input.h, alias.h, symtab.h, options.h, fold-const.h,
1352 wide-int.h, and inchash.h due to flattening of tree.h.
1353 * coverage.c: Ditto.
1354 * cppbuiltin.c: Ditto.
1356 * cse.c: Add include of symtab.h due to flattening of tree.h.
1357 * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1358 input.h, alias.h, symtab.h, options.h, fold-const.h,
1359 wide-int.h, and inchash.h due to flattening of tree.h.
1360 * data-streamer.c: Ditto.
1361 * data-streamer-in.c: Ditto.
1362 * data-streamer-out.c: Ditto.
1365 * ddg.c: Add include of symtab.h due to flattening of tree.h.
1366 * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1367 input.h, alias.h, symtab.h, options.h, fold-const.h,
1368 wide-int.h, and inchash.h due to flattening of tree.h.
1371 * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1372 input.h, alias.h, symtab.h, options.h, fold-const.h,
1373 wide-int.h, inchash.h and real.h due to flattening of tree.h.
1374 * double-int.c: Ditto.
1376 * dumpfile.c: Ditto.
1377 * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1378 input.h, alias.h, symtab.h, fold-const.h,
1379 wide-int.h, inchash.h and real.h due to flattening of tree.h.
1380 * dwarf2cfi.c: Ditto.
1381 * dwarf2out.c: Ditto.
1382 * emit-rtl.c: Ditto.
1385 * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1386 input.h, alias.h, symtab.h, fold-const.h,
1387 wide-int.h, and inchash.h due to flattening of tree.h.
1390 * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1391 input.h, alias.h, symtab.h, fold-const.h,
1392 wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
1393 * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1394 input.h, alias.h, symtab.h, fold-const.h,
1395 wide-int.h, and inchash.h due to flattening of tree.h.
1396 Relocate inline function convert_to_ptrofftype_loc from tree.h.
1397 Relocate inline function fold_build_pointer_plus_loc from tree.h.
1398 Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
1399 * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
1400 Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
1401 Relocate macro fold_build_pointer_plus_hwi from tree.h.
1402 Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
1403 Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
1404 Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
1405 * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1406 input.h, alias.h, symtab.h, fold-const.h,
1407 wide-int.h, and inchash.h due to flattening of tree.h.
1408 * gcc-plugin.h: Include statistics.h, double-int.h, real.h, fixed-value.h,
1409 alias.h, flags.h, and symtab.h due to flattening of tree.h
1411 * generic-match-head.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1412 input.h, alias.h, symtab.h, options.h, fold-const.h,
1413 wide-int.h, and inchash.h due to flattening of tree.h.
1414 * ggc-page.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1415 input.h, alias.h, symtab.h, fold-const.h,
1416 wide-int.h, and inchash.h due to flattening of tree.h.
1417 * gimple-builder.c: Ditto.
1419 * gimple-expr.c: Ditto.
1420 * gimple-fold.c: Ditto.
1421 * gimple-iterator.c: Ditto.
1422 * gimple-low.c: Ditto.
1423 * gimple-match-head.c: Ditto.
1424 * gimple-pretty-print.c: Ditto.
1425 * generic-ssa-isolate-paths.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1426 input.h, alias.h, symtab.h, options.h, fold-const.h,
1427 wide-int.h, and inchash.h due to flattening of tree.h.
1428 * gimple-ssa-strength-reduction.c: Ditto.
1429 * gimple-streamer-in.c: Ditto.
1430 * gimple-streamer-out.c: Ditto.
1431 * gimple-walk.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1432 input.h, alias.h, symtab.h, fold-const.h,
1433 wide-int.h, and inchash.h due to flattening of tree.h.
1434 * gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1435 input.h, alias.h, symtab.h, options.h, fold-const.h,
1436 wide-int.h, and inchash.h due to flattening of tree.h.
1437 * gimplify-me.c: Ditto.
1438 * graphite-blocking.c: Ditto.
1439 * graphite.c: Ditto.
1440 * graphite-dependencies.c: Ditto.
1441 * graphite-interchange.c: Ditto.
1442 * graphite-isl-ast-to-gimple.c: Ditto.
1443 * graphite-optimize-isl.c: Ditto.
1444 * graphite-poly.c: Ditto.
1445 * graphite-scop-detection.c: Ditto.
1446 * graphite-sese-to-poly.c: Ditto.
1447 * hw-doloop.c: Include symtab.h due to flattening of tree.h.
1449 * init-regs.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1450 input.h, alias.h, symtab.h, fold-const.h,
1451 wide-int.h, and inchash.h due to flattening of tree.h.
1452 * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1453 input.h, alias.h, symtab.h,options.h, fold-const.h,
1454 wide-int.h, and inchash.h due to flattening of tree.h.
1456 * ipa-chkp.c: Ditto.
1457 * ipa-comdats.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1458 input.h, alias.h, symtab.h, fold-const.h,
1459 wide-int.h, and inchash.h due to flattening of tree.h.
1460 * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1461 input.h, alias.h, symtab.h,options.h, fold-const.h,
1462 wide-int.h, and inchash.h due to flattening of tree.h.
1463 * ipa-devirt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1464 input.h, alias.h, symtab.h, fold-const.h,
1465 wide-int.h, and inchash.h due to flattening of tree.h.
1466 * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1467 input.h, alias.h, symtab.h,options.h, fold-const.h,
1468 wide-int.h, and inchash.h due to flattening of tree.h.
1469 * ipa-icf-gimple.c: Ditto.
1470 * ipa-inline-analysis.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1471 input.h, alias.h, symtab.h, fold-const.h,
1472 wide-int.h, and inchash.h due to flattening of tree.h.
1473 * ipa-inline.c: Ditto.
1474 * ipa-inline-transform.c: Ditto.
1475 * ipa-polymorhpic-call.c: Ditto.
1476 * ipa-profile.c: Ditto.
1477 * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1478 input.h, alias.h, symtab.h, options.h, fold-const.h,
1479 wide-int.h, and inchash.h due to flattening of tree.h.
1480 * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1481 input.h, alias.h, symtab.h, fold-const.h,
1482 wide-int.h, and inchash.h due to flattening of tree.h.
1483 * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1484 input.h, alias.h, symtab.h, options.h, fold-const.h,
1485 wide-int.h, and inchash.h due to flattening of tree.h.
1486 * ipa-reference.c: Ditto.
1487 * ipa-split.c: Ditto.
1488 * ipa-utils.c: Ditto.
1489 * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1490 input.h, alias.h, symtab.h, fold-const.h,
1491 wide-int.h, and inchash.h due to flattening of tree.h.
1493 * ira-color.c: Include hash-set.h due to flattening of tree.h.
1494 * ira-costs.c: Ditto.
1495 * ira-emit.c: Ditto.
1496 * jump.c: Include symtab.h due to flattening of tree.h.
1497 * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1498 input.h, alias.h, symtab.h, fold-const.h,
1499 wide-int.h, and inchash.h due to flattening of tree.h.
1500 * loop-doloop.c: Include symtab.h due to flattening of tree.h.
1501 * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1502 input.h, alias.h, symtab.h, fold-const.h,
1503 wide-int.h, and inchash.h due to flattening of tree.h.
1504 * loop-invariant.c: Include symtab.h due to flattening of tree.h.
1506 * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1507 input.h, alias.h, symtab.h, fold-const.h,
1508 wide-int.h, and inchash.h due to flattening of tree.h.
1509 * lower-subreg.c: Ditto.
1510 * lra-assigns.c: Include symtab.h due to flattening of tree.h.
1511 * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
1512 due to flattening of tree.h.
1513 * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
1514 * lra-constraints.c: Ditto.
1515 * lra-eliminations.c: Ditto.
1516 * lra-livesc: Ditto.
1517 * lra-remat.c: Ditto.
1518 * lra-spills.c: Ditto.
1519 * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1520 input.h, alias.h, symtab.h, fold-const.h,
1521 wide-int.h, and inchash.h due to flattening of tree.h.
1522 * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1523 input.h, alias.h, symtab.h, options, fold-const.h,
1524 wide-int.h, and inchash.h due to flattening of tree.h.
1525 * lto-opts.c: Ditto.
1526 * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1527 input.h, alias.h, symtab.h, fold-const.h,
1528 wide-int.h, and inchash.h due to flattening of tree.h.
1529 * lto-section-out.c: Ditto.
1530 * lto-streamer.c: Ditto.
1531 * lto-streamer-in.c: Ditto.
1532 * lto-streamer-out.c: Ditto.
1533 * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1534 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1535 inchash.h due to flattening of tree.h.
1536 * omega.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1537 input.h, alias.h, symtab.h, options, fold-const.h,
1538 wide-int.h, and inchash.h due to flattening of tree.h.
1539 * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1540 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1541 inchash.h due to flattening of tree.h.
1543 * opts-global.c: Ditto.
1545 * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1546 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1547 inchash.h due to flattening of tree.h.
1548 * postreload.c: Include symtab.h due to flattening of tree.h.
1549 * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1550 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1551 inchash.h due to flattening of tree.h.
1553 * print-rtl.c: Ditto.
1554 * print-tree.c: Ditto.
1555 * profile.c: Include symtab.h, fold-const.h
1556 and inchash.h due to flattening of tree.h.
1557 * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1558 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1559 inchash.h due to flattening of tree.h.
1560 * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1561 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1562 inchash.h due to flattening of tree.h.
1563 * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1564 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1565 inchash.h due to flattening of tree.h.
1568 * reg-stack.c: Ditto.
1569 * reload1.c: Include symtab.h, fold-const.h, wide-int.h
1570 and inchash.h due to flattening of tree.h.
1571 * reload.c: Include symtab.h due to flattening of tree.h.
1573 * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
1574 and inchash.h due to flattening of tree.h.
1575 * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1576 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1577 inchash.h due to flattening of tree.h.
1578 * rtlhooks.c: Include symtab.h due to flattening of tree.h.
1579 * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1580 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1581 inchash.h due to flattening of tree.h.
1582 * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1583 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1584 inchash.h due to flattening of tree.h.
1585 * sched-vis.c: Ditto.
1587 * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
1588 and inchash.h due to flattening of tree.h.
1589 * sel-sched-ir.c: Ditto.
1590 * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1591 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1592 inchash.h due to flattening of tree.h.
1593 * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1594 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1595 inchash.h due to flattening of tree.h.
1596 * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1597 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1598 inchash.h due to flattening of tree.h.
1599 * stack-ptr-mod.c: Ditto.
1601 * store-motion.c: Ditto.
1602 * store-layout.c: Ditto.
1603 * stringpool.c: Ditto.
1605 * target-globals.c: Ditto.
1606 * targhooks.c: Ditto.
1609 * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1610 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1611 inchash.h due to flattening of tree.h.
1612 * tree-affine.c: Ditto.
1613 * tree-browser.c: Ditto.
1614 * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1615 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1616 inchash.h due to flattening of tree.h.
1617 * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
1618 fold-const.h, wide-int.h, inchash.h and real.h due to
1619 flattening of tree.h.
1620 * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1621 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1622 inchash.h due to flattening of tree.h.
1623 * tree-cfgcleanup.c: Ditto.
1624 * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1625 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1626 inchash.h due to flattening of tree.h.
1627 * tree-chkp-opt.c: Ditto.
1628 * tree-chrec.c: Ditto.
1629 * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1630 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
1631 real.h due to flattening of tree.h.
1632 * tree-core.h: Flatten header file by removing all #include statements.
1633 * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1634 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1635 inchash.h due to flattening of tree.h.
1636 * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1637 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
1638 real.h due to flattening of tree.h.
1639 * tree-diagnostic.c: Ditto.
1640 * tree-dump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1641 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
1642 fixed-value.h due to flattening of tree.h.
1643 * tree-dfa.c: Ditto.
1644 * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1645 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
1646 real.h due to flattening of tree.h.
1647 * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1648 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1649 inchash.h due to flattening of tree.h.
1650 * tree.h: Flatten header files by removing all includes except tree-core.h.
1651 Remove inline function convert_to_ptrofftype_loc to relocate to fold-const.c.
1652 Remove macro convert_to_ptrofftype to relocate to fold-const.h.
1653 Remove inline function fold_build_pointer_plus_loc to relocate to fold-const.c.
1654 Remove macro fold_build_pointer_plus to relocate to fold-const.h.
1655 Remove inline function fold_build_pointer_plus_hwi_loc to relocate to fold-const.c.
1656 Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
1657 * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1658 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
1659 fixed-value.h due to flattening of tree.h.
1660 * tree-inline.c: Ditto.
1661 * tree-into-ssa.c: Ditto.
1662 * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1663 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1664 inchash.h due to flattening of tree.h.
1665 * tree-loop-distribution.c: Ditto.
1666 * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1667 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1668 due to flattening of tree.h.
1669 * tree-nrv.c: Ditto.
1670 * tree-object-size.c: Ditto.
1671 * tree-outof-ssa.c: Ditto.
1672 * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1673 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
1674 inchash.h due to flattening of tree.h.
1675 * tree-phinodes.c: Ditto.
1676 * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1677 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1678 due to flattening of tree.h.
1679 * tree-pretty-print.c: Ditto.
1680 * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
1681 fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
1682 * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
1683 double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
1684 wide-int.h and inchash.h due to flattening of tree.h.
1685 * tree-sra.c: Include vec.h, double-int.h,
1686 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1687 inchash.h due to flattening of tree.h.
1688 * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1689 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1690 due to flattening of tree.h.
1691 * tree-ssa.c: Ditto.
1692 * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1693 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
1694 and real.h due to flattening of tree.h.
1695 * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1696 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1697 due to flattening of tree.h.
1698 * tree-ssa-copy.c: Ditto.
1699 * tree-ssa-copyrename.c: Ditto.
1700 * tree-ssa-dce.c: Ditto.
1701 * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1702 input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
1703 and real.h due to flattening of tree.h.
1704 * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1705 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1706 due to flattening of tree.h.
1707 * tree-ssa-forwprop.c: Ditto.
1708 * tree-ssa-ifcombine.c: Ditto.
1709 * tree-ssa-live.c: Ditto.
1710 * tree-ssa-loop.c: Ditto.
1711 * tree-ssa-loop-ch.c: Ditto.
1712 * tree-ssa-loop-im.c: Ditto.
1713 * tree-ssa-loop-ivcanon.c: Ditto.
1714 * tree-ssa-loop-ivopts.c: Ditto.
1715 * tree-ssa-loop-manip.c: Ditto.
1716 * tree-ssa-loop-niter.c: Ditto.
1717 * tree-ssa-loop-prefetch.c: Ditto.
1718 * tree-ssa-loop-unswitch.c: Ditto.
1719 * tree-ssa-loop-math-opts.c: Ditto.
1720 * tree-ssanames.c: Ditto.
1721 * tree-ssa-operands.c: Ditto.
1722 * tree-ssa-phiopt.c: Ditto.
1723 * tree-ssa-phiprop.c: Ditto.
1724 * tree-ssa-pre.c: Ditto.
1725 * tree-ssa-propagate.c: Ditto.
1726 * tree-ssa-reassoc.c: Ditto.
1727 * tree-ssa-sccvn.c: Ditto.
1728 * tree-ssa-sink.c: Ditto.
1729 * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
1730 double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
1731 wide-int.h and inchash.h due to flattening of tree.h.
1732 * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
1733 fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
1734 * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
1735 double-int.h, input.h, alias.h, symtab.h, fold-const.h,
1736 wide-int.h and inchash.h due to flattening of tree.h.
1737 * tree-ssa-ter.c: Ditto.
1738 * tree-ssa-threadedge.c: Ditto.
1739 * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
1740 double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
1741 wide-int.h and inchash.h due to flattening of tree.h.
1742 * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
1743 double-int.h, input.h, alias.h, symtab.h, fold-const.h,
1744 wide-int.h and inchash.h due to flattening of tree.h.
1745 * tree-ssa-uninit.c: Ditto.
1746 * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
1747 symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
1749 * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
1750 symtab.h, options.h, fold-const.h, wide-int.h and
1751 inchash.h due to flattening of tree.h.
1752 * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
1753 double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
1754 wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
1756 * tree-streamer-out.c: Dittoo.
1757 * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1758 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1759 due to flattening of tree.h.
1760 * tree-tailcall.c: Ditto.
1761 * tree-vect-data-refs.c: Ditto.
1762 * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, input.h,
1763 alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
1764 due to flattening of tree.h.
1765 * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1766 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1767 due to flattening of tree.h.
1768 * tree-vect-loop-manip.c: Ditto.
1769 * tree-vectorizer.c: Ditto.
1770 * tree-vect-patterns.c: Ditto.
1771 * tree-vect-slp.c: Ditto.
1772 * tree-vect-stmts.c: Ditto.
1773 * tree-vrp.c: Ditto.
1774 * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1775 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
1776 due to flattening of tree.h.
1778 * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1779 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1780 due to flattening of tree.h.
1783 * var-tracking.c: Ditto.
1784 * vmsdbgout.c: Ditto.
1785 * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1786 input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
1787 due to flattening of tree.h.
1788 * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
1789 input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
1790 due to flattening of tree.h.
1791 * xcoffout.c: Ditto.
1793 2015-01-09 Tom de Vries <tom@codesourcery.com>
1795 PR rtl-optimization/64539
1796 * regcprop.c (kill_clobbered_values): Factor out of ...
1797 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
1798 instead of note_stores with kill_clobbered_value.
1800 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
1802 * ginclude/unwind-arm-common.h: Revert previous commit.
1804 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
1806 * config.gcc (arm*-*-freebsd*): New configuration.
1807 * config/arm/freebsd.h: New file.
1808 * config.host: Add extra components for arm*-*-freebsd*.
1809 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
1810 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
1812 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1814 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
1816 * config/rs6000/t-rtems: Add e6500 multilibs.
1818 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1820 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
1823 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1825 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
1826 MULTILIB_EXCEPTIONS.
1828 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1830 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
1831 MULTILIB_EXCEPTIONS.
1833 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1835 * config/arm/t-rtems-eabi: Rename to...
1836 * config/arm/t-rtems: ...this.
1837 * config/arm/rtems-eabi.h: Rename to...
1838 * config/arm/rtems.h: ...this.
1839 * config.gcc (arm*-*-rtems*): Reflect changes above.
1841 2015-01-09 Richard Biener <rguenther@suse.de>
1843 PR tree-optimization/64410
1844 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
1846 (execute_update_addresses_taken): Deal with that.
1847 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
1848 loads/stores for complex variables.
1850 2015-01-09 Martin Liska <mliska@suse.cz>
1852 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
1854 (func_checker::compare_memory_operand): New function.
1855 (func_checker::compare_operand): Split case to newly
1857 (func_checker::compare_cst_or_decl): New function.
1858 (func_checker::compare_gimple_call): Identify
1860 (func_checker::compare_gimple_assign): Likewise.
1861 * ipa-icf-gimple.h: New function.
1863 2015-01-09 Martin Liska <mliska@suse.cz>
1866 * sreal.c (sreal::dump): Change unsigned format to signed for
1868 (sreal::to_double): Replace exp2 with scalbln.
1870 2015-01-09 Martin Liska <mliska@suse.cz>
1872 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
1873 * ipa-icf.c (sem_function::equals_private): Add support for target and
1874 (sem_item_optimizer::merge_classes): Remove redundant function
1875 optimization flags comparison.
1876 * tree.h (target_opts_for_fn): New function.
1878 2015-01-09 Tom de Vries <tom@codesourcery.com>
1880 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
1882 2015-01-09 Kito Cheng <kito@0xlab.org>
1884 PR rtl-optimization/64348
1885 * lra-constraints.c (split_reg): Fix caller-save store/restore
1886 instruction generation.
1888 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
1890 PR gcov-profile/61790
1891 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
1892 long long. Fallback to int64_t if host doesn't have long long and
1893 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
1895 2015-01-08 Jakub Jelinek <jakub@redhat.com>
1897 PR tree-optimization/63989
1898 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
1900 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
1901 (get_stridx): If we don't have a record for certain SSA_NAME,
1902 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
1903 constant offset, call get_stridx_plus_constant.
1904 (get_stridx_plus_constant): New function.
1905 (zero_length_string): Don't use get_stridx here.
1909 * dse.c (struct insn_info): Mention frame_read set also
1910 before reload for tail calls on some targets.
1911 (scan_insn): Revert 2014-12-22 change. Set frame_read
1912 also before reload for tail calls if
1913 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
1914 instead of add_non_frame_wild_read for non-const/memset
1915 tail calls after reload.
1917 2015-01-08 Jason Merrill <jason@redhat.com>
1919 * ubsan.c (do_ubsan_in_current_function): New.
1920 (pass_ubsan::gate): Use it.
1921 * ubsan.h: Declare it.
1922 * convert.c (convert_to_integer): Use it.
1924 2015-01-08 Jakub Jelinek <jakub@redhat.com>
1927 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
1928 compare_code when it is unconditionally overwritten afterwards.
1929 Use ix86_reverse_condition instead of reverse_condition. Don't
1930 change code if *reverse_condition* returned UNKNOWN and don't
1931 swap ct/cf and negate diff in that case.
1933 2015-01-08 Mike Stump <mikestump@comcast.net>
1935 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
1936 (pass_tsan_O0::gate): Likewise.
1937 * extend.texi (Function Attributes): Add no_sanitize_thread
1940 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
1942 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
1943 for registering builtins.
1944 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
1945 add -fopenmp to the argv_obstack used when invoking
1948 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
1949 add "-m32" or "-m64" to argv_obstack.
1950 (generate_host_descr_file): Likewise, when invoking host_compiler.
1951 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
1954 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
1956 * config/sh/sh-mem.cc: Use constant as second operand when emitting
1959 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
1962 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
1963 constant load if constant operand fits into I08.
1965 2015-01-08 Jakub Jelinek <jakub@redhat.com>
1968 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
1969 and TREE_THIS_VOLATILE for MEM_REFs.
1970 (build5_stat): Fix up initialization of TREE_READONLY and
1971 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
1973 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
1976 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
1977 of r for the second alternative of the destination operand.
1979 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
1982 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
1984 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
1986 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
1988 ([-fivar-visibility], [-fvisibility]): Likewise.
1990 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
1992 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
1993 the file where @code, @command, etc is more appropriate.
1995 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
1997 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
1998 of -mrecip= documentation.
2000 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
2003 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
2004 correct reload handler if -m32 -mpowerpc64 is used.
2006 2015-01-06 Tom de Vries <tom@codesourcery.com>
2008 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
2010 2015-01-08 Christian Bruel <christian.bruel@st.com>
2013 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
2015 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
2017 PR tree-optimization/63259
2018 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
2019 if optab exists for 16bit byteswap.
2021 2015-01-06 Jakub Jelinek <jakub@redhat.com>
2023 * opts.c (common_handle_option): Add support for
2024 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
2025 * doc/invoke.texi: Document -fno-sanitize=all,
2026 -f{,no-}sanitize-recover=all. Document that
2027 -fsanitize=float-cast-overflow is not enabled
2028 by -fsanitize=undefined. Fix up documentation
2029 of -f{,no-}sanitize-recover.
2031 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
2033 * config.gcc: Add Visium support.
2034 * configure.ac: Likewise.
2035 * configure: Regenerate.
2036 * doc/extend.texi (interrupt attribute): Add Visium.
2037 * doc/invoke.texi: Document Visium options.
2038 * doc/install.texi: Document Visium target.
2039 * doc/md.texi: Document Visium constraints.
2040 * common/config/visium: New directory.
2041 * config/visium: Likewise.
2043 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
2045 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
2046 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
2048 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
2050 * combine.c (combine_validate_cost): Do not count the cost of a
2051 split I2 twice. Do not display it twice in the dump, either.
2053 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
2055 Revert parts of r219199.
2056 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
2058 ([-Wtraditional]): Restore markup on <limits.h>.
2060 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
2063 * doc/invoke.texi: Document -Wsuggest-override.
2065 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
2067 PR rtl-optimization/64287
2068 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
2069 (process_options): Disable flag_ipa_ra if profiling.
2071 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
2073 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
2075 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
2077 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
2078 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
2079 put under #if TARGET_LOOPS guard.
2081 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
2083 * config/i386/i386.c (output_387_binary_op): Use std::swap.
2085 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
2087 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
2088 * rtl.h (refers_to_regno_p): Add overload.
2090 * bt-load.c: Likewise.
2091 * combine.c: Likewise.
2092 * df-scan.c: Likewise.
2093 * sched-deps.c: Likewise.
2094 * config/s390/s390.c: Likewise.
2095 * config/m32r/m32r.c: Likewise.
2096 * config/rs6000/spe.md: Likewise.
2097 * config/rs6000/rs6000.c: Likewise.
2098 * config/pa/pa.c: Likewise.
2099 * config/stormy16/stormy16.c: Likewise.
2100 * config/cris/cris.c: Likewise.
2101 * config/arc/arc.md: Likewise.
2102 * config/arc/arc.c: Likewise.
2103 * config/sh/sh.md: Likewise.
2104 * config/sh/sh.c: Likewise.
2105 * config/frv/frv.c: Likewise.
2107 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2110 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
2111 call as cleanup of the whole body.
2112 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
2113 * tsan.c (replace_func_exit): New function.
2114 (instrument_func_exit): Moved earlier.
2115 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
2116 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
2118 (tsan_pass): Don't call instrument_func_exit.
2119 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
2120 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
2124 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
2125 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
2126 it to libubsan handler instead of EXPR. Fold comparisons earlier,
2127 if the result is integer_zerop, return NULL_TREE.
2128 * convert.c (convert_to_integer): Pass expr as ARG.
2130 PR tree-optimization/64465
2131 * tree-inline.c (redirect_all_calls): During inlining
2132 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
2133 changed the stmt to a non-throwing call.
2135 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
2137 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
2138 etc markup throughout the file.
2140 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2142 Enable experimental TSAN support for Ada.
2143 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
2145 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2147 PR tree-optimization/64494
2148 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
2149 clear SSA_NAME_ANTI_RANGE_P flag.
2151 2015-01-05 Marek Polacek <polacek@redhat.com>
2153 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
2155 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2157 Update copyright years.
2159 * gcc.c (process_command): Update copyright notice dates.
2160 * gcov-dump.c: Ditto.
2162 * doc/cpp.texi: Bump @copying's copyright year.
2163 * doc/cppinternals.texi: Ditto.
2164 * doc/gcc.texi: Ditto.
2165 * doc/gccint.texi: Ditto.
2166 * doc/gcov.texi: Ditto.
2167 * doc/install.texi: Ditto.
2168 * doc/invoke.texi: Ditto.
2170 * auto-profile.c, auto-profile.h: Fix up Copyright line.
2172 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
2174 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
2176 ([-fvtable-verify], [-fvtv-debug]): Likewise.
2177 ([-Wabi]): Likewise.
2178 ([-fmessage-length]): Likewise.
2179 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
2180 ([-Wno-discarded-qualifiers]): Likewise.
2181 ([-Wnodiscarded-array-qualifiers]): Likewise.
2182 ([-Wno-virtual-move-assign]): Likewise.
2183 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
2184 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
2185 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
2186 ([-fsanitize-undefined-trap-on-error]): Likewise.
2187 ([-floop-interchange]): Likewise.
2188 ([-ftree-coalesce-inlined-vars]): Likewise.
2189 ([-fvect-cost-model]): Likewise.
2190 ([-flto]): Likewise.
2191 ([--param]): Likewise.
2192 (Spec Files): Likewise.
2193 ([-mstrict-align]): Likewise.
2194 ([-mfix-cortex-a53-835769]): Likewise.
2195 ([-march], [-mtune]): Likewise.
2196 ([-mpic-register]): Likewise.
2197 ([-munaligned-access]): Likewise.
2198 ([-msp8]): Likewise.
2199 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
2200 (AVR Built-in Macros): Likewise.
2201 ([-mpreferred-stack-boundary]): Likewise.
2202 ([-mtune-crtl]): Likewise.
2203 ([-mashf]): Likewise.
2204 ([-mmcu=]): Likewise.
2205 ([-minrt]): Likewise.
2206 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
2207 ([-mupper-regs]): Likewise.
2208 ([-matomic-model]): Likewise.
2209 ([-mdiv]): Likewise.
2210 ([-mzdcbranch]): Likewise.
2211 ([-mdisable-callt]): Likewise.
2212 ([-msoft-float]): Likewise.
2213 ([-m8byte-align]): Likewise.
2214 ([-fstack-reuse]): Likewise.
2216 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
2218 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
2219 Fix markup, light copy-editing.
2220 ([-fauto-profile]): Rewrite to fix formatting and content
2223 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
2225 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
2226 Copy-edit description.
2227 ([-fisolate-erroneous-paths-attribute]): Likewise.
2228 * common.opt (fisolate-erroneous-paths-dereference):
2229 Copy-edit description.
2230 (fisolate-erroneous-paths-attribute): Likewise.
2232 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
2234 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
2237 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
2239 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
2240 ([-fvtv-debug]): Likewise.
2241 ([-Wc++-compat]): Likewise.
2242 ([-Wc++11-compat]): Likewise.
2243 ([-Wc++14-compat]): Likewise.
2244 ([-Wno-sized-deallocation]): Likewise.
2245 ([-femit-class-debug-always]): Likewise.
2246 ([-femit-struct-debug-detailed]): Likewise.
2247 ([-fno-keep-inline-dllexport]): Likewise.
2248 ([-fira-algorithm]): Likewise.
2249 ([-fira-region]): Likewise.
2250 ([-flra-remat]): Likewise.
2251 ([-fipa-ra]): Likewise.
2252 ([-fhoist-adjacent-loads]): Likewise.
2253 ([-fisolate-erroneous-paths-dereference]): Likewise.
2254 ([-fisolate-erroneous-paths-attribute]): Likewise.
2255 ([-ftree-switch-conversion]): Likewise.
2256 ([-ftree-tail-merge]): Likewise.
2257 ([-ftree-loop-if-convert]): Likewise.
2258 ([-ftree-loop-if-convert-stores]): Likewise.
2259 ([-ftree-loop-distribution]): Likewise.
2260 ([-ftree-loop-distribute-patterns]): Likewise.
2261 ([-flto-compression-level]): Likewise.
2262 ([-flto-report]): Likewise.
2263 ([-flto-report-wpa]): Likewise.
2264 ([-fuse-linker-plugin]): Likewise.
2265 ([-mfix-cortex-a53-835769]): Likewise.
2266 ([-mno-fix-cortex-a53-835769]): Likewise.
2267 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
2268 explicit listing; add a note to the discussion indicating they
2269 exist. Reorder table to group similar options. Add missing
2270 @opindex entries. Add @need commands throughout the table to
2271 allow it to be split across multiple pages.
2272 ([-m8bit-idiv]): Fix @opindex.
2273 ([-mavx256-split-unaligned-load]): Likewise.
2274 ([-mavx256-split-unaligned-store]): Likewise.
2275 ([-mstack-protector-guard]): Likewise.
2276 ([-mcpu=]): Likewise.
2277 ([-mcpu]): Likewise.
2278 ([-mpointer-size=]): Likewise.
2280 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
2282 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
2283 instead of `m' constraint. Likewise for unnamed movb comparison
2284 patterns using reg_before_reload_operand predicate.
2285 * config/pa/predicates.md (reg_before_reload_operand): Tighten
2286 predicate to reject register index and LO_SUM DLT memory forms
2289 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
2291 * doc/invoke.texi (Option Summary): Fix spelling of
2292 -fdevirtualize-at-ltrans.
2293 ([-fdevirtualize]): Fix markup.
2294 ([-fdevirtualize-speculatively]): Fix typo.
2295 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
2297 * common.opt (fdevirtualize-at-ltrans): Likewise.
2298 * ipa-devirt.c: Fix typos in comments throughout the file.
2299 (ipa_devirt): Fix typos in format strings for dump output.
2301 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
2303 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
2304 discussion of defaults, light copy-editing.
2306 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2308 * tsan.c (instrument_expr): corrected previous checkin.
2310 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2312 Instrument bit field and unaligned accesses for TSAN.
2313 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
2314 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
2315 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
2316 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
2317 unaligned memory regions.
2319 2015-01-01 Anthony Green <green@moxielogic.com>
2321 * config/moxie/predicates.md (moxie_general_movsrc_operand):
2322 Restrict move source register offsets to 16 bits.
2324 Copyright (C) 2015 Free Software Foundation, Inc.
2326 Copying and distribution of this file, with or without modification,
2327 are permitted in any medium without royalty provided the copyright
2328 notice and this notice are preserved.