]>
Commit | Line | Data |
---|---|---|
fb2c1edd | 1 | 2015-12-30 Nathan Sidwell <nathan@acm.org> |
2 | ||
3 | * config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Check | |
4 | it's not a constant pool object. | |
5 | ||
6 | 2015-12-29 Michael Meissner <meissner@linux.vnet.ibm.com> | |
7 | ||
8 | * config/rs6000/rs6000.c (init_float128_ieee): Remove IEEE 128-bit | |
9 | comparison functions in cmp_optab and ucmp_optab. | |
10 | (rs6000_generate_compare): Rewrite IEEE 128-bit floating point | |
11 | software emulation comparisons to only use __eqkf2, __gekf2, | |
12 | __lekf2, and __unordkf2 functions. | |
13 | (rs6000_invalid_binary_op): Add support for -mfloat128-convert. | |
14 | ||
15 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
16 | __FLOAT128_HARDWARE__ if hardware IEEE 128-bit support is | |
17 | available. | |
18 | ||
19 | * config/rs6000/rs6000.opt (-mfloat128-convert): Add debug switch | |
20 | to allow IBM extended double and IEEE 128-bit floating point to be | |
21 | converted with default conversions. | |
22 | ||
23 | * config/rs6000/rs6000.md (extendkftf2): Add converters between | |
24 | KFmode and TFmode if -mabi=ieeelongdouble. | |
25 | (trunctfkf2): Likewise. | |
26 | (ieee128_mfvsrd): Split 64-bit integer conversions into 32-bit and | |
27 | 64-bit insns. | |
28 | (ieee128_mfvsrd_64bit): Likewise. | |
29 | (ieee128_mfvsrd_32bit): Likewise. | |
30 | (ieee128_mtvsrd): Likewise. | |
31 | (ieee128_mtvsrd_64bit): Likewise. | |
32 | (ieee128_mtvsrd_32bit): Likewise. | |
33 | ||
34 | * doc/extend.texi (Floating Types): Document that complex | |
35 | __float128 does not work currently. | |
36 | ||
37 | * doc/invoke.texi (RS/6000 and PowerPC Options): Document that | |
38 | -mfloat128 is only supported on PowerPC 64-bit Linux systems. | |
39 | ||
40 | 2015-12-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
41 | ||
42 | * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Verify that | |
43 | this is never called when lxvx/stxvx are available. | |
44 | (pass_analyze_swaps::gate): Don't perform swap optimization when | |
45 | lxvx/stxvx are available. | |
46 | * config/rs6000/vector.md (mov<mode>): Don't call | |
47 | rs6000_emit_le_vsx_move when lxvx/stxvx are available. | |
48 | * config/rs6000/vsx.md (*p9_vecload_<mode>): New define_insn. | |
49 | (*p9_vecstore_<mode>): Likewise. | |
50 | (*vsx_le_perm_load_<mode>:VSX_LE): Disable when lxvx/stxvx are | |
51 | available. | |
52 | (*vsx_le_perm_load_<mode>:VSX_W): Likewise. | |
53 | (*vsx_le_perm_load_v8hi): Likewise. | |
54 | (*vsx_le_perm_load_v16qi): Likewise. | |
55 | (*vsx_le_perm_store_<mode>:VSX_LE): Likewise. | |
56 | ([related define_splits]): Likewise. | |
57 | (*vsx_le_perm_store_<mode>:VSX_W): Likewise. | |
58 | ([related define_splits]): Likewise. | |
59 | (*vsx_le_perm_store_v8hi): Likewise. | |
60 | ([related define_splits]): Likewise. | |
61 | (*vsx_le_perm_store_v16qi): Likewise. | |
62 | ([related define_splits]): Likewise. | |
63 | (*vsx_lxvd2x2_le_<mode>): Likewise. | |
64 | (*vsx_lxvd2x4_le_<mode>): Likewise. | |
65 | (*vsx_lxvd2x8_le_V8HI): Likewise. | |
66 | (*vsx_lvxd2x16_le_V16QI): Likewise. | |
67 | (*vsx_stxvd2x2_le_<mode>): Likewise. | |
68 | (*vsx_stxvd2x4_le_<mode>): Likewise. | |
69 | (*vsx_stxvd2x8_le_V8HI): Likewise. | |
70 | (*vsx_stxvdx16_le_V16QI): Likewise. | |
71 | ([define_peepholes for vector load fusion]): Likewise. | |
72 | ||
73 | 2015-12-28 Nathan Sidwell <nathan@acm.org> | |
74 | ||
75 | * config/nvptx/nvptx.c (nvptx_output_call_insn): Expect hard regs. | |
76 | * config/nvptx/nvptx.md (nvptx_reg_or_mem_operand): Rename to ... | |
77 | (nvptx_nonimmediate_operand): ... here. Update all uses. | |
78 | (call_insn_operand): Use REG_P. | |
79 | (call_operation): Allow hard regs. | |
80 | ||
81 | 2015-12-25 Jan Hubicka <hubicka@ucw.cz> | |
82 | ||
83 | * ipa-visibility.c (function_and_variable_visibility): Do not | |
84 | dissolve comdat groups when in LTO mode. | |
85 | ||
86 | 2015-12-25 Andreas Tobler <andreast@gcc.gnu.org> | |
87 | ||
88 | * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64 | |
89 | defines. Use FBSD_DYNAMIC_LINKER instead. | |
90 | Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to | |
91 | LINK_OS_FREEBSD_SPEC_DEF. | |
92 | ||
93 | 2015-12-24 Aditya Kumar <aditya.k7@samsung.com> | |
94 | ||
95 | * graphite-sese-to-poly.c (build_loop_iteration_domains): Use ref instead of value. | |
96 | * sese.c (invariant_in_sese_p_rec): Use const ref instead of value. | |
97 | (scalar_evolution_in_region): Same | |
98 | * sese.h (bb_in_region): Same | |
99 | (bb_in_sese_p): Same. | |
100 | (stmt_in_sese_p): Same. | |
101 | (defined_in_sese_p): Same. | |
102 | (loop_in_sese_p): Same. | |
103 | ||
104 | 2015-12-24 Aditya Kumar <aditya.k7@samsung.com> | |
105 | ||
106 | * graphite-scop-detection.c | |
107 | (scop_detection::get_nearest_dom_with_single_entry): Check l == l2. | |
108 | (scop_detection::get_nearest_pdom_with_single_exit): Same. | |
109 | (scop_detection::merge_sese): Whitespace. | |
110 | (scop_detection::add_scop): Comment. | |
111 | (build_scops): Whitespace. | |
112 | ||
113 | 2015-12-24 Kirill Yukhin <kirill.yukhin@intel.com> | |
114 | ||
115 | * common/config/i386/i386-common.c (OPTION_MASK_ISA_PKU_SET): New. | |
116 | (OPTION_MASK_ISA_PKU_UNSET): Ditto. | |
117 | (ix86_handle_option): Handle OPT_mpku. | |
118 | * config.gcc: Add pkuintrin.h to i[34567]86-*-* and x86_64-*-* | |
119 | targets. | |
120 | * config/i386/cpuid.h (host_detect_local_cpu): Detect PKU feature. | |
121 | * config/i386/i386-c.c (ix86_target_macros_internal): Handle PKU ISA | |
122 | flag. | |
123 | * config/i386/i386.c (ix86_target_string): Add "-mpku" to | |
124 | ix86_target_opts. | |
125 | (ix86_option_override_internal): Define PTA_PKU, mention new key | |
126 | in skylake-avx512. Handle new ISA bits. | |
127 | (ix86_valid_target_attribute_inner_p): Add "pku". | |
128 | (enum ix86_builtins): Add IX86_BUILTIN_RDPKRU and IX86_BUILTIN_WRPKRU. | |
129 | (builtin_description bdesc_special_args[]): Add new built-ins. | |
130 | * config/i386/i386.h (define TARGET_PKU): New. | |
131 | (define TARGET_PKU_P): Ditto. | |
132 | * config/i386/i386.md (define_c_enum "unspecv"): Add UNSPEC_PKU. | |
133 | (define_expand "rdpkru"): New. | |
134 | (define_insn "*rdpkru"): Ditto. | |
135 | (define_expand "wrpkru"): Ditto. | |
136 | (define_insn "*wrpkru"): Ditto. | |
137 | * config/i386/i386.opt (mpku): Ditto. | |
138 | * config/i386/pkuintrin.h: New file. | |
139 | * config/i386/x86intrin.h: Include pkuintrin.h | |
140 | * doc/extend.texi: Describe new built-ins. | |
141 | * doc/invoke.texi: Describe new switches. | |
142 | ||
143 | 2015-12-23 Richard Henderson <rth@redhat.com> | |
144 | ||
145 | PR ipa/67811 | |
146 | * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions. | |
147 | ||
148 | 2015-12-23 Nathan Sidwell <nathan@acm.org> | |
149 | ||
150 | * cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL. | |
151 | ||
152 | 2015-12-23 Nathan Sidwell <nathan@acm.org> | |
153 | ||
154 | * config/nvptx/nvptx-protos.h | |
155 | (nvptx_maybe_convert_symbolic_operand): Delete prototype. | |
156 | * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): Delete. | |
157 | (nvptx_output_mov_insn): Record fnsym here. | |
158 | (nvptx_wpropagate): Don't create UNSPEC_TO_GENERIC unspec. | |
159 | * config/nvptx/nvptx.md (UNSPEC_TO_GENERIC): Delete. | |
160 | (symbolic_operand): Delete predicate. | |
161 | (nvptx_nonimmediate_operand): Delete predicate. | |
162 | (mov<mode>): Hard regs are perfectly ok here. | |
163 | (convaddr_<mode>): Delete. | |
164 | ||
165 | 2015-12-23 Nathan Sidwell <nathan@acm.org> | |
166 | ||
167 | * alias.c (compare_base_decls): Simplify in-symtab check. | |
168 | * cgraph.h (decl_in_symtab_p): Check DECL_IN_CONSTANT_POOL. | |
169 | ||
170 | 2015-12-23 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
171 | ||
172 | * config/s390/predicates.md ("larl_operand"): Remove now superfluous | |
173 | const_int and const_double. | |
174 | * genrecog.c (safe_predicate_mode): Return false for VOIDmode | |
175 | LABEL_REFs even if the predicate does not handle const_int, | |
176 | const_double or const_wide_int. | |
177 | * genpreds.c (add_mode_tests): Treat LABEL_REF like CONST_INT. | |
178 | ||
179 | 2015-12-23 Thomas Schwinge <thomas@codesourcery.com> | |
180 | ||
181 | * tree-core.h (enum omp_clause_code): Merge OMP_CLAUSE_USE_DEVICE | |
182 | into OMP_CLAUSE_USE_DEVICE_PTR. Adjust all users. | |
183 | ||
184 | 2015-12-23 David Sherwood <david.sherwood@arm.com> | |
185 | ||
186 | * config/arm/iterators.md (VMAXMINFNM): New int iterator. | |
187 | (fmaxmin): New int attribute. | |
188 | (fmaxmin_op): Likewise. | |
189 | * config/arm/unspecs.md (UNSPEC_VMAXNM): New unspec. | |
190 | (UNSPEC_VMINNM): Likewise. | |
191 | * config/arm/neon.md (fmaxmin): New pattern. | |
192 | * config/arm/vfp.md (fmaxmin): Likewise. | |
193 | ||
194 | 2015-12-23 H.J. Lu <hongjiu.lu@intel.com> | |
195 | ||
196 | PR target/66232 | |
197 | * config/i386/constraints.md (Bs): Allow GOT slot for x32 with | |
198 | 64-bit Pmode. | |
199 | (Bw): Likewise. | |
200 | (Bz): Likewise. | |
201 | * config/i386/predicates.md (call_insn_operand): Likewise. | |
202 | (sibcall_insn_operand): Likewise. | |
203 | ||
204 | 2015-12-22 David Malcolm <dmalcolm@redhat.com> | |
205 | ||
206 | PR c/68473 | |
207 | * diagnostic-show-locus.c (layout::layout): Make loc_range const. | |
208 | Sanitize the layout_range against ranges that finish before they | |
209 | start. | |
210 | ||
211 | 2015-12-22 Jeff Law <law@redhat.com> | |
212 | ||
213 | * gimple-ssa-split-paths.c (split_paths): Avoid unnecessary block | |
214 | copying. | |
215 | ||
216 | 2015-12-22 Jakub Jelinek <jakub@redhat.com> | |
217 | ||
218 | PR c++/67376 | |
219 | * fold-const.c (size_low_cst): Removed. | |
220 | (fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR | |
221 | call get_inner_reference and handle INDIRECT_REF base of it. Use | |
222 | offset_int for computation of the bitpos. | |
223 | (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Formatting | |
224 | fixes for X +- Y CMP X and C - X CMP X folding. Add X CMP X +- Y | |
225 | and X CMP C - X folding. | |
226 | ||
227 | 2015-12-22 Richard Henderson <rth@redhat.com> | |
228 | ||
229 | PR ipa/67811 | |
230 | * gimple.h (struct gtransaction): Add label_norm, label_uninst; | |
231 | replace label with label_over. | |
232 | (gimple_build_transaction): Remove label parameter. | |
233 | (gimple_transaction_label_norm): New. | |
234 | (gimple_transaction_label_uninst): New. | |
235 | (gimple_transaction_label_over): Rename from gimple_transaction_label. | |
236 | (gimple_transaction_label_norm_ptr): New. | |
237 | (gimple_transaction_label_uninst_ptr): New. | |
238 | (gimple_transaction_label_over_ptr): Rename from | |
239 | gimple_transaction_label_ptr. | |
240 | (gimple_transaction_set_label_norm): New. | |
241 | (gimple_transaction_set_label_uninst): New. | |
242 | (gimple_transaction_set_label_over): Rename from | |
243 | gimple_transaction_set_label. | |
244 | * gimple-pretty-print.c (dump_gimple_transaction): Update. | |
245 | * gimple-streamer-in.c (input_gimple_stmt) [GIMPLE_TRANSACTION]: Same. | |
246 | * gimple-streamer-out.c (output_gimple_stmt) [GIMPLE_TRANSACTION]: Same. | |
247 | * gimple-walk.c (walk_gimple_op) [GIMPLE_TRANSACTION]: Same. | |
248 | * tree-cfg.c (make_edges_bb) [GIMPLE_TRANSACTION]: Same. | |
249 | (cleanup_dead_labels) [GIMPLE_TRANSACTION]: Same. | |
250 | (verify_gimple_transaction): Same. | |
251 | (gimple_redirect_edge_and_branch) [GIMPLE_TRANSACTION]: Same. | |
252 | * tree-inline.c (remap_gimple_stmt) [GIMPLE_TRANSACTION]: Same. | |
253 | * gimple.c (gimple_build_transaction): Remove label parameter; | |
254 | initialize all three label memebers. | |
255 | * gimplify.c (gimplify_transaction): Update call | |
256 | to gimple_build_transaction. | |
257 | * trans-mem.c (make_tm_uninst): New. | |
258 | (lower_transaction): Create uninstrumented code path here... | |
259 | (ipa_tm_scan_calls_transaction): ... not here. | |
260 | (ipa_uninstrument_transaction): Remove. | |
261 | ||
262 | * tree-eh.c (honor_protect_cleanup_actions): Do not wrap eh_else | |
263 | in a must-not-throw; set ehp_region for it too. | |
264 | ||
265 | 2015-12-22 Peter Bergner <bergner@vnet.ibm.com> | |
266 | ||
267 | PR target/68872 | |
268 | * config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le, | |
269 | pass %(asm_cpu_power8). | |
270 | ||
271 | 2015-12-22 H.J. Lu <hongjiu.lu@intel.com> | |
272 | ||
273 | PR target/68937 | |
274 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Count | |
275 | call to global function via GOT slot as indirect call. | |
276 | * config/i386/i386.md (*sibcall_GOT_32): New pattern. | |
277 | (*sibcall_value_GOT_32): Likewise. | |
278 | * config/i386/predicates.md (sibcall_memory_operand): Rewrite. | |
279 | Allow 32-bit GOT slot only with pseudo register as GOT base. | |
280 | (GOT32_symbol_operand): New predicate. | |
281 | ||
282 | 2015-12-22 Sujoy Saraswati <sujoy.saraswati@hpe.com> | |
283 | ||
284 | * fold-const.c (const_binop): Convert sNaN to qNaN when | |
285 | flag_signaling_nans is off. | |
286 | (const_unop): Avoid the operation, other than NEGATE and | |
287 | ABS, if flag_signaling_nans is on and the operand is an sNaN. | |
288 | (fold_convert_const_real_from_real): Avoid the operation if | |
289 | flag_signaling_nans is on and the operand is an sNaN. | |
290 | (integer_valued_real_unary_p): Update comment stating it | |
291 | returns false for sNaN values. | |
292 | (integer_valued_real_binary_p, integer_valued_real_call_p): Same. | |
293 | (integer_valued_real_single_p): Same. | |
294 | (integer_valued_real_invalid_p, integer_valued_real_p): Same. | |
295 | * fold-const-call.c (fold_const_pow): Avoid the operation | |
296 | if flag_signaling_nans is on and the operand is an sNaN. | |
297 | (fold_const_builtin_load_exponent) Same. | |
298 | (fold_const_call_sss): Same for CASE_CFN_POWI. | |
299 | * gimple-fold.c (gimple_assign_integer_valued_real_p): Same. | |
300 | (gimple_call_integer_valued_real_p): Same. | |
301 | (gimple_phi_integer_valued_real_p): Same. | |
302 | (gimple_stmt_integer_valued_real_p): Same. | |
303 | * simplify-rtx.c (simplify_const_unary_operation): Avoid the | |
304 | operation if flag_signaling_nans is on and the operand is an sNaN. | |
305 | (simplify_const_binary_operation): Same. | |
306 | * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Avoid the | |
307 | operation if flag_signaling_nans is on and the operand is an sNaN. | |
308 | ||
309 | 2015-12-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
310 | ||
311 | * combine.c (simplify_comparison): Convert preprocessor check of | |
312 | WORD_REGISTER_OPERATIONS into runtime check. | |
313 | ||
314 | 2015-12-22 Eric Botcazou <ebotcazou@adacore.com> | |
315 | ||
316 | PR debug/60756 | |
317 | * var-tracking.c (tracked_record_parameter_p): New predicate. | |
318 | (track_expr_p): Invoke it. | |
319 | (add_stores): Likewise. | |
320 | ||
321 | 2015-12-21 Jeff Law <law@redhat.com> | |
322 | ||
323 | * dbgcnt.def (dom_unreachable_edges): New debug counter. | |
324 | * tree-ssa-dom.c: Include dbgcnt.h | |
325 | (dom_opt_dom_walker::before_dom_children): Handle the new counter. | |
326 | ||
dfb6d139 | 327 | 2015-12-21 Andrew Pinski <apinski@cavium.com> |
fb2c1edd | 328 | |
329 | * config/aarch64/aarch64-option-extensions.def (LSE): Change | |
330 | FEAT_STRING to "atomics". | |
331 | ||
332 | 2015-12-21 Pierre-Marie de Rodat <derodat@adacore.com> | |
333 | ||
334 | * dwarf2out.c (add_data_member_location_attribute): Do not | |
335 | disable dynamic data member offsets descriptions for TREE_BINFO | |
336 | members. | |
337 | ||
338 | 2015-12-21 Eric Botcazou <ebotcazou@adacore.com> | |
339 | ||
340 | PR tree-optimization/65337 | |
341 | * tree-ssa-pre.c (eliminate): Also clean up abnormal edges if need be. | |
342 | ||
343 | 2015-12-21 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
344 | ||
345 | * config/s390/s390.c (s390_emit_prologue): Fix base reg condition. | |
346 | ||
347 | 2015-12-21 Claudiu Zissulescu <claziss@synopsys.com> | |
348 | ||
349 | * config/arc/builtins.def: New file. | |
350 | * config/arc/arc.c (arc_init_simd_builtins): Remove. | |
351 | (arc_builtins): Likewise. | |
352 | (TARGET_BUILTIN_DECL): Define. | |
353 | (arc_builtin_id): New enum. | |
354 | (arc_builtin_description): New structure. | |
355 | (arc_bdesc): New variable. | |
356 | (arc_tolower): New function. | |
357 | (def_mbuiltin): Remove. | |
358 | (arc_builtin_decl): New function. | |
359 | (arc_expand_builtin_aligned ): Likewise. | |
360 | (apply_GEN_FCN): Likewise. | |
361 | (arc_init_builtins): Refurbish. | |
362 | (arc_expand_builtin): Likewise. | |
363 | (simd_insn_args_type): Remove. | |
364 | (builtin_description): Likewise | |
365 | (arc_simd_builtin_desc_list): Likewise. | |
366 | (arc_expand_simd_builtin): Likewise. | |
367 | (arc_process_double_reg_moves): Use the new builtin name format. | |
368 | * config/arc/arc.md (unspec): New builtin function UNSPEC codes. | |
369 | (vunspec): New builtin function VUNSPEC codes. | |
370 | (UNSPEC_SWAP, UNSPEC_MUL64, UNSPEC_MULU64, UNSPEC_DIVAW) | |
371 | (UNSPEC_DIRECT, UNSPEC_LP, UNSPEC_CASESI, VUNSPEC_RTIE) | |
372 | (VUNSPEC_SYNC, VUNSPEC_BRK, VUNSPEC_FLAG, VUNSPEC_SLEEP) | |
373 | (VUNSPEC_SWI, VUNSPEC_CORE_READ, VUNSPEC_CORE_WRITE, VUNSPEC_LR) | |
374 | (VUNSPEC_SR, VUNSPEC_TRAP_S, VUNSPEC_UNIMP_S, VUNSPEC_NOP) | |
375 | (UNSPEC_ARC_MEMBAR,VUNSPEC_ARC_CAS, VUNSPEC_ARC_LL) | |
376 | (VUNSPEC_ARC_SC, VUNSPEC_ARC_EX, VUNSPEC_DEXCL) | |
377 | (VUNSPEC_DEXCL_NORES, VUNSPEC_LR_HIGH): Remove. | |
378 | (mul64, mulu64): Remove patterns. | |
379 | (store_direct, *movdf_insn_nolrsr, casesi, casesi_load) | |
380 | (casesi_compact_jump, nopv, swap, divaw, flag, brk, rtie, sync) | |
381 | (swi, sleep, core_read, core_write, lr, sr, trap_s, unimp_s) | |
382 | (doloop_begin_i): Use new builtin function code naming. | |
383 | (kflag, clri, ffs, ffs_f, ffssi2, fls, seti): New patterns. | |
384 | * config/arc/builtins.def: New file. | |
385 | * config/arc/fpx.md: Use new builtin function code naming. | |
386 | * config/arc/simdext.md: New SIMD builtin function UNSPEC | |
387 | codes. Use them in the SIMD patterns. | |
388 | ||
389 | 2015-12-21 Sujoy Saraswati <sujoy.saraswati@hpe.com> | |
390 | ||
391 | PR tree-optimization/61441 | |
392 | * real.c (do_add): Make resulting NaN value to be qNaN. | |
393 | (do_multiply, do_divide, do_fix_trunc): Same. | |
394 | (real_arithmetic, real_ldexp, real_convert): Same. | |
395 | (real_isinteger): Updated comment stating it returns false for sNaN. | |
396 | ||
397 | 2015-12-20 Jeff Law <law@redhat.com> | |
398 | ||
399 | PR tree-optimization/64910 | |
400 | * config/i386/i386.md (testqi_ext_3): Allow HImode. | |
401 | ||
402 | 2015-12-20 Andrew Pinsi <apinski@cavium.com> | |
403 | ||
404 | * config/aarch64/atomics.md | |
405 | (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): Add early clobber | |
406 | to the scratch register. | |
407 | ||
408 | 2015-12-20 Sujoy Saraswati <sujoy.saraswati@hpe.com> | |
409 | ||
410 | PR tree-optimization/61441 | |
411 | * match.pd (f(x) -> x): Removed flag_errno_math check for RINT. | |
412 | ||
413 | 2015-12-20 Sujoy Saraswati <sujoy.saraswati@hpe.com> | |
414 | ||
415 | PR tree-optimization/61441 | |
416 | * fold-const.c (const_binop): Use REAL_VALUE_ISSIGNALING_NAN instead | |
417 | of REAL_VALUE_ISNAN to avoid the operation for sNaN operands. | |
418 | * simplify-rtx.c (simplify_const_binary_operation): Same. | |
419 | ||
420 | 2015-12-19 Jan Hubicka <hubicka@ucw.cz> | |
421 | ||
422 | PR tree-optimization/65337 | |
423 | * tree-ssa-dce.c (bb_postorder): New static var. | |
424 | (mark_stmt_necessary): Add guard for setting bb_contains_live_stmts. | |
425 | (forward_edge_to_pdom): Remove. | |
426 | (remove_dead_stmt): Instead of redirecting edges only keep an edge | |
427 | on a path to nearest live BB. | |
428 | (eliminate_unnecessary_stmts): Free bb_postorder. | |
429 | * cfganal.c (dfs_find_deadend): Add START_POINTES. | |
430 | * cfganal.h (inverted_post_order_compute): Update prototype. | |
431 | ||
432 | 2015-12-19 Eric Botcazou <ebotcazou@adacore.com> | |
433 | ||
434 | PR rtl-optimization/68910 | |
435 | * emit-rtl.c (set_unique_reg_note) <REG_EQUAL>: Add bypass for USEs. | |
436 | * config/sparc/sparc.md (anddi3): Enable only in 64-bit mode. | |
437 | (iordi3): Likewise. | |
438 | (xordi3): Likewise. | |
439 | (one_cmpldi2): Likewise. | |
440 | (*anddi3_sp32): Delete. | |
441 | (*and_not_di_sp32): Likewise. | |
442 | (*iordi3_sp32): Likewise. | |
443 | (*or_not_di_sp32): Likewise. | |
444 | (*xordi3_sp32): Likewise. | |
445 | (*xor_not_di_sp32): Likewise. | |
446 | (32-bit DImode logical operations splitter): Likewise. | |
447 | (*one_cmpldi2_sp32): Likewise. | |
448 | ||
449 | 2015-12-19 Andrew Burgess <andrew.burgess@embecosm.com> | |
450 | ||
451 | * config/arc/arc.md (*storeqi_update): Use 'any_mem_operand' and | |
452 | fix RTL pattern to include the plus. | |
453 | (*storehi_update): Likewise. | |
454 | (*storesi_update): Likewise. | |
455 | (*storesf_update): Likewise. | |
456 | * config/arc/predicates.md (store_update_operand): Delete. | |
457 | ||
458 | 2015-12-19 Andrew Burgess <andrew.burgess@embecosm.com> | |
459 | ||
460 | * config/arc/arc.md (*loadqi_update): Use new 'any_mem_operand' | |
461 | and fix RTL pattern to include the plus. | |
462 | (*load_zeroextendqisi_update): Likewise. | |
463 | (*load_signextendqisi_update): Likewise. | |
464 | (*loadhi_update): Likewise. | |
465 | (*load_zeroextendhisi_update): Likewise. | |
466 | (*load_signextendhisi_update): Likewise. | |
467 | (*loadsi_update): Likewise. | |
468 | (*loadsf_update): Likewise. | |
469 | * config/arc/predicates.md (load_update_operand): Delete. | |
470 | (any_mem_operand): New predicate. | |
471 | ||
472 | 2015-12-19 Sujoy Saraswati <sujoy.saraswati@hpe.com> | |
473 | ||
474 | PR tree-optimization/61441 | |
475 | * real.c (real_issignaling_nan): New. | |
476 | * real.h (real_issignaling_nan, REAL_VALUE_ISSIGNALING_NAN): New. | |
477 | ||
478 | 2015-13-18 John David Anglin <danglin@gcc.gnu.org> | |
479 | ||
480 | PR target/68729 | |
481 | * config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of | |
482 | floating-point reloads. Only reload operands that are not valid | |
483 | floating-point memory operands. | |
484 | ||
485 | 2015-12-18 Jakub Jelinek <jakub@redhat.com> | |
486 | ||
487 | PR debug/68860 | |
488 | * ipa-split.c (split_function): Only perform caller side | |
489 | modifications for decl_debug_args here. | |
490 | * cgraph.c: Include gimplify.h. | |
491 | (cgraph_edge::redirect_call_stmt_to_callee): Add caller side | |
492 | debug stmts for decl_debug_args. Spelling fix in a comment. | |
493 | * tree-inline.c (tree_function_versioning): Populate decl_debug_args | |
494 | for args_to_skip arguments and add callee side debug stmts. | |
495 | Formatting fixes. Avoid shadowing i variable. | |
496 | ||
497 | 2015-12-18 Nathan Sidwell <nathan@acm.org> | |
498 | ||
499 | * config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): | |
500 | Remove UNSPEC_TO_GENERIC generation. | |
501 | (nvptx_output_mov_insn): Generate cvta for symbolic src. | |
502 | * config/nvptx/nvptx.md (nvptx_register_operand): Allow hard reg. | |
503 | (nvptx_reg_or_mem_operand): Likewise. | |
504 | (nvptx_nonmemory_operand): Likewise. | |
505 | (nvptx_general_operand): Delete. | |
506 | (*mov<mode>_insn): Use nonimmediate_operand, permit hardregs. | |
507 | (oacc_fork, oacc_join): Use general_operand. | |
508 | ||
509 | 2015-12-18 Daniel Kahn Gillmor <dkg@fifthhorseman.net> | |
510 | ||
511 | * dwarf2out.c (gen_producer_string): Ignore -fdebug-prefix-map. | |
512 | ||
513 | 2015-12-18 Nathan Sidwell <nathan@acm.org> | |
514 | ||
515 | * config/nvptx/nvptx.c (nvptx_option_override): Emit sorry for | |
516 | stabs debug. | |
517 | (nvptx_assemble_undefined_decl): Use nvptx_assemble_decl_end. | |
518 | ||
519 | 2015-12-18 Jeff Law <law@redhat.com> | |
520 | ||
521 | PR rtl-optimization/49847 | |
522 | * cse.c (record_jump_equiv): Handle fold_rtx returning NULL_RTX. | |
523 | ||
524 | 2015-12-18 Nathan Sidwell <nathan@acm.org> | |
525 | ||
526 | * config/nvptx/nvptx.c (worker_bcast_name, worker_red_name): Delete. | |
527 | (nvptx_option_override): Adjust worker symbol creation. | |
528 | (nvptx_gen_wcast): Wrap worker address in UNSPEC_TO_GENERIC. | |
529 | (write_worker_buffer): New. | |
530 | (nvptx_file_end): Call write_worker_buffer. | |
531 | * config/nvptx/nvptx.md (UNSPEC_SHARED_DATA): Delete. | |
532 | (worker_load<mode>, worker_store<mode>): Delete. | |
533 | ||
534 | 2015-12-18 Richard Biener <rguenther@suse.de> | |
535 | ||
536 | PR testsuite/68776 | |
537 | * tree-vect-patterns.c (struct vect_recog_func): New. | |
538 | (vect_vect_recog_func_ptrs): Make an array of function name pairs. | |
539 | (vect_pattern_recog_1): Print the recognized pattern name. Return | |
540 | true if a pattern was recognized. | |
541 | (vect_pattern_recog): Adjust. Stop iterating over pattern recognition | |
542 | functions on a stmt if a pattern was recognized. | |
543 | ||
544 | 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
545 | ||
546 | * ira.c (ira_setup_alts): Move the scan for commutative modifier | |
547 | to the first loop to make it work even with disabled alternatives. | |
548 | ||
549 | 2015-12-18 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
550 | ||
551 | * config/s390/s390.c (s390_init_frame_layout): Try r4 to r2 for the | |
552 | literal pool pointer. | |
553 | ||
554 | 2015-12-18 Yuri Rumyantsev <ysrumyan@gmail.com> | |
555 | ||
556 | PR tree-optimization/68906 | |
557 | * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Add check | |
558 | that an exit block belongs to LOOP. | |
559 | ||
560 | 2015-12-18 Ilya Enkovich <enkovich.gnu@gmail.com> | |
561 | ||
562 | PR tree-optimization/68956 | |
563 | * tree-vect-stmts.c (vect_init_vector): Fix constants | |
564 | used for boolean vectors. | |
565 | ||
566 | 2015-12-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
567 | ||
568 | PR rtl-optimization/68796 | |
569 | * config/aarch64/aarch64.md (*and<mode>3nr_compare0_zextract): | |
570 | New pattern. | |
571 | * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle | |
572 | ZERO_EXTRACT comparison with zero. | |
573 | (aarch64_mask_from_zextract_ops): New function. | |
574 | * config/aarch64/aarch64-protos.h (aarch64_mask_from_zextract_ops): | |
575 | New prototype. | |
576 | ||
dfb6d139 | 577 | 2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com> |
fb2c1edd | 578 | |
579 | * config/s390/predicates.md: Change and rename | |
580 | constm1_operand to all_ones_operand | |
581 | * config/s390/s390.c (s390_expand_vcond): Use all_ones_operand | |
582 | * config/s390/vector.md: Likewise | |
583 | ||
584 | 2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com> | |
585 | ||
586 | * config/s390/s390.c (s390_expand_vcond): Convert vector | |
587 | conditional into shift. | |
588 | * config/s390/vector.md: Change operand predicate. | |
589 | ||
590 | 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
591 | ||
592 | * config/s390/driver-native.c (s390_host_detect_local_cpu): Pick | |
593 | z900 -march -mtune even on g5 and g6 machines. | |
594 | * config/s390/s390.c (s390_option_override_internal): New argument | |
595 | to distingiush between options and target attributes. Emit | |
596 | deprecation warning for g5 and g6 arch/tune options. | |
597 | (s390_option_override): Set new s390_option_override_internal | |
598 | argument to true. | |
599 | (s390_valid_target_attribute_tree): Set new | |
600 | s390_option_override_internal argument to false. | |
601 | * config/s390/s390.h: Default to z900 in the driver. | |
602 | * doc/invoke.texi: Document the deprecation of g5 and g6. | |
603 | ||
dfb6d139 | 604 | 2015-12-18 Andris Pavenis <andris.pavenis@iki.fi> |
fb2c1edd | 605 | |
606 | * config/i386/djgpp-stdint.h: update typedefs for integer types | |
607 | ||
608 | 2015-12-17 Jeff Law <law@redhat.com> | |
609 | ||
610 | * passes.def: Put the split-paths pass immediately before the | |
611 | tracer pass. | |
612 | ||
613 | * doc/invoke.texi (-O2 options): Remove -fsplit-paths. | |
614 | (-O3 options): Add -fsplit-paths. | |
615 | * gimple-ssa-split-paths.c: Include predict.h | |
616 | (split_paths): Only split paths in a loop that should be | |
617 | optimized for speed. | |
618 | * opts.c (default_options_table): Move -fsplit-paths from -O2 to | |
619 | -O3. | |
620 | ||
621 | 2015-12-17 Nathan Sidwell <nathan@acm.org> | |
622 | ||
623 | * ipa-icf.c (sem_item_optimizer::merge): Don't pick 'main' as the | |
624 | source function. | |
625 | ||
626 | 2015-12-17 Sebastian Pop <s.pop@samsung.com> | |
627 | ||
628 | * Makefile.in: Replace ISL with isl. | |
629 | * common.opt: Same. | |
630 | * configure: Regenerate. | |
631 | * configure.ac: Same. | |
632 | * doc/install.texi: Same. | |
633 | * doc/invoke.texi: Same. | |
634 | * graphite-isl-ast-to-gimple.c: Same. | |
635 | * graphite-scop-detection.c: Same. | |
636 | * graphite-sese-to-poly.c: Same. | |
637 | * graphite.c: Same. | |
638 | * graphite.h: Same. | |
639 | * params.def: Same. | |
640 | * testsuite/gcc.dg/graphite/fuse-1.c: Same. | |
641 | * testsuite/gcc.dg/graphite/fuse-2.c: Same. | |
642 | * testsuite/gcc.dg/graphite/interchange-1.c: Same. | |
643 | * testsuite/gcc.dg/graphite/pr35356-1.c: Same. | |
644 | * toplev.c: Same. | |
645 | ||
646 | 2015-12-17 Sebastian Pop <s.pop@samsung.com> | |
647 | ||
648 | * graphite-dependences.c: Move all isl include files to... | |
649 | * graphite-isl-ast-to-gimple.c: Same. | |
650 | * graphite-optimize-isl.c: Same. | |
651 | * graphite-poly.c: Same. | |
652 | * graphite-scop-detection.c: Same. | |
653 | * graphite.c: Same. | |
654 | * graphite.h: ... here. | |
655 | ||
656 | 2015-12-17 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> | |
657 | ||
658 | * config/avr/avr.h (MOVE_MAX): Set value to 1. | |
659 | (MOVE_MAX_PIECES): Define. | |
660 | (MOVE_RATIO): Define. | |
661 | * config/avr/avr.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): | |
662 | Provide target hook. | |
663 | (avr_use_by_pieces_infrastructure_p): New function. | |
664 | ||
665 | 2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
666 | ||
667 | * config.gcc: mark *-interix* as obsolete. | |
668 | ||
669 | 2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
670 | ||
671 | * config.gcc: Mark openbsd 2.0 and 3.X as obsolete. | |
672 | ||
673 | 2015-12-17 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
674 | ||
675 | * config.gcc: Mark knetbsd targets as obsolete. | |
676 | ||
677 | 2015-12-17 Nathan Sidwell <nathan@acm.org> | |
678 | ||
679 | * config/nvptx/nvptx.h (NVPTX_RETURN_REGNUM, FRAME_POINTER_REGNUM, | |
680 | ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Renumber. | |
681 | (REGISTER_NAMES): Update and rename. | |
682 | (FIXED_REGISTERS, CALL_USED_REGISTERS): Update. | |
683 | (enum_reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Reformat. | |
684 | ||
685 | 2015-12-17 Richard Biener <rguenther@suse.de> | |
686 | ||
687 | PR tree-optimization/68946 | |
688 | * tree-vect-slp.c (vect_slp_analyze_node_operations): Push | |
689 | SLP def type to stmt operands one stmt at a time. | |
690 | ||
691 | 2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com> | |
692 | ||
693 | * langhooks.h (struct lang_hooks_for_types): New get_bias_field. | |
694 | * langhooks-def.h (LANG_HOOKS_GET_TYPE_BIAS): New. | |
695 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the | |
696 | get_bias_field. | |
697 | * dwarf2out.c | |
698 | (base_type_die): In non-strict DWARF mode, invoke the | |
699 | get_type_bias language hook for INTEGER_TYPE nodes. If it | |
700 | returns a bias, emit an attribute for it. | |
701 | (subrange_type_die): Change signature to handle bias. If | |
702 | non-strict DWARF mode, emit an attribute for it, if one passed. | |
703 | (modified_type_die): For subrange types, invoke the | |
704 | get_type_bias langage hook and pass the bias to | |
705 | subrange_type_die. | |
706 | ||
707 | 2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com> | |
708 | ||
709 | * dwarf2out.h (DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN): New macro. | |
710 | (struct array_descr_info): Use it for the dimensions array's | |
711 | size. | |
712 | * dwarf2out.c (gen_type_die_with_usage): Check that the array | |
713 | descr. language hook does not return an array with more | |
714 | dimensions that it should. | |
715 | ||
716 | 2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com> | |
717 | ||
718 | * langhooks.h (struct lang_hooks_for_types): Add a | |
719 | get_fixed_point_type_info field. | |
720 | * langhooks-def.h (LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO): New | |
721 | macro. | |
722 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the | |
723 | get_fixed_point_type_info field. | |
724 | * dwarf2out.h (enum fixed_point_scale_factor): New. | |
725 | (struct fixed_point_type_info): New. | |
726 | * dwarf2out.c (base_type_die): In DWARFv3 or non-strict DWARF | |
727 | mode, get fixed-point type information using the debugging hook | |
728 | and describe it in DWARF, if any. | |
729 | ||
730 | 2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com> | |
731 | ||
732 | * langhooks.h (struct lang_hooks_for_types): Add a | |
733 | get_debug_type field. | |
734 | * langhooks-def.h (LANG_HOOKS_GET_DEBUG_TYPE): New macro. | |
735 | (LANG_HOOKS_FOR_TYPES_INITIALIZER): Initialize the | |
736 | get_debug_type field. | |
737 | * dwarf2out.h (struct array_descr_info): Add an array-wide | |
738 | stride field. | |
739 | * dwarf2out.c (modified_type_die): Invoke the get_debug_type | |
740 | language hook, process its result instead, if any. | |
741 | (gen_descr_array_type_die): Add array-wide stride processing. | |
742 | ||
743 | 2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com> | |
744 | ||
745 | * debug.h (struct gcc_debug_hooks): Add a new size_function | |
746 | hook. | |
747 | * debug.c (do_nothing_debug_hooks): Set the size_function field | |
748 | to no-op. | |
749 | * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise. | |
750 | * sdbout.c (sdb_debug_hooks): Likewise. | |
751 | * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. | |
752 | * stor-layout.c (finalize_size_functions): Let the debug info | |
753 | back-end know about the implementation of size functions. | |
754 | * dwarf2out.h (dw_discr_list_ref): New typedef. | |
755 | (enum dw_val_class): Add value classes for discriminant values | |
756 | and discriminant lists. | |
757 | (struct dw_discr_value): New structure. | |
758 | (struct dw_val_node): Add discriminant values and discriminant | |
759 | lists to the union. | |
760 | (struct dw_loc_descr_node): Add frame_offset_rel and | |
761 | dw_loc_frame_offset (only for checking) fields to handle DWARF | |
762 | procedures generation. | |
763 | (struct dw_discr_list_node): New structure. | |
764 | * dwarf2out.c (dwarf2out_size_function): New. | |
765 | (dwarf2_debug_hooks): Set the size_function field to | |
766 | dwarf2out_size_function. | |
767 | (dwarf2_lineno_debug_hooks): Set the size_function field to | |
768 | no-op. | |
769 | (new_loc_descr): Initialize the | |
770 | dw_loc_frame_offset field. | |
771 | (dwarf_proc_stack_usage_map): New. | |
772 | (dw_val_equal_p): Handle discriminants. | |
773 | (size_of_discr_value): New. | |
774 | (size_of_discr_list): New. | |
775 | (size_of_die): Handle discriminants. | |
776 | (add_loc_descr_to_each): New. | |
777 | (add_loc_list): New. | |
778 | (print_discr_value): New. | |
779 | (print_dw_val): Handle discriminants. | |
780 | (value_format): Handle discriminants. | |
781 | (output_discr_value): New. | |
782 | (output_die): Handle discriminants. | |
783 | (output_loc_operands): Handle DW_OP_call2 and DW_OP_call4. | |
784 | (uint_loc_descriptor): New. | |
785 | (uint_comparison_loc_list): New. | |
786 | (loc_list_from_uint_comparison): New. | |
787 | (add_discr_value): New. | |
788 | (add_discr_list): New. | |
789 | (AT_discr_list): New. | |
790 | (loc_descr_to_next_no_op): New. | |
791 | (free_loc_descr): New. | |
792 | (loc_descr_without_nops): New. | |
793 | (struct loc_descr_context): Add a dpi field. | |
794 | (struct dwarf_procedure_info): New helper structure. | |
795 | (new_dwarf_proc_die): New. | |
796 | (is_handled_procedure_type): New. | |
797 | (resolve_args_picking_1): New. | |
798 | (resolve_args_picking): New. | |
799 | (function_to_dwarf_procedure): New. | |
800 | (copy_dwarf_procedure): New. | |
801 | (copy_dwarf_procs_ref_in_attrs): New. | |
802 | (copy_dwarf_procs_ref_in_dies): New. | |
803 | (break_out_comdat_types): Copy DWARF procedures along with the | |
804 | types that reference them. | |
805 | (loc_list_from_tree): Rename into loc_list_from_tree_1. Handle | |
806 | CALL_EXPR in the cases suitable for DWARF procedures. Handle | |
807 | for PARM_DECL when generating a location description for a DWARF | |
808 | procedure. Handle big unsigned INTEGER_CST nodes. Handle | |
809 | NON_LVALUE_EXPR, EXACT_DIV_EXPR and all unsigned comparison | |
810 | operators. Add a wrapper for loc_list_from_tree that strips | |
811 | DW_OP_nop operations from the result. | |
812 | (type_byte_size): New. | |
813 | (struct vlr_context): New helper structure. | |
814 | (field_byte_offset): Change signature to return either a | |
815 | constant offset or a location description for dynamic ones. | |
816 | Handle dynamic byte offsets with constant bit offsets and handle | |
817 | fields in variant parts. | |
818 | (add_data_member_location): Change signature to handle dynamic | |
819 | member offsets and fields in variant parts. Update call to | |
820 | field_byte_offset. Handle location lists. Emit a variable data | |
821 | member location only when -fgnat-encodings=minimal. | |
822 | (add_bound_info): Emit self-referential bounds only when | |
823 | -fgnat-encodings=minimal. | |
824 | (add_byte_size_attribute): Use type_byte_size in order to handle | |
825 | dynamic type sizes. Emit variable byte size only when | |
826 | -fgnat-encodings=minimal and when the target DWARF version | |
827 | allows them. | |
828 | (add_bit_offset_attribute): Change signature to handle | |
829 | variable-length records. Update call to field_byte_offset. | |
830 | (gen_descr_array_type_die): Update call to gen_field_die. | |
831 | Update loc_descr_context literal. | |
832 | (gen_type_die_for_member): Likewise. | |
833 | (gen_subprogram_die): Update calls to get_decl_die. | |
834 | (gen_field_die): Change signature to handle variable-length | |
835 | records. Update calls to add_bit_offset_attribute and | |
836 | add_data_member_location_attribute. | |
837 | (gen_inheritance_die): Update call to | |
838 | add_data_member_location_attribute. | |
839 | (gen_decl_die): Change signature to handle variable-length | |
840 | records. Update call to gen_field_die. | |
841 | (gen_inheritance_die): Change signature to handle | |
842 | variable-length records. Update call to | |
843 | add_data_member_location_attribute. | |
844 | (is_variant_part): New. | |
845 | (analyze_discr_in_predicate): New. | |
846 | (get_discr_value): New. | |
847 | (analyze_variants_discr): New. | |
848 | (gen_variant_part): New. | |
849 | (gen_member_die): Update calls to gen_decl_die. Call instead | |
850 | gen_variant_part for variant parts. | |
851 | (gen_type_die_with_usage): Update calls to gen_decl_die. | |
852 | (process_scope_var): Likewise. | |
853 | (force_decl_die): Likewise. | |
854 | (declare_in_namespace): Likewise. | |
855 | (dwarf2out_decl): Likewise. | |
856 | (prune_unused_types_walk_loc_descr): New. | |
857 | (prune_unused_types_walk_attribs): Mark DIEs referenced by | |
858 | location descriptions and loc. descr. lists. | |
859 | (prune_unused_types_walk): Don't mark DWARF procedures by | |
860 | default. Mark variant parts since nothing is supposed to | |
861 | reference them. | |
862 | (dwarf2out_init): Allocate dwarf_proc_stack_usage_map. | |
863 | (dwarf2out_c_finalize): Deallocate and reset | |
864 | dwarf_proc_stack_usage_map. | |
865 | ||
866 | 2015-12-17 Pierre-Marie de Rodat <derodat@adacore.com> | |
867 | ||
868 | * common.opt (gnat_encodings): New variable | |
869 | (dwarf_gnat_encodings): New enum type. | |
870 | (fgnat_encodings): New option. | |
871 | * flag-types.h (enum dwarf_gnat_encodings): New. | |
872 | ||
873 | 2015-12-17 Christian Bruel <christian.bruel@st.com> | |
874 | ||
875 | * tree.h (TYPE_MODE_RAW): New macro. | |
876 | * tree-streamer-out.c (pack_ts_type_common_value_fields): | |
877 | Replace TYPE_MODE by TYPE_MODE_RAW. | |
878 | ||
879 | 2015-12-17 Jakub Jelinek <jakub@redhat.com> | |
880 | ||
881 | PR tree-optimization/68835 | |
882 | * tree.c (get_int_cst_ext_nunits): Return | |
883 | cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1 | |
884 | for all unsigned wi::neg_p (cst) constants. | |
885 | (build_new_int_cst): If cst.get_precision is not a multiple | |
886 | of HOST_BITS_PER_WIDE_INT, zero extend -1 to the precision | |
887 | % HOST_BITS_PER_WIDE_INT. | |
888 | ||
889 | 2015-12-17 Richard Biener <rguenther@suse.de> | |
890 | ||
891 | PR tree-optimization/68951 | |
892 | * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): | |
893 | Ignore strided non-group accesses. | |
894 | ||
895 | 2015-12-17 Andrew Burgess <andrew.burgess@embecosm.com> | |
896 | ||
897 | * config/arc/arc.c (arc_loop_hazard): Don't convert the jump label | |
898 | rtx to an rtx_insn until we confirm it's not a return rtx. | |
899 | ||
900 | 2015-12-17 Richard Biener <rguenther@suse.de> | |
901 | ||
902 | * gimple-ssa.h (struct gimple_df): Remove modified_noreturn_calls | |
903 | field. | |
904 | * tree-ssa.c (delete_tree_ssa): Do not zero it. | |
905 | ||
906 | 2015-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
907 | ||
908 | PR target/67973 | |
909 | * configure.ac (gcc_cv_as_stabs_directive): New test. | |
910 | * configure: Regenerate. | |
911 | * config.in: Regenerate. | |
912 | * config/darwin.h (DBX_DEBUGGING_INFO): Wrap in | |
913 | HAVE_AS_STABS_DIRECTIVE. | |
914 | (PREFERRED_DEBUGGING_TYPE): Likewise. | |
915 | * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Only include | |
916 | DBX_DEBUG if HAVE_AS_STABS_DIRECTIVE. | |
917 | ||
918 | * doc/sourcebuild.texi (Effective-Target Keywords, Environment | |
919 | attributes): Document stabs. | |
920 | ||
921 | 2015-12-16 Martin Sebor <msebor@redhat.com> | |
922 | ||
923 | PR c/68868 | |
924 | * ginclude/stdatomic.h (atomic_init): Use atomic_store instead | |
925 | of plain assignment. | |
926 | ||
927 | 2015-12-15 Michael Meissner <meissner@linux.vnet.ibm.com> | |
928 | ||
929 | PR target/68805 | |
930 | * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use ROTATE | |
931 | instead of VEC_SELECT for TImode. | |
932 | ||
933 | * config/rs6000/vsx.md (VSX_LE): Move TImode from VSX_LE to | |
934 | VSX_LE_128, so that we use ROTATE to swap the 64-bit words instead | |
935 | of using VEC_SELECT. | |
936 | (VSX_LE_128): Likewise. | |
937 | (define_peephole2): Add peephole to eliminate double xxpermdi when | |
938 | copying TImode. | |
939 | ||
940 | 2015-12-16 John David Anglin <danglin@gcc.gnu.org> | |
941 | ||
942 | PR target/68779 | |
943 | * config/pa/pa.md (atomic_loaddi): Honor -mdisable-fpregs. | |
944 | (atomic_loaddi_1): Likewise. | |
945 | (atomic_storedi): Likewise. | |
946 | (atomic_storedi_1): Likewise. | |
947 | (atomic_loaddf): Likewise. | |
948 | (atomic_loaddf_1): Likewise. | |
949 | (atomic_storedf): Likewise. | |
950 | (atomic_storedf_1): Likewise. | |
951 | Move all atomic patterns to end of file. | |
952 | ||
953 | 2015-12-16 Abderrazek Zaafrani <a.zaafrani@samsung.com> | |
954 | ||
955 | * graphite-isl-ast-to-gimple.c: Include isl/schedule_node.h. | |
956 | (set_separate_option): New. | |
957 | (translate_isl_ast_to_gimple::set_options_for_schedule_tree): New. | |
958 | (translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->schedule. | |
959 | * graphite-optimize-isl.c (optimize_isl): Set scop->schedule, do not | |
960 | free the computed schedule tree. | |
961 | * graphite-poly.c (new_scop): Initialize scop->schedule. | |
962 | * graphite.h: Include isl/schedule.h. | |
963 | (struct scop): Add field schedule. | |
964 | ||
965 | 2015-12-16 Nathan Sidwell <nathan@acm.org> | |
966 | ||
967 | * ipa-visibility.c (can_replace_by_local_alias): Make static, | |
968 | check ASM_OUTPUT_DEF. | |
969 | (can_replace_by_local_alias_in_vtable): Make static. | |
970 | (function_and_variable_visibility): Reformat overlong comment. | |
971 | ||
972 | 2015-12-16 Jeff Law <law@redhat.com> | |
973 | ||
974 | * ree.c (add_removable_extension): Use reg_overlap_mentioned_p | |
975 | rather than testing hard register #s. | |
976 | ||
977 | 2015-12-16 Nathan Sidwell <nathan@acm.org> | |
978 | ||
979 | * config/nvptx/nvptx.h (OUTGOING_STATIC_CHAIN_REGNUM): Remove. | |
980 | (REGISTER_NAMES): Adjust. | |
981 | * config/nvptx/nvptx.c (nvptx_pass_by_reference): Avoid long line. | |
982 | (nvptx_static_hain): Delete. | |
983 | (write_arg_mode): Don't emit initializer if argno < 0. | |
984 | (write_arg_type): Fix whitespace. | |
985 | (init_frame): Initialize reg to zero if frame is zero-sized. | |
986 | (nvptx_declare_function_name): Use write_arg_type to emit chain | |
987 | decl. | |
988 | (nvptx_output_call_insn): Adjust static chain emission. | |
989 | (nvptx_goacc_reduction): Make static. | |
990 | (TARGET_STATIC_CHAIN): Don't override. | |
991 | ||
992 | 2015-12-16 Aditya Kumar <aditya.k7@samsung.com> | |
993 | ||
994 | * graphite-dependences.c (scop_get_dependences): Use local pointers. | |
995 | * graphite-isl-ast-to-gimple.c | |
996 | (translate_isl_ast_to_gimple::scop_to_isl_ast): Use scop->dependence. | |
997 | * graphite-optimize-isl.c (optimize_isl): Same. | |
998 | * graphite-poly.c (new_scop): Remove initialization of removed | |
999 | members. | |
1000 | (free_scop): Same. | |
1001 | * graphite.h (struct scop): Remove individial dependence pointers and | |
1002 | add a scop::dependence to contain all the dependence. | |
1003 | ||
1004 | 2015-12-16 Aditya Kumar <aditya.k7@samsung.com> | |
1005 | ||
1006 | * graphite-sese-to-poly.c (build_poly_sr): Use refs. | |
1007 | ||
1008 | 2015-12-16 Aditya Kumar <aditya.k7@samsung.com> | |
1009 | Sebastian Pop <s.pop@samsung.com> | |
1010 | ||
1011 | * config.in: Regenerate. | |
1012 | * configure: Regenerate. | |
1013 | * configure.ac: Remove checks for functions that exist in isl 0.13 | |
1014 | or later. | |
1015 | * graphite-isl-ast-to-gimple.c: Remove #ifdefs and code for isl 0.12. | |
1016 | * graphite-optimize-isl.c: Same. | |
1017 | * graphite-poly.c: Same. | |
1018 | * graphite-sese-to-poly.c: Same. | |
1019 | * graphite.h: Add comment for isl 0.14. | |
1020 | * toplev.c (print_version): Print isl version. | |
1021 | ||
1022 | 2015-12-10 Jan Hubicka <hubicka@ucw.cz> | |
1023 | ||
1024 | * ipa-cp.c (ipa_get_indirect_edge_target_1): Use can_refer; do not | |
1025 | speculate to impossible targets. | |
1026 | * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. | |
1027 | ||
1028 | 2015-12-16 Aditya Kumar <aditya.k7@samsung.com> | |
1029 | Sebastian Pop <s.pop@samsung.com> | |
1030 | ||
1031 | * graphite-dependences.c (scop_get_reads): Add more dumps. | |
1032 | (scop_get_must_writes): Same. | |
1033 | (scop_get_may_writes): Same. | |
1034 | * graphite-poly.c (new_poly_dr): Same. | |
1035 | * graphite-scop-detection.c (build_cross_bb_scalars_def): Same. | |
1036 | (gather_bbs::before_dom_children): Same. | |
1037 | ||
1038 | 2015-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
1039 | ||
1040 | * config/aarch64/aarch64.c (aarch64_extend_bitfield_pattern_p): | |
1041 | New function. | |
1042 | (aarch64_rtx_costs, ZERO_EXTEND, SIGN_EXTEND cases): Use the above | |
1043 | to handle extend+shift rtxes. | |
1044 | ||
1045 | 2015-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
1046 | ||
1047 | PR target/68696 | |
1048 | * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl<mode>_alt): | |
1049 | New pattern. | |
1050 | (aarch64_simd_bsl<mode>_internal): Update comment to reflect | |
1051 | the above. | |
1052 | ||
1053 | 2015-12-16 Richard Biener <rguenther@suse.de> | |
1054 | ||
1055 | PR tree-optimization/68870 | |
1056 | * tree-cfgcleanup.c (cleanup_control_expr_graph): Add first_p | |
1057 | parameter, if set only perform trivial constant folding. | |
1058 | Queue other blocks with conditions for later processing. | |
1059 | (cleanup_control_flow_bb): Add first_p parameter and pass it through. | |
1060 | (cleanup_tree_cfg_1): Pass true for the first iteration | |
1061 | cleanup_control_expr_graph. | |
1062 | ||
1063 | 2015-12-16 Nathan Sidwell <nathan@acm.org> | |
1064 | ||
1065 | * config/nvptx/nvptx-protos.h (nvptx_hard_regno_mode_ok): Delete. | |
1066 | * config/nvptx/nvptx.h (struct machine_function): | |
1067 | Reimplement. Adjust all users. | |
1068 | * config/nvptx/nvptx.c (nvptx_declare_function_name): Move stack | |
1069 | and frame array generation earlier. | |
1070 | (nvptx_call_args): Reimplement. | |
1071 | (nvptx_expand_call): Adjust. | |
1072 | (nvptx_hard_reno_mode_ok): Delete. | |
1073 | (nvptx_reorg): Revert scan of hard regs. | |
1074 | ||
1075 | 2015-12-16 Tom de Vries <tom@codesourcery.com> | |
1076 | ||
1077 | * opts.c (default_options_optimization): Set fipa-pta on by | |
1078 | default for fopenacc. | |
1079 | * passes.def: Move kernels pass group to pass_ipa_oacc. | |
1080 | * tree-pass.h (make_pass_oacc_kernels2): Remove. | |
1081 | (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): Declare. | |
1082 | * tree-ssa-loop.c (pass_oacc_kernels2, make_pass_oacc_kernels2): | |
1083 | Remove. | |
1084 | (pass_ipa_oacc, pass_ipa_oacc_kernels): New pass. | |
1085 | (make_pass_ipa_oacc, make_pass_ipa_oacc_kernels): New function. | |
1086 | * tree-ssa-structalias.c (pass_ipa_pta::clone): New function. | |
1087 | ||
1088 | 2015-12-16 Richard Biener <rguenther@suse.de> | |
1089 | ||
1090 | PR tree-optimization/68861 | |
1091 | * tree-vect-slp.c (vect_build_slp_tree): Properly handle | |
1092 | duplicate stmts when applying swapping to stmts. | |
1093 | ||
1094 | 2015-12-16 Kirill Yukhin <kirill.yukhin@intel.com> | |
1095 | ||
1096 | * config/i386/i386-c.c (ix86_target_macros_internal): Remove | |
1097 | duplicate check (__CLZERO__). | |
1098 | ||
1099 | 2015-12-16 Matthew Wahab <matthew.wahab@arm.com> | |
1100 | ||
1101 | * config/arm/arm_neon.h (vqrdmlahq_lane_s16): New. | |
1102 | (vqrdmlahq_lane_s32): New. | |
1103 | (vqrdmlah_lane_s16): New. | |
1104 | (vqrdmlah_lane_s32): New. | |
1105 | (vqrdmlshq_lane_s16): New. | |
1106 | (vqrdmlshq_lane_s32): New. | |
1107 | (vqrdmlsh_lane_s16): New. | |
1108 | (vqrdmlsh_lane_s32): New. | |
1109 | * config/arm/arm_neon_builtins.def: Add "vqrdmlah_lane" and | |
1110 | "vqrdmlsh_lane". | |
1111 | ||
1112 | 2015-12-16 Matthew Wahab <matthew.wahab@arm.com> | |
1113 | ||
1114 | * config/arm/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New. | |
1115 | (vqrdmlahq_s16, vqrdmlahq_s32): New. | |
1116 | (vqrdmlsh_s16, vqrdmlsh_s32): New. | |
1117 | (vqrdmlahq_s16, vqrdmlshq_s32): New. | |
1118 | * config/arm/arm_neon_builtins.def: Add "vqrdmlah" and "vqrdmlsh". | |
1119 | ||
1120 | 2015-12-16 Matthew Wahab <matthew.wahab@arm.com> | |
1121 | ||
1122 | * doc/sourcebuild.texi (ARM-specific attributes): Add | |
1123 | "arm_v8_1a_neon_ok" and "arm_v8_1a_neon_hw". | |
1124 | ||
1125 | 2015-12-16 Matthew Wahab <matthew.wahab@arm.com> | |
1126 | ||
1127 | * config/arm/arm-c.c (arm_cpu_builtins): Define | |
1128 | __ARM_FEATURE_QRDMX. Clean up some trailing whitespace. | |
1129 | ||
1130 | 2015-12-16 Matthew Wahab <matthew.wahab@arm.com> | |
1131 | ||
1132 | * config/arm/iterators.md (VQRDMLH_AS): New. | |
1133 | (neon_rdma_as): New. | |
1134 | * config/arm/neon.md | |
1135 | (neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h<mode>): New. | |
1136 | (neon_vqrdml<VQRDMLH_AS:neon_rdma_as>h_lane<mode>): New. | |
1137 | * config/arm/unspecs.md (UNSPEC_VQRDMLAH): New. | |
1138 | (UNSPEC_VQRDMLSH): New. | |
1139 | ||
1140 | 2015-12-16 Matthew Wahab <matthew.wahab@arm.com> | |
1141 | ||
1142 | * config/arm/t-aprofile: Make "armv8.1-a" and "armv8.1-a+crc" | |
1143 | matches for "armv8-a". | |
1144 | ||
1145 | 2015-12-16 Matthew Wahab <matthew.wahab@arm.com> | |
1146 | ||
1147 | * config/arm/arm-arches.def: Add "armv8.1-a" and "armv8.1-a+crc". | |
1148 | * config/arm/arm-protos.h (FL2_ARCH8_1): New. | |
1149 | (FL2_FOR_ARCH8_1A): New. | |
1150 | * config/arm/arm-tables.opt: Regenerate. | |
1151 | * config/arm/arm.c (arm_arch8_1): New. | |
1152 | (arm_option_override): Set arm_arch8_1. | |
1153 | * config/arm/arm.h (TARGET_NEON_RDMA): New. | |
1154 | (arm_arch8_1): Declare. | |
1155 | * doc/invoke.texi (ARM Options, -march): Add "armv8.1-a" and | |
1156 | "armv8.1-a+crc". | |
1157 | (ARM Options, -mfpu): Fix a typo. | |
1158 | ||
1159 | 2015-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
1160 | ||
1161 | PR target/68648 | |
1162 | * config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify | |
1163 | the complement of operands[3] during splitting. | |
1164 | ||
1165 | 2015-12-16 Richard Biener <rguenther@suse.de> | |
1166 | ||
1167 | PR tree-optimization/68892 | |
1168 | * tree-vect-slp.c (vect_analyze_slp_cost_1): Properly compute | |
1169 | cost for permuted loads. | |
1170 | ||
1171 | 2015-12-16 Jakub Jelinek <jakub@redhat.com> | |
1172 | ||
1173 | PR rtl-optimization/65980 | |
1174 | * jump.c (rtx_renumbered_equal_p) <case LABEL_REF>: Use | |
1175 | next_nonnote_nondebug_insn instead of next_real_insn and | |
1176 | skip over CODE_LABELs too. | |
1177 | ||
1178 | 2015-12-10 Jan Hubicka <hubicka@ucw.cz> | |
1179 | ||
1180 | * symtab.c (symtab_node::fixup_same_cpp_alias_visibility): | |
1181 | Do not copy DECL_VIRTUAL_P. | |
1182 | ||
1183 | 2015-12-15 Martin Sebor <msebor@redhat.com> | |
1184 | ||
1185 | PR c++/42121 | |
1186 | * tree-chkp.c (chkp_find_bound_slots_1): Handle flexible array | |
1187 | members. | |
1188 | * tree.c (type_contains_placeholder_1): Avoid assuming type has | |
1189 | a non-null domain or an upper bound to handle flexible array | |
1190 | members. | |
1191 | * varasm.c (output_constructor_regular_field): Same. | |
1192 | (output_constructor): Set min_index to integer_zero_node rather | |
1193 | than null when a type has no domain to avoid crashing later. | |
1194 | ||
1195 | 2015-12-15 Nathan Sidwell <nathan@acm.org> | |
1196 | ||
1197 | * config/nvptx/nvptx.c (write_one_arg): Rename to ... | |
1198 | (write_arg_mode): ... here. Update callers. | |
1199 | (write_arg): Rename to ... | |
1200 | (write__arg_type): ... here. Update callers. | |
1201 | (write_return_mode): New fn, broken out of ... | |
1202 | (write_return): ... here. Rename to ... | |
1203 | (write_return_type): ... here. Call it. Update callers. | |
1204 | (write_fn_proto_from_insn): Use write_arg_mode and | |
1205 | write_return_mode. | |
1206 | (init_frame): New fn. | |
1207 | (nvptx_declare_function_name): Call it for frame and varargs. Only | |
1208 | emit outgoing static chain, if it's live. | |
1209 | (nvptx_output_return): Use reg_names for return reg name. | |
1210 | (nvptx_output_call_insn): Likewise. | |
1211 | (nvptx_reorg): Mark unused hard regs too. | |
1212 | ||
1213 | 2015-12-15 Nathan Sidwell <nathan@acm.org> | |
1214 | ||
1215 | * config/nvptx/nvptx.md (nvptx_register_operand): Don't accept and | |
1216 | then reject subregs. | |
1217 | (nvptx_reg_or_mem_operand): Likewise. | |
1218 | (nvptx_nonmemory_operand): Likewise. | |
1219 | (call_insn_operand): A regular predicate, check SYMBOL_REF_FUNCTION_P. | |
1220 | (call_insn, call_value_insn): Address is not SImode. | |
1221 | * config/nvptx/nvptx.h (FIXED_REGISTERS): Make return reg fixed. | |
1222 | (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove | |
1223 | RETURN_REG class. | |
1224 | (REGNO_REG_CLASS): Alwaus ALL_REGS. | |
1225 | (PROMOTE_MODE): QI and HI are the only smaller than SI int modes. | |
1226 | (HARD_FRAME_POINTER_REGNUM): Delete. | |
1227 | (REGISTER_NAMES): Move earlier. | |
1228 | (struct nvptx_args): Remove 'off'. | |
1229 | (INIT_CUMULATIVE_ARGS): Don't initialize 'off'. | |
1230 | (ELIMINABLE_REGS): Remove HARD_FRAME_POINTER_REGNUM. | |
1231 | * config/nvptx/nvptx.c (arg_promotion): Delete. | |
1232 | (nvptx_expand_call): Remove check for funtype being an fntype. | |
1233 | ||
1234 | 2015-12-15 Jason Merrill <jason@redhat.com> | |
1235 | ||
1236 | * hash-map.h, hash-table.h: Make copy constructors explicit. | |
1237 | ||
1238 | 2015-12-15 Ilya Verbin <ilya.verbin@intel.com> | |
1239 | ||
1240 | * cgraphunit.c (output_in_order): Do not assemble "omp declare target | |
1241 | link" variables in ACCEL_COMPILER. | |
1242 | * gimplify.c (gimplify_adjust_omp_clauses): Do not remove mapping of | |
1243 | "omp declare target link" variables. | |
1244 | * omp-low.c (scan_sharing_clauses): Do not remove mapping of "omp | |
1245 | declare target link" variables. | |
1246 | (add_decls_addresses_to_decl_constructor): For "omp declare target | |
1247 | link" variables output address of the artificial pointer instead | |
1248 | of address of the variable. Set most significant bit of the size | |
1249 | to mark them. | |
1250 | (pass_data_omp_target_link): New pass_data. | |
1251 | (pass_omp_target_link): New class. | |
1252 | (find_link_var_op): New static function. | |
1253 | (make_pass_omp_target_link): New function. | |
1254 | * passes.def: Add pass_omp_target_link. | |
1255 | * tree-pass.h (make_pass_omp_target_link): Declare. | |
1256 | * varpool.c (symbol_table::output_variables): Do not assemble "omp | |
1257 | declare target link" variables in ACCEL_COMPILER. | |
1258 | ||
1259 | 2015-12-15 Bernd Schmidt <bschmidt@redhat.com> | |
1260 | ||
1261 | PR middle-end/21273 | |
1262 | * gensupport.c (collect_insn_data): Look for number of alternatives | |
1263 | in MATCH_SCRATCH. | |
1264 | ||
1265 | 2015-12-15 Nathan Sidwell <nathan@acm.org> | |
1266 | ||
1267 | * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Reformat. | |
1268 | (CANNOT_CHANGE_MODE_CLASS): Always return true. | |
1269 | (HARD_REGNO_MODE_OK): Reformat. | |
1270 | * config/nvptx/nvptx.md (define_expand mov<mode>): No | |
1271 | RETURN_REGNUM handling here. | |
1272 | * config/nvptx/nvptx.c (nvptx_function_value): Set ret_reg_mode | |
1273 | here. | |
1274 | (write_one_arg): No QI or HI mode args. | |
1275 | (write_fn_proto_from_insn): No argument promotion here. | |
1276 | (nvptx_output_return_insn): No return promotion here. | |
1277 | (nvptx_output_mov_insn): No RETURN_REGNUM handling needed. | |
1278 | (nvptx_output_call_insn): No return promotion here. | |
1279 | ||
1280 | 2015-12-15 Martin Jambor <mjambor@suse.cz> | |
1281 | ||
1282 | PR ipa/68851 | |
1283 | * cgraph.c (collect_callers_of_node_1): Do not collect thunks. | |
1284 | * cgraph.h (cgraph_node): Change comment of collect_callers. | |
1285 | ||
1286 | 2015-12-15 Jakub Jelinek <jakub@redhat.com> | |
1287 | ||
1288 | PR tree-optimization/66688 | |
1289 | * tree-cfgcleanup.c (cleanup_control_flow_bb): Handle | |
1290 | noreturn call followed only by debug stmts by removing | |
1291 | the debug stmts and handling it the same as if the noreturn | |
1292 | call is the last stmt. | |
1293 | ||
1294 | 2015-12-14 Steve Ellcey <sellcey@imgtec.com> | |
1295 | ||
1296 | * config/mips/mips.c (mips_promote_function_mode): New function. | |
1297 | (TARGET_PROMOTE_FUNCTION_MODE): Define as above function. | |
1298 | (TARGET_PROMOTE_PROTOTYPES): Remove. | |
1299 | ||
1300 | 2015-12-14 Jason Merrill <jason@redhat.com> | |
1301 | ||
1302 | PR c++/68309 | |
1303 | * hash-table.h: Add copy constructor. | |
1304 | * hash-map.h: Add copy constructor. | |
1305 | ||
1306 | 2015-12-14 Tom de Vries <tom@codesourcery.com> | |
1307 | ||
1308 | PR other/68882 | |
1309 | * gimple-pretty-print.c (dump_ssaname_info_to_file): New function. | |
1310 | * gimple-pretty-print.h (dump_ssaname_info_to_file): Declare. | |
1311 | * tree-cfg.c (dump_default_def): New function. | |
1312 | (dump_function_to_file): Dump default defs for arguments, static chain, | |
1313 | and decl-by-reference. | |
1314 | ||
1315 | 2015-12-14 Nathan Sidwell <nathan@acm.org> | |
1316 | ||
1317 | * config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32. | |
1318 | * config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete. | |
1319 | (pass_in_memory, promote_arg, promote_return): New. | |
1320 | (nvptx_function_arg_boundary): Delete. | |
1321 | (nvptx_function_value): Use promote_return. | |
1322 | (nvptx_pass_by_reference): Use pass_in_memory. | |
1323 | (nvptx_return_in_memory): Use pass_in_memory. | |
1324 | (nvptx_promote_function_mode): Use promote_arg. | |
1325 | (write_arg): Adjust arg splitting logic. | |
1326 | (write_return): Check and clear ret_reg_mode, if needed. | |
1327 | (write_fn_proto, nvptx_declare_function_name): Adust write_return | |
1328 | calls. | |
1329 | (TARGET_RUNCTION_ARG_BOUNDARY, | |
1330 | TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override. | |
1331 | ||
1332 | 2015-12-14 Jakub Jelinek <jakub@redhat.com> | |
1333 | ||
1334 | PR c/68833 | |
1335 | * common.opt (Wmissing-noreturn): Add Warning option. | |
1336 | * opts-common.c (control_warning_option): If opt is | |
1337 | alias_target with alias_arg, set arg to it. | |
1338 | ||
1339 | 2015-12-14 Segher Boessenkool <segher@kernel.crashing.org> | |
1340 | ||
1341 | PR target/68865 | |
1342 | PR target/68879 | |
1343 | * config/rs6000/rs6000.md (cstore_si_as_di): Force all operands | |
1344 | into registers. | |
1345 | ||
1346 | 2015-12-14 Richard Biener <rguenther@suse.de> | |
1347 | ||
1348 | Revert accidentially applied | |
1349 | PR tree-optimization/68707 | |
1350 | PR tree-optimization/67323 | |
1351 | * tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances | |
1352 | if they can be vectorized using load/store-lane instructions. | |
1353 | ||
1354 | 2015-12-14 Richard Biener <rguenther@suse.de> | |
1355 | ||
1356 | PR tree-optimization/68852 | |
1357 | * tree-vectorizer.h (struct _slp_tree): Add def_type member. | |
1358 | (SLP_TREE_DEF_TYPE): New accessor. | |
1359 | * tree-vect-stmts.c (vect_is_simple_use): Remove BB vectorization | |
1360 | hack. | |
1361 | * tree-vect-slp.c (vect_create_new_slp_node): Initialize | |
1362 | SLP_TREE_DEF_TYPE. | |
1363 | (vect_build_slp_tree): When a node is to be built up from scalars | |
1364 | do not push a NULL as child but instead set its def_type to | |
1365 | vect_external_def. | |
1366 | (vect_analyze_slp_cost_1): Check for child def-type instead | |
1367 | of NULL. | |
1368 | (vect_detect_hybrid_slp_stmts): Likewise. | |
1369 | (vect_bb_slp_scalar_cost): Likewise. | |
1370 | (vect_get_slp_defs): Likewise. | |
1371 | (vect_slp_analyze_node_operations): Likewise. Before | |
1372 | processing node push the children def-types to the underlying | |
1373 | stmts vinfo and restore it afterwards. | |
1374 | (vect_schedule_slp_instance): Likewise. | |
1375 | (vect_slp_analyze_bb_1): Do not mark stmts not in SLP instances | |
1376 | as not vectorizable. | |
1377 | ||
1378 | 2015-12-14 Richard Biener <rguenther@suse.de> | |
1379 | ||
1380 | PR tree-optimization/68775 | |
1381 | * tree-vect-slp.c (vect_build_slp_tree): Make sure to apply | |
1382 | a operand swapping even if replacing the op with scalars. | |
1383 | ||
1384 | 2015-12-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
1385 | ||
1386 | * combine.c (change_zero_ext): Do not create a shift of zero length. | |
1387 | ||
1388 | 2015-12-14 Claudiu Zissulescu <claziss@synopsys.com> | |
1389 | ||
1390 | * config/arc/arc.c (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): | |
1391 | Provide target hook. | |
1392 | (arc_no_speculation_in_delay_slots_p): New function. | |
1393 | ||
1394 | 2015-12-14 Claudiu Zissulescu <claziss@synopsys.com> | |
1395 | Andrew Burgess <andrew.burgess@embecosm.com> | |
1396 | ||
1397 | * config/arc/arc.c (frame_move): Set frame related flag. | |
1398 | (arc_save_restore): Emit epilogue related DWARF2 information. | |
1399 | (arc_expand_epilogue): Likewise. | |
1400 | * config/arc/arc.opt (mno-epilogue-cfi): Remove. | |
1401 | (mepilogue-cfi): Likewise. | |
1402 | * doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation. | |
1403 | ||
1404 | 2015-12-14 Martin Jambor <mjambor@suse.cz> | |
1405 | ||
1406 | PR ipa/66616 | |
1407 | * ipa-cp.c (propagate_constants_accross_call): Move thuk check... | |
1408 | (call_passes_through_thunk_p): ...here. | |
1409 | (find_more_scalar_values_for_callers_subset): Perform thunk checks | |
1410 | like propagate_constants_accross_call does. | |
1411 | ||
1412 | 2015-12-14 Jakub Jelinek <jakub@redhat.com> | |
1413 | ||
1414 | PR rtl-optimization/68730 | |
1415 | * cfgrtl.c (cfg_layout_finalize): Free dominators. | |
1416 | ||
dfb6d139 | 1417 | 2015-12-13 Alexandre Oliva <aoliva@redhat.com> |
fb2c1edd | 1418 | |
1419 | PR debug/67355 | |
1420 | * var-tracking.c (reverse_op): Don't add dummy zero to reverse | |
1421 | ops that simplify back to the original value. | |
1422 | * alias.c (refs_newer_value_p): Cut off recursion for | |
1423 | expressions containing the original value. | |
1424 | ||
1425 | 2015-12-13 Kazu Kirata <kazu@gcc.gnu.org> | |
1426 | ||
1427 | * config/m68k/m68k.md (load feeding clear byte): New peephole2. | |
1428 | ||
1429 | 2015-12-13 Tom de Vries <tom@codesourcery.com> | |
1430 | ||
1431 | * tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds | |
1432 | parameters of GOACC_paralllel. | |
1433 | ||
1434 | 2015-12-10 Jan Hubicka <hubicka@ucw.cz> | |
1435 | ||
1436 | * cgraph.c (cgraph_node::get_untransformed_body): Pass compressed | |
1437 | flag to lto_get_section_data. | |
1438 | * varpool.c (varpool_node::get_constructor): Likewise. | |
1439 | * lto-section-in.c (lto_get_section_data): Add new flag decompress. | |
1440 | (lto_free_section_data): Likewise. | |
1441 | (lto_get_raw_section_data): New function. | |
1442 | (lto_free_raw_section_data): New function. | |
1443 | (copy_function_or_variable): Copy sections w/o decompressing. | |
1444 | (lto_output_decl_state_refs): Picke compressed bit. | |
1445 | * lto-streamer.h (lto_in_decl_state): New flag compressed. | |
1446 | (lto_out_decl_state): Likewise. | |
1447 | (lto_get_section_data, lto_free_section_data): Update prototypes | |
1448 | (lto_get_raw_section_data, lto_free_raw_section_data): Declare. | |
1449 | (lto_write_raw_data): Declare. | |
1450 | (lto_begin_section): Remove FIXME. | |
1451 | (lto_write_raw_data): New function. | |
1452 | (lto_write_stream): Remove FIXME. | |
1453 | (lto_new_out_decl_state): Set compressed flag. | |
1454 | ||
1455 | 2015-12-10 Jan Hubicka <hubicka@ucw.cz> | |
1456 | ||
1457 | * tree.c (free_lang_data_in_type, find_decls_types_r): Also free | |
1458 | unnecesary type decls. | |
1459 | * tree.h (is_redundant_typedef): Declare. | |
1460 | * dwarf2out.c (is_redundant_typedef): Export; booleanize | |
1461 | ||
1462 | 2015-12-12 Eric Botcazou <ebotcazou@adacore.com> | |
1463 | ||
1464 | * config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. | |
1465 | * config/sparc/sparc.c (sparc_emit_set_const64): Remove code | |
1466 | conditionalized on HOST_BITS_PER_WIDE_INT == 32. | |
1467 | (sparc_cannot_force_const_mem) <CONST_WIDE_INT>: New case. | |
1468 | <CONST_DOUBLE>: Remove VOIDmode test. | |
1469 | (epilogue_renumber) <CONST_WIDE_INT>: New case. | |
1470 | (sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode. | |
1471 | (sparc_assemble_integer): Likewise. | |
1472 | (set_extends): Likewise. | |
1473 | (sparc_rtx_costs) <CONST_INT>: Use SMALL_INT. | |
1474 | <CONST_WIDE_INT>: New case. | |
1475 | <CONST_DOUBLE>: Remove support for VOIDmode. | |
1476 | <MULT>: Remove support for CONST_DOUBLE with VOIDmode. | |
1477 | * config/sparc/predicates.md (const_zero_operand): Add const_wide_int. | |
1478 | (const_all_ones_operand): Likewise. | |
1479 | (uns_small_int_operand): Remove const_double and code conditionalized | |
1480 | on HOST_BITS_PER_WIDE_INT == 32. | |
1481 | (arith_double_operand): Likewise. | |
1482 | (arith_double_add_operand): Likewise. | |
1483 | (input_operand): Remove support for CONST_DOUBLE with DImode. | |
1484 | * config/sparc/sparc.md (DImode CONST_INT splitter): Remove code | |
1485 | conditionalized on HOST_BITS_PER_WIDE_INT == 32. | |
1486 | (DFmode CONST_DOUBLE splitter): Likewise. | |
1487 | (*adddi3_insn_sp32): Likewise. | |
1488 | (*subdi3_insn_sp32): Likewise. | |
1489 | (DImode logical splitter): Likewise. | |
1490 | (DImode CONST_DOUBLE splitter): Delete. | |
1491 | ||
1492 | 2015-12-12 Paolo Bonzini <bonzini@gnu.org> | |
1493 | ||
1494 | PR sanitizer/68418 | |
1495 | * c-family/c-ubsan.c (ubsan_instrument_shift): Disable | |
1496 | sanitization of left shifts for wrapping signed types as well. | |
1497 | ||
1498 | 2015-12-11 Eric Botcazou <ebotcazou@adacore.com> | |
1499 | ||
1500 | PR middle-end/68215 | |
1501 | * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter. | |
1502 | Do not gimplify the result. | |
1503 | (do_unop): Adjust call to tree_vec_extract. | |
1504 | (do_binop): Likewise. | |
1505 | (do_compare): Likewise. | |
1506 | (do_plus_minus): Likewise. | |
1507 | (do_negate): Likewise. | |
1508 | (expand_vector_condition): Likewise. | |
1509 | (do_cond): Likewise. | |
1510 | ||
1511 | 2015-12-11 Nathan Sidwell <nathan@acm.org> | |
1512 | ||
1513 | * config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete. | |
1514 | (OUTGOING_ARG_POINTER_REGNUM): Delete. | |
1515 | (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete. | |
1516 | (REGISTER_NAMES): Name static chain regs. | |
1517 | * config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge | |
1518 | ifs. | |
1519 | (nvptx_incoming_arg): Merge ifs. | |
1520 | (nvptx_function_arg_boundary): Reimplement to avoid mixing units. | |
1521 | (nvptx_function_value): Tail call nvptx_libcall_value. | |
1522 | (nvptx_pass_by_reference): Add ARG_UNUSED. | |
1523 | (nvptx_static_chain): Use conditional op. | |
1524 | (nvptx_handle_kernel_attribute): Use VOID_TYPE_P. | |
1525 | ||
1526 | 2015-12-11 Jan-Benedict Glaw <jbglaw@lug-owl.de> | |
1527 | Dominique d'Humieres <dominiq@lps.ens.fr> | |
1528 | ||
1529 | PR target/26427 | |
1530 | PR target/33120 | |
1531 | PR testsuite/35710 | |
1532 | * config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and | |
1533 | trailing whitespace. | |
1534 | ||
1535 | 2015-12-11 Jan Beulich <jbeulich@suse.com> | |
1536 | ||
1537 | * cfgexpand.c (expand_one_var): Exit early for static and | |
1538 | external variables when adjusting stack alignment related. | |
1539 | ||
1540 | 2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
1541 | ||
1542 | * config/s390/s390.c (s390_rtx_costs) | |
1543 | (s390_cannot_force_const_mem, legitimate_pic_operand_p) | |
1544 | (s390_preferred_reload_class, s390_reload_symref_address) | |
1545 | (legitimate_reload_constant_p, print_operand): Wide int support. | |
1546 | * config/s390/predicates.md ("const0_operand", "constm1_operand") | |
1547 | ("consttable_operand"): Likewise. | |
1548 | ("larl_operand"): Add a comment. | |
1549 | * config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int | |
1550 | support. | |
1551 | ||
1552 | 2015-12-11 Nathan Sidwell <nathan@acm.org> | |
1553 | ||
1554 | * config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define. | |
1555 | * config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for | |
1556 | unrecognizable RTX. | |
1557 | ||
1558 | 2015-12-11 Tom de Vries <tom@codesourcery.com> | |
1559 | ||
1560 | * passes.def: Remove unpaired TERMINATE_PASS_LIST. | |
1561 | ||
1562 | 2015-12-11 Michael Matz <matz@suse.de> | |
1563 | ||
1564 | * hash-map.h (hash_map::hash_map): Gather statistics only | |
1565 | when GATHER_STATISTICS is true. | |
1566 | * hash-set.h (hash_set::hash_set): Ditto. | |
1567 | * hash-table.h (hash_table::hash_table): Ditto. | |
1568 | (hash_table::create_ggc): Ditto. | |
1569 | ||
1570 | 2015-12-11 Martin Jambor <mjambor@suse.cz> | |
1571 | ||
1572 | PR ipa/68064 | |
1573 | * ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking | |
1574 | assert that align is nonzero. | |
1575 | ||
1576 | 2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
1577 | ||
1578 | * config/s390/s390.c (s390_expand_setmem): Use new expanders. | |
1579 | * config/s390/s390.md ("*setmem_long") | |
1580 | ("*setmem_long_and", "*setmem_long_31z"): Fix warnings. | |
1581 | ("*setmem_long_and_31z"): New define_insn. | |
1582 | ("setmem_long_<P:mode>"): New expanders. | |
1583 | * (<modesize>): New mode attribute | |
1584 | ||
1585 | 2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
1586 | ||
1587 | * config/s390/s390.md ("movstr", "*movstr"): Fix warning. | |
1588 | ("movstr<P:mode>"): New indirect expanders used by "movstr". | |
1589 | ||
1590 | 2015-12-11 Martin Liska <mliska@suse.cz> | |
1591 | Uros Bizjak <ubizjak@gmail.com> | |
1592 | ||
1593 | PR target/67484 | |
1594 | * config/i386/i386.c (ix86_valid_target_attribute_tree): | |
1595 | Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and | |
1596 | opts->x_ix86_tune_string. | |
1597 | ||
1598 | 2015-12-11 Richard Biener <rguenther@suse.de> | |
1599 | ||
1600 | * lto-streamer.h (lto_simple_header_with_strings): Remove | |
1601 | main_size field already in lto_simple_header. | |
1602 | ||
1603 | 2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com> | |
1604 | ||
1605 | * tree-vect-stmts.c (vectorizable_mask_load_store): Check | |
1606 | mask vectype. | |
1607 | ||
1608 | 2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com> | |
1609 | ||
1610 | * config/i386/i386.c (ix86_get_mask_mode): Use scalar | |
1611 | modes for 32 and 16 byte boolean vectors when possible. | |
1612 | ||
1613 | 2015-12-11 Segher Boessenkool <segher@kernel.crashing.org> | |
1614 | ||
1615 | PR rtl-optimization/67778 | |
1616 | PR rtl-optimization/68634 | |
1617 | * shrink-wrap.c (try_shrink_wrapping): Add a comment about why we want | |
1618 | to put the prologue earlier. When determining if an earlier block is | |
1619 | suitable, make sure it dominates every block reachable from it. | |
1620 | ||
1621 | 2015-12-11 Segher Boessenkool <segher@kernel.crashing.org> | |
1622 | ||
1623 | PR rtl-optimization/68814 | |
1624 | * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of | |
1625 | BYTES_BIG_ENDIAN. | |
1626 | ||
1627 | 2015-12-10 Nathan Sidwell <nathan@acm.org> | |
1628 | ||
1629 | * config/nvptx/nvptx.c (nvptx_function_arg, | |
1630 | nvptx_function_incoming_arg, nvptx_function_arg_advance, | |
1631 | nvptx_strict_argument_naming, nvptx_function_arg_boundary, | |
1632 | nvptx_libcall_value, nvptx_function_value, | |
1633 | nvptx_function_value_regno_p, nvptx_pass_by_reference, | |
1634 | nvptx_return_in_memory, nvptx_promote_function_mode, | |
1635 | nvptx_static_chain): Move earlier. | |
1636 | (write_one_arg): Break out as helper fn for ... | |
1637 | (write_arg): ... this new function. Adjust all callers. | |
1638 | ||
1639 | 2015-12-10 Jan Hubicka <hubicka@ucw.cz> | |
1640 | ||
1641 | * lto-streamer-out.c (wrap_refs): Only wrap public decls. | |
1642 | ||
1643 | 2015-12-10 Jan Hubicka <hubicka@ucw.cz> | |
1644 | ||
1645 | * ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p. | |
1646 | (good_cloning_opportunity_p): Likewise. | |
1647 | (gather_context_independent_values): Do not return true when | |
1648 | polymorphic call context is known or when we have known aggregate | |
1649 | value of unused parameter. | |
1650 | (estimate_local_effects): Try to create clone for all context | |
1651 | when either some params are substituted or devirtualization is possible | |
1652 | or some params can be removed; use local flag instead of | |
1653 | node->will_be_removed_from_program_if_no_direct_calls_p. | |
1654 | (identify_dead_nodes): Likewise. | |
1655 | ||
1656 | 2015-12-10 David Malcolm <dmalcolm@redhat.com> | |
1657 | ||
1658 | * doc/invoke.texi (-Wall): Add -Wmisleading-indentation to the | |
1659 | list. | |
1660 | (-Wmisleading-indentation): Update documentation to reflect | |
1661 | being enabled by -Wall in C/C++. | |
1662 | ||
1663 | 2015-12-10 Vladimir Makarov <vmakarov@redhat.com> | |
1664 | ||
1665 | PR rtl-optimization/68691 | |
1666 | * lra-spills.c (lra_final_code_change): Check pseudo occurrence | |
1667 | number in non-debug insns and remove debug insns if necessary. | |
1668 | ||
1669 | 2015-12-10 Martin Sebor <msebor@redhat.com> | |
1670 | ||
1671 | * invoke.texi (Warning Options): Update -Wall options. Clarify | |
1672 | when some -Wextra options are enabled. Add -Wplacement-new example. | |
1673 | ||
1674 | 2015-12-10 Uros Bizjak <ubizjak@gmail.com> | |
1675 | ||
1676 | * graphite-scop-detection.c (gather_bbs::before_dom_children): | |
1677 | Change return type to an edge. Always return NULL. | |
1678 | ||
1679 | 2015-12-10 Jeff Law <law@redhat.com> | |
1680 | ||
1681 | PR tree-optimization/68619 | |
1682 | * tree-ssa-dom.c (dom_opt_dom_walker::before_dom_children): Propgate | |
1683 | return value from optimize_stmt. | |
1684 | (dom_opt_dom_walker): Add new argument to dom_walker constructor. | |
1685 | (pass_dominator:execute): If a block has an unreachable edge, | |
1686 | remove all jump threads through any successor of the affected block. | |
1687 | (record_equivalences_from_phis): Ignore alternative if the edge | |
1688 | does not have EDGE_EXECUTABLE set. | |
1689 | (single_incoming_edge_ignoring_loop_edges): Similarly. | |
1690 | (optimize_stmt): If a gimple_code has a compile-time constant | |
1691 | condition, return the edge taken for that constant value. Also | |
1692 | change the condition to true/false as necessary. | |
1693 | * domwalk.h (dom_walker::dom_walker): Add new argument | |
1694 | skip_unreachable_blocks. Don't provide empty constructor body. | |
1695 | (dom_walker::before_dom_children): Change return type. | |
1696 | (dom_walker::bb_reachable): Declare new private method. | |
1697 | (dom_walker::propagate_unreachable_to_edges): Likewise. | |
1698 | (dom_walker::m_unreachable_dom): Declare new private data member. | |
1699 | (dom_walker::m_skip_unreachable_blocks): Likewise. | |
1700 | * domwalk.c: Include dumpfile.h. | |
1701 | (dom_walker::dom_walker): New constructor. Initialize private data | |
1702 | members. If needed, set EDGE_EXECUTABLE for all edges in the CFG, | |
1703 | extracted from tree-ssa-sccvn.c. | |
1704 | (dom_walker::bb_reachable): New method extracted from tree-ssa-sccvn.c | |
1705 | (dom_walker::propagate_unreachable_to_edges): Likewise. | |
1706 | (dom_walker::walk): Only call before_dom_children on reachable | |
1707 | blocks. If before_dom_children returns an edge, then clear | |
1708 | EDGE_EXECUTABLE for all other outgoing edges from the same block. | |
1709 | For unreachable blocks, call propagate_unreachable_to_edges. | |
1710 | Similarly, only call after_dom_children on reachable blocks. For | |
1711 | unreachable blocks, conditionally clear m_unreachable_dom. | |
1712 | * tree-ssa-sccvn.c (sccvn_dom_walker::unreachable_dom): Remove | |
1713 | private data member. | |
1714 | (sccvn_dom_walker::after_dom_children): Use methods from dom_walker | |
1715 | class. | |
1716 | (run_scc_vn): Likewise. | |
1717 | (sccvn_dom_walker::before_dom_children): Likewise. Return the taken | |
1718 | outgoing edge if a COND, SWITCH, or GOTO are optimized. | |
1719 | * compare-elim.c (find_comparison_dom_walker::before_dom_children): | |
1720 | Change return type to an edge. Always return NULL. | |
1721 | * fwprop.c (single_def_use_dom_walker::before_dom_children): Likewise. | |
1722 | * gimple-ssa-strength-reduction.c | |
1723 | (find_candidates_dom_walker::before_dom_children): Likewise. | |
1724 | * ipa-prop.c (analysis_dom_walker::before_dom_children): Likewise. | |
1725 | (ipcp_modif_dom_walker::before_dom_children): Likewise. | |
1726 | * tree-into-ssa.c (rewrite_dom_walker::before_dom_children): Likewise. | |
1727 | (rewrite_update_dom_walker::before_dom_children): Likewise. | |
1728 | (mark_def_dom_children::before_dom_children): Likewise. | |
1729 | * tree-ssa-dse.c (dse_dom_walker::before_dom_children): Likewise. | |
1730 | * tree-ssa-loop-im.c | |
1731 | (invariantness_dom_walker::before_dom_children): Likewise. | |
1732 | (move_computations_dom_walker::before_dom_walker): Likewise. | |
1733 | * tree-ssa-phiopt.c | |
1734 | (nontrapping_dom_walker::before_dom_children): Likewise. | |
1735 | * tree-ssa-pre.c | |
1736 | (eliminate_dom_walker::before_dom_children): Likewise. | |
1737 | * tree-ssa-propagate.c | |
1738 | (substitute_and_fold_dom_walker::before_dom_children): Likewise. | |
1739 | * tree-ssa-strlen.c | |
1740 | (strlen_dom_walker::before_dom_children): Likewise. | |
1741 | * tree-ssa-uncprop.c | |
1742 | (uncprop_dom_walker::before_dom_children): Likewise. | |
1743 | ||
1744 | 2015-12-10 Jakub Jelinek <jakub@redhat.com> | |
1745 | ||
1746 | PR rtl-optimization/68376 | |
1747 | PR rtl-optimization/68670 | |
1748 | * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0 | |
1749 | or > -1 conditions regardless of negate, and disallow | |
1750 | all other conditions. | |
1751 | ||
1752 | 2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
1753 | ||
1754 | * tree-chkp.c (chkp_call_returns_bounds_p): Return true | |
1755 | for VA_ARG call. | |
1756 | (chkp_fixup_inlined_call): New. | |
1757 | * tree-chkp.h (chkp_fixup_inlined_call): New. | |
1758 | * tree-stdarg.c: Include tree-chkp.h. | |
1759 | (expand_ifn_va_arg_1): Fixup bndret calls for removed | |
1760 | VA_ARG calls. | |
1761 | ||
1762 | 2015-12-10 Martin Jambor <mjambor@suse.cz> | |
1763 | ||
1764 | * tree-inline.c (duplicate_remap_omp_clause_seq): New function. | |
1765 | (replace_locals_op): Duplicate gimple sequences in OMP clauses. | |
1766 | ||
1767 | 2015-12-10 David Malcolm <dmalcolm@redhat.com> | |
1768 | ||
1769 | * graphite-optimize-isl.c (scop_get_domains): Fix indentation. | |
1770 | ||
1771 | 2015-12-10 David Malcolm <dmalcolm@redhat.com> | |
1772 | ||
1773 | * ifcvt.c (noce_try_inverse_constants): Fix indentation. | |
1774 | ||
1775 | 2015-12-10 David Malcolm <dmalcolm@redhat.com> | |
1776 | ||
1777 | * regrename.c (scan_rtx_address): Fix indentation. | |
1778 | ||
1779 | 2015-12-10 David Malcolm <dmalcolm@redhat.com> | |
1780 | ||
1781 | * function.c (locate_and_pad_parm): Fix indentation. | |
1782 | ||
1783 | 2015-12-10 Richard Biener <rguenther@suse.de> | |
1784 | ||
1785 | * tree-ssa-structalias.c (struct variable_info): Add | |
1786 | is_ipa_escape_point flag. | |
1787 | (new_var_info): Initialize to false. | |
1788 | (find_func_aliases): Generate escape constraints for stores | |
1789 | properly in IPA mode. | |
1790 | (ipa_pta_execute): Compute is_ipa_escape_point for globals. | |
1791 | ||
1792 | 2015-12-10 Claudiu Zissulescu <claziss@synopsys.com> | |
1793 | ||
1794 | * config/arc/atomic.md: Add new file. | |
1795 | ||
1796 | 2015-12-10 Claudiu Zissulescu <claziss@synopsys.com> | |
1797 | ||
1798 | * config/arc/arc-protos.h (arc_expand_atomic_op): Prototype. | |
1799 | (arc_split_compare_and_swap): Likewise. | |
1800 | (arc_expand_compare_and_swap): Likewise. | |
1801 | * config/arc/arc.c (arc_init): Check usage atomic option. | |
1802 | (arc_pre_atomic_barrier): New function. | |
1803 | (arc_post_atomic_barrier): Likewise. | |
1804 | (emit_unlikely_jump): Likewise. | |
1805 | (arc_expand_compare_and_swap_qh): Likewise. | |
1806 | (arc_expand_compare_and_swap): Likewise. | |
1807 | (arc_split_compare_and_swap): Likewise. | |
1808 | (arc_expand_atomic_op): Likewise. | |
1809 | * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro. | |
1810 | (ASM_SPEC): Enable mlock option when matomic is used. | |
1811 | * config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define. | |
1812 | (VUNSPEC_ARC_CAS): Likewise. | |
1813 | (VUNSPEC_ARC_LL): Likewise. | |
1814 | (VUNSPEC_ARC_SC): Likewise. | |
1815 | (VUNSPEC_ARC_EX): Likewise. | |
1816 | * config/arc/arc.opt (matomic): New option. | |
1817 | * config/arc/constraints.md (ATO): New constraint. | |
1818 | * config/arc/predicates.md (mem_noofs_operand): New predicate. | |
1819 | * doc/invoke.texi: Document -matomic. | |
1820 | * config/arc/atomic.md: New file. | |
1821 | ||
1822 | 2015-12-10 Richard Biener <rguenther@suse.de> | |
1823 | ||
1824 | PR tree-optimization/68817 | |
1825 | * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect | |
1826 | gaps early. | |
1827 | ||
1828 | 2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
1829 | ||
1830 | * tree-vect-stmts.c (vectorizable_assignment): Support | |
1831 | useless boolean conversion. | |
1832 | ||
1833 | 2015-12-10 Alan Lawrence <alan.lawrence@arm.com> | |
1834 | ||
1835 | * doc/install.texi: Add note against GNAT 4.8 on ARM targets. | |
1836 | ||
1837 | 2015-12-10 Jakub Jelinek <jakub@redhat.com> | |
1838 | ||
1839 | PR tree-optimization/68785 | |
1840 | * gimple-fold.c (fold_ctor_reference): Pass return value from | |
1841 | native_encode_expr to native_interpret_expr. | |
1842 | * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Likewise. | |
1843 | ||
1844 | 2015-12-10 Richard Biener <rguenther@suse.de> | |
1845 | ||
1846 | PR ipa/68331 | |
1847 | * tree-ssa-structalias.c (set_uids_in_ptset): Add fndecl | |
1848 | parameter and make vars_contains_nonlocal properly have | |
1849 | function-scope semantics in IPA mode. | |
1850 | (find_what_var_points_to): Add fndecl parameter. | |
1851 | (find_what_p_points_to): Likewise. | |
1852 | (pt_solution_includes_global): Remove IPA PTA early out. | |
1853 | (compute_points_to_sets): Adjust. | |
1854 | (ipa_pta_execute): Likewise. Clear final_solutions after | |
1855 | each function. | |
1856 | ||
1857 | 2015-12-10 Tom de Vries <tom@codesourcery.com> | |
1858 | ||
1859 | PR ada/65102 | |
1860 | * doc/include/fdl.texi: Add nodefaultgnufreedocumentationlicensenode | |
1861 | ifdef to allow disabling default @node GNU Free Documentation License. | |
1862 | ||
1863 | 2015-12-10 Richard Biener <rguenther@suse.de> | |
1864 | ||
1865 | * tree-ssa-structalias.c (create_function_info_for): Add missing | |
1866 | constraint from nonlocal for DECL_RESULT. | |
1867 | ||
1868 | 2015-12-10 Richard Biener <rguenther@suse.de> | |
1869 | ||
1870 | * tree-if-conv.c: Include params.h. | |
1871 | (ifcvt_memrefs_wont_trap): Use PARAM_ALLOW_STORE_DATA_RACES | |
1872 | instead of flag_tree_loop_if_convert_stores to guard cases | |
1873 | we'd introduce store-data-races. | |
1874 | ||
1875 | 2015-12-10 Richard Biener <rguenther@suse.de> | |
1876 | ||
1877 | PR ipa/68721 | |
1878 | * ipa-split.c (split_function): Record return value properly | |
1879 | when the split part doesn't set it. | |
1880 | ||
1881 | 2015-12-10 Richard Biener <rguenther@suse.de> | |
1882 | ||
1883 | PR tree-optimization/68806 | |
1884 | * tree-vect-loop.c (vect_analyze_loop_2): Properly detect | |
1885 | reduction chains and ignore SLP reductions. | |
1886 | ||
1887 | 2015-12-10 Richard Biener <rguenther@suse.de> | |
1888 | ||
1889 | * tree-if-conv.c (if_convertible_loop_p_1): Do not compute | |
1890 | dependences. | |
1891 | (if_convertible_loop_p): Adjust. | |
1892 | ||
1893 | 2015-12-10 Tom de Vries <tom@codesourcery.com> | |
1894 | ||
1895 | * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove | |
1896 | invalid assert. | |
1897 | ||
1898 | 2015-12-10 Martin Liska <mliska@suse.cz> | |
1899 | ||
1900 | * tree-vect-data-refs.c: Free an overwritten dataref. | |
1901 | ||
1902 | 2015-12-09 John David Anglin <danglin@gcc.gnu.org> | |
1903 | ||
1904 | PR target/68729 | |
1905 | * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is | |
1906 | consistent with modes of the input and output operands when doing | |
1907 | reloads to and from floating point registers. Do reload for all | |
1908 | address forms. | |
1909 | ||
1910 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
1911 | ||
1912 | PR ipa/61886 | |
1913 | PR middle-end/25140 | |
1914 | * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls | |
1915 | (nonoverlapping_component_refs_of_decl_p): Update sanity check. | |
1916 | (decl_refs_may_alias_p): Use compare_base_decls. | |
1917 | * alias.c: Include cgraph.h | |
1918 | (get_alias_set): Add cut-off for recursion. | |
1919 | (rtx_equal_for_memref_p): Use rtx_equal_for_memref_p. | |
1920 | (compare_base_decls): New function. | |
1921 | (base_alias_check): Likewise. | |
1922 | (memrefs_conflict_p): Likewise. | |
1923 | (nonoverlapping_memrefs_p): Likewise. | |
1924 | * alias.h (compare_base_decls): Declare. | |
1925 | ||
1926 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
1927 | ||
1928 | PR ipa/61886 | |
1929 | * ipa-visibility.c (function_and_variable_visibility): Fix vtable | |
1930 | rewritting guard. | |
1931 | ||
1932 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
1933 | ||
1934 | PR ipa/61886 | |
1935 | PR middle-end/25140 | |
1936 | * ipa-reference.c (ipa_reference_get_not_read_global, | |
1937 | ipa_reference_get_not_read_global): Fix WRT aliases. | |
1938 | (is_improper): Break out from ... | |
1939 | (is_proper_for_analysis): ... here; fix WRT aliases. | |
1940 | (analyze_function, generate_summary, | |
1941 | ipa_reference_write_optimization_summary, | |
1942 | ipa_reference_read_optimization_summary): Use ipa_reference_var_uid. | |
1943 | * ipa-refrence.h (ipa_reference_var_uid): New inline. | |
1944 | * tree-ssa-alias.c: Revert my accidental previous commit. | |
1945 | (ref_maybe_used_by_call_p_1, | |
1946 | call_may_clobber_ref_p_1): Use ipa_reference_var_uid. | |
1947 | ||
1948 | 2015-12-09 Andreas Tobler <andreast@gcc.gnu.org> | |
1949 | ||
1950 | * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE. | |
1951 | ||
1952 | 2015-12-09 Aditya Kumar <aditya.k7@samsung.com> | |
1953 | Sebastian Pop <s.pop@samsung.com> | |
1954 | ||
1955 | * graphite-optimize-isl.c: Include isl/ast_build.h | |
1956 | (optimize_isl): Set several isl_options_set_* options. | |
1957 | ||
1958 | 2015-12-09 Aditya Kumar <aditya.k7@samsung.com> | |
1959 | Sebastian Pop <s.pop@samsung.com> | |
1960 | ||
1961 | * graphite-sese-to-poly.c (pdr_add_memory_accesses): Iterate in | |
1962 | the same order as adding data reference access functions. | |
1963 | ||
1964 | 2015-12-09 Aditya Kumar <aditya.k7@samsung.com> | |
1965 | Sebastian Pop <s.pop@samsung.com> | |
1966 | ||
1967 | * graphite-optimize-isl.c (optimize_isl): Improve dump message. | |
1968 | ||
1969 | 2015-12-09 Marek Polacek <polacek@redhat.com> | |
1970 | ||
1971 | PR tree-optimization/66949 | |
1972 | * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Don't call | |
1973 | single_non_singleton_phi_for_edges to get the PHI from | |
1974 | factor_out_conditional_conversion. Use NULL_TREE instead of NULL. | |
1975 | (factor_out_conditional_conversion): Adjust declaration. Make it | |
1976 | return the newly-created PHI. | |
1977 | ||
1978 | 2015-12-09 James Greenhalgh <james.greenhalgh@arm.com> | |
1979 | ||
1980 | * config/aarch64/aarch64-protos.h | |
1981 | (aarch64_cannot_change_mode_class): Bring back. | |
1982 | * config/aarch64/aarch64.c | |
1983 | (aarch64_cannot_change_mode_class): Likewise. | |
1984 | * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise. | |
1985 | * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use | |
1986 | zero_extract rather than truncate. | |
1987 | (aarch64_movdi_<mode>high): Likewise. | |
1988 | ||
1989 | 2015-12-09 Jakub Jelinek <jakub@redhat.com> | |
1990 | ||
1991 | PR tree-optimization/68786 | |
1992 | * tree-if-conv.c: Include builtins.h. | |
1993 | (predicate_mem_writes): Put result of get_object_alignment (ref) | |
1994 | into second argument's value. | |
1995 | * tree-vect-stmts.c (vectorizable_mask_load_store): Put minimum | |
1996 | pointer alignment into second argument's value. | |
1997 | * tree-data-ref.c (get_references_in_stmt): Use value of second | |
1998 | argument for build_aligned_type, and only the type to build | |
1999 | a zero second argument for MEM_REF. | |
2000 | * internal-fn.c (expand_mask_load_optab_fn, | |
2001 | expand_mask_store_optab_fn): Likewise. | |
2002 | ||
2003 | 2015-12-09 Richard Biener <rguenther@suse.de> | |
2004 | ||
2005 | PR tree-optimization/68583 | |
2006 | * tree-if-conv.c (if_convertible_phi_p): Drop | |
2007 | flag_tree_loop_if_convert_stores check in favor of the | |
2008 | existing any_mask_load_store check. | |
2009 | (insert_gimplified_predicates): Likewise. | |
2010 | (combine_blocks): Likewise. | |
2011 | (tree_if_conversion): Likewise. | |
2012 | (ifcvt_memrefs_wont_trap): Properly check | |
2013 | flag_tree_loop_if_convert_stores in all places that can end | |
2014 | up introducing store-data-races. | |
2015 | (if_convertible_gimple_assign_stmt_p): Remove restriction | |
2016 | on flag_tree_loop_if_convert_stores for stores we can if-convert | |
2017 | without introducing store-data-races. Force versioning for | |
2018 | all if-converted stores. | |
2019 | ||
2020 | 2015-12-09 Tom de Vries <tom@codesourcery.com> | |
2021 | ||
2022 | PR tree-optimization/68716 | |
2023 | * tree-ssa-structalias.c (find_func_clobbers): Fix handling of | |
2024 | BUILT_IN_GOMP_PARALLEL and BUILT_IN_GOACC_PARALLEL. | |
2025 | ||
2026 | 2015-12-09 Martin Liska <mliska@suse.cz> | |
2027 | ||
2028 | * hash-traits.h (struct typed_delete_remove): New function. | |
2029 | (typed_delete_remove ::remove): Likewise. | |
2030 | * tree-ssa-loop-ivopts.c (struct iv_common_cand): Replace | |
2031 | auto_vec with vec. | |
2032 | (record_common_cand): Replace XNEW with operator new. | |
2033 | ||
2034 | 2015-12-09 Martin Liska <mliska@suse.cz> | |
2035 | ||
2036 | * tree-if-conv.c (ifcvt_local_dce): Replace vec with auto_vec. | |
2037 | ||
2038 | 2015-12-09 Martin Liska <mliska@suse.cz> | |
2039 | ||
2040 | PR ipa/68790 | |
2041 | * ipa-icf.c (sem_function::param_used_p): Return true | |
2042 | if ipa_node_params_sum equals to NULL. | |
2043 | ||
2044 | 2015-12-09 Richard Biener <rguenther@suse.de> | |
2045 | ||
2046 | PR tree-optimization/68583 | |
2047 | * tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally | |
2048 | flag and rename predicates to w_predicate, rw_predicate and | |
2049 | base_w_predicate. | |
2050 | (DR_WRITTEN_AT_LEAST_ONCE): Rename to ... | |
2051 | (DR_BASE_W_UNCONDITIONALLY): ... this. | |
2052 | (DR_W_UNCONDITIONALLY): Add. | |
2053 | (hash_memrefs_baserefs_and_store_DRs_read): Adjust. Compute | |
2054 | unconditionally written separately from read or written. | |
2055 | (ifcvt_memrefs_wont_trap): Properly treat reads. | |
2056 | (ifcvt_could_trap_p): Inline ... | |
2057 | (if_convertible_gimple_assign_stmt_p): ... here. Refactor | |
2058 | to avoid code duplication. | |
2059 | (if_convertible_loop_p_1): Adjust and properly initialize | |
2060 | predicates. | |
2061 | ||
2062 | 2015-12-09 Richard Biener <rguenther@suse.de> | |
2063 | ||
2064 | * tree-vect-stmts.c (vectorizable_load): Set new vinfo only | |
2065 | if it was not yet set. | |
2066 | * tree-vectorizer.h (set_vinfo_for_stmt): Assert we don't | |
2067 | overwrite an existing entry. | |
2068 | ||
2069 | 2015-12-09 Chung-Lin Tang <cltang@codesourcery.com> | |
2070 | ||
2071 | * c-family/c-omp.c (c_finish_oacc_wait): Remove add_stmt() call. | |
2072 | * c/c-parser.c (c_parser_oacc_wait): Add add_stmt() call. | |
2073 | * cp/parser.c (cp_parser_oacc_wait): Add finish_expr_stmt() call. | |
2074 | ||
2075 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
2076 | ||
2077 | PR ipa/61886 | |
2078 | * symtab.c (symtab_node::equal_address_to): New parameter | |
2079 | MEMORY_ACCESSED. | |
2080 | * cgraph.h (symtab_node::equal_address_to): Update prototype. | |
2081 | ||
2082 | 2015-12-08 DJ Delorie <dj@redhat.com> | |
2083 | ||
2084 | * config/rx/rx.opt (-mjsr): Add. | |
2085 | * config/rx/predicates.md (rx_call_operand): Avoid overflowing | |
2086 | calls when -mjsr. | |
2087 | * config/rx/rx.c (rx_function_ok_for_sibcall): Likewise for | |
2088 | overflowing jumps. | |
2089 | * doc/invoke.texi (-mjsr): Document it. | |
2090 | ||
2091 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
2092 | ||
2093 | PR ipa/61886 | |
2094 | * lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols, | |
2095 | lto_symtab_prevailing_decl): MOve to lto-symtab.h. | |
2096 | * lto-streamer-out.c (DFS::DFS_write_tree_body): Check that | |
2097 | DECL_ABSTRACT_ORIGIN is not error_mark_node. | |
2098 | ||
2099 | 2015-12-08 David Malcolm <dmalcolm@redhat.com> | |
2100 | ||
2101 | * tree-nested.c (convert_tramp_reference_stmt): Fix indentation. | |
2102 | ||
2103 | 2015-12-08 David Malcolm <dmalcolm@redhat.com> | |
2104 | ||
2105 | * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix | |
2106 | indentation. | |
2107 | ||
2108 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
2109 | ||
2110 | PR ipa/61886 | |
2111 | * lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets | |
2112 | into the boundary. | |
2113 | ||
2114 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
2115 | ||
2116 | PR ipa/61886 | |
2117 | * varpool.c (varpool_node::get_availability): Recurse only on | |
2118 | weakrefs with definition in the target. | |
2119 | (symbol_table::remove_unreferenced_decls): Keep aliases in the boundary. | |
2120 | ||
2121 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
2122 | ||
2123 | PR ipa/61886 | |
2124 | * ipa-visibility.c (can_replace_by_local_alias): Look through | |
2125 | transparent aliases; refuse weakrefs. | |
2126 | (update_visibility_by_resolution_info): Skip transparent aliases in the | |
2127 | analysis part | |
2128 | ||
2129 | 2015-12-08 Jan Hubicka <hubicka@ucw.cz> | |
2130 | ||
2131 | PR ipa/61886 | |
2132 | * symtab.c (symtab_node::verify_base): Fix thinko in a conditional. | |
2133 | (symtab_node::noninterposable_alias): Do not accept transparent | |
2134 | aliases. | |
2135 | ||
2136 | 2015-12-08 Nathan Sidwell <nathan@acm.org> | |
2137 | ||
2138 | * config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode, | |
2139 | decl_offset, init_part, object_size, object_finished): Replace | |
2140 | with ... | |
2141 | (struct init_frag): ... this new struct variable. | |
2142 | (begin_decl_field, output_decl_chunk): Replace with ... | |
2143 | (output_init_frag): ... this new function. | |
2144 | (nvptx_assemble_value): Reimplement. | |
2145 | (nvptx_assemble_integer, nvptx_output_skip): Adjust. | |
2146 | (nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust. | |
2147 | (nvptx_output_aligned_decl): Call nvptx_assemble_decl_end. | |
2148 | ||
2149 | 2015-12-08 Eric Botcazou <ebotcazou@adacore.com> | |
2150 | ||
2151 | PR middle-end/68291 | |
2152 | PR middle-end/68292 | |
2153 | * cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names | |
2154 | with BLKmode promoted mode based on RESULT_DECLs. | |
2155 | ||
2156 | 2015-12-08 Uros Bizjak <ubizjak@gmail.com> | |
2157 | ||
2158 | PR target/68701 | |
2159 | * config/i386/i386.c (ix86_option_override_internal): Enable | |
2160 | -maccumulate-outgoing-args when %ebp is fixed due to stack | |
2161 | realignment requirements. | |
2162 | ||
2163 | 2015-12-08 Tom de Vries <tom@codesourcery.com> | |
2164 | ||
2165 | PR tree-optimization/68640 | |
2166 | * omp-low.c (install_var_field): Clear the restrict qualifier on the var | |
2167 | type. | |
2168 | ||
2169 | 2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com> | |
2170 | ||
2171 | * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix | |
2172 | assembler to make source always 128bit. | |
2173 | ||
2174 | 2015-12-08 Jakub Jelinek <jakub@redhat.com> | |
2175 | ||
2176 | PR c/48088 | |
2177 | PR c/68657 | |
2178 | * common.opt (Wframe-larger-than=): Add Warning. | |
2179 | * opts.h (control_warning_option): Add ARG argument. | |
2180 | * opts-common.c (cmdline_handle_error): New function. | |
2181 | (read_cmdline_option): Use it. | |
2182 | (control_warning_option): Likewise. Add ARG argument. | |
2183 | If non-NULL, decode it if needed and pass through | |
2184 | to handle_generated_option. Handle CLVC_ENUM like | |
2185 | CLVC_BOOLEAN. | |
2186 | * opts.c (common_handle_option): Adjust control_warning_option | |
2187 | caller. | |
2188 | (enable_warning_as_error): Likewise. | |
2189 | ||
2190 | 2015-12-08 Matthew Wahab <matthew.wahab@arm.com> | |
2191 | ||
2192 | * config/aarch64/aarch64-options-extensions.def: Remove | |
2193 | AARCH64_FL_RDMA from "fp" and "simd". Remove "pan", "lor", | |
2194 | "rdma". | |
2195 | * config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove. | |
2196 | (AARCH64_FL_LOR): Remove. | |
2197 | (AARCH64_FL_RDMA): Remove. | |
2198 | (AARCH64_FL_V8_1): New. | |
2199 | (AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR | |
2200 | and AARCH64_FL_RDMA with AARCH64_FL_V8_1. | |
2201 | (AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1. | |
2202 | * doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and | |
2203 | section on -march=native. Group descriptions of permitted | |
2204 | architecture names together. Expand description of | |
2205 | -march=armv8.1-a. | |
2206 | (AArch64 -mtune): Slightly rework section on -march=native. | |
2207 | (AArch64 -mcpu): Slightly rework section on -march=native. | |
2208 | (AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma". | |
2209 | State that -march=armv8.1-a enables "crc" and "lse". | |
2210 | ||
2211 | 2015-12-08 Eric Botcazou <ebotcazou@adacore.com> | |
2212 | ||
2213 | * doc/invoke.texi (SPARC options): Fix typo. | |
2214 | ||
2215 | 2015-12-08 Eric Botcazou <ebotcazou@adacore.com> | |
2216 | ||
2217 | * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust. | |
2218 | (output_probe_stack_range): Rotate the loop and simplify. | |
2219 | ||
2220 | 2015-12-08 Uros Bizjak <ubizjak@gmail.com> | |
2221 | ||
2222 | * config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup | |
2223 | infinity filterning code. | |
2224 | ||
2225 | 2015-12-08 Ilya Enkovich <enkovich.gnu@gmail.com> | |
2226 | ||
2227 | PR tree-optimization/68766 | |
2228 | * tree-vectorizer.c (vectorize_loops): Check for | |
2229 | if-converted loops when debug counters are used. | |
2230 | ||
2231 | 2015-12-07 DJ Delorie <dj@redhat.com> | |
2232 | ||
2233 | * config/rl78/constraints.md (Wfr): Change to be a non-memory | |
2234 | constraint. | |
2235 | * config/rl78/rl78-protos.h (rl78_one_far_p): Declare. | |
2236 | * config/rl78/rl78.c (rl78_one_far_p): Define. | |
2237 | * config/rl78/rl78-virt (movqi_virt): Fix far memory | |
2238 | alternatives. | |
2239 | (movhi_virt): Likewise. | |
2240 | (zero_extendqihi2_virt): Likewise. | |
2241 | (extendqihi2_virt): Likewise. | |
2242 | (add<mode>3_virt): Likewise. | |
2243 | (sub<mode>3_virt): Likewise. | |
2244 | (andqi3_virt): Likewise. | |
2245 | (iorqi3_virt): Likewise. | |
2246 | (xorqi3_virt): Likewise. | |
2247 | * config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc | |
2248 | overflow in large files. | |
2249 | ||
2250 | 2015-12-07 Eric Botcazou <ebotcazou@adacore.com> | |
2251 | ||
2252 | PR target/63668 | |
2253 | * doc/invoke.texi (SPARC options): Document -mstd-struct-return. | |
2254 | * config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks. | |
2255 | * config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define. | |
2256 | * config/sparc/sparc.opt (mstd-struct-return): Accept negative. | |
2257 | ||
2258 | 2015-12-07 Steve Ellcey <sellcey@imgtec.com> | |
2259 | ||
2260 | * reorg.c (optimize_skip): Do not put frame related instructions | |
2261 | in annulled delay slots. | |
2262 | (steal_delay_list_from_target): Ditto. | |
2263 | (fill_slots_from_thread): Ditto. | |
2264 | ||
2265 | 2015-12-07 Evandro Menezes <e.menezes@samsung.com> | |
2266 | ||
2267 | * config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model. | |
2268 | * config/aarch64/aarch64.md: Include "exynos-m1.md". | |
2269 | * config/arm/arm.md: Likewise. | |
2270 | * config/arm/exynos-m1.md: New file. | |
2271 | ||
2272 | 2015-12-07 Jan Hubicka <hubicka@ucw.cz> | |
2273 | ||
2274 | * fold-const.c (operand_equal_p): Drop flag_strict_aliasing check. | |
2275 | ||
2276 | 2015-12-07 Nathan Sidwell <nathan@acm.org> | |
2277 | ||
2278 | * config//nvptx/nvptx.c (write_return): New. | |
2279 | (write_fn_proto, nvptx_declare_function_name): Call it. | |
2280 | ||
2281 | 2015-12-07 Jan Hubicka <hubicka@ucw.cz> | |
2282 | ||
2283 | PR ipa/61886 | |
2284 | * symtab.c (ultimate_transparent_alias_target): New inline function. | |
2285 | (symbol_table::assembler_names_equal_p): New method; break out from ... | |
2286 | (symbol_table::decl_assembler_name_equal): ... here. | |
2287 | (symbol_table::change_decl_assembler_name): Also update names and | |
2288 | translation links of transparent aliases. | |
2289 | (symtab_node::dump_base): Dump transparent_alias. | |
2290 | (symtab_node::verify_base): Implement basic transparent alias | |
2291 | verification. | |
2292 | (symtab_node::make_decl_local): Support localization of weakrefs; | |
2293 | recurse to transparent aliases; set TREE_STATIC. | |
2294 | (symtab_node::ultimate_alias_target_1): Handle visibility of | |
2295 | transparent aliases. | |
2296 | (symtab_node::resolve_alias): New parmaeter transparent; handle | |
2297 | transparent aliases; recurse to aliases of aliases to fix comdat | |
2298 | groups. | |
2299 | (symtab_node::get_partitioning_class): Handle transparent aliases. | |
2300 | * ipa-visibility.c (cgraph_externally_visible_p, | |
2301 | varpool_node::externally_visible_p): Visibility of transparent alias | |
2302 | depends on its target. | |
2303 | (function_and_variable_visibility): Do not tweak visibility of | |
2304 | transparent laiases. | |
2305 | (function_and_variable_visibility): Likewise. | |
2306 | * ipa.c (symbol_table::remove_unreachable_nodes): Clear | |
2307 | transparent_alias flag. | |
2308 | * alias.c (cgraph_node::create_alias, cgraph_node::get_availability): | |
2309 | Support transparent aliases. | |
2310 | * cgraph.h (symtab_node): Update prototype of resolve_alias; | |
2311 | add transparent_alias flag. | |
2312 | (symbol_table: Add assembler_names_equal_p. | |
2313 | (symtab_node::real_symbol_p): Skip transparent aliases. | |
2314 | * cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag. | |
2315 | (handle_alias_pairs): Set transparent_alias for weakref. | |
2316 | (cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent | |
2317 | aliases. | |
2318 | * lto-cgraph.c (lto_output_node): When outputting same_comdat_group | |
2319 | skip symbols not put into boundary; stream transparent_alias. | |
2320 | (lto_output_varpool_node): Likewise. | |
2321 | (input_overwrite_node, input_varpool_node): Stream transparent alias. | |
2322 | * varpool.c (ctor_for_folding, varpool_node::get_availability, | |
2323 | varpool_node::assemble_aliases, | |
2324 | symbol_table::remove_unreferenced_decls): Handle transparent aliase. | |
2325 | (varpool_node::create_alias): Set transparent_alias. | |
2326 | ||
2327 | 2015-12-07 Eric Botcazou <ebotcazou@adacore.com> | |
2328 | ||
2329 | PR middle-end/68291 | |
2330 | PR middle-end/68292 | |
2331 | * cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for | |
2332 | SSA names based on RESULT_DECLs. | |
2333 | * function.c (expand_function_start): Do not create BLKmode REGs | |
2334 | for GIMPLE registers when coalescing is enabled. | |
2335 | ||
2336 | 2015-12-07 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
2337 | ||
2338 | * final.c (shorten_branches): Fix check for basic asm. | |
2339 | * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for | |
2340 | basic asm. | |
2341 | ||
2342 | 2015-12-07 Nathan Sidwell <nathan@acm.org> | |
2343 | ||
2344 | * config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no | |
2345 | return call. | |
2346 | ||
2347 | 2015-12-07 David Malcolm <dmalcolm@redhat.com> | |
2348 | ||
2349 | * pretty-print.c (text_info::set_range): Rename to... | |
2350 | (text_info::set_location): ...this, converting 2nd param | |
2351 | from source_range to a location_t. | |
2352 | * pretty-print.h (text_info::set_location): Convert | |
2353 | from inline function to external definition. | |
2354 | (text_info::set_range): Delete. | |
2355 | ||
2356 | 2015-12-07 Nathan Sidwell <nathan@acm.org> | |
2357 | ||
2358 | * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside | |
2359 | complex and vector types. Cope with packed structs. | |
2360 | ||
2361 | 2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com> | |
2362 | ||
2363 | PR target/68627 | |
2364 | * config/i386/sse.md: Make 'v' alternative work on 'avx512f' ISA only. | |
2365 | Force destination to 512 bits register. | |
2366 | ||
2367 | 2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com> | |
2368 | ||
2369 | PR target/68633 | |
2370 | * config/i386/sse.md (define_insn "kunpckhi"): Fix operands order. | |
2371 | (define_insn "kunpcksi"): Ditto. | |
2372 | (define_insn "kunpckdi"): Ditto. | |
2373 | ||
2374 | 2015-12-06 Kaz Kojima <kkojima@gcc.gnu.org> | |
2375 | ||
2376 | * config/sh/sh.md (rsqrtsf2): Adjust for canonical form with unspec. | |
2377 | ||
2378 | 2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com> | |
2379 | ||
2380 | * common/config/i386/i386-common.c | |
2381 | (OPTION_MASK_ISA_CLZERO_SET): New. | |
2382 | (ix86_handle_option): Handle clzero. | |
2383 | * config.gcc (i[34567]86-*-*): Add clzerointrin.h, | |
2384 | (x86_64-*-*): Likewise. | |
2385 | * config/i386/clzerointrin.h: New header. | |
2386 | * config/i386/cpuid.h (bit_CLZERO): Define. | |
2387 | * config/i386/driver-i386.c (host_detect_local_cpu): Detect | |
2388 | CLZERO support. | |
2389 | * config/i386/i386.opt (clzero): New. | |
2390 | * config/i386/i386-c.c: Define __CLZERO__ if needed. | |
2391 | * config/i386/i386.c (ix86_target_string): Define -mclzero option. | |
2392 | (PTA_CLZERO): New. | |
2393 | (ix86_option_override_internal): Handle new option. | |
2394 | (processor_alias_table): Added PTA_CLZERO. | |
2395 | (ix86_valid_target_attribute_inner_p): Add OPT_mclzero. | |
2396 | (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO. | |
2397 | (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and | |
2398 | IX86_BUILTIN_CLZERO built-ins. | |
2399 | * config/i386/i386.h (TARGET_CLZERO): New. | |
2400 | * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO. | |
2401 | (clzero): New pattern. | |
2402 | (clzero_<mode>): New pattern. | |
2403 | * config/i386/x86intrin.h: Include clzerointrin.h. | |
2404 | * doc/extend.texi: Document clzero builtins. | |
2405 | * doc/invoke.texi: Document -mclzero option. | |
2406 | ||
2407 | 2015-12-05 Jan Hubicka <hubicka@ucw.cz> | |
2408 | ||
2409 | * ipa-icf.c (sem_function::merge): Check that local_original exists. | |
2410 | ||
2411 | 2015-12-05 David Edelsohn <dje.gcc@gmail.com> | |
2412 | ||
2413 | PR target/68609 | |
2414 | * config/rs6000/rs6000-protos.h (rs6000_emit_swsqrt): Rename and add | |
2415 | bool arguement. | |
2416 | * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Rename. Add | |
2417 | non-reciporcal path. | |
2418 | * config/rs6000/rs6000.md (rsqrt<mode>2): Call new function name. | |
2419 | (sqrt<mode>2): Replace define_insn with define_expand that may call | |
2420 | rs6000_emit_swsqrt. | |
2421 | ||
2422 | 2015-12-04 Aditya Kumar <aditya.k7@samsung.com> | |
2423 | Sebastian Pop <s.pop@samsung.com> | |
2424 | ||
2425 | * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): | |
2426 | Improve debug. | |
2427 | (get_rename_from_scev): Check that all the ops in an expression | |
2428 | have their uses dominated by corresponding defs. | |
2429 | ||
2430 | 2015-12-04 Aditya Kumar <aditya.k7@samsung.com> | |
2431 | Sebastian Pop <s.pop@samsung.com> | |
2432 | ||
2433 | PR tree-optimization/68693 | |
2434 | * graphite-scop-detection.c (dot_all_sese): New | |
2435 | (dot_all_scops_1): Renamed to dot_all_sese. | |
2436 | (dot_all_scops): Removed. | |
2437 | (dot_sese): New. | |
2438 | (dot_cfg): New. | |
2439 | (scop_detection::get_nearest_dom_with_single_entry): Check that | |
2440 | preds are from different loop levels. | |
2441 | (scop_detection::get_nearest_pdom_with_single_exit): Check that | |
2442 | succs are from different loop levels. | |
2443 | (scop_detection::print_sese): Inlined. | |
2444 | (scop_detection::print_edge): New. | |
2445 | (scop_detection::merge_sese): Added dumps. | |
2446 | * graphite.h: Add declarations. | |
2447 | ||
2448 | 2015-12-04 James Greenhalgh <james.greenhalgh@arm.com> | |
2449 | ||
2450 | * config/aarch64/aarch64.md (add<mode>3_pluslong): Add register | |
2451 | constraints. | |
2452 | ||
2453 | 2015-12-04 Vladimir Makarov <vmakarov@redhat.com> | |
2454 | ||
2455 | PR rtl-optimization/68349 | |
2456 | * lra-eliminations.c (move_plus_up): New function. | |
2457 | (lra_eliminate_regs_1): Use the function. | |
2458 | ||
2459 | 2015-12-04 Nathan Sidwell <nathan@acm.org> | |
2460 | ||
2461 | * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New, replacing ... | |
2462 | (init_output_initializer): ... this. | |
2463 | (nvptx_output_aligned_decl, nvptx_asm_declare_constant_name, | |
2464 | nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use | |
2465 | nvptx_assemble_decl_begin. | |
2466 | ||
2467 | 2015-12-04 Dmitry Vyukov <dvyukov@google.com> | |
2468 | ||
2469 | * sancov.c: New file. | |
2470 | * Makefile.in (OBJS): Add sancov.o. | |
2471 | * invoke.texi (-fsanitize-coverage=trace-pc): Describe. | |
2472 | * passes.def (sancov_pass): Add. | |
2473 | * tree-pass.h (sancov_pass): Add. | |
2474 | * common.opt (-fsanitize-coverage=trace-pc): Add. | |
2475 | * sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add. | |
2476 | * builtins.def (DEF_SANITIZER_BUILTIN): Enable for | |
2477 | flag_sanitize_coverage. | |
2478 | ||
2479 | 2015-12-04 Eric Botcazou <ebotcazou@adacore.com> | |
2480 | ||
2481 | PR middle-end/65958 | |
2482 | * config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE. | |
2483 | (unspecv): Add VUNSPEC_PROBE_STACK_RANGE. | |
2484 | * config/arm/arm.md (probe_stack_range): Adjust. | |
2485 | * config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE. | |
2486 | (unspecv): Add UNSPECV_PROBE_STACK_RANGE. | |
2487 | (probe_stack_range_<PTR:mode>): Adjust. | |
2488 | ||
2489 | 2015-12-04 David Malcolm <dmalcolm@redhat.com> | |
2490 | ||
2491 | * convert.c (convert_to_real_1): When converting from a | |
2492 | REAL_TYPE, preserve the location of EXPR in the result. | |
2493 | * tree.c (get_pure_location): Make non-static. | |
2494 | (set_source_range): Return the resulting location_t. | |
2495 | (make_location): New function. | |
2496 | * tree.h (get_pure_location): New decl. | |
2497 | (get_finish): New inline function. | |
2498 | (set_source_range): Convert return type from void to location_t. | |
2499 | (make_location): New decl. | |
2500 | ||
2501 | 2015-12-04 Jakub Jelinek <jakub@redhat.com> | |
2502 | ||
2503 | PR c/68656 | |
2504 | * toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of | |
2505 | input_location to inform. | |
2506 | (process_options): Use warning_at (UNKNOWN_LOCATION instead of | |
2507 | warning ( and error_at (UNKNOWN_LOCATION instead of error (. | |
2508 | Pass UNKNOWN_LOCATION instead of input_location to fatal_error. | |
2509 | ||
2510 | 2015-12-04 Jan Hubicka <hubicka@ucw.cz> | |
2511 | ||
2512 | * ipa-inline.c (can_inline_edge_p) Use merged_comdat. | |
2513 | * cgraphclones.c (cgraph_node::create_clone): Use merged_comdat. | |
2514 | * cgraph.c (cgraph_node::dump): Dump merged_comdat. | |
2515 | * ipa-icf.c (sem_function::merge): Drop merged_comdat when merging | |
2516 | comdat and non-comdat. | |
2517 | * cgraph.h (cgraph_node): Rename merged to merged_comdat. | |
2518 | * ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat | |
2519 | and icf_merged. | |
2520 | ||
2521 | 2015-12-04 Segher Boessenkool <segher@kernel.crashing.org> | |
2522 | ||
2523 | * config/rs6000/rs6000.md (cstore<mode>4_unsigned): Use gpc_reg_operand | |
2524 | instead of register_operand. Remove empty constraints. Use std::swap. | |
2525 | (cstore_si_as_di, cstore<mode>4_signed_imm, | |
2526 | cstore<mode>4_unsigned_imm, cstore<mode>4 for GPR): Use | |
2527 | gpc_reg_operand instead of register_operand. | |
2528 | (cstore<mode>4 for FP): Use gpc_reg_operand instead of | |
2529 | register_operand. Remove empty constraints. | |
2530 | ||
2531 | 2015-12-04 Nick Clifton <nickc@redhat.com> | |
2532 | ||
2533 | * config.gcc (extra_gcc_objs): Define for MSP430. | |
2534 | * common/config/msp430/msp430-common.c (msp430_handle_option): | |
2535 | Pass both -mmcu and -mcpu on to the back end if they are both defined. | |
2536 | * config/msp430/msp430.c (hwmult_name): New function. | |
2537 | (msp430_option_override): If an unrecognised MCU name is | |
2538 | detected only warn if the user has not provided suitable | |
2539 | -mhwmult and -mcpu options. Use msp430_warn_mcu to control | |
2540 | warning messages. Generate warnings about conflicts between | |
2541 | -mmcu and -mcpu and -mhwmult options. | |
2542 | If neither -mcpu nor -mmcu have been specified but -mhwmult= | |
2543 | f5series has the select the 430X isa. | |
2544 | (msp430_no_hwmult): If -mmcu has not been specified and | |
2545 | msp430_hwmult_type is AUTO then return true. | |
2546 | * config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define. | |
2547 | (LIB_SPEC): Add hardware multiply library selection. | |
2548 | * config/msp430/t-msp430: Delete hardware multiply multilibs. | |
2549 | Add rule to build driver-msp430.o | |
2550 | * config/msp430/driver-msp430.c: New file. | |
2551 | * config/msp430/msp430.opt (warn-mcu): New option. | |
2552 | * doc/invoke.texi: Update description of -mhwmult=auto. | |
2553 | Document -mwarn-mcu option. | |
2554 | ||
2555 | 2015-12-04 Segher Boessenkool <segher&kernel.crashing.org> | |
2556 | ||
2557 | * config/rs6000/rs6000.md (cstore<mode>4_signed): New expander. | |
2558 | (cstore<mode>4): Call it. | |
2559 | ||
2560 | 2015-12-04 Jakub Jelinek <jakub@redhat.com> | |
2561 | ||
2562 | * tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs. | |
2563 | ||
2564 | PR tree-optimization/68680 | |
2565 | * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for | |
2566 | BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca | |
2567 | by name. | |
2568 | ||
2569 | PR tree-optimization/68671 | |
2570 | * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic | |
2571 | blocks starting with the successor of first bb we've modified | |
2572 | and ending with last_bb call reset_flow_sensitive_info_in_bb. | |
2573 | ||
2574 | 2015-12-04 Jeff Law <law@redhat.com> | |
2575 | ||
2576 | * tree-ssa-reassoc.c (maybe_optimize_range_tests): Return boolean | |
2577 | indicating if a gimple conditional was optimized to true/false. | |
2578 | (reassociate_bb): Bubble up return value from | |
2579 | maybe_optimize_range_tests. | |
2580 | (do_reassoc): Similarly, but for reassociate_bb. | |
2581 | (execute_reassoc): Return TODO_cleanup_cfg as needed. | |
2582 | ||
2583 | 2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
2584 | ||
2585 | * config/aarch64/aarch64.c (aarch64_override_options_internal): | |
2586 | Do not alter target_flags due to TARGET_GENERAL_REGS_ONLY_P. | |
2587 | * doc/invoke.texi (AArch64 options): Mention that -mgeneral-regs-only | |
2588 | does not affect the assembler directives. | |
2589 | ||
2590 | 2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
2591 | ||
2592 | * config/s390/s390.c (s390_asm_file_start): Implement hook function to | |
2593 | emit .machine and .machinemode to the top of the assembler file. | |
2594 | (TARGET_ASM_FILE_START): Provide target hook. | |
2595 | (s390_asm_output_machine_for_arch): Protect with | |
2596 | HAVE_AS_MACHINE_MACHINEMODE instead of S390_USE_TARGET_ATTRIBUTE. | |
2597 | ||
2598 | 2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
2599 | ||
2600 | * config/s390/s390.opt (s390_arch_string): Remove. | |
2601 | (s390_tune_string): Likewise. | |
2602 | (s390_cost_pointer): Add Variable. | |
2603 | (s390_tune_flags): Add TargetVariable. | |
2604 | (s390_arch_flags, march=, mbackchain, mdebug, mesa, mhard-dfp), | |
2605 | (mhard-float, mlong-double-128, mlong-double-64, mhtm, mvx), | |
2606 | (mpacked-stack, msmall-exec, msoft-float, mstack-guard=, mstack-size=), | |
2607 | (mtune=, mmvcle, mzvector, mzarch, mbranch-cost=, mwarn-dynamicstack), | |
2608 | (mwarn-framesize=): Save option. | |
2609 | (mno-stack-guard, mno-stack-guard): New option. | |
2610 | (mwarn-dynamicstack): Allow mno-warn-dynamicstack. | |
2611 | (mwarn-framesize=): Convert to UInteger (negative values are rejected | |
2612 | now). | |
2613 | * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Split setting | |
2614 | macros changeable through the GCC target pragma into a separate | |
2615 | function. | |
2616 | (s390_cpu_cpp_builtins): Likewise. | |
2617 | (s390_pragma_target_parse): New function, implement GCC target pragma | |
2618 | if enabled. | |
2619 | (s390_register_target_pragmas): Register s390_pragma_target_parse if | |
2620 | available. | |
2621 | * common/config/s390/s390-common.c (s390_handle_option): | |
2622 | Export. | |
2623 | Move setting s390_arch_flags to s390.c. | |
2624 | Remove s390_tune_flags. | |
2625 | Allow 0 as argument to -mstack-size (switch to default value). | |
2626 | Allow 0 as argument to -mstack-guard (switch off). | |
2627 | Remove now unnecessary explicit parsing code for -mwarn-framesize. | |
2628 | * config/s390/s390-protos.h (s390_handle_option): Export. | |
2629 | (s390_valid_target_attribute_tree): Export. | |
2630 | (s390_reset_previous_fndecl): Export. | |
2631 | * config/s390/s390-builtins.def: Use new macro B_GROUP to mark the start | |
2632 | and end of HTM and VX builtins. | |
2633 | (s390_asm_output_function_prefix): Declare hook. | |
2634 | (s390_asm_declare_function_size): Likewise. | |
2635 | * config/s390/s390-builtins.h (B_GROUP): Use macro. | |
2636 | * config/s390/s390-opts.h: Add comment about processor_type usage. | |
2637 | * config/s390/s390.h (TARGET_CPU_IEEE_FLOAT_P, TARGET_CPU_ZARCH_P), | |
2638 | (TARGET_CPU_LONG_DISPLACEMENT_P, TARGET_CPU_EXTIMM_P, TARGET_CPU_DFP_P), | |
2639 | (TARGET_CPU_Z10_P, TARGET_CPU_Z196_P, TARGET_CPU_ZEC12_P), | |
2640 | (TARGET_CPU_HTM_P, TARGET_CPU_Z13_P, TARGET_CPU_VX_P), | |
2641 | (TARGET_HARD_FLOAT_P, TARGET_LONG_DISPLACEMENT_P, TARGET_EXTIMM_P), | |
2642 | (TARGET_DFP_P, TARGET_Z10_P, TARGET_Z196_P, TARGET_ZEC12_P), | |
2643 | (TARGET_HTM_P, TARGET_Z13_P, TARGET_VX_P, TARGET_CPU_EXTIMM), | |
2644 | (TARGET_CPU_DFP, TARGET_CPU_Z10, TARGET_CPU_Z196, TARGET_CPU_ZEC12), | |
2645 | (TARGET_CPU_HTM, TARGET_CPU_Z13, TARGET_LONG_DISPLACEMENT), | |
2646 | (TARGET_EXTIMM, TARGET_DFP, TARGET_Z10, TARGET_Z196, TARGET_ZEC12), | |
2647 | (TARGET_Z13, TARGET_VX, S390_USE_TARGET_ATTRIBUTE), | |
2648 | (S390_USE_ARCHITECTURE_MODIFIERS, SWITCHABLE_TARGET), | |
2649 | (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_FUNCTION_PREFIX): Likewise. | |
2650 | * config/s390/vecintrin.h: Use vector definitions even if __VEC__ is | |
2651 | undefined. | |
2652 | (vec_all_nan): Rewrite as macro using statement expressions to avoid | |
2653 | that the vector keyword needs to be defined when including the file. | |
2654 | (vec_all_numeric): Likewise. | |
2655 | (vec_any_nan): Likewise. | |
2656 | (vec_any_numeric): Likewise. | |
2657 | * config/s390/s390.c (s390_previous_fndecl): New static variable. | |
2658 | (s390_set_current_function): New function. | |
2659 | (s390_cost): Wrapper macro to allow defining the cost table pointer in | |
2660 | the options file. | |
2661 | (processor_table): Table for march= and mtune= parsing. | |
2662 | (s390_init_builtins): Enable all builtins and types unconditionally. | |
2663 | (s390_expand_builtin): Generate an error message if builtin is not | |
2664 | supported by current options. | |
2665 | Correct an error message. | |
2666 | (s390_function_specific_restore): New function to set s390_cost. | |
2667 | (s390_asm_output_machine_for_arch): New function for emitting .machine | |
2668 | and .machinmode directives to the assembler file. | |
2669 | (s390_asm_output_function_prefix): Likewise. | |
2670 | (s390_asm_declare_function_size): Likewise. | |
2671 | (s390_asm_output_function_label): Add mdebug output for feature testing. | |
2672 | (s390_option_override): Move implementation into internal function. | |
2673 | (s390_option_override_internal): Likewise. | |
2674 | Implement option overriding based on current options. | |
2675 | (s390_valid_target_attribute_inner_p): New function implementing target | |
2676 | attribute logic. | |
2677 | (s390_valid_target_attribute_tree): Likewise. | |
2678 | (s390_valid_target_attribute_p): Likewise. | |
2679 | (s390_reset_previous_fndecl): Likewise. | |
2680 | (s390_set_current_function): Likewise. | |
2681 | (TARGET_SET_CURRENT_FUNCTION): Provide target hook function. | |
2682 | (TARGET_OPTION_VALID_ATTRIBUTE_P): Likewise. | |
2683 | (TARGET_OPTION_RESTORE): Likewise. | |
2684 | * doc/extend.texi: S390: Document target attribute and pragma. | |
2685 | * config.in: Regenerated. | |
2686 | * configure: Regenerated. | |
2687 | * configure.ac: S390: Check for .machinemode and .machine in gas. | |
2688 | S390: Check for architecture modifiers support in gas. | |
2689 | ||
2690 | 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com> | |
2691 | ||
2692 | * doc/extend.texi ("simd"): Describe new flags. | |
2693 | ||
2694 | 2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com> | |
2695 | ||
2696 | * config/i386/sse.md (<avx512>_store<mode>_mask): Fix | |
2697 | operand checked for alignment. | |
2698 | ||
2699 | 2015-12-04 Nathan Sidwell <nathan@acm.org> | |
2700 | ||
2701 | * config/nvptx/nvptx.c (write_one_arg): Deal with prologue | |
2702 | emission too. Change 'no_arg_types' to 'prototyped'. | |
2703 | (write_fn_proto): Use write_one_arg for stdarg, static chain & | |
2704 | main. | |
2705 | (nvptx_declare_function_name): Use write_one_arg for prologue copies. | |
2706 | ||
2707 | 2015-12-04 Richard Biener <rguenther@suse.de> | |
2708 | ||
2709 | * tree-ssa-sccvn.c (sccvn_dom_walker): Add unreachable_dom | |
2710 | member and initialize it. | |
2711 | (sccvn_dom_walker::after_dom_children): Reset unreachable_dom | |
2712 | if necessary. | |
2713 | (sccvn_dom_walker::before_dom_children): If unreachable_dom | |
2714 | is set BB is not reachable either. Set unreachable_dom | |
2715 | if not set and BB is unreachable. | |
2716 | ||
2717 | 2015-12-04 Richard Biener <rguenther@suse.de> | |
2718 | ||
2719 | * bitmap.c (bitmap_find_bit): Guard the bitmap descriptor | |
2720 | query with GATHER_STATISTICS. | |
2721 | ||
2722 | 2015-12-04 Eric Botcazou <ebotcazou@adacore.com> | |
2723 | ||
2724 | PR middle-end/65958 | |
2725 | * gimplify.c (struct gimplify_ctx): Turn boolean fields into 1-bit | |
2726 | fields, add keep_stack and reorder them. | |
2727 | (gimplify_bind_expr): Save gimplify_ctxp->keep_stack on entry then | |
2728 | set it to false. Do not insert a stack save/restore pair if it has | |
2729 | been set to true by the gimplification of the statements. | |
2730 | Restore it to the saved value on exit if it is still false. | |
2731 | (gimplify_vla_decl): Do not set gimplify_ctxp->save_stack here. | |
2732 | (gimplify_call_expr) <BUILT_IN_ALLOCA[_WITH_ALIGN]>: New case. Set | |
2733 | either save_stack or keep_stack depending on CALL_ALLOCA_FOR_VAR_P. | |
2734 | * doc/extend.texi (Variable Length): Document new behavior. | |
2735 | * doc/generic.texi (Blocks): Document new handling of VLAs. | |
2736 | ||
2737 | 2015-12-04 Eric Botcazou <ebotcazou@adacore.com> | |
2738 | Tristan Gingold <gingold@adacore.com> | |
2739 | ||
2740 | PR middle-end/65958 | |
2741 | * config/aarch64/aarch64-protos.h (aarch64_output_probe_stack-range): | |
2742 | Declare. | |
2743 | * config/aarch64/aarch64.md: Declare UNSPECV_BLOCKAGE and | |
2744 | UNSPEC_PROBE_STACK_RANGE. | |
2745 | (blockage): New instruction. | |
2746 | (probe_stack_range_<PTR:mode>): Likewise. | |
2747 | * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): New | |
2748 | function. | |
2749 | (aarch64_output_probe_stack_range): Likewise. | |
2750 | (aarch64_expand_prologue): Invoke aarch64_emit_probe_stack_range if | |
2751 | static builtin stack checking is enabled. | |
2752 | * config/aarch64/aarch64-linux.h (STACK_CHECK_STATIC_BUILTIN): | |
2753 | Define to 1. | |
2754 | ||
2755 | 2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
2756 | ||
2757 | PR target/68214 | |
2758 | * config/arm/arm.md (*call_mem): Delete pattern. | |
2759 | (*call_value_mem): Likewise. | |
2760 | * config/arm/arm.c (output_call_mem): Delete. | |
2761 | * config/arm/arm-protos.h (output_call_mem): Delete prototype. | |
2762 | ||
2763 | 2015-12-04 Bin Cheng <bin.cheng@arm.com> | |
2764 | ||
2765 | * config/aarch64/atomics.md (atomic_store<mode>): Use predicate | |
2766 | aarch64_sync_memory_operand. | |
2767 | ||
2768 | 2015-12-04 Jakub Jelinek <jakub@redhat.com> | |
2769 | ||
2770 | PR target/68655 | |
2771 | * config/i386/i386.c (canonicalize_vector_int_perm): New function. | |
2772 | (expand_vec_perm_1): Use it and recurse if everything else | |
2773 | failed. Use nd.perm instead of perm2. | |
2774 | (expand_vec_perm_even_odd_1): If testing_p, use gen_raw_REG | |
2775 | instead of gen_lowpart for the target. | |
2776 | (ix86_expand_vec_perm_const_1): Use canonicalize_vector_int_perm | |
2777 | and recurse if everything else failed. | |
2778 | ||
2779 | 2015-12-04 Richard Biener <rguenther@suse.de> | |
2780 | ||
2781 | PR middle-end/68636 | |
2782 | * builtins.c (get_pointer_alignment_1): Take care of byte to | |
2783 | bit alignment computation overflow. | |
2784 | ||
2785 | 2015-12-04 Richard Biener <rguenther@suse.de> | |
2786 | ||
2787 | PR middle-end/67438 | |
2788 | * match.pd: Guard ~X cmp ~Y -> Y cmp X and the variant with | |
2789 | a constant with single_use. | |
2790 | ||
2791 | 2015-12-04 Bin Cheng <bin.cheng@arm.com> | |
2792 | Jiong Wang <jiong.wang@arm.com> | |
2793 | ||
2794 | * config/aarch64/aarch64.c (aarch64_legitimize_address): legitimize | |
2795 | address expressions like Ra + Rb + CONST and Ra + Rb<<SCALE + CONST. | |
2796 | ||
2797 | 2015-12-03 Jan Hubicka <hubicka@ucw.cz> | |
2798 | ||
2799 | * alias.c (alias_set_subset_of, alias_sets_must_conflict_p): | |
2800 | Add short circuit for !flag_strict_aliasing | |
2801 | (get_alias_set): Remove flag_strict_aliasing check. | |
2802 | (new_alias_set): Likewise. | |
2803 | ||
2804 | 2015-12-03 Evandro Menezes <e.menezes@samsung.com> | |
2805 | ||
2806 | * config/aarch64/aarch64-cores.def: Use the Exynos M1 cost model. | |
2807 | * config/aarch64/aarch64.c (exynosm1_addrcost_table): New variable. | |
2808 | (exynosm1_regmove_cost): Likewise. | |
2809 | (exynosm1_vector_cost): Likewise. | |
2810 | (exynosm1_tunings): Likewise. | |
2811 | * config/arm/aarch-cost-tables.h (exynosm1_extra_costs): Likewise. | |
2812 | * config/arm/arm.c (arm_exynos_m1_tune): Likewise. | |
2813 | ||
2814 | 2015-12-03 Alan Lawrence <alan.lawrence@arm.com> | |
2815 | Richard Biener <richard.guenther@gmail.com> | |
2816 | ||
2817 | * cfgexpand.c (pass_expand::execute): Replace call to | |
2818 | redirect_edge_var_map_destroy with redirect_edge_var_map_empty. | |
2819 | * tree-ssa.c (delete_tree_ssa): Likewise. | |
2820 | * function.c (set_cfun): Call redirect_edge_var_map_empty. | |
2821 | * passes.c (execute_one_ipa_transform_pass, execute_one_pass): Likewise. | |
2822 | * tree-ssa.h (redirect_edge_var_map_destroy): Remove. | |
2823 | (redirect_edge_var_map_empty): New. | |
2824 | * tree-ssa.c (redirect_edge_var_map_destroy): Remove. | |
2825 | (redirect_edge_var_map_empty): New. | |
2826 | ||
2827 | 2015-12-03 Jeff Law <law@redhat.com> | |
2828 | ||
2829 | PR tree-optimization/68599 | |
2830 | * loop-init.c (rtl_loop_init): Set LOOPS_HAVE_RECORDED_EXITS | |
2831 | in call to loop_optimizer_init. | |
2832 | * loop-iv.c (get_simple_loop_desc): Only allow unsafe loop | |
2833 | optimization to drop the assumptions/infinite notations if | |
2834 | the loop has a single exit. | |
2835 | ||
2836 | 2015-12-03 Richard Sandiford <richard.sandiford@arm.com> | |
2837 | ||
2838 | * doc/md.texi (vec_load_lanes@var{m}@var{n}): Document that | |
2839 | the pattern cannot FAIL. | |
2840 | (vec_store_lanes@var{m}@var{n}): Likewise. | |
2841 | (maskload@var{m}@var{n}): Likewise. | |
2842 | (maskstore@var{m}@var{n}): Likewise. Fix a cut-&-paste error | |
2843 | in the name of the pattern. | |
2844 | (rsqrt@var{m}2): Document that mode m must be a scalar or vector | |
2845 | floating-point mode and that all operands have that mode. | |
2846 | (fmin@var{m}3, fmax@var{m}3): Likewise. Document that the | |
2847 | pattern cannot FAIL. | |
2848 | (sqrt@var{m}2): Document that mode m must be a scalar or vector | |
2849 | floating-point mode, that all operands have that mode, and that | |
2850 | the patterns cannot FAIL. Remove previous documentation referring | |
2851 | to @code{double} and @code{float}. | |
2852 | (fmod@var{m}3, remainder@var{m}3, cos@var{m}2, sin@var{m}2) | |
2853 | (sincos@var{m}3, log@var{m}2, pow@var{m}3, atan2@var{m}3) | |
2854 | (copysign@var{m}3): Likewise. | |
2855 | (exp@var{m}2): Likewise. Explicitly state the base. | |
2856 | (floor@var{m}2): As for sqrt@var{m}2, but also specify the operands. | |
2857 | (btrunc@var{m}2, rint@var{m}2): Likewise. | |
2858 | (round@var{m}2): Likewise. Fix incorrect description of rounding | |
2859 | effect. | |
2860 | (ceil@var{m}2): As for round@var{m}2. | |
2861 | (nearbyint@var{m}2): As for floor@var{m}2, but also mention that | |
2862 | the instruction must not raise an inexact condition. | |
2863 | (scalb@var{m}3): Document previously-undocumented pattern | |
2864 | (ldexp@var{m}3, tan@var{m}2, asin@var{m}2, acos@var{m}2) | |
2865 | (atan@var{m}2, expm1@var{m}2, exp10@var{m}2, exp2@var{m}2) | |
2866 | (log1p@var{m}2, log10@var{m}2, log2@var{m}2, logb@var{m}2) | |
2867 | (significand@var{m}2): Likewise. | |
2868 | (ffs@var{m}2): Fix the description of the modes, so that operand 1 has | |
2869 | mode m and operand 0 is defined more freely. Document that @var{m} | |
2870 | can be a scalar or vector integer mode and that the pattern is not | |
2871 | allowed to FAIL. | |
2872 | (clz@var{m}2, ctz@var{m}2, popcount@var{m}2, parity@var{m}2): Likewise. | |
2873 | (clrsb@var{m}2): Likewise, except that the description of the | |
2874 | mode was missing in this case. | |
2875 | ||
2876 | 2015-12-03 Richard Sandiford <richard.sandiford@arm.com> | |
2877 | ||
2878 | * internal-fn.def (RSQRT): New function. | |
2879 | * optabs.def (rsqrt_optab): New optab. | |
2880 | * doc/md.texi (rsqrtM2): Document. | |
2881 | * target.def (builtin_reciprocal): Replace gcall argument with | |
2882 | a function decl. Restrict hook to machine functions. | |
2883 | * doc/tm.texi: Regenerate. | |
2884 | * targhooks.h (default_builtin_reciprocal): Update prototype. | |
2885 | * targhooks.c (default_builtin_reciprocal): Likewise. | |
2886 | * tree-ssa-math-opts.c: Include internal-fn.h. | |
2887 | (internal_fn_reciprocal): New function. | |
2888 | (pass_cse_reciprocals::execute): Call it, and build a call to an | |
2889 | internal function on success. Only call targetm.builtin_reciprocal | |
2890 | for machine functions. | |
2891 | * config/aarch64/aarch64-protos.h (aarch64_builtin_rsqrt): Remove | |
2892 | second argument. | |
2893 | * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin_rsqrt): | |
2894 | Rename aarch64_rsqrt_<mode>2 to rsqrt<mode>2. | |
2895 | (aarch64_builtin_rsqrt): Remove md_fn argument and only handle | |
2896 | machine functions. | |
2897 | * config/aarch64/aarch64.c (use_rsqrt_p): New function. | |
2898 | (aarch64_builtin_reciprocal): Replace gcall argument with a | |
2899 | function decl. Use use_rsqrt_p. Remove optimize_size check. | |
2900 | Only handle machine functions. Update call to aarch64_builtin_rsqrt. | |
2901 | (aarch64_optab_supported_p): New function. | |
2902 | (TARGET_OPTAB_SUPPORTED_P): Define. | |
2903 | * config/aarch64/aarch64-simd.md (aarch64_rsqrt_<mode>2): Rename to... | |
2904 | (rsqrt<mode>2): ...this. | |
2905 | * config/i386/i386.c (use_rsqrt_p): New function. | |
2906 | (ix86_builtin_reciprocal): Replace gcall argument with a | |
2907 | function decl. Use use_rsqrt_p. Remove optimize_insn_for_size_p | |
2908 | check. Only handle machine functions. | |
2909 | (ix86_optab_supported_p): Handle rsqrt_optab. | |
2910 | * config/rs6000/rs6000.c (TARGET_OPTAB_SUPPORTED_P): Define. | |
2911 | (rs6000_builtin_reciprocal): Replace gcall argument with a | |
2912 | function decl. Remove optimize_insn_for_size_p check. | |
2913 | Only handle machine functions. | |
2914 | (rs6000_optab_supported_p): New function. | |
2915 | ||
2916 | 2015-12-03 Bernd Schmidt <bschmidt@redhat.com> | |
2917 | ||
2918 | PR target/68471 | |
2919 | PR target/68472 | |
2920 | * config/i386/i386.c (ix86_mitigate_rop): Don't call | |
2921 | compute_bb_for_insn again. Call df_insn_rescan_all. | |
2922 | * config/i386/i386.md (set_got_rex64): Override modrm_class. | |
2923 | ||
2924 | * regrename.c (build_def_use): Ignore stack regs if regstack_completed. | |
2925 | ||
2926 | 2015-12-03 Nathan Sidwell <nathan@acm.org> | |
2927 | ||
2928 | * config/nvptx/nvptx-protos.h (npvptx_section_from_addr_space): Delete. | |
2929 | * config/nvptx/nvptx.c (enum nvptx_data_area): New. | |
2930 | (SYMBOL_DATA_AREA, SET_SYMBOL_DATA_AREA): New defines. | |
2931 | (nvptx_option_override): Set data ares for worker vars. | |
2932 | (nvptx_addr_space_from_sym): Delete. | |
2933 | (nvptx_encode_section_info): New. | |
2934 | (section_for_sym, section_for_decl): New. | |
2935 | (nvptx_maybe_convert_symbolic_operand): Get data area from symbol flags. | |
2936 | (nvptx_section_from_addr_space): Delete. | |
2937 | (nvptx_section_for_decl): Delete. | |
2938 | (nvptx_output_aligned, nvptx_declare_object_name, | |
2939 | nvptx_assemble_undefined_decl): Use section_for_decl, remove | |
2940 | unnecessary checks. | |
2941 | (nvptx_print_operand): Add 'D', adjust 'A'. | |
2942 | (nvptx_expand_worker_addr): Adjust unspec generation. | |
2943 | (TARGET_ENCODE_SECTION_INFO): Override. | |
2944 | * config/nvptx/nvptx.h (ADDR_SPACE_GLOBAL, ADDR_SPACE_SHARED, | |
2945 | ADDR_SPACE_CONST, ADDR_SPACE_LOCAL, ADDR_SPACE_PARAM): Delete. | |
2946 | * config/nvptx/nvptx.md (UNSPEC_FROM_GLOBAL, UNSPEC_FROM_LOCAL, | |
2947 | UNSPEC_FROM_PARAM, UNSPEC_FROM_SHARED, UNSPEC_FROM_CONST, | |
2948 | UNSPEC_TO_GLOBAL, UNSPEC_TO_LOCAL, UNSPEC_TO_PARAM, | |
2949 | UNSPEC_TO_SHARED, UNSPEC_TO_CONST): Delete. | |
2950 | (UNSPEC_TO_GENERIC): New. | |
2951 | (nvptx_register_or_symbolic_operand): Delete. | |
2952 | (cvt_code, cvt_name, cvt_str): Delete. | |
2953 | (convaddr_<cvt_name><mode> [P]): Delete. | |
2954 | (convaddr_<mode> [P]): New. | |
2955 | ||
2956 | 2015-12-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
2957 | ||
2958 | PR rtl-optimization/68624 | |
2959 | * ifcvt.c (noce_try_cmove_arith): Check clobbers of temp regs in both | |
2960 | blocks if they exist and simplify the logic choosing the order to emit | |
2961 | them in. | |
2962 | ||
2963 | 2015-12-03 Richard Biener <rguenther@suse.de> | |
2964 | ||
2965 | PR tree-optimization/66051 | |
2966 | * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction | |
2967 | on load group size. Do not pass in vectorization_factor. | |
2968 | (vect_transform_slp_perm_load): Do not require any permute support. | |
2969 | (vect_build_slp_tree): Do not pass in vectorization factor. | |
2970 | (vect_analyze_slp_instance): Do not compute vectorization | |
2971 | factor estimate. Use vector size instead of vectorization factor | |
2972 | estimate to split store groups for BB vectorization. | |
2973 | ||
2974 | 2015-12-03 Ilya Enkovich <enkovich.gnu@gmail.com> | |
2975 | ||
2976 | * cfgexpand.c (expand_gimple_stmt_1): Return statement with | |
2977 | DECL as return value is allowed to have NULL bounds. | |
2978 | ||
2979 | 2015-12-03 Tom de Vries <tom@codesourcery.com> | |
2980 | ||
2981 | * graphite-isl-ast-to-gimple.c (binary_op_to_tree) | |
2982 | (gcc_expression_from_isl_expr_op): Guard isl_ast_op_zdiv_r usage with | |
2983 | HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. | |
2984 | ||
2985 | 2015-12-03 Richard Biener <rguenther@suse.de> | |
2986 | ||
2987 | PR tree-optimization/67800 | |
2988 | PR tree-optimization/68333 | |
2989 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Restore | |
2990 | restriction to reduction contexts but allow SLP reductions as well. | |
2991 | (vect_recog_sad_pattern): Likewise. | |
2992 | (vect_recog_widen_sum_pattern): Likewise. | |
2993 | ||
2994 | 2015-12-03 Richard Biener <rguenther@suse.de> | |
2995 | ||
2996 | PR tree-optimization/68639 | |
2997 | * tree-vect-data-refs.c (dr_group_sort_cmp): Split groups | |
2998 | belonging to different loops. | |
2999 | (vect_analyze_data_ref_accesses): Likewise. | |
3000 | ||
3001 | 2015-12-02 Kirill Yukhin <kirill.yukhin@intel.com> | |
3002 | ||
3003 | * config/i386/sse.md (define_insn "vec_extract_hi_<mode>_maskm"): | |
3004 | Remove "prefix_extra". | |
3005 | (define_insn "vec_extract_hi_<mode>_mask"): New. | |
3006 | (define_insn "vec_extract_hi_<mode>"): Remove masking. | |
3007 | ||
3008 | 2015-12-02 Jan Hubicka <hubicka@ucw.cz> | |
3009 | ||
3010 | * ipa-pure-const.c (ignore_edge_for_pure_const): New function. | |
3011 | (propagate_pure_const): Use it; fix comments and optimize loops. | |
3012 | ||
3013 | 2015-12-02 Jan Hubicka <hubicka@ucw.cz> | |
3014 | ||
3015 | * ipa-pure-const.c (ignore_edge): Rename to ... | |
3016 | (ignore_edge_for_nothrow) ... this one; also ignore eges to | |
3017 | interposable functions or ones that can not throw. | |
3018 | (propagate_nothrow): Fix handling of availability. | |
3019 | ||
3020 | 2015-12-02 Jan Hubicka <hubicka@ucw.cz> | |
3021 | ||
3022 | PR ipa/68184 | |
3023 | * cgraphunit.c (cgraph_node::analyze): Set can_throw_external. | |
3024 | ||
3025 | 2015-12-02 Aditya Kumar <aditya.k7@samsung.com> | |
3026 | Sebastian Pop <s.pop@samsung.com> | |
3027 | ||
3028 | * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Handle | |
3029 | isl_ast_op_zdiv_r. | |
3030 | (gcc_expression_from_isl_expr_op): Same. | |
3031 | ||
3032 | 2015-12-02 Aditya Kumar <aditya.k7@samsung.com> | |
3033 | Sebastian Pop <s.pop@samsung.com> | |
3034 | ||
3035 | * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Check | |
3036 | that insertion point is still in the region. | |
3037 | ||
3038 | 2015-12-02 Aditya Kumar <aditya.k7@samsung.com> | |
3039 | Sebastian Pop <s.pop@samsung.com> | |
3040 | ||
3041 | PR tree-optimization/68550 | |
3042 | * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Add dump. | |
3043 | (copy_bb_and_scalar_dependences): Do not code generate loop peeled | |
3044 | statements. | |
3045 | ||
3046 | 2015-12-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> | |
3047 | ||
3048 | * configure.ac: Check assembler support for R_PPC64_ENTRY relocation. | |
3049 | * configure: Regenerate. | |
3050 | * config.in: Regenerate. | |
3051 | * config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p): New | |
3052 | function. | |
3053 | (rs6000_output_function_prologue): Use it instead of checking | |
3054 | cfun->machine->r2_setup_needed. Use internal labels instead of | |
3055 | GNU as local label extension. Handle ELFv2 large code model. | |
3056 | (rs6000_output_mi_thunk): Do not set cfun->machine->r2_setup_needed. | |
3057 | (rs6000_elf_declare_function_name): Handle ELFv2 large code model. | |
3058 | ||
3059 | 2015-12-02 Jakub Jelinek <jakub@redhat.com> | |
3060 | ||
3061 | PR target/68647 | |
3062 | * optabs.c (expand_doubleword_popcount, expand_doubleword_parity): | |
3063 | New functions. | |
3064 | (expand_unop): Use them. | |
3065 | ||
3066 | 2015-12-02 Marek Polacek <polacek@redhat.com> | |
3067 | ||
3068 | PR c++/68653 | |
3069 | * tree.c (nonnull_arg_p): Allow OFFSET_TYPE. | |
3070 | ||
3071 | 2015-12-02 Nathan Sidwell <nathan@acm.org> | |
3072 | ||
3073 | * config/nvptx/nvptx.c (enum nvptx_shuffle_kind): New. Absorb | |
3074 | SHUFFLE defines. | |
3075 | (nvptx_gen_shuffle, nvptx_print_operand, nvptx_expand_shuffle): Adjust. | |
3076 | ||
3077 | 2015-12-02 Aditya Kumar <aditya.k7@samsung.com> | |
3078 | Sebastian Pop <s.pop@samsung.com> | |
3079 | ||
3080 | * graphite-dependences.c (scop_get_reads): Add extra dumps. | |
3081 | (scop_get_must_writes): Same. | |
3082 | (scop_get_may_writes): Same. | |
3083 | (compute_deps): Same. | |
3084 | * graphite-sese-to-poly.c (bounds_are_valid): New. | |
3085 | (pdr_add_data_dimensions): Call bounds_are_valid. | |
3086 | ||
3087 | 2015-12-02 Aditya Kumar <aditya.k7@samsung.com> | |
3088 | Sebastian Pop <s.pop@samsung.com> | |
3089 | ||
3090 | * common.opt (flag_loop_optimize_isl): Renamed flag_loop_nest_optimize. | |
3091 | * graphite-poly.c (apply_poly_transforms): Same. | |
3092 | * graphite.c (gate_graphite_transforms): Same. | |
3093 | * toplev.c (process_options): Same. | |
3094 | ||
3095 | 2015-12-02 Eric Botcazou <ebotcazou@adacore.com> | |
3096 | ||
3097 | * config/mips/mips.c (mips_emit_probe_stack_range): Adjust. | |
3098 | (mips_output_probe_stack_range): Rotate the loop and simplify. | |
3099 | ||
3100 | 2015-12-02 David Sherwood <david.sherwood@arm.com> | |
3101 | ||
3102 | * config/aarch64/aarch64.md: New pattern. | |
3103 | * config/aarch64/aarch64-simd.md: Likewise. | |
3104 | * config/aarch64/iterators.md: New unspecs, iterators. | |
3105 | ||
3106 | 2015-12-02 Pierre-Marie de Rodat <derodat@adacore.com> | |
3107 | ||
3108 | * dwarf2out.c (dwar2out_var_location): In addition to notes, | |
3109 | process indirect calls whose target is compile-time known. | |
3110 | Enhance pattern matching to get the SYMBOL_REF they embed. | |
3111 | (gen_subprogram_die): Handle such calls. | |
3112 | * final.c (final_scan_insn): For call instructions, invoke the | |
3113 | var_location debug hook only after the call has been emitted. | |
3114 | ||
3115 | 2015-12-02 Tom de Vries <tom@codesourcery.com> | |
3116 | ||
3117 | * gimplify.c (enum gimplify_omp_var_data): Add enum value | |
3118 | GOVD_MAP_FORCE. | |
3119 | (oacc_default_clause): Fix default for scalars in oacc kernels. | |
3120 | (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_FORCE. | |
3121 | ||
3122 | 2015-12-02 Tom de Vries <tom@codesourcery.com> | |
3123 | ||
3124 | * omp-low.c (install_var_field, scan_sharing_clauses): Add and handle | |
3125 | parameter base_pointers_restrict. | |
3126 | (omp_target_base_pointers_restrict_p): New function. | |
3127 | (scan_omp_target): Call scan_sharing_clauses with | |
3128 | base_pointers_restrict arg. | |
3129 | ||
3130 | 2015-12-02 Nathan Sidwell <nathan@acm.org> | |
3131 | ||
3132 | * config/nvptx/nvptx-protos.h (nvptx_output_mov_insn): Declare. | |
3133 | (nvptx_underlying_object_mode): Delete. | |
3134 | * config/nvptx/nvptx.c (nvptx_underlying_object_mode): Delete. | |
3135 | (output_reg): New. | |
3136 | (nvptx_declare_function_name): Use output_reg. Remove punning buffer. | |
3137 | (nvptx_output_mov_insn): New. | |
3138 | (nvptx_print_operand): Separate SUBREG handling, remove 'f' case, | |
3139 | Use output_reg. Merge 't' and 'u' handling. | |
3140 | * config/nvptx/nvptx.h (NVPTX_PUNNING_BUFFER_REGNUM): Delete. | |
3141 | (struct machine_function): Remvoe punning_buffer_size. | |
3142 | (REGISTER_NAMES): Remove %punbuffer. | |
3143 | * config/nvptx/nvptx.md (UNSPEC_CPLX_LOWPART, | |
3144 | UNSPEC_CPLX_HIGHPART): Delete. | |
3145 | (*mov<mode>_insn [QHSDIM): Remove unnecessary constraints, use | |
3146 | nvptx_output_mov_insn. | |
3147 | (*mov<mode>_insn [SDFM): Reorder constraints to match integer moc. | |
3148 | Use nvptx_output_mov_insn. | |
3149 | (highpartscsf2, set_highpartscsf2, lowpartscsf2, set_lowpartscsf2): | |
3150 | Delete. | |
3151 | (mov<mode> [SDCM]): Delete. | |
3152 | ||
3153 | 2015-12-02 Richard Biener <rguenther@suse.de> | |
3154 | ||
3155 | * tree.h (tree_invariant_p): Declare. | |
3156 | * tree.c (tree_invariant_p): Export. | |
3157 | * genmatch.c (dt_simplify::gen_1): For GENERIC code-gen never | |
3158 | create SAVE_EXPRs but reject patterns if we would need to. | |
3159 | ||
3160 | 2015-12-02 Tom de Vries <tom@codesourcery.com> | |
3161 | ||
3162 | * tree-ssa-structalias.c (find_func_aliases_for_builtin_call) | |
3163 | (find_func_clobbers, ipa_pta_execute): Handle BUILT_IN_GOACC_PARALLEL. | |
3164 | ||
3165 | 2015-12-02 Segher Boessenkool <segher@kernel.crashing.org> | |
3166 | ||
3167 | * config/rs6000/rs6000.md (cstore_si_as_di): New expander. | |
3168 | (cstore<mode>4): Use it. | |
3169 | ||
3170 | 2015-12-02 Richard Biener <rguenther@suse.de> | |
3171 | ||
3172 | PR tree-optimization/68625 | |
3173 | * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not call | |
3174 | cleanup_control_flow_bb. | |
3175 | (cleanup_tree_cfg_1): First perform cleanup_control_flow_bb | |
3176 | on all BBs, then cleanup_tree_cfg_bb and finally iterate | |
3177 | over the worklist doing both. | |
3178 | ||
3179 | 2015-12-02 Richard Sandiford <richard.sandiford@arm.com> | |
3180 | ||
3181 | PR tree-optimization/68432 | |
3182 | * coretypes.h (optimization_type): New enum. | |
3183 | * doc/tm.texi.in (TARGET_OPTAB_SUPPORTED_P): New hook. | |
3184 | * doc/tm.texi: Regenerate. | |
3185 | * target.def (optab_supported_p): New hook. | |
3186 | * targhooks.h (default_optab_supported_p): Declare. | |
3187 | * targhooks.c (default_optab_supported_p): New function. | |
3188 | * predict.h (function_optimization_type): Declare. | |
3189 | (bb_optimization_type): Likewise. | |
3190 | * predict.c (function_optimization_type): New function. | |
3191 | (bb_optimization_type): Likewise. | |
3192 | * optabs-query.h (convert_optab_handler): Define an overload | |
3193 | that takes an optimization type. | |
3194 | (direct_optab_handler): Likewise. | |
3195 | * optabs-query.c (convert_optab_handler): Likewise. | |
3196 | (direct_optab_handler): Likewise. | |
3197 | * internal-fn.h (direct_internal_fn_supported_p): Take an | |
3198 | optimization_type argument. | |
3199 | * internal-fn.c (direct_optab_supported_p): Likewise. | |
3200 | (multi_vector_optab_supported_p): Likewise. | |
3201 | (direct_internal_fn_supported_p): Likewise. | |
3202 | * builtins.c (replacement_internal_fn): Update call to | |
3203 | direct_internal_fn_supported_p. | |
3204 | * gimple-match-head.c (build_call_internal): Likewise. | |
3205 | * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise. | |
3206 | * tree-vect-stmts.c (vectorizable_internal_function): Likewise. | |
3207 | * tree.c (maybe_build_call_expr_loc): Likewise. | |
3208 | * config/i386/i386.c (ix86_optab_supported_p): New function. | |
3209 | (TARGET_OPTAB_SUPPORTED_P): Define. | |
3210 | * config/i386/i386.md (asinxf2): Remove optimize_insn_for_size_p check. | |
3211 | (asin<mode>2, acosxf2, acos<mode>2, log1pxf2, log1p<mode>2) | |
3212 | (expNcorexf3, expxf2, exp<mode>2, exp10xf2, exp10<mode>2, exp2xf2) | |
3213 | (exp2<mode>2, expm1xf2, expm1<mode>2, ldexpxf3, ldexp<mode>3) | |
3214 | (scalbxf3, scalb<mode>3, rint<mode>2, round<mode>2) | |
3215 | (<rounding_insn>xf2, <rounding_insn><mode>2): Likewise. | |
3216 | ||
3217 | 2015-12-02 Richard Sandiford <richard.sandiford@arm.com> | |
3218 | ||
3219 | * Makefile.in (GENSUPPORT_H): New macro. | |
3220 | (build/gensupport.o, build/read-rtl.o, build/genattr.o) | |
3221 | (build/genattr-common.o, build/genattrtab.o, build/genautomata.o) | |
3222 | (build/gencodes.o, build/genconditions.o, build/genconfig.o) | |
3223 | (build/genconstants.o, build/genextract.o, build/genflags.o) | |
3224 | (build/gentarget-def.o): Use it. | |
3225 | (build/genemit.o): Likewise. Depend on internal-fn.def. | |
3226 | * genopinit.c: Move block comment to optabs.def. | |
3227 | (optab_tag, optab_def): Move to gensupport.h | |
3228 | (pattern): Likewise, renaming to optab_pattern. | |
3229 | (match_pattern): Move to gensupport.c | |
3230 | (gen_insn): Use find_optab. | |
3231 | (patterns, pattern_cmp): Replace pattern with optab_pattern. | |
3232 | (main): Likewise. Use num_optabs. | |
3233 | * optabs.def: Add comment that was previously in genopinit.c. | |
3234 | * gensupport.h (optab_tag): Moved from genopinit.c | |
3235 | (optab_def): Likewise, expanding commentary. | |
3236 | (optab_pattern): Likewise, after renaming from pattern. | |
3237 | (optabs, num_optabs, find_optab): Declare. | |
3238 | * gensupport.c (optabs): Moved from genopinit.c. | |
3239 | (num_optabs): New variable. | |
3240 | (match_pattern): Moved from genopinit.c. | |
3241 | (find_optab): New function, extracted from genopinit.c:gen_insn. | |
3242 | * genemit.c (nofail_optabs): New variable. | |
3243 | (emit_c_code): New function. | |
3244 | (gen_expand): Check whether the instruction is an optab that isn't | |
3245 | allowed to fail. Call emit_c_code. | |
3246 | (gen_split): Call emit_c_code here too. | |
3247 | (main): Initialize nofail_optabs. Don't emit FAIL and DONE here. | |
3248 | ||
3249 | 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
3250 | ||
3251 | * config/s390/predicates.md (const_mask_operand): New predicate. | |
3252 | * config/s390/s390-builtins.def: Set a smaller bitmask | |
3253 | for a few builtins. | |
3254 | * config/s390/vector.md: Change predicate from immediate_operand | |
3255 | to either const_int_operand or const_mask_operand. Add special | |
3256 | insn conditions on patterns which have to exclude certain values. | |
3257 | * config/s390/vx-builtins.md: Likewise. | |
3258 | ||
3259 | 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
3260 | ||
3261 | * config/s390/vector.md ("*vec_set<mode>"): Change shift count | |
3262 | mode from DI to SI. | |
3263 | ||
3264 | 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
3265 | ||
3266 | * config/s390/s390-builtin-types.def: New builtin types added. | |
3267 | * config/s390/s390-builtins.def: Add s390_vec_splat_* definitions. | |
3268 | * config/s390/s390.c (s390_expand_builtin): Always truncate | |
3269 | constants to the mode in the pattern. | |
3270 | * config/s390/vecintrin.h: Let the vec_splat_* macros point to the | |
3271 | respective builtin __builtin_s390_vec_splat_*. | |
3272 | ||
3273 | 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
3274 | ||
3275 | * config/s390/s390-builtin-types.def: Sort builtin types. | |
3276 | ||
3277 | 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
3278 | ||
3279 | * config/s390/s390-c.c (s390_get_vstring_flags): Invert the | |
3280 | condition for the RT flag. | |
3281 | ||
3282 | 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
3283 | ||
3284 | * config/s390/constraints.md ("jKK"): New constraint. | |
3285 | * config/s390/s390.c (tm-constrs.h): Include for | |
3286 | satisfies_constraint_*. | |
3287 | (s390_legitimate_constant_p): Allow jKK constants. Use | |
3288 | satisfies_constraint_* also for the others. | |
3289 | (legitimate_reload_vector_constant_p): Likewise. | |
3290 | (print_operand): Allow h output modifier on vectors. | |
3291 | * config/s390/vector.md ("mov<mode>"): Add vrepi. | |
3292 | ||
3293 | 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
3294 | ||
3295 | * config/s390/vector.md ("*vec_splats<mode>"): Fix constraint | |
3296 | letter I->K. | |
3297 | ||
3298 | 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
3299 | ||
3300 | * config/s390/s390.md ("bswap<mode>2"): Add support for strv and strvg. | |
3301 | ("bswaphi2"): New pattern. | |
3302 | New splitter for HI reg-reg bswap. | |
3303 | ||
3304 | 2015-11-27 Jiri Engelthaler <engycz@gmail.com> | |
3305 | ||
3306 | PR driver/68029 | |
3307 | * opts-common.c (prune_options): Don't ignore -fdiagnostics-color | |
3308 | if it is the first parameter. | |
3309 | ||
3310 | 2015-12-01 Richard Sandiford <richard.sandiford@arm.com> | |
3311 | ||
3312 | PR tree-optimization/68577 | |
3313 | * tree-vect-stmts.c (simple_integer_narrowing): New function. | |
3314 | (vectorizable_call): Restrict internal function handling | |
3315 | to NONE and NARROW cases, using simple_integer_narrowing | |
3316 | to test for the latter. Add cost of narrowing operation | |
3317 | and insert it where necessary. | |
3318 | ||
3319 | 2015-12-01 Andreas Tobler <andreast@gcc.gnu.org> | |
3320 | ||
3321 | * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro. | |
3322 | (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set | |
3323 | rs6000_current_abi to ABI_AIX or ABI_ELFv2. | |
3324 | ||
3325 | 2015-12-01 Nathan Sidwell <nathan@acm.org> | |
3326 | ||
3327 | * config/nvptx/nvptx-protos.h (nvptx_output_aligned_decl): Declare. | |
3328 | * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON, | |
3329 | ASM_OUTPUT_ALIGNED_DECL_LOCAL): Forward to nvptx_output_aligned_decl. | |
3330 | * config/nvptx/nvptx.c (write_fn_marker, write_var_marker): New. | |
3331 | (write_fn_proto, write_fn_proto_from_insn): Call write_fn_marker. | |
3332 | (init_output_initializer): Call write_var_marker. | |
3333 | (nvptx_output_aligned_decl): New. | |
3334 | (nvptx_assemble_undefined_decl, nvptx_file_end): Call write_var_marker. | |
3335 | ||
3336 | 2015-12-01 Jan Hubicka <hubicka@ucw.cz> | |
3337 | ||
3338 | * c-common.c (parse_optimize_options): Do not silently ignore | |
3339 | -fstrict-aliasing changes. | |
3340 | ||
3341 | 2015-12-01 Jan Hubicka <hubicka@ucw.cz> | |
3342 | ||
3343 | * lto-streamer-out.c (hash_tree): Do not stream TYPE_ALIAS_SET. | |
3344 | * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not | |
3345 | stream TYPE_ALIAS_SET. | |
3346 | * tree-streamer-in.c (unpack_ts_type_common_value_fields): Do not | |
3347 | stream TYPE_ALIAS_SET. | |
3348 | ||
3349 | 2015-12-01 Nathan Sidwell <nathan@acm.org> | |
3350 | ||
3351 | * config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't | |
3352 | consider mode. | |
3353 | ||
3354 | 2015-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
3355 | ||
3356 | * config/rs6000/rs6000.c (const_load_sequence_p): Handle extra | |
3357 | indirection for large and small code models. | |
3358 | (adjust_vperm): Likewise. | |
3359 | ||
3360 | 2015-12-01 Julian Brown <julian@codesourcery.com> | |
3361 | Cesar Philippidis <cesar@codesourcery.com> | |
3362 | James Norris <James_Norris@mentor.com> | |
3363 | ||
3364 | * gimple-pretty-print.c (dump_gimple_omp_target): Add host_data support. | |
3365 | * gimple.h (gf_mask): Add GF_OMP_TARGET_KIND_OACC_HOST_DATA. | |
3366 | (is_gimple_omp_oacc): Add support for above. | |
3367 | * gimplify.c (omp_region_type): Add ORT_ACC_HOST_DATA. | |
3368 | (omp_notice_variable): Diagnose undefined implicit uses of | |
3369 | use_device variables in offloaded regions. | |
3370 | (gimplify_scan_omp_clauses): Add host_data, use_device | |
3371 | support. Diagnose undefined mapping of use_device variables in | |
3372 | OpenACC clauses. | |
3373 | (gimplify_omp_workshare): Add host_data support. | |
3374 | (gimplify_expr): Likewise. | |
3375 | * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): New. | |
3376 | * omp-low.c (lookup_decl_in_outer_ctx) | |
3377 | (maybe_lookup_decl_in_outer_ctx): Add optional argument to skip | |
3378 | host_data regions. | |
3379 | (scan_sharing_clauses): Support use_device. | |
3380 | (check_omp_nesting_restrictions): Support host_data. | |
3381 | (expand_omp_target): Support host_data. | |
3382 | (lower_omp_target): Skip over outer host_data regions when looking | |
3383 | up decls. Support use_device. | |
3384 | (make_gimple_omp_edges): Support host_data. | |
3385 | * tree-nested.c (convert_nonlocal_omp_clauses): Add use_device clause. | |
3386 | ||
3387 | 2015-12-01 Marek Polacek <polacek@redhat.com> | |
3388 | ||
3389 | PR middle-end/68582 | |
3390 | * cgraphunit.c (check_global_declaration): Only depend | |
3391 | on TREE_THIS_VOLATILE for VAR_DECLs. | |
3392 | ||
3393 | 2015-12-01 Richard Sandiford <richard.sandiford@arm.com> | |
3394 | ||
3395 | PR tree-optimization/68474 | |
3396 | * tree-call-cdce.c (use_internal_fn): Protect call to | |
3397 | gen_shrink_wrap_conditions. | |
3398 | ||
3399 | 2015-12-01 Christian Bruel <christian.bruel@st.com> | |
3400 | ||
3401 | PR target/68617 | |
3402 | * config/arm/arm.opt (unaligned_access): Save. | |
3403 | * config/arm/arm-c.c (__ARM_FEATURE_UNALIGNED): Conditionally define. | |
3404 | * config/arm/arm.c (arm_option_override): Move unaligned_access setting. | |
3405 | (arm_option_override_internal): ... here. | |
3406 | * config/arm/arm.h (TARGET_32BIT_P): New macro. | |
3407 | ||
3408 | 2015-12-01 Richard Biener <rguenther@suse.de> | |
3409 | ||
3410 | PR tree-optimization/68379 | |
3411 | * tree-vect-stmts.c (vectorizable_load): For BB vectorization | |
3412 | always base loads on the first used DR of a group. | |
3413 | * tree-vect-data-refs.c (vect_slp_analyze_and_verify_node_alignment): | |
3414 | Compute alignment of the first scalar element unconditionally. | |
3415 | ||
3416 | 2015-12-01 Richard Biener <rguenther@suse.de> | |
3417 | ||
3418 | PR middle-end/68590 | |
3419 | * genmatch.c (struct capture_info): Add match_use_count. | |
3420 | (capture_info::walk_match): Increment match_use_count. | |
3421 | (dt_simplify::gen_1): For GENERIC, only wrap multi-use | |
3422 | replacements in a save_expr if they occur more often than | |
3423 | in the original expression. | |
3424 | ||
3425 | 2015-12-01 Richard Biener <rguenther@suse.de> | |
3426 | ||
3427 | PR ipa/68470 | |
3428 | * ipa-split.c (split_function): Handle main part not returning. | |
3429 | ||
3430 | 2015-12-01 Ilya Enkovich <enkovich.gnu@gmail.com> | |
3431 | ||
3432 | PR middle-end/68595 | |
3433 | * tree-vect-stmts.c (vect_init_vector): Cast boolean | |
3434 | scalars to a proper value before building a vector. | |
3435 | ||
3436 | 2015-12-01 Richard Sandiford <richard.sandiford@arm.com> | |
3437 | ||
3438 | * genattrtab.c (check_attr_test): Take an attr_desc instead of | |
3439 | an is_const flag. Put the file_location argument first. | |
3440 | Update recursive calls. Improve error messages. | |
3441 | (check_attr_value): Take a file location and use it instead | |
3442 | of attr->loc. Improve error messages. Update calls to | |
3443 | check_attr_test. | |
3444 | (check_defs): Update call to check_attr_value. | |
3445 | (make_canonical): Likewise. | |
3446 | (gen_attr): Likewise. | |
3447 | (main): Likewise. | |
3448 | (gen_insn_reserv): Update call to check_attr_test. | |
3449 | ||
3450 | 2015-12-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
3451 | ||
3452 | * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Fix typo. | |
3453 | ||
3454 | 2015-12-01 Richard Biener <rguenther@suse.de> | |
3455 | ||
3456 | PR middle-end/68590 | |
3457 | * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns. | |
3458 | ||
3459 | 2015-12-01 Jan Hubicka <hubicka@ucw.cz> | |
3460 | ||
3461 | * ipa-devirt.c (type_with_linkage_p, type_in_anonymous_namespace_p, | |
3462 | odr_type_p): Move to ... | |
3463 | * ipa-utils.h (type_with_linkage_p, type_in_anonymous_namespace_p, | |
3464 | odr_type_p): here; miscro-optimize. | |
3465 | ||
3466 | 2015-12-01 Bin Cheng <bin.cheng@arm.com> | |
3467 | ||
3468 | PR tree-optimization/68529 | |
3469 | * tree-ssa-loop-niter.c (number_of_iterations_ne): Add new param. | |
3470 | Compute no-overflow information for control iv. | |
3471 | (number_of_iterations_lt, number_of_iterations_le): Add new param. | |
3472 | (number_of_iterations_cond): Pass new argument to above functions. | |
3473 | ||
3474 | 2015-11-30 Jan Hubicka <hubicka@ucw.cz> | |
3475 | ||
3476 | * ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when | |
3477 | inlining -fno-strict-aliasing into -fstrict-aliasing body. | |
3478 | ||
3479 | 2015-11-30 Aditya Kumar <aditya.k7@samsung.com> | |
3480 | Sebastian Pop <s.pop@samsung.com> | |
3481 | ||
3482 | PR tree-optimization/68565 | |
3483 | * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Early return on | |
3484 | codegen_error. Fail when rhs of division operations is integer_zerop. | |
3485 | (ternary_op_to_tree): Early return on codegen_error. | |
3486 | (unary_op_to_tree): Same. | |
3487 | (nary_op_to_tree): Same. | |
3488 | (gcc_expression_from_isl_expr_op): Same. | |
3489 | (gcc_expression_from_isl_expression): Same. | |
3490 | (graphite_create_new_loop): On codegen_error continue generating | |
3491 | wrong code. | |
3492 | (graphite_create_new_loop_guard): Same. | |
3493 | (build_iv_mapping): Same. | |
3494 | (graphite_create_new_guard): Same. | |
3495 | ||
3496 | 2015-11-30 Aditya Kumar <aditya.k7@samsung.com> | |
3497 | Sebastian Pop <s.pop@samsung.com> | |
3498 | ||
3499 | * graphite-isl-ast-to-gimple.c: Fix dump messages. | |
3500 | * graphite-scop-detection.c: Same. | |
3501 | * graphite-sese-to-poly.c (isl_id_for_ssa_name): Do not call get_name. | |
3502 | ||
3503 | 2015-11-30 Cesar Philippidis <cesar@codesourcery.com> | |
3504 | ||
3505 | * tree-nested.c (convert_nonlocal_omp_clauses): Add support for | |
3506 | OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}. | |
3507 | (convert_local_omp_clauses): Likewise. | |
3508 | ||
3509 | 2015-11-30 Tom de Vries <tom@codesourcery.com> | |
3510 | ||
3511 | PR tree-optimization/46032 | |
3512 | * tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function, | |
3513 | factored out of ... | |
3514 | (find_func_aliases_for_call): ... here. | |
3515 | (find_func_aliases_for_builtin_call, find_func_clobbers): Handle | |
3516 | BUILT_IN_GOMP_PARALLEL. | |
3517 | (ipa_pta_execute): Same. Handle node->parallelized_function as a local | |
3518 | function. | |
3519 | ||
3520 | 2015-11-30 Jakub Jelinek <jakub@redhat.com> | |
3521 | ||
3522 | PR tree-optimization/68501 | |
3523 | * target.def (builtin_reciprocal): Replace the 3 arguments with | |
3524 | a gcall * one, adjust description. | |
3525 | * targhooks.h (default_builtin_reciprocal): Replace the 3 arguments | |
3526 | with a gcall * one. | |
3527 | * targhooks.c (default_builtin_reciprocal): Likewise. | |
3528 | * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Use | |
3529 | targetm.builtin_reciprocal even on internal functions, adjust | |
3530 | the arguments and allow replacing an internal function with normal | |
3531 | built-in. | |
3532 | * config/i386/i386.c (ix86_builtin_reciprocal): Replace the 3 arguments | |
3533 | with a gcall * one. Handle internal fns too. | |
3534 | * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Likewise. | |
3535 | * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Likewise. | |
3536 | * doc/tm.texi (builtin_reciprocal): Document. | |
3537 | ||
3538 | 2015-11-30 Richard Biener <rguenther@suse.de> | |
3539 | ||
3540 | PR tree-optimization/68592 | |
3541 | * tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also | |
3542 | on the pattern def sequence. | |
3543 | ||
3544 | 2015-11-30 Nathan Sidwell <nathan@acm.org> | |
3545 | ||
3546 | * config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier. | |
3547 | (write_one_arg): Reorder parms, add 'sep' param. | |
3548 | (nvptx_write_function_decl): Rename to ... | |
3549 | (write_fn_proto): ... here. Do name replacement. Emit linaer | |
3550 | comment marker. Deal with both decls and defns. Simplify argument | |
3551 | formatting. | |
3552 | (write_function_decl_and_comment): Delete. | |
3553 | (write_func_decl_from_insn): Rename to ... | |
3554 | (write_fn_proto_from_insn): ... here. Don't do name replacement. | |
3555 | (nvptx_record_fndecl): Call write_fn_proto. | |
3556 | (nvptx_record_libfunc): Call write_fn_proto_from_insn. | |
3557 | (nvptx_declare_function_name): Adjust for write_fn_proto changes. | |
3558 | (nvotx_output_call_insn): Call write_fn_prot_from_insn. | |
3559 | ||
3560 | 2015-11-30 Kirill Yukhin <kirill.yukhin@intel.com> | |
3561 | ||
3562 | * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New. | |
3563 | (define_insn "*k<logic><mode>"): Use new iterator. | |
3564 | ||
3565 | 2015-11-30 Eric Botcazou <ebotcazou@adacore.com> | |
3566 | ||
3567 | PR target/28115 | |
3568 | * config/sparc/sparc.c (supersparc_adjust_cost): Fix thinko. | |
3569 | (sparc_adjust_cost): Add missing space. | |
3570 | ||
3571 | 2015-11-30 Richard Biener <rguenther@suse.de> | |
3572 | ||
3573 | PR c/68162 | |
3574 | * dwarf2out.c (gen_type_die_with_usage): Keep variant types of arrays. | |
3575 | ||
3576 | 2015-11-30 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com> | |
3577 | ||
3578 | * tree-if-conv.c (struct ifc_dr): Add new tree base_predicate field. | |
3579 | (hash_memrefs_baserefs_and_store_DRs_read_written_info): Hash | |
3580 | base ref, DR pairs and store base_predicate for write type DRs. | |
3581 | (ifcvt_memrefs_wont_trap): Guard checks with | |
3582 | -ftree-loop-if-convert-stores flag. | |
3583 | ||
3584 | 2015-11-29 Jan Hubicka <hubicka@ucw.cz> | |
3585 | ||
3586 | * cgraph.c (cgraph_node::make_local): No name is unique during | |
3587 | incremental linking. | |
3588 | * cgraph.h (can_be_discarded_p): Update comment; also common and | |
3589 | WEAK in named sections can be discarded; when doing incremental | |
3590 | link do not rely on resolution being the final one. | |
3591 | * varasm.c (default_binds_local_p_3, decl_binds_to_current_def_p): | |
3592 | When symbol can be discarded, do not rely on resolution info. | |
3593 | * symtab.c (symtab_node::nonzero_address): Take into account that | |
3594 | symbol can be discarded. | |
3595 | * ipa-visibility.c (update_visibility_by_resolution_info): Handle | |
3596 | definition correctly. | |
3597 | (function_and_variable_visibility): Do not set unique_name when | |
3598 | incrementally linking. | |
3599 | ||
3600 | 2015-11-29 Nathan Sidwell <nathan@acm.org> | |
3601 | ||
3602 | * config/nvptx/nvptx.md (const_0_operand, global_mem_operand, | |
3603 | const_mem_operand, param_mem_operand, shared_mem_operand): Delete. | |
3604 | (ctrap<mode>): Use const0_operand. | |
3605 | ||
3606 | 2015-11-29 Jan Hubicka <hubicka@ucw.cz> | |
3607 | ||
3608 | * ipa-devirt.c (add_type_duplicate): Remove redundant | |
3609 | ODR violation dump. | |
3610 | ||
3611 | 2015-11-29 David Edelsohn <dje.gcc@gmail.com> | |
3612 | ||
3613 | PR target/28115 | |
3614 | * config/rs6000/rs6000.c (rs6000_adjust_cost): Correct | |
3615 | recog_memoized test for insn and check recog_memoized for dep_insn. | |
3616 | ||
3617 | 2015-11-28 Nathan Sidwell <nathan@acm.org> | |
3618 | ||
3619 | * config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast. | |
3620 | (FRAME_POINTER_CFA_OFFSET): Define. | |
3621 | (struct nvptx_args): Use 'tree' type. | |
3622 | (INIT_CUMULATIVE_ARGS): Remove unnecessary do...while. | |
3623 | ||
3624 | 2015-11-28 Tom de Vries <tom@codesourcery.com> | |
3625 | ||
3626 | * lto-wrapper.c (run_gcc): Handle -flinker-output argument. | |
3627 | ||
3628 | 2015-11-27 Jonathan Wakely <jwakely@redhat.com> | |
3629 | ||
3630 | * doc/invoke.texi (Option Summary): Use negative form of | |
3631 | -Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format, | |
3632 | sort alphabetically and re-justify. | |
3633 | ||
3634 | 2015-11-27 Vladimir Makarov <vmakarov@redhat.com> | |
3635 | ||
3636 | PR rtl-optimization/68536 | |
3637 | * lra.c (lra_emit_add): Add code for null base. | |
3638 | * lra-constraints.c (curr_insn_transform): Skip operators for | |
3639 | subreg reloads. | |
3640 | ||
3641 | 2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
3642 | ||
3643 | Revert | |
3644 | 2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
3645 | ||
3646 | * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies | |
3647 | multiple_sets. | |
3648 | (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b | |
3649 | are not modified by the final modified insns in the basic blocks. | |
3650 | ||
3651 | 2015-11-27 Nathan Sidwell <nathan@acm.org> | |
3652 | ||
3653 | * config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address): | |
3654 | Don't declare. | |
3655 | * config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New. | |
3656 | (nvptx_maybe_convert_symbolic_operand): Simplify. | |
3657 | (nvptx_addr_space_from_address): Delete. | |
3658 | (nvptx_print_operand): Adjust 'A' case. | |
3659 | ||
3660 | 2015-11-27 Richard Biener <rguenther@suse.de> | |
3661 | ||
3662 | PR tree-optimization/68559 | |
3663 | * tree-vect-data-refs.c (vect_analyze_group_access_1): Move | |
3664 | peeling for gap checks ... | |
3665 | * tree-vect-stmts.c (vectorizable_load): ... here and relax for SLP. | |
3666 | * tree-vect-loop.c (vect_analyze_loop_2): Re-set | |
3667 | LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP. | |
3668 | ||
3669 | 2015-11-27 Nathan Sidwell <nathan@acm.org> | |
3670 | ||
3671 | * config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't declare. | |
3672 | * config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier. | |
3673 | (nvptx_record_fndecl): Don't return value, remove force | |
3674 | argument. Require fndecl. | |
3675 | (nvptx_record_libfunc): New. | |
3676 | (nvptx_record_needed_decl): Deteermine how to record decl here. | |
3677 | (nvptx_maybe_record_fnsym): New. | |
3678 | (nvptx_expand_call): Don't record libfuncs here, | |
3679 | (nvptx_maybe_convert_symbolic_operand): Use | |
3680 | nvptx_maye_record_fnsym. | |
3681 | (nvptx_assemble_integer): Reimplement with single switch. | |
3682 | (nvptx_output_call_insn): Register libfuncs here. | |
3683 | (nvptx_file_end): Adjust nvptx_record_fndecl call. | |
3684 | * config/nvptx/nvptx.md (expand_movdi): Don't call | |
3685 | nvptx_record_needed_decl. | |
3686 | ||
3687 | 2015-11-27 Richard Biener <rguenther@suse.de> | |
3688 | ||
3689 | PR tree-optimization/68553 | |
3690 | * tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR | |
3691 | generation for 1:1 permutations. | |
3692 | (vect_transform_slp_perm_load): Detect 1:1 permutations. | |
3693 | ||
3694 | 2015-11-27 Bernd Schmidt <bschmidt@redhat.com> | |
3695 | ||
3696 | * gimple.h (nonbarrier_call_p): Declare. | |
3697 | * gimple.c (nonbarrier_call_p): New function. | |
3698 | * tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children): | |
3699 | Also increment call phase for ASMs with vdef and potential barrier | |
3700 | calls. | |
3701 | ||
3702 | 2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
3703 | ||
3704 | * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies | |
3705 | multiple_sets. | |
3706 | (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b | |
3707 | are not modified by the final modified insns in the basic blocks. | |
3708 | ||
3709 | 2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
3710 | ||
3711 | PR rtl-optimization/68506 | |
3712 | * ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block | |
3713 | first if emit_a exists or then_bb modifies 'b'. Reindent if-else | |
3714 | blocks. | |
3715 | ||
3716 | 2015-11-27 Martin Liska <mliska@suse.cz> | |
3717 | ||
3718 | PR c++/68312 | |
3719 | * vec.h (release_vec_vec): New function. | |
3720 | ||
3721 | 2015-11-27 Jakub Jelinek <jakub@redhat.com> | |
3722 | ||
3723 | PR tree-optimization/68552 | |
3724 | * optabs.c (expand_vec_perm_1): Move vec_shr handling from here... | |
3725 | (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab | |
3726 | or whether v0 == v1. | |
3727 | ||
3728 | 2015-11-27 Martin Liska <mliska@suse.cz> | |
3729 | ||
3730 | * tree-ssa-uninit.c: Fix whitespaces in the source file. | |
3731 | The change is just automatical. | |
3732 | ||
3733 | 2015-11-27 Martin Liska <mliska@suse.cz> | |
3734 | ||
3735 | * tree-chkp.c (chkp_make_static_bounds): Release buffer | |
3736 | used for string. | |
3737 | ||
3738 | 2015-11-27 Martin Liska <mliska@suse.cz> | |
3739 | ||
3740 | * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): | |
3741 | Do not release memory for comp_alias_ddrs. | |
3742 | * tree-vect-loop.c (destroy_loop_vec_info): Release | |
3743 | the memory for all loop_vec_info. | |
3744 | ||
3745 | 2015-11-27 Martin Liska <mliska@suse.cz> | |
3746 | ||
3747 | * ipa-devirt.c (ipa_devirt): Use auto_vec instead | |
3748 | of a local-scope vec. | |
3749 | (struct final_warning_record): Use auto_vec instead of vec. | |
3750 | ||
3751 | 2015-11-27 Richard Biener <rguenther@suse.de> | |
3752 | ||
3753 | PR tree-optimization/68553 | |
3754 | * tree-vect-slp.c (vect_get_mask_element): Remove. | |
3755 | (vect_transform_slp_perm_load): Implement in a simpler way. | |
3756 | ||
dfb6d139 | 3757 | 2015-11-26 Alexandre Oliva <aoliva@redhat.com> |
fb2c1edd | 3758 | |
3759 | PR rtl-optimization/67753 | |
3760 | PR rtl-optimization/64164 | |
3761 | * function.c (assign_parm_setup_block): Right-shift | |
3762 | upward-padded big-endian args when bypassing the stack slot. | |
3763 | ||
3764 | 2015-11-26 Maciej W. Rozycki <macro@imgtec.com> | |
3765 | ||
3766 | * doc/invoke.texi (Option Summary) <MIPS Options>: Reorder | |
3767 | `-mcompact-branches='. | |
3768 | (MIPS Options): Likewise. | |
3769 | ||
3770 | 2015-11-26 Jakub Jelinek <jakub@redhat.com> | |
3771 | ||
3772 | * Makefile.in (build/genmatch.o): Depend on internal-fn.def. | |
3773 | ||
3774 | 2015-11-26 David Edelsohn <dje.gcc@gmail.com> | |
3775 | ||
3776 | * doc/install.texi (Prerequisites): Increase ISL requirement to | |
3777 | 0.14 or 0.15. | |
3778 | ||
3779 | 2015-11-26 Matthew Wahab <matthew.wahab@arm.com> | |
3780 | ||
3781 | * config/aarch64/arm_neon.h | |
3782 | (vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New. | |
3783 | (vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New. | |
3784 | (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New. | |
3785 | (vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New. | |
3786 | (vqrdmlah_lane_s16, vqrdmlah_lane_s32): New. | |
3787 | (vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New. | |
3788 | (vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New. | |
3789 | (vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New. | |
3790 | (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New. | |
3791 | (vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New. | |
3792 | (vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New. | |
3793 | (vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New. | |
3794 | ||
3795 | 2015-11-26 Matthew Wahab <matthew.wahab@arm.com> | |
3796 | ||
3797 | * config/aarch64/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New. | |
3798 | (vqrdmlahq_s16, vqrdmlahq_s32): New. | |
3799 | (vqrdmlsh_s16, vqrdmlsh_s32): New. | |
3800 | (vqrdmlshq_s16, vqrdmlshq_s32): New. | |
3801 | ||
3802 | 2015-11-26 Matthew Wahab <matthew.wahab@arm.com> | |
3803 | ||
3804 | * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add | |
3805 | ARM_FEATURE_QRDMX. | |
3806 | ||
3807 | 2015-11-26 Pierre-Marie de Rodat <derodat@adacore.com> | |
3808 | ||
3809 | PR debug/53927 | |
3810 | * tree-nested.c (finalize_nesting_tree_1): Append a field to | |
3811 | hold the frame base address. | |
3812 | * dwarf2out.c (gen_subprogram_die): Generate for | |
3813 | DW_AT_static_link a location description that computes the value | |
3814 | of this field. | |
3815 | ||
3816 | 2015-11-26 Tom de Vries <tom@codesourcery.com> | |
3817 | ||
3818 | revert: | |
3819 | 2015-11-25 Tom de Vries <tom@codesourcery.com> | |
3820 | ||
3821 | * cfgloop.c (find_single_latch): New function, factored out of ... | |
3822 | (flow_loops_find): ... here. | |
3823 | (verify_loop_structure): Improve verification of loop->latch. | |
3824 | * cfgloop.h (find_single_latch): Declare. | |
3825 | * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop. | |
3826 | ||
3827 | 2015-11-26 Matthew Wahab <matthew.wahab@arm.com> | |
3828 | ||
3829 | * config/aarch64/aarch64-simd-builtins.def: | |
3830 | Add missing changes from r230962. | |
3831 | ||
3832 | 2015-11-26 Nathan Sidwell <nathan@acm.org> | |
3833 | ||
3834 | * config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee | |
3835 | arg with name. Don't deal with split regs. Tweak formatting. | |
3836 | (nvptx_expand_call): Adjust write_func_decl_from_insn call. | |
3837 | (nvptx_output_call_insn): Don't deal with split regs here. | |
3838 | ||
3839 | 2015-11-26 Matthew Wahab <matthew.wahab@arm.com> | |
3840 | ||
3841 | * config/aarch64/aarch64-simd-builtins.def | |
3842 | (sqrdmlah, sqrdmlsh): New. | |
3843 | (sqrdmlah_lane, sqrdmlsh_lane): New. | |
3844 | (sqrdmlah_laneq, sqrdmlsh_laneq): New. | |
3845 | ||
3846 | 2015-11-26 Matthew Wahab <matthew.wahab@arm.com> | |
3847 | ||
3848 | * config/aarch64/aarch64-simd.md | |
3849 | (aarch64_sqmovun<mode>): Fix some white-space. | |
3850 | (aarch64_<sur>qmovun<mode>): Likewise. | |
3851 | (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h<mode>): New. | |
3852 | (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): New. | |
3853 | (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): New. | |
3854 | * config/aarch64/iterators.md (UNSPEC_SQRDMLAH): New. | |
3855 | (UNSPEC_SQRDMLSH): New. | |
3856 | (SQRDMLH_AS): New. | |
3857 | (rdma_as): New. | |
3858 | ||
3859 | 2015-11-26 Richard Biener <rguenther@suse.de> | |
3860 | ||
3861 | PR tree-optimization/66721 | |
3862 | * tree-vect-loop.c (vect_analyze_loop_2): Compute scalar | |
3863 | iteration cost earlier. Re-do analysis without SLP when | |
3864 | vectorization using SLP fails and without has a chance to succeed. | |
3865 | ||
3866 | 2015-11-26 Richard Biener <rguenther@suse.de> | |
3867 | ||
3868 | * genmatch.c (dt_simplify::gen_1): For generic wrap all | |
3869 | multi-result-use captures in a SAVE_EXPR. | |
3870 | ||
3871 | 2015-11-26 Matthew Wahab <matthew.wahab@arm.com> | |
3872 | ||
3873 | * config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New. | |
3874 | (TARGET_SIMD_RDMA): New. | |
3875 | ||
3876 | 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
3877 | ||
3878 | * combine.c (subst): Do not return clobber of zero in widening mult | |
3879 | case. Just return x unchanged if it is a no-op substitution. | |
3880 | ||
3881 | 2015-11-26 Vladimir Makarov <vmakarov@redhat.com> | |
3882 | ||
3883 | PR target/68416 | |
3884 | * config/i386/i386.h (enum reg_class): Add | |
3885 | bounds registers to ALL_REGS. | |
3886 | ||
3887 | 2015-11-26 Jakub Jelinek <jakub@redhat.com> | |
3888 | ||
3889 | PR tree-optimization/68128 | |
3890 | * tree.h (OMP_CLAUSE_SHARED_READONLY): Define. | |
3891 | * gimplify.c: Include gimple-walk.h. | |
3892 | (enum gimplify_omp_var_data): Add GOVD_WRITTEN. | |
3893 | (omp_notice_variable): Set flags to n->value if n already | |
3894 | exists in target region, but we need to jump to do_outer. | |
3895 | (omp_shared_to_firstprivate_optimizable_decl_p, | |
3896 | omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New | |
3897 | functions. | |
3898 | (gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY | |
3899 | on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is | |
3900 | not modified in the body. Call omp_mark_stores for outer | |
3901 | contexts on OMP_CLAUSE_SHARED clauses if they could be written | |
3902 | in the body or on OMP_CLAUSE_LASTPRIVATE. | |
3903 | (gimplify_adjust_omp_clauses): Add body argument, call | |
3904 | omp_find_stores_{stmt,op} on the body through walk_gimple_seq. | |
3905 | Set OMP_CLAUSE_SHARED_READONLY | |
3906 | on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is | |
3907 | not modified in the body. Call omp_mark_stores for outer | |
3908 | contexts on OMP_CLAUSE_SHARED clauses if they could be written | |
3909 | in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR | |
3910 | without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION. | |
3911 | (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task, | |
3912 | gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update, | |
3913 | gimplify_expr): Adjust gimplify_adjust_omp_clauses callers. | |
3914 | * tree-nested.c (convert_nonlocal_omp_clauses, | |
3915 | convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on | |
3916 | non-local vars or local vars referenced from nested routines. | |
3917 | * omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY | |
3918 | attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE. Even for | |
3919 | TREE_READONLY, don't call use_pointer_for_field with non-NULL | |
3920 | second argument until we are sure we are keeping OMP_CLAUSE_SHARED. | |
3921 | ||
dfb6d139 | 3922 | 2015-11-26 Paolo Bonzini <bonzini@gnu.org> |
fb2c1edd | 3923 | |
3924 | * doc/implement-c.texi (Integers Implementation): Make GCC's promises | |
3925 | about signed left shift stronger and clarify the cases when they're | |
3926 | broken. | |
3927 | ||
3928 | 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
3929 | Bernd Schmidt <bschmidt@redhat.com> | |
3930 | ||
3931 | PR rtl-optimization/67226 | |
3932 | * calls.c (store_one_arg): Take into account | |
3933 | crtl->args.pretend_args_size when checking for overlap between | |
3934 | arg->value and argblock + arg->locate.offset during sibcall | |
3935 | optimization. | |
3936 | ||
3937 | 2015-11-26 Wilco Dijkstra <wdijkstr@arm.com> | |
3938 | ||
3939 | * config/aarch64/aarch64.md (cbranch<mode>4): Use | |
3940 | aarch64_fp_compare_operand. | |
3941 | (store_pairsf): Use aarch64_reg_or_fp_zero. | |
3942 | (store_pairdf): Likewise. | |
3943 | (cstore<mode>4): Use aarch64_fp_compare_operand. | |
3944 | (cmov<mode>6): Likewise. | |
3945 | * config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero. | |
3946 | ||
3947 | 2015-11-25 Aditya Kumar <aditya.k7@samsung.com> | |
3948 | Sebastian Pop <s.pop@samsung.com> | |
3949 | ||
3950 | PR tree-optimization/68453 | |
3951 | * graphite-isl-ast-to-gimple.c (translate_isl_ast_for_loop): Do | |
3952 | not redirect edges already pointing to their destination. | |
3953 | (translate_isl_ast_node_for): Split edges after loops to create | |
3954 | basic blocks for close phi nodes. Save merge points at the end of | |
3955 | a loop guard. | |
3956 | (translate_isl_ast_node_if): Save merge points at the end of the | |
3957 | if region. | |
3958 | (add_close_phis_to_outer_loops): New. | |
3959 | (add_close_phis_to_merge_points): New. | |
3960 | (copy_loop_close_phi_args): Call add_close_phis_to_merge_points. | |
3961 | (copy_bb_and_scalar_dependences): Do not split basic blocks on | |
3962 | loop close phi locations. | |
3963 | ||
3964 | 2015-11-25 Jan Hubicka <jh@suse.cz> | |
3965 | ||
3966 | * ipa-visibility.c (cgraph_externally_visible_p, | |
3967 | varpool_node::externally_visible_p): When doing incremental linking, | |
3968 | hidden symbols may be still used later. | |
3969 | (update_visibility_by_resolution_info): Do not drop weak during | |
3970 | incremental link. | |
3971 | (function_and_variable_visibility): Fix formating. | |
3972 | * flag-types.h (lto_linker_output): Declare. | |
3973 | * common.opt 9flag_incremental_link): New flag. | |
3974 | ||
3975 | 2015-11-25 Michael Meissner <meissner@linux.vnet.ibm.com> | |
3976 | ||
3977 | * config/rs6000/constraints.md (wb constraint): New constraint for | |
3978 | ISA 3.0 d-form scalar addressing. | |
3979 | ||
3980 | * config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support | |
3981 | for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into | |
3982 | Altivec registers. Add wb constraint for Altivec registers with | |
3983 | D-form addressing. If we have ISA 3.0 d-form support, undo | |
3984 | secondary reload support for using FPR registers if we want to do | |
3985 | D-form addressing. | |
3986 | (rs6000_debug_reg_global): Likewise. | |
3987 | (rs6000_setup_reg_addr_masks): Likewise. | |
3988 | (rs6000_init_hard_regno_mode_ok): Likewise. | |
3989 | (rs6000_secondary_reload): Likewise. | |
3990 | (rs6000_preferred_reload_class): Likewise. | |
3991 | (rs6000_secondary_reload_class): Likewise. | |
3992 | ||
3993 | * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb | |
3994 | constraint. | |
3995 | ||
3996 | * config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support | |
3997 | for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers. | |
3998 | (f32_lm2): Likewise. | |
3999 | (f32_li2): Likewise. | |
4000 | (f32_sr2): Likewise. | |
4001 | (f32_sm2): Likewise. | |
4002 | (f32_si2): Likewise. | |
4003 | (f64_p9): Likewise. | |
4004 | (extendsfdf2_fpr): Likewise. | |
4005 | (mov<mode>_hardfloat): Likewise. | |
4006 | (mov<mode>_hardfloat32): Likewise. | |
4007 | (mov<mode>_hardfloat64): Likewise. | |
4008 | ||
4009 | * doc/md.texi (RS/6000 constraints): Document wb constraint. | |
4010 | Fixup we constraint documentation. | |
4011 | ||
4012 | 2015-11-25 Tom de Vries <tom@codesourcery.com> | |
4013 | ||
4014 | * omp-low.c (pass_expand_omp_ssa::clone): New function. | |
4015 | * passes.def: Add pass_oacc_kernels pass group. | |
4016 | * tree-ssa-loop-ch.c (pass_ch::clone): New function. | |
4017 | ||
4018 | 2015-11-25 Tom de Vries <tom@codesourcery.com> | |
4019 | ||
4020 | * tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2): | |
4021 | Declare. | |
4022 | * tree-ssa-loop.c (gate_oacc_kernels): New static function. | |
4023 | (pass_data_oacc_kernels, pass_data_oacc_kernels2): New pass_data. | |
4024 | (class pass_oacc_kernels, class pass_oacc_kernels2): New pass. | |
4025 | (make_pass_oacc_kernels, make_pass_oacc_kernels2): New function. | |
4026 | ||
4027 | 2015-11-25 Jan Hubicka <hubicka@ucw.cz> | |
4028 | ||
4029 | * timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS, | |
4030 | TV_IPA_LTO_OUTPUT): New. | |
4031 | * lto-compress.c: Include timevar.h | |
4032 | (lto_end_compression, lto_end_uncompression): Add timers. | |
4033 | * langhooks.c: Include timevar.h. | |
4034 | (lhd_append_data): Add timer. | |
4035 | ||
4036 | 2015-11-25 Jan Hubicka <hubicka@ucw.cz> | |
4037 | ||
4038 | * varasm.c (default_elf_asm_output_limited_string, | |
4039 | default_elf_asm_output_ascii): Replace fprintf by putc. | |
4040 | ||
4041 | 2015-11-25 Vladimir Makarov <vmakarov@redhat.com> | |
4042 | ||
4043 | PR rtl-optimization/67954 | |
4044 | * lra-constraints.c (curr_insn_transform): Add check on scratch | |
4045 | pseudo when change class to NO_REGS. Add an assert. | |
4046 | ||
4047 | 2015-11-25 Nathan Sidwell <nathan@acm.org> | |
4048 | ||
4049 | * config/nvptx/nvptx.md (load_arg_reg<mode>): Arg number | |
4050 | constraint is 'n'. | |
4051 | * config/nvptx/nvptx.c (write_one_arg): Use 'i' directly as arg number. | |
4052 | (nvptx_write_function_decl): Number args from 0. | |
4053 | (nvptx_declare_function_name): Likewise. | |
4054 | (nvptx_function_incoming_arg): Likewise. | |
4055 | (nvptx_output_call_insn): Correct formatting. | |
4056 | ||
4057 | 2015-11-25 David Sherwood <david.sherwood@arm.com> | |
4058 | ||
4059 | * optabs.def: Add new optabs fmax_optab/fmin_optab. | |
4060 | * internal-fn.def: Add new fmax/fmin internal functions. | |
4061 | * doc/md.texi: Add fmin and fmax patterns. | |
4062 | ||
4063 | 2015-11-25 Jason Merrill <jason@redhat.com> | |
4064 | ||
4065 | PR c++/68385 | |
4066 | * tree.c (integer_zerop, integer_onep, integer_each_onep) | |
4067 | (integer_all_onesp, integer_minus_onep, integer_pow2p) | |
4068 | (integer_nonzerop, integer_truep, tree_log2, tree_floor_log2) | |
4069 | (real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS. | |
4070 | ||
4071 | 2015-11-25 Richard Biener <rguenther@suse.de> | |
4072 | ||
4073 | PR middle-end/68528 | |
4074 | * fold-const.c (fold_binary_loc): Do not call negate_expr_p | |
4075 | on stripped operands. | |
4076 | ||
4077 | 2015-11-25 Nathan Sidwell <nathan@acm.org> | |
4078 | ||
4079 | * config/nvptx/nvptx.c (walk_args_for_params): Delete. | |
4080 | (nvptx_declare_function_name): Move assignments next to register | |
4081 | declarations, and process params here. | |
4082 | ||
4083 | 2015-11-25 David Edelsohn <dje.gcc@gmail.com> | |
4084 | ||
4085 | * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize | |
4086 | both the symbol and the "dot" symbol for function descriptors. Fix | |
4087 | inversion for rename of symbols with dollar sign. | |
4088 | ||
4089 | 2015-11-25 Tom de Vries <tom@codesourcery.com> | |
4090 | ||
4091 | * cfgloop.c (find_single_latch): New function, factored out of ... | |
4092 | (flow_loops_find): ... here. | |
4093 | (verify_loop_structure): Improve verification of loop->latch. | |
4094 | * cfgloop.h (find_single_latch): Declare. | |
4095 | * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop. | |
4096 | ||
4097 | 2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
4098 | ||
4099 | * config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up. | |
4100 | (STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define. | |
4101 | (STARTFILE_SPEC): Use %(startfile_vtv). | |
4102 | (ENDFILE_SPEC): Use %(endfile_vtv). | |
4103 | (SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC, | |
4104 | ENDFILE_VTV_SPEC. | |
4105 | ||
4106 | * gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}. | |
4107 | ||
4108 | 2015-11-25 Bernd Schmidt <bschmidt@redhat.com> | |
4109 | ||
4110 | * ifcvt.c (noce_mem_write_may_trap_or_fault_p, | |
4111 | noce_can_store_speculate): Delete. | |
4112 | (noce_process_if_block): Don't try to handle single MEM stores. | |
4113 | * rtl.h (memory_must_be_modified_in_insn_p): Don't declare. | |
4114 | * alias.c (memory_must_be_modified_in_insn_p): Delete. | |
4115 | ||
4116 | 2015-11-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
4117 | ||
4118 | PR rtl-optimization/68435 | |
4119 | * ifcvt.c (noce_try_cmove_arith): Skip final insn when checking | |
4120 | for conflicts between a, b and the set destinations. | |
4121 | ||
4122 | 2015-11-25 Richard Biener <rguenther@suse.de> | |
4123 | ||
4124 | PR tree-optimization/68517 | |
4125 | * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): | |
4126 | Properly handle zero-sized types. | |
4127 | ||
4128 | 2015-11-24 Jan Hubicka <hubicka@ucw.cz> | |
4129 | ||
4130 | * ipa-inline-analysis.c: Include gimplify.h | |
4131 | (set_cond_stmt_execution_predicate, | |
4132 | set_switch_stmt_execution_predicate): Be sure to not leak locations | |
4133 | to function body. | |
4134 | ||
4135 | 2015-11-25 Jakub Jelinek <jakub@redhat.com> | |
4136 | ||
4137 | PR target/67089 | |
4138 | * tree-ssa-math-opts.c (uaddsub_overflow_check_p, | |
4139 | match_uaddsub_overflow): New functions. | |
4140 | (pass_optimize_widening_mul::execute): Call match_uaddsub_overflow. | |
4141 | ||
4142 | 2015-11-25 Richard Biener <rguenther@suse.de> | |
4143 | ||
4144 | PR tree-optimization/68492 | |
4145 | * tree-vect-slp.c (vect_build_slp_tree): Consistently build up | |
4146 | op from scalars after operand swapping. | |
4147 | ||
4148 | 2015-11-25 Richard Biener <rguenther@suse.de> | |
4149 | ||
4150 | PR tree-optimization/68502 | |
4151 | * tree-vect-data-refs.c (vect_analyze_group_access_1): Restore | |
4152 | check that the step is a multiple of the type size. | |
4153 | ||
4154 | 2015-11-24 Michael Collison <michael.collison@linaro.org> | |
4155 | ||
4156 | * config/aarch64/aarch64-simd.md (widen_ssum, widen_usum) | |
4157 | (aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns | |
4158 | * config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes. | |
4159 | ||
4160 | 2015-11-24 Steve Ellcey <sellcey@imgtec.com> | |
4161 | ||
4162 | * frame-header-opt.c (gate): Check for optimize > 0. | |
4163 | (has_inlined_assembly): New function. | |
4164 | (needs_frame_header_p): Remove is_leaf_function check, | |
4165 | add argument type check. | |
4166 | (callees_functions_use_frame_header): Add is_leaf_function | |
4167 | and has_inlined_assembly calls.. | |
4168 | (set_callers_may_not_allocate_frame): New function. | |
4169 | (frame_header_opt): Add is_leaf_function call, add | |
4170 | set_callers_may_not_allocate_frame call. | |
4171 | * config/mips/mips.c (mips_compute_frame_info): Add check | |
4172 | to see if callee saved regs can be put in frame header. | |
4173 | (mips_expand_prologue): Add check to see if step1 is zero, | |
4174 | fix cfa restores when using frame header to store regs. | |
4175 | (mips_can_use_return_insn): Check to see if registers are | |
4176 | stored in frame header. | |
4177 | * config/mips/mips.h (machine_function): Add | |
4178 | callers_may_not_allocate_frame and | |
4179 | use_frame_header_for_callee_saved_regs fields. | |
4180 | ||
4181 | 2015-11-24 Segher Boessenkool <segher@kernel.crashing.org> | |
4182 | ||
4183 | PR rtl-optimization/68520 | |
4184 | * shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if | |
4185 | its bit was already set in BB_WITH. | |
4186 | ||
4187 | 2015-11-24 Jan Hubicka <hubicka@ucw.cz> | |
4188 | ||
4189 | * alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P | |
4190 | double check that type is main variant. | |
4191 | * tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing | |
4192 | variant. | |
4193 | (verify_type_variant): Verify that variants have no | |
4194 | TYPE_ALIAS_SET_KNOWN_P set | |
4195 | * tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder | |
4196 | streaming so constant fields come first; stream TYPE_ALIAS_SET==0 | |
4197 | only for main variants; stream TYPE_ALIAS_SET as a bit. | |
4198 | * tree-streamer-in.c (unpack_ts_type_common_value_fields): Update | |
4199 | accordingly. | |
4200 | ||
4201 | 2015-11-24 Jan Hubicka <hubicka@ucw.cz> | |
4202 | ||
4203 | * tree.c (make_vector_type): Properly compute canonical type of the | |
4204 | main variant. | |
4205 | (verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is | |
4206 | a main variant. | |
4207 | ||
4208 | 2015-11-24 Nathan Sidwell <nathan@acm.org> | |
4209 | ||
4210 | * config/nvptx/nvptx.c (maybe_split_mode): Return new mode or | |
4211 | VOIDmode, don't alter incoming mode. | |
4212 | (nvptx_split_reg_p): Delete. | |
4213 | (write_one_arg, walk_args_for_param, nvptx_declare_function_name, | |
4214 | write_func_decl_from_insn, nvptx_output_call_insn): Adjust | |
4215 | maybe_split_mode calls. | |
4216 | (nvptx_print_operand): Use maybe_split_mode. | |
4217 | ||
4218 | 2015-11-24 Jan Hubicka <hubicka@ucw.cz> | |
4219 | ||
4220 | * lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL | |
4221 | only for types where LTO sets them. | |
4222 | * tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO. | |
4223 | (make_vector_type): Likewise. | |
4224 | (gimple_canonical_types_compatible_p): Use canonical_type_used_p. | |
4225 | * tree.h (canonical_type_used_p): New inline. | |
4226 | * alias.c (get_alias_set): Handle structural equality for all | |
4227 | types that pass canonical_type_used_p. | |
4228 | (record_component_aliases): Look through all types with | |
4229 | record_component_aliases for possible pointers; sanity check that | |
4230 | the alias sets match. | |
4231 | ||
4232 | 2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com> | |
4233 | ||
4234 | * config/rs6000/rs6000.md (lround<mode>di2): Remove constraints. | |
4235 | ||
4236 | 2015-11-24 Jan Hubicka <hubicka@ucw.cz> | |
4237 | ||
4238 | * tree.c (free_node): New function. | |
4239 | (type_hash_canon): Use it. | |
4240 | * tree.h (free_node): Declare. | |
4241 | ||
4242 | 2015-11-24 David Edelsohn <dje.gcc@gmail.com> | |
4243 | Michael Meissner <meissner@linux.vnet.ibm.com> | |
4244 | ||
4245 | * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec. | |
4246 | (Fv2): New mode attribute to be used when ISA 2.07 instructions | |
4247 | are used on SF values, and ISA 2.06 instructions on DF values. | |
4248 | (add<mode>3_fpr): Use <Fv2> instead of <Fv>. | |
4249 | (sub<mode>3_fpr): Use <Fv2> instead of <Fv>. | |
4250 | (mul<mode>3_fpr): Use <Fv2> instead of <Fv>. | |
4251 | (div<mode>3_fpr): Use <Fv2> instead of <Fv>. | |
4252 | (sqrt<mode>2): Use <Fv2> instead of <Fv>. | |
4253 | (fre<Fs>): Use <Fv2> instead of <Fv>. | |
4254 | (rsqrt<mode>2): Use <Fv2> instead of <Fv>. | |
4255 | (cmp<mode>_fpr): Use <Fv2> instead of <Fv>. | |
4256 | (xsrdpi<mode>): Add support for the lround function. | |
4257 | (lround<mode>di2): Likewise. | |
4258 | (fma<mode>4_fpr): Use <Fv2> instead of <Fv>. | |
4259 | (fms<mode>4_fpr): Use <Fv2> instead of <Fv>. | |
4260 | (nfma<mode>4_fpr): Use <Fv2> instead of <Fv>. | |
4261 | (nfms<mode>4_fpr): Use <Fv2> instead of <Fv>. | |
4262 | ||
4263 | 2015-11-24 Aditya Kumar <aditya.k7@samsung.com> | |
4264 | Sebastian Pop <s.pop@samsung.com> | |
4265 | ||
4266 | PR tree-optimization/67984 | |
4267 | * graphite-isl-ast-to-gimple.c (is_constant): New. | |
4268 | (get_rename): Call is_constant. | |
4269 | (get_new_name): Same. | |
4270 | ||
4271 | 2015-11-24 Aditya Kumar <aditya.k7@samsung.com> | |
4272 | Sebastian Pop <s.pop@samsung.com> | |
4273 | ||
4274 | * graphite-dependences.c: Only include graphite.h. | |
4275 | * graphite-isl-ast-to-gimple.c: Same. | |
4276 | * graphite-optimize-isl.c: Same. | |
4277 | * graphite-poly.c: Same. | |
4278 | * graphite-scop-detection.c: Same. | |
4279 | * graphite-sese-to-poly.c: Same. | |
4280 | * graphite.c: Same. | |
4281 | * graphite-isl-ast-to-gimple.h: Move to graphite.h. | |
4282 | * graphite-poly.h: Same. | |
4283 | * graphite-scop-detection.h: Same. | |
4284 | * graphite.h: New. | |
4285 | ||
4286 | 2015-11-24 Pierre-Marie de Rodat <derodat@adacore.com> | |
4287 | ||
4288 | * dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead of | |
4289 | DW_TAG_namespace for IMPORTED_DECL declarations. Call | |
4290 | dwarf2out_imported_module_or_decl_1 for all DWARF versions as this | |
4291 | function already takes care of checking what it can emit. | |
4292 | ||
4293 | 2015-11-24 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
4294 | ||
4295 | * doc/invoke.texi (-fpic): Add the AArch64 limit. | |
4296 | (-fPIC): Add AArch64. | |
4297 | ||
4298 | 2015-11-24 Tom de Vries <tom@codesourcery.com> | |
4299 | ||
4300 | * tree-ssa-loop-im.c (tree_ssa_lim): Make static. | |
4301 | (pass_lim::execute): Allow to run outside pass_tree_loop. | |
4302 | ||
4303 | 2015-11-24 Wilco Dijkstra <wdijkstr@arm.com> | |
4304 | ||
4305 | * config/aarch64/aarch64.md (add<mode>3): | |
4306 | Block early expansion into 2 add instructions. | |
4307 | (add<mode>3_pluslong): New pattern to combine complex | |
4308 | immediates into 2 additions. | |
4309 | ||
4310 | 2015-11-24 Segher Boessenkool <segher@kernel.crashing.org> | |
4311 | ||
4312 | PR target/66217 | |
4313 | PR target/67677 | |
4314 | PR target/68332 | |
4315 | * config/rs6000/predicates.md (and_operand): Check that the operand | |
4316 | is a const_int before calling rs6000_is_valid_and_mask. | |
4317 | ||
4318 | 2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
4319 | ||
4320 | * config/aarch64/aarch64.md (*condjump): Rename to... | |
4321 | (condjump): ... This. | |
4322 | (*compare_condjump<mode>): New define_insn_and_split. | |
4323 | (*compare_cstore<mode>_insn): Likewise. | |
4324 | (*cstore<mode>_insn): Rename to... | |
4325 | (cstore<mode>_insn): ... This. | |
4326 | * config/aarch64/iterators.md (CMP): Handle ne code. | |
4327 | * config/aarch64/predicates.md (aarch64_imm24): New predicate. | |
4328 | ||
4329 | 2015-11-24 Mikhail Maltsev <maltsevm@gmail.com> | |
4330 | ||
4331 | PR target/68497 | |
4332 | * config/i386/i386.c (output_387_binary_op): Fix assertion for | |
4333 | -fno-checking case. | |
4334 | ||
4335 | 2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
4336 | ||
4337 | * tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove. | |
4338 | (val_ssa_equiv_hash_traits::remove): Likewise. | |
4339 | (pass_uncprop::execute): Adjust. | |
4340 | ||
4341 | 2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
4342 | ||
4343 | * hash-map-traits.h (simple_hashmap_traits ::remove): call | |
4344 | destructors on values that are being removed. | |
4345 | * mem-stats.h (hash_map): Pass type of values to | |
4346 | simple_hashmap_traits. | |
4347 | * tree-sra.c (sra_deinitialize): Remove work around for hash | |
4348 | maps not destructing values. | |
4349 | * genmatch.c (sinfo_hashmap_traits): Adjust. | |
4350 | * tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise. | |
4351 | ||
4352 | 2015-11-24 Richard Biener <rguenther@suse.de> | |
4353 | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
4354 | ||
4355 | PR middle-end/68375 | |
4356 | * cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid | |
4357 | bogus assertion. | |
4358 | ||
4359 | 2015-11-24 Jakub Jelinek <jakub@redhat.com> | |
4360 | ||
4361 | PR target/68483 | |
4362 | * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR | |
4363 | is valid vec_shr pattern, don't lower it even if can_vec_perm_p | |
4364 | returns false. | |
4365 | * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX | |
4366 | whenever first is nelt or above. Don't mask expected with | |
4367 | 2 * nelt - 1. | |
4368 | ||
4369 | 2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> | |
4370 | ||
4371 | PR c/68337 | |
4372 | * gimple-fold.c: Include ipa-chkp.h. | |
4373 | (gimple_fold_builtin_memory_op): Don't fold call if we | |
4374 | are going to instrument it and it may copy pointers. | |
4375 | ||
dfb6d139 | 4376 | 2015-11-24 Bernd Schmidt <bschmidt@redhat.com> |
fb2c1edd | 4377 | Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
4378 | ||
4379 | PR rtl-optimization/68194 | |
4380 | PR rtl-optimization/68328 | |
4381 | PR rtl-optimization/68185 | |
4382 | * ree.c (combine_reaching_defs): Reject copy_needed case if | |
4383 | copies_list is not empty. | |
4384 | ||
4385 | 2015-11-24 Richard Biener <rguenther@suse.de> | |
4386 | ||
4387 | PR middle-end/68221 | |
4388 | * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly | |
4389 | use mem_ref_offset. | |
4390 | ||
4391 | 2015-11-24 Segher Boessenkool <segher@kernel.crashing.org> | |
4392 | ||
4393 | PR rtl-optimization/68381 | |
4394 | * combine.c (is_parallel_of_n_reg_sets): Return false if the pattern | |
4395 | is poisoned. | |
4396 | ||
4397 | 2015-11-23 Nick Clifton <nickc@redhat.com> | |
4398 | Jeff Law <law@redhat.com> | |
4399 | ||
4400 | * ree.c (add_removable_extension): Avoid mis-optimizing cases where | |
4401 | the source/dest of the target extension require a different number of | |
4402 | hard registers. | |
4403 | (combine_set_extension): Remove #if 0 code. | |
4404 | ||
4405 | 2015-11-23 Aditya Kumar <aditya.k7@samsung.com> | |
4406 | Sebastian Pop <s.pop@samsung.com> | |
4407 | ||
4408 | PR tree-optimization/68314 | |
4409 | * graphite-optimize-isl.c (optimize_isl): Do not call | |
4410 | isl_union_map_is_equal. | |
4411 | * graphite-poly.c (new_scop): Remove original_schedule. | |
4412 | (free_scop): Same. | |
4413 | * graphite-poly.h (struct scop): Same. | |
4414 | * graphite-sese-to-poly.c (build_pbb_minimal_scattering_polyhedrons): | |
4415 | Remove. | |
4416 | (build_pbb_scattering_polyhedrons): Add back. | |
4417 | (build_scop_minimal_scattering): Remove. | |
4418 | (build_scop_scattering): Add back. | |
4419 | (build_scop_original_schedule): Remove. | |
4420 | (build_poly_scop): Revert to only call build_scop_scattering. | |
4421 | ||
4422 | 2015-11-23 Aditya Kumar <aditya.k7@samsung.com> | |
4423 | Sebastian Pop <s.pop@samsung.com> | |
4424 | ||
4425 | PR tree-optimization/68493 | |
4426 | * graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes): Add | |
4427 | missing early return when codegen_error is set. | |
4428 | ||
4429 | 2015-11-23 Aditya Kumar <aditya.k7@samsung.com> | |
4430 | Sebastian Pop <s.pop@samsung.com> | |
4431 | ||
4432 | PR tree-optimization/68279 | |
4433 | * graphite-poly.c (new_scop): Remove poly_scop_p. | |
4434 | * graphite-poly.h (struct scop): Same. | |
4435 | (build_poly_scop): Declare. | |
4436 | * graphite-sese-to-poly.c: Do not include graphite-sese-to-poly.h. | |
4437 | (cleanup_loop_iter_dom): New. | |
4438 | (build_loop_iteration_domains): Early return when scev analysis fails. | |
4439 | (create_pw_aff_from_tree): Same. | |
4440 | (add_condition_to_pbb): Same. | |
4441 | (add_conditions_to_domain): Same. | |
4442 | (add_conditions_to_constraints): Same. | |
4443 | (build_scop_iteration_domain): Same. | |
4444 | (build_poly_scop): Same. Do not initialize poly_scop_p. | |
4445 | * graphite-sese-to-poly.h: Remove. | |
4446 | * graphite.c: Do not include graphite-sese-to-poly.h. | |
4447 | (graphite_transform_loops): Stop before code generation when | |
4448 | build_poly_scop fails. | |
4449 | * sese.c (scalar_evolution_in_region): Add fixme note about scev | |
4450 | analysis. | |
4451 | ||
4452 | 2015-11-23 Aditya Kumar <aditya.k7@samsung.com> | |
4453 | Sebastian Pop <s.pop@samsung.com> | |
4454 | ||
4455 | * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): | |
4456 | Remove call to update_ssa. | |
4457 | * sese.c (sese_insert_phis_for_liveouts): Same. | |
4458 | ||
4459 | 2015-11-23 Marek Polacek <polacek@redhat.com> | |
4460 | ||
4461 | PR tree-optimization/68455 | |
4462 | * tree-vrp.c (extract_range_from_binary_expr_1): Don't call | |
4463 | extract_range_from_multiplicative_op_1 on symbolic ranges. | |
4464 | ||
4465 | 2015-11-23 Richard Henderson <rth@redhat.com> | |
4466 | ||
4467 | * optabs.def (uaddv4_optab, usubv4_optab): New. | |
4468 | * internal-fn.c (expand_addsub_overflow): Use them. | |
4469 | * doc/md.texi (Standard Names): Add uaddv<m>4, usubv<m>4. | |
4470 | ||
4471 | * config/i386/i386.c (ix86_cc_mode): Extend add overflow check | |
4472 | to reversed operands. | |
4473 | * config/i386/i386.md (uaddv<SWI>4, usubv<SWI>4): New. | |
4474 | (*add<SWI>3_cconly_overflow_1): Rename *add<SWI>3_cconly_overflow. | |
4475 | (*add<SWI>3_cc_overflow_1): Rename *add<SWI>3_cc_overflow. | |
4476 | (*addsi3_zext_cc_overflow_1): Rename *add3_zext_cc_overflow. | |
4477 | (*add<SWI>3_cconly_overflow_2): New. | |
4478 | (*add<SWI>3_cc_overflow_2): New. | |
4479 | (*addsi3_zext_cc_overflow_2): New. | |
4480 | ||
4481 | 2015-11-23 Richard Biener <rguenther@suse.de> | |
4482 | ||
4483 | PR tree-optimization/68465 | |
4484 | * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): | |
4485 | Also record equalities from multiple predecessor blocks if | |
4486 | only one non-backedge exists. | |
4487 | ||
4488 | 2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
4489 | ||
4490 | PR target/68363 | |
4491 | * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments | |
4492 | that are not INSN_P. | |
4493 | ||
4494 | 2015-11-23 Bilyan Borisov <bilyan.borisov@arm.com> | |
4495 | ||
4496 | * config/aarch64/aarch64-builtins.c | |
4497 | (aarch64_gimple_fold_builtin): Fold FMULX. | |
4498 | ||
4499 | 2015-11-23 David Edelsohn <dje.gcc@gmail.com> | |
4500 | ||
4501 | * system.h: Don't poison calloc and strdup if USES_ISL is defined. | |
4502 | * graphite-dependences.c: Define USES_ISL. Include ISL header files | |
4503 | after GCC header files and before graphite header files. | |
4504 | * graphite-dependences.c: Same. | |
4505 | * graphite-isl-ast-to-gimple.c: Same. | |
4506 | * graphite-optimize-isl.c: Same. | |
4507 | * graphite-poly.c: Same. | |
4508 | * graphite-scop-detection.c: Same. | |
4509 | * graphite-sese-to-poly.c: Same. | |
4510 | * graphite.c: Same. | |
4511 | ||
4512 | 2015-11-23 Richard Biener <rguenth@gcc.gnu.org> | |
4513 | Jiong Wang <jiong.wang@arm.com> | |
4514 | ||
4515 | PR tree-optimization/68317 | |
4516 | PR tree-optimization/68326 | |
4517 | * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the | |
4518 | final min and max are not infinity. | |
4519 | ||
4520 | 2015-11-23 Ilya Enkovich <enkovich.gnu@gmail.com> | |
4521 | Richard Biener <rguenther@suse.de> | |
4522 | ||
4523 | PR tree-optimization/68327 | |
4524 | * tree-vect-loop.c (vect_determine_vectorization_factor): Don't | |
4525 | compute vectype for non-relevant mask producers. | |
4526 | * tree-vect-stmts.c (vectorizable_comparison): Check stmt | |
4527 | relevance earlier. | |
4528 | ||
4529 | 2015-11-23 Tom de Vries <tom@codesourcery.com> | |
4530 | ||
4531 | PR tree-optimization/68460 | |
4532 | * tree-parloops.c (gather_scalar_reductions): Also call | |
4533 | free_stmt_vec_info_vec if simple_loop_info == NULL. | |
4534 | ||
4535 | 2015-11-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com> | |
4536 | ||
4537 | * opts.c (finish_options): Allow -fsanitize-recover=address for | |
4538 | userspace sanitization. | |
4539 | * asan.c (asan_expand_check_ifn): Redefine recover_p. | |
4540 | * doc/invoke.texi (fsanitize-recover): Update documentation. | |
4541 | ||
4542 | 2015-11-23 Tom de Vries <tom@codesourcery.com> | |
4543 | ||
4544 | * omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping. | |
4545 | ||
4546 | 2015-11-23 Richard Biener <rguenther@suse.de> | |
4547 | ||
4548 | PR tree-optimization/68445 | |
4549 | * tree-vect-slp.c (vect_create_mask_and_perm): Properly use | |
4550 | two different strides. | |
4551 | ||
4552 | 2015-11-23 Robin Dapp <rdapp@linux.vnet.ibm.com> | |
4553 | ||
4554 | * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc. | |
4555 | * config/s390/s390.c (s390_check_symref_alignment): Use new | |
4556 | symref flags, early abort on wrong alignment | |
4557 | (s390_secondary_reload): Use new symref flags. | |
4558 | (s390_encode_section_info): Likewise. | |
4559 | * config/s390/predicates.md: Likewise. | |
4560 | ||
4561 | 2015-11-23 Kugan Vivekanandarajah <kuganv@linaro.org> | |
4562 | ||
4563 | PR target/68390 | |
4564 | * config/arm/arm.c (arm_function_ok_for_sibcall): Get function type | |
4565 | for indirect function call. | |
4566 | ||
4567 | 2015-11-22 Bilyan Borisov <bilyan.borisov@arm.com> | |
4568 | ||
4569 | * config/aarch64/aarch64-simd.md | |
4570 | (*aarch64_mulx_elt_<vswap_width_name><mode>, VDQSF): New. | |
4571 | (*aarch64_mulx_elt<mode>, VDQF): Likewise. | |
4572 | (*aarch64_mulx_elt_to_64v2df): Likewise. | |
4573 | (*aarch64_vgetfmulx<mode>, VDQF_DF): Likewise. | |
4574 | * config/aarch64/arm_neon.h (vmulx_lane_f32): New. | |
4575 | (vmulx_lane_f64): Likewise. | |
4576 | (vmulxq_lane_f32): Refactored & moved. | |
4577 | (vmulxq_lane_f64): Likewise. | |
4578 | (vmulx_laneq_f32): New. | |
4579 | (vmulx_laneq_f64): Likewise. | |
4580 | (vmulxq_laneq_f32): Likewise. | |
4581 | (vmulxq_laneq_f64): Likewise. | |
4582 | (vmulxs_lane_f32): Likewise. | |
4583 | (vmulxs_laneq_f32): Likewise. | |
4584 | (vmulxd_lane_f64): Likewise. | |
4585 | (vmulxd_laneq_f64): Likewise. | |
4586 | ||
4587 | 2015-11-21 Jan Hubicka <hubicka@ucw.cz> | |
4588 | ||
4589 | * tree.c (build_pointer_type_for_mode,build_reference_type_for_mode): | |
4590 | In LTO we do not compute TYPE_CANONICAL of pointers. | |
4591 | (gimple_canonical_types_compatible_p): Improve coments; sanity check | |
4592 | that pointers do not have canonical type that would make us believe | |
4593 | they are different. | |
4594 | * alias.c (get_alias_set): Do structural type equality on pointers; | |
4595 | enable pointer path for LTO; also glob pointer to vector with pointer | |
4596 | to vector element; glob pointers and references for LTO; do more strict | |
4597 | sanity checking about build_pointer_type returning the canonical type | |
4598 | which is also the main variant. | |
4599 | (record_component_aliases): When component type is pointer and we | |
4600 | do LTO; record void_type_node alias set. | |
4601 | ||
4602 | 2015-11-21 Nathan Sidwell <nathan@acm.org> | |
4603 | ||
4604 | * config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type. | |
4605 | ||
4606 | * config/nvptx/nvptx.c (write_function_decl_and_comment): Print | |
4607 | leading blank line. | |
4608 | (write_func_decl_from_insn): Likewise. | |
4609 | (init_output_initializer, nvptx_assemble_undefined_decl): Likewise. | |
4610 | (nvptx_file_end): Likewise. | |
4611 | (nvptx_function_end): Undent output. | |
4612 | (nvptx_expand_call): Fix formatting. | |
4613 | (nvptx_output_call_insn): Indent output. | |
4614 | * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON, | |
4615 | ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line. | |
4616 | ||
4617 | 2015-11-21 Jakub Jelinek <jakub@redhat.com> | |
4618 | ||
4619 | PR debug/66432 | |
4620 | * tree-inline.c (copy_debug_stmt): If | |
4621 | gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL | |
4622 | in decl_debug_args, don't call remap_gimple_op_r on it. | |
4623 | ||
4624 | 2015-11-07 Jan Hubicka <hubicka@ucw.cz> | |
4625 | ||
4626 | * ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL; | |
4627 | do not check AGGREGATE_TYPE_P when adding TYPE_MODE; | |
4628 | Check that all record types are complete. | |
4629 | * ipa-icf-gimple.c (func_checker::compatible_types_p): Do not | |
4630 | compare alias sets for types w/o alias sets. | |
4631 | ||
4632 | 2015-11-20 Eric Botcazou <ebotcazou@adacore.com> | |
4633 | ||
4634 | * config/sparc/sparc.md (umulxhi_vis): Move around. | |
4635 | (*umulxhi_sp64): Likewise. | |
4636 | (umulxhi_v8plus): Likewise. | |
4637 | (xmulx_vis): Likewise. | |
4638 | (*xmulx_sp64): Likewise. | |
4639 | (xmulx_v8plus): Likewise. | |
4640 | (xmulxhi_vis): Likewise. | |
4641 | (*xmulxhi_sp64): Likewise. | |
4642 | (xmulxhi_v8plus): Likewise. | |
4643 | ||
4644 | 2015-11-20 David Malcolm <dmalcolm@redhat.com> | |
4645 | ||
4646 | PR 62314 | |
4647 | * diagnostic-show-locus.c (colorizer::set_fixit_hint): New. | |
4648 | (class layout): Update comment | |
4649 | (layout::print_any_fixits): New method. | |
4650 | (layout::move_to_column): New method. | |
4651 | (diagnostic_show_locus): Add call to layout.print_any_fixits. | |
4652 | ||
4653 | 2015-11-20 Jakub Jelinek <jakub@redhat.com> | |
4654 | ||
4655 | PR middle-end/68221 | |
4656 | * omp-low.c (lower_rec_input_clauses): If C/C++ array reduction | |
4657 | has non-zero bias, subtract it in integer type instead of | |
4658 | pointer plus of negated bias. | |
4659 | ||
4660 | PR middle-end/68339 | |
4661 | * omp-low.c (expand_simd_clones): Call node->get_body () before | |
4662 | allocating stuff in GC. | |
4663 | ||
4664 | 2015-11-20 Jim Wilson <jim.wilson@linaro.org> | |
4665 | ||
4666 | * tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS. | |
4667 | ||
4668 | 2015-11-20 Evandro Menezes <e.menezes@samsung.com> | |
4669 | ||
4670 | * config/aarch64/aarch64.md (predicated): Copy attribute from | |
4671 | "arm.md". | |
4672 | * config/arm/arm.md (predicated): Added description. | |
4673 | ||
4674 | 2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
4675 | ||
4676 | * config/arm/arm.c (arm_option_override): Require TARGET_32BIT | |
4677 | for unaligned_access. | |
4678 | * config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT | |
4679 | from matching condition. | |
4680 | (unaligned_loadhis): Likewise. | |
4681 | (unaligned_loadhiu): Likewise. | |
4682 | (unaligned_storesi): Likewise. | |
4683 | (unaligned_storehi): Likewise. | |
4684 | ||
4685 | 2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
4686 | ||
4687 | PR target/68149 | |
4688 | * config/arm/arm.md (unaligned_loaddi): Delete. | |
4689 | (unaligned_storedi): Likewise. | |
4690 | * config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate | |
4691 | unaligned DImode memory ops. Instead perform two back-to-back | |
4692 | unaligned SImode ops. | |
4693 | ||
4694 | 2015-11-20 Nathan Sidwell <nathan@codesourcery.com> | |
4695 | James Norris <jnorris@codesourcery.com> | |
4696 | ||
4697 | * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New. | |
4698 | (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override. | |
4699 | ||
dfb6d139 | 4700 | 2015-11-20 Alan Hayward <alan.hayward@arm.com> |
fb2c1edd | 4701 | |
4702 | PR tree-optimization/68413 | |
4703 | * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache | |
4704 | evolution base | |
4705 | (vectorizable_reduction): Use cached base | |
4706 | ||
4707 | 2015-11-20 Tom de Vries <tom@codesourcery.com> | |
4708 | ||
4709 | * tree-parloops.c (build_new_reduction): Fix trailing whitespace in | |
4710 | dump-file string. | |
4711 | (try_create_reduction_list): Same. Fix typo in dump-file string. | |
4712 | ||
4713 | 2015-11-20 Eric Botcazou <ebotcazou@adacore.com> | |
4714 | ||
4715 | * doc/md.texi (Standard Names): Move entry for addptr3 around, | |
4716 | add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes | |
4717 | glitch in entries for cbranch4 and jump. | |
4718 | ||
4719 | 2015-11-20 Tom de Vries <tom@codesourcery.com> | |
4720 | ||
4721 | PR tree-optimization/68373 | |
4722 | * tree-scalar-evolution.c (final_value_replacement_loop): Factor out | |
4723 | of ... | |
4724 | (scev_const_prop): ... here. | |
4725 | * tree-scalar-evolution.h (final_value_replacement_loop): Declare. | |
4726 | * tree-parloops.c (try_create_reduction_list): Call | |
4727 | final_value_replacement_loop. | |
4728 | ||
4729 | 2015-11-20 Bin Cheng <bin.cheng@arm.com> | |
4730 | ||
4731 | PR tree-optimization/52272 | |
4732 | * tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct. | |
4733 | (struct iv_common_cand_hasher): New struct. | |
4734 | (iv_common_cand_hasher::hash): New function. | |
4735 | (iv_common_cand_hasher::equal): New function. | |
4736 | (struct ivopts_data): New fields, iv_common_cand_tab and | |
4737 | iv_common_cands. | |
4738 | (tree_ssa_iv_optimize_init): Initialize above fields. | |
4739 | (record_common_cand, common_cand_cmp): New functions. | |
4740 | (add_iv_candidate_derived_from_uses): New function. | |
4741 | (add_iv_candidate_for_use): Record iv_common_cands derived from | |
4742 | iv use in hash table, instead of adding candidates directly. | |
4743 | (add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses. | |
4744 | (record_important_candidates): Add important candidates to iv uses' | |
4745 | related_cands. Always keep related_cands for future use. | |
4746 | (try_add_cand_for): Use iv uses' related_cands. | |
4747 | (free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields | |
4748 | in struct ivopts_data, iv_common_cand_tab and iv_common_cands. | |
4749 | ||
4750 | 2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
4751 | ||
4752 | * config/s390/s390.md ("bswaphi2"): New pattern. | |
4753 | ||
4754 | 2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
4755 | ||
4756 | * config/s390/s390.md (GPR1_REGNUM): New constant. | |
4757 | ("*trunc<BFP:mode><DFP_ALL:mode>2") | |
4758 | ("*trunc<DFP_ALL:mode><BFP:mode>2") | |
4759 | ("trunc<BFP:mode><DFP_ALL:mode>2") | |
4760 | ("trunc<DFP_ALL:mode><BFP:mode>2") | |
4761 | ("*extend<BFP:mode><DFP_ALL:mode>2") | |
4762 | ("*extend<DFP_ALL:mode><BFP:mode>2") | |
4763 | ("extend<BFP:mode><DFP_ALL:mode>2") | |
4764 | ("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1. | |
4765 | ||
4766 | 2015-11-19 Aditya Kumar <aditya.k7@samsung.com> | |
4767 | Sebastian Pop <s.pop@samsung.com> | |
4768 | ||
4769 | PR tree-optimization/68428 | |
4770 | * graphite-scop-detection.c (harmful_stmt_in_region): Do not iterate | |
4771 | over basic blocks outside the scop. | |
4772 | ||
4773 | 2015-11-19 Aditya Kumar <aditya.k7@samsung.com> | |
4774 | Sebastian Pop <s.pop@samsung.com> | |
4775 | ||
4776 | PR tree-optimization/68341 | |
4777 | * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Remove | |
4778 | gcc_unreachable and safely fail codegen. | |
4779 | (copy_loop_close_phi_args): Do not insert merge phis in a basic | |
4780 | block with loop phi nodes. | |
4781 | (edge_for_new_close_phis): New. | |
4782 | (copy_bb_and_scalar_dependences): Call edge_for_new_close_phis. | |
4783 | ||
4784 | 2015-11-19 Nathan Sidwell <nathan@acm.org> | |
4785 | ||
4786 | * config/nvptx/nvptx.h (SUPPORTS_WEAK): Define. | |
4787 | * config/nvptx/nvptx.c (nvptx_write_function_decl): Support DECL_WEAK. | |
4788 | (nvptx_declare_objec_name): Likewise. | |
4789 | ||
4790 | 2015-11-19 Aditya Kumar <aditya.k7@samsung.com> | |
4791 | ||
4792 | * graphite-isl-ast-to-gimple.c (get_true_edge_from_guard_bb): Move... | |
4793 | (get_false_edge_from_guard_bb): Move... | |
4794 | * sese.c (get_false_edge_from_guard_bb) | |
4795 | (get_true_edge_from_guard_bb): ... here. | |
4796 | ||
4797 | 2015-11-19 David Edelsohn <dje.gcc@gmail.com> | |
4798 | ||
4799 | Revert | |
4800 | 2015-11-18 Alan Modra <amodra@gmail.com> | |
4801 | ||
4802 | * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore | |
4803 | type-limits warning. | |
4804 | ||
4805 | ||
4806 | 2015-11-19 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> | |
4807 | ||
4808 | * tree.h (desired_pro_or_demotion_p): New function. | |
4809 | * tree-vrp.c (simplify_cond_using_ranges): Call it. | |
4810 | ||
4811 | 2015-11-19 Michael Matz <matz@suse.de> | |
4812 | ||
4813 | PR rtl-optimization/68392 | |
4814 | * fwprop.c (update_uses): Use flag_checking instead of | |
4815 | gcc_checking_assert. | |
4816 | ||
4817 | 2015-11-19 David Malcolm <dmalcolm@redhat.com> | |
4818 | ||
4819 | * doc/gty.texi (Support for inheritance): Fix missing | |
4820 | parentheses in example. | |
4821 | ||
4822 | 2015-11-19 Marek Polacek <polacek@redhat.com> | |
4823 | ||
4824 | PR tree-optimization/68431 | |
4825 | * tree-vrp.c (extract_range_from_binary_expr_1): Fix condition. | |
4826 | ||
4827 | 2015-11-19 Nathan Sidwell <nathan@acm.org> | |
4828 | ||
4829 | * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1, | |
4830 | atomic_exchange<mode>): Input values can be immediates. | |
4831 | ||
4832 | 2015-11-19 Eric Botcazou <ebotcazou@adacore.com> | |
4833 | ||
4834 | PR lto/61313 | |
4835 | * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified | |
4836 | by the user. | |
4837 | * configure: Regenerate. | |
4838 | ||
4839 | 2015-11-19 Eric Botcazou <ebotcazou@adacore.com> | |
4840 | ||
4841 | PR target/68408 | |
4842 | * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine. | |
4843 | (DTORS_SECTION_ASM_OP): Likewise. | |
4844 | ||
4845 | 2015-11-19 Jakub Jelinek <jakub@redhat.com> | |
4846 | ||
4847 | PR rtl-optimization/68376 | |
4848 | * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if | |
4849 | encountering x <= 0 ? ~x : x or x > 0 ? ~x : x. | |
4850 | ||
4851 | 2015-11-19 Richard Biener <rguenther@suse.de> | |
4852 | ||
4853 | PR middle-end/68117 | |
4854 | * tree-ssa.c (delete_tree_ssa): Revert removal of call to | |
4855 | redirect_edge_var_map_destroy. | |
4856 | ||
4857 | 2015-11-19 Jakub Jelinek <jakub@redhat.com> | |
4858 | ||
4859 | PR target/67770 | |
4860 | * config/i386/i386.md (simple_return): Disable if | |
4861 | ix86_static_chain_on_stack is true. | |
4862 | ||
4863 | 2015-11-19 Richard Sandiford <richard.sandiford@arm.com> | |
4864 | ||
4865 | PR bootstrap/68393 | |
4866 | * internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P | |
4867 | destinations. | |
4868 | ||
4869 | 2015-11-18 Jeff Law <law@redhat.com> | |
4870 | ||
4871 | PR tree-optimization/68198 | |
4872 | * tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish | |
4873 | between threading a multi-way branch and a thread path that contains | |
4874 | a multi-way branch. Disallow the case where a path contains a | |
4875 | multi-way branch and does not thread a multi-way branch. | |
4876 | (thread_through_all_blocks): Update comment. | |
4877 | ||
4878 | 2015-11-18 Joseph Myers <joseph@codesourcery.com> | |
4879 | ||
4880 | PR c/65083 | |
4881 | * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence) | |
4882 | (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit) | |
4883 | (atomic_flag_clear, atomic_flag_clear_explicit): Declare as | |
4884 | functions before defining as macros. | |
4885 | ||
4886 | 2015-11-18 Nathan Sidwell <nathan@codesourcery.com> | |
4887 | ||
4888 | * config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace. | |
4889 | (nvptx_record_offload_symbol): Remove code compensating for lack | |
4890 | of default dimension handling. | |
4891 | (nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers. | |
4892 | ||
4893 | 2015-11-18 Aditya Kumar <aditya.k7@samsung.com> | |
4894 | ||
4895 | * graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return | |
4896 | type to bool for early exit. | |
4897 | (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return | |
4898 | in case of error. | |
4899 | (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same. | |
4900 | (add_phi_arg_for_new_expr): Enable codegen for if-block where one | |
4901 | predecessor dominates the other. | |
4902 | (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the | |
4903 | element is not found it returns -1. | |
4904 | (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail | |
4905 | out early when codegen fails. | |
4906 | (graphite_regenerate_ast_isl): Remove codegen region when pending | |
4907 | phis could not be generated. | |
4908 | ||
4909 | 2015-11-18 Aditya Kumar <aditya.k7@samsung.com> | |
4910 | ||
4911 | * graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove | |
4912 | semicolon. | |
4913 | (class translate_isl_ast_to_gimple): Indentation. | |
4914 | (translate_pending_phi_nodes): Comment. | |
4915 | (add_parameters_to_ivs_params): Moved from sese.c inside class | |
4916 | translate_isl_ast_to_gimple. | |
4917 | (get_max_schedule_dimensions): Same. | |
4918 | (generate_isl_context): Same. | |
4919 | (extend_schedule): Same. | |
4920 | (generate_isl_schedule): Same. | |
4921 | (set_options): Same. | |
4922 | (scop_to_isl_ast): Same. | |
4923 | (is_valid_rename): Same. | |
4924 | (get_rename): Same. | |
4925 | (get_rename_from_scev): Same. | |
4926 | (get_def_bb_for_const): Same. | |
4927 | (get_new_name): Same. | |
4928 | (collect_all_ssa_names): Same. | |
4929 | (copy_loop_phi_args): Same. | |
4930 | (copy_loop_phi_nodes): Same. | |
4931 | (copy_loop_close_phi_args): Same. | |
4932 | (copy_loop_close_phi_nodes): Same. | |
4933 | (copy_cond_phi_args): Same. | |
4934 | (copy_cond_phi_nodes): Same. | |
4935 | (graphite_copy_stmts_from_block): Same. | |
4936 | (copy_bb_and_scalar_dependences): Same. | |
4937 | (add_phi_arg_for_new_expr): Same. | |
4938 | (rename_uses): Same. | |
4939 | (set_rename): Same. | |
4940 | (set_rename_for_each_def): Same. | |
4941 | (gsi_insert_earliest): Same. | |
4942 | (rename_all_uses): Same. | |
4943 | (codegen_error_p): Same. | |
4944 | (print_isl_ast_node): Same. | |
4945 | (translate_isl_ast_for_loop): Call function codegen_error_p. | |
4946 | (translate_isl_ast_to_gimple::translate_isl_ast): Same. | |
4947 | (translate_isl_ast_node_user): Make nb_loops const and release | |
4948 | iv_map before exit. | |
4949 | (get_true_edge_from_guard_bb): Move all free-functions early. | |
4950 | (get_false_edge_from_guard_bb): Same. | |
4951 | (bb_contains_loop_close_phi_nodes): Same. | |
4952 | (bb_contains_loop_phi_nodes): Same. | |
4953 | (is_loop_closed_ssa_use): Same. | |
4954 | (number_of_phi_nodes): Same. | |
4955 | (phi_uses_name): Same. | |
4956 | (later_of_the_two): Same. | |
4957 | (substitute_ssa_name): | |
4958 | (get_edges): Same. | |
4959 | (get_loc): Same. | |
4960 | (get_loop_init_value): Same. | |
4961 | (find_init_value): Same. | |
4962 | (find_init_value_close_phi): Same. | |
4963 | (ast_build_before_for): Same. | |
4964 | (graphite_regenerate_ast_isl): Formatting changes. | |
4965 | * graphite-scop-detection.c (build_cross_bb_scalars_use): Same. | |
4966 | * sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c | |
4967 | (set_rename): Same. | |
4968 | (gsi_insert_earliest): Same. | |
4969 | (collect_all_ssa_names): Same. | |
4970 | (rename_all_uses): Same. | |
4971 | (rename_uses): Same. | |
4972 | (get_def_bb_for_const): Same. | |
4973 | (copy_loop_phi_nodes): Same. | |
4974 | (copy_loop_close_phi_args): Same. | |
4975 | (copy_loop_close_phi_nodes): Same. | |
4976 | (copy_cond_phi_args): Same. | |
4977 | (copy_cond_phi_nodes): Same. | |
4978 | (set_rename_for_each_def): Same. | |
4979 | (graphite_copy_stmts_from_block): Same. | |
4980 | (copy_bb_and_scalar_dependences): Same. | |
4981 | (if_region_set_false_region): Same. | |
4982 | (scev_analyzable_p): Same. | |
4983 | * sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c. | |
4984 | ||
4985 | 2015-11-18 Andreas Tobler <andreast@gcc.gnu.org> | |
4986 | ||
4987 | * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the | |
4988 | commit from r125920 for FreeBSD. | |
4989 | ||
4990 | 2015-11-18 Jason Merrill <jason@redhat.com> | |
4991 | ||
4992 | * ggc-page.c (ggc_globals): Change finalizers and vec_finalizers | |
4993 | to be vecs of vecs. | |
4994 | (add_finalizer): Split out from ggc_internal_alloc. | |
4995 | (ggc_handle_finalizers): Run finalizers for the current depth. | |
4996 | (init_ggc, ggc_pch_read): Reserve space for finalizers. | |
4997 | ||
4998 | 2015-11-18 Sandra Loosemore <sandra@codesourcery.com> | |
4999 | ||
5000 | PR target/68410 | |
5001 | * config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests | |
5002 | from || expression. | |
5003 | ||
5004 | 2015-11-18 Pitchumani Sivanupandi <pitchumani.s@atmel.com> | |
5005 | ||
5006 | * config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and | |
5007 | atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb | |
5008 | and atmega328pb. | |
5009 | * doc/avr-mmcu.texi: Regenerate. | |
5010 | ||
5011 | 2015-11-18 Nathan Sidwell <nathan@codesourcery.com> | |
5012 | ||
5013 | * config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types. | |
5014 | (pseudo_node_t, struct bracket, bracket_vec_t): New types. | |
5015 | (struct bb_sese): New struct. | |
5016 | (bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New. | |
5017 | (BB_GET_SESE, BB_SET_SESE): Define. | |
5018 | (nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New. | |
5019 | (nvptx_find_sese): New. | |
5020 | (nvptx_neuter_pars): Find SESE regions when optimizing. | |
5021 | ||
5022 | 2015-11-18 Alan Modra <amodra@gmail.com> | |
5023 | ||
5024 | * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore | |
5025 | type-limits warning. | |
5026 | ||
5027 | 2015-11-18 Richard Sandiford <richard.sandiford@arm.com> | |
5028 | ||
5029 | PR bootstrap/68406 | |
5030 | * hash-set.h (hash_set::traverse): Expand Key typedef. | |
5031 | ||
5032 | 2015-11-18 Martin Liska <mliska@suse.cz> | |
5033 | ||
5034 | * config/arm/arm.c (arm_valid_target_attribute_p): Finalize | |
5035 | options struct. | |
5036 | ||
5037 | 2015-11-18 Nathan Sidwell <nathan@codesourcery.com> | |
5038 | ||
5039 | * config/nvptx/nvptx.c (global_lock_var): New. | |
5040 | (nvptx_global_lock_addr): New. | |
5041 | (nvptx_lockless_update): Recomment and adjust for clarity. | |
5042 | (nvptx_lockfull_update): New. | |
5043 | (nvptx_reduction_update): New. | |
5044 | (nvptx_goacc_reduction_fini): Call it. | |
5045 | ||
5046 | 2015-11-18 Bernd Schmidt <bschmidt@redhat.com> | |
5047 | ||
5048 | * regrename.h (struct du_head): Add target_data_1 and target_data_2 | |
5049 | fields. | |
5050 | * regrename.c (create_new_chain): Clear entire struct after allocating. | |
5051 | ||
5052 | * config/i386/i386.opt (mmitigate-rop): New option. | |
5053 | * doc/invoke.texi (mmitigate-rop): Document. | |
5054 | * config/i386/i386.c: Include "regrename.h". | |
5055 | (ix86_rop_should_change_byte_p, reg_encoded_number, | |
5056 | ix86_get_modrm_for_rop, set_rop_modrm_reg_bits, ix86_mitigate_rop): New | |
5057 | static functions. | |
5058 | (ix86_reorg): Call ix86_mitigate_rop if -fmitigate-rop. | |
5059 | * config/i386/i386.md (attr "modrm_class"): New. | |
5060 | (cmp<mode>_ccno_1, mov<mode>_xor, movstrict<mode>_xor, | |
5061 | x86_mov<mode>cc_0_m1. x86_mov<mode>cc_0_m1_se) | |
5062 | (x86_mov<mode>cc_0_m1_neg): Override modrm_class attribute. | |
5063 | ||
5064 | 2015-11-18 Ilya Enkovich <enkovich.gnu@gmail.com> | |
5065 | ||
5066 | PR target/68405 | |
5067 | * config/i386/i386.c (ix86_expand_mask_vec_cmp): Add missing break. | |
5068 | ||
5069 | 2015-11-18 Jakub Jelinek <jakub@redhat.com> | |
5070 | ||
5071 | PR tree-optimization/68157 | |
5072 | * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of | |
5073 | pow_stmt or mul_stmt from stmt's uid. | |
5074 | (reassociate_bb): Set uid of mul_stmt from stmt's uid. | |
5075 | ||
5076 | 2015-11-18 Martin Liska <mliska@suse.cz> | |
5077 | ||
5078 | * haifa-sched.c (haifa_finish_h_i_d): Release reg_set_list. | |
5079 | ||
5080 | 2015-11-18 Martin Liska <mliska@suse.cz> | |
5081 | ||
5082 | * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): | |
5083 | Fix GNU coding style. | |
5084 | (find_def_preds): Use auto_vec. | |
5085 | (destroy_predicate_vecs): Change signature of the function. | |
5086 | (prune_uninit_phi_opnds_in_unrealizable_paths): Use the | |
5087 | new signature. | |
5088 | (simplify_preds_4): Use destroy_predicate_vecs instread of | |
5089 | just releasing preds vector. | |
5090 | (normalize_preds): Likewise. | |
5091 | (is_use_properly_guarded): Use new signature of | |
5092 | destroy_predicate_vecs. | |
5093 | (find_uninit_use): Likewise. | |
5094 | ||
5095 | 2015-11-18 Richard Biener <rguenther@suse.de> | |
5096 | ||
5097 | PR tree-optimization/67790 | |
5098 | * tree-vect-loop.c (vect_is_simple_reduction_1): Remove | |
5099 | IL rewrite for MINUS_EXPR reductions, rename back to ... | |
5100 | (vect_is_simple_reduction): ... this, removing the wrapper. | |
5101 | (vect_force_simple_reduction): Adjust. | |
5102 | (vectorizable_reduction): Adjust reduc_index for MINUS_EXPR | |
5103 | reductions and make use if reduc_index in all places. For | |
5104 | the final reduction of MINUS_EXPR use PLUS_EXPR. | |
5105 | ||
5106 | 2015-11-18 Alan Modra <amodra@gmail.com> | |
5107 | ||
5108 | * configure.ac (POWERPC64_TOC_POINTER_ALIGNMENT): Pass -z norelro | |
5109 | to ld. | |
5110 | * configure: Regenerate. | |
5111 | ||
5112 | 2015-11-17 Tom de Vries <tom@codesourcery.com> | |
5113 | ||
5114 | * tree-ssa-loop.c (pass_tree_loop_init::execute): Improve comments. | |
5115 | ||
5116 | 2015-11-17 Tom de Vries <tom@codesourcery.com> | |
5117 | ||
5118 | * tree-scalar-evolution.c (scev_const_prop): Dump details if replacing | |
5119 | uses of ssa_name with constant. | |
5120 | ||
5121 | 2015-11-17 Tom de Vries <tom@codesourcery.com> | |
5122 | ||
5123 | * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if | |
5124 | something changed. | |
5125 | ||
5126 | 2015-11-17 Tom de Vries <tom@codesourcery.com> | |
5127 | ||
5128 | * cfgloop.h (struct loop): Add in_oacc_kernels_region field. | |
5129 | * omp-low.c (mark_loops_in_oacc_kernels_region): New function. | |
5130 | (expand_omp_target): Call mark_loops_in_oacc_kernels_region. | |
5131 | ||
5132 | 2015-11-17 Bernd Schmidt <bschmidt@redhat.com> | |
5133 | ||
5134 | * regrename.c (regrename_find_superclass): New function, code moved | |
5135 | from ... | |
5136 | (rename_chains): ... here. Call it. | |
5137 | * regrename.h (regrename_find_superclass): Declare. | |
5138 | ||
5139 | * regrename.c (record_out_operands): Terminate earlyclobbered | |
5140 | operands here. | |
5141 | ||
5142 | PR target/66785 | |
5143 | * regrename.c (record_operand_use): Keep track of failed operands | |
5144 | and stop appending if we see any. | |
5145 | * regrename.h (struct operand_rr_info): Add a failed field and shrink | |
5146 | n_chains to short. | |
5147 | ||
5148 | 2015-11-17 Sandra Loosemore <sandra@codesourcery.com> | |
5149 | ||
5150 | PR 48568 | |
5151 | * doc/extend.texi (Common Function Attributes) [visibility]: | |
5152 | Add cross-references to matching variable and type attributes. | |
5153 | (Common Variable Attributes) [visibility]: Add missing entry. | |
5154 | ||
5155 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5156 | ||
5157 | * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove | |
5158 | entries that map directly to optabs. | |
5159 | ||
5160 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5161 | ||
5162 | * config/i386/i386.c (ix86_builtin_vectorized_function): Remove | |
5163 | entries that map directly to optabs. | |
5164 | ||
5165 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5166 | ||
5167 | * internal-fn.h (direct_internal_fn_info): Add vectorizable flag. | |
5168 | * internal-fn.c (direct_internal_fn_array): Update accordingly. | |
5169 | * tree-vectorizer.h (vectorizable_function): Delete. | |
5170 | * tree-vect-stmts.c: Include internal-fn.h. | |
5171 | (vectorizable_internal_function): New function. | |
5172 | (vectorizable_function): Inline into... | |
5173 | (vectorizable_call): ...here. Explicitly reject calls that read | |
5174 | from or write to memory. Try using an internal function before | |
5175 | falling back on the old vectorizable_function behavior. | |
5176 | ||
5177 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5178 | ||
5179 | * target.def (builtin_vectorized_function): Take a combined_fn (in | |
5180 | the form of an unsigned int) rather than a function decl. | |
5181 | (builtin_md_vectorized_function): New. | |
5182 | * targhooks.h (default_builtin_vectorized_function): Replace the | |
5183 | fndecl argument with an unsigned int. | |
5184 | (default_builtin_md_vectorized_function): Declare. | |
5185 | * targhooks.c (default_builtin_vectorized_function): Replace the | |
5186 | fndecl argument with an unsigned int. | |
5187 | (default_builtin_md_vectorized_function): New function. | |
5188 | * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): | |
5189 | New hook. | |
5190 | * doc/tm.texi: Regenerate. | |
5191 | * tree-vect-stmts.c (vectorizable_function): Update call to | |
5192 | builtin_vectorized_function, also passing internal functions. | |
5193 | Call builtin_md_vectorized_function for target-specific builtins. | |
5194 | * config/aarch64/aarch64-protos.h | |
5195 | (aarch64_builtin_vectorized_function): Replace fndecl argument | |
5196 | with an unsigned int. | |
5197 | * config/aarch64/aarch64-builtins.c: Include case-cfn-macros.h. | |
5198 | (aarch64_builtin_vectorized_function): Update after above changes. | |
5199 | Use CASE_CFN_*. | |
5200 | * config/arm/arm-protos.h (arm_builtin_vectorized_function): Replace | |
5201 | fndecl argument with an unsigned int. | |
5202 | * config/arm/arm-builtins.c: Include case-cfn-macros.h | |
5203 | (arm_builtin_vectorized_function): Update after above changes. | |
5204 | Use CASE_CFN_*. | |
5205 | * config/i386/i386.c: Include case-cfn-macros.h | |
5206 | (ix86_veclib_handler): Take a combined_fn rather than a | |
5207 | built_in_function. | |
5208 | (ix86_veclibabi_svml, ix86_veclibabi_acml): Likewise. Use | |
5209 | mathfn_built_in rather than calling builtin_decl_implicit directly. | |
5210 | (ix86_builtin_vectorized_function) Update after above changes. | |
5211 | Use CASE_CFN_*. | |
5212 | * config/rs6000/rs6000.c: Include case-cfn-macros.h | |
5213 | (rs6000_builtin_vectorized_libmass): Replace fndecl argument | |
5214 | with a combined_fn. Use CASE_CFN_*. Use mathfn_built_in rather | |
5215 | than calling builtin_decl_implicit directly. | |
5216 | (rs6000_builtin_vectorized_function): Update after above changes. | |
5217 | Use CASE_CFN_*. Move BUILT_IN_MD to... | |
5218 | (rs6000_builtin_md_vectorized_function): ...this new function. | |
5219 | (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): Define. | |
5220 | ||
5221 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5222 | ||
5223 | * tree-vect-patterns.c: Include internal-fn.h. | |
5224 | (vect_recog_pow_pattern): Use IFN_SQRT instead of BUILT_IN_SQRT*. | |
5225 | ||
5226 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5227 | ||
5228 | * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P) | |
5229 | (BUILTIN_CBRT_P, BUILTIN_ROOT_P): Delete. | |
5230 | ||
5231 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5232 | ||
5233 | * builtins.c (expand_errno_check, expand_builtin_mathfn) | |
5234 | (expand_builtin_mathfn_2): Delete. | |
5235 | (expand_builtin): Remove handling of functions with | |
5236 | internal function equivalents. | |
5237 | * internal-fn.def (SET_EDOM): New internal function. | |
5238 | * internal-fn.h (set_edom_supported_p): Declare. | |
5239 | * internal-fn.c (expand_SET_EDOM): New function. | |
5240 | (set_edom_supported_p): Likewise. | |
5241 | * tree-call-cdce.c: Include builtins.h and internal-fn.h. | |
5242 | Rewrite comment at head of file. | |
5243 | (is_call_dce_candidate): Rename to... | |
5244 | (can_test_argument_range): ...this. Don't check gimple_call_lhs | |
5245 | or gimple_call_builtin_p here. | |
5246 | (edom_only_function): New function. | |
5247 | (shrink_wrap_one_built_in_call_with_conds): New function, split out | |
5248 | from... | |
5249 | (shrink_wrap_one_built_in_call): ...here. | |
5250 | (can_use_internal_fn, use_internal_fn): New functions. | |
5251 | (shrink_wrap_conditional_dead_built_in_calls): Call use_internal_fn | |
5252 | for calls that have an lhs. | |
5253 | (pass_call_cdce::gate): Remove optimize_function_for_speed_p check. | |
5254 | (pass_call_cdce::execute): Skip blocks that are optimized for size. | |
5255 | Check gimple_call_builtin_p here. Use can_use_internal_fn for | |
5256 | calls with an lhs. | |
5257 | * opts.c (default_options_table): Enable -ftree-builtin-call-cdce | |
5258 | at -O and above. | |
5259 | ||
5260 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5261 | ||
5262 | * builtins.h (called_as_built_in): Declare. | |
5263 | * builtins.c (called_as_built_in): Make external. | |
5264 | * internal-fn.h (expand_internal_call): Define a variant that | |
5265 | specifies the internal function explicitly. | |
5266 | * internal-fn.c (expand_load_lanes_optab_fn) | |
5267 | (expand_store_lanes_optab_fn, expand_ANNOTATE, expand_GOMP_SIMD_LANE) | |
5268 | (expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE) | |
5269 | (expand_GOMP_SIMD_ORDERED_START, expand_GOMP_SIMD_ORDERED_END) | |
5270 | (expand_UBSAN_NULL, expand_UBSAN_BOUNDS, expand_UBSAN_VPTR) | |
5271 | (expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, expand_TSAN_FUNC_EXIT) | |
5272 | (expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB) | |
5273 | (expand_UBSAN_CHECK_MUL, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW) | |
5274 | (expand_MUL_OVERFLOW, expand_LOOP_VECTORIZED) | |
5275 | (expand_mask_load_optab_fn, expand_mask_store_optab_fn) | |
5276 | (expand_ABNORMAL_DISPATCHER, expand_BUILTIN_EXPECT, expand_VA_ARG) | |
5277 | (expand_UNIQUE, expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS) | |
5278 | (expand_GOACC_LOOP, expand_GOACC_REDUCTION, expand_direct_optab_fn) | |
5279 | (expand_unary_optab_fn, expand_binary_optab_fn): Add an internal_fn | |
5280 | argument. | |
5281 | (internal_fn_expanders): Update prototype. | |
5282 | (expand_internal_call): Define a variant that specifies the | |
5283 | internal function explicitly. Use it to implement the previous | |
5284 | interface. | |
5285 | * cfgexpand.c (expand_call_stmt): Try to expand calls to built-in | |
5286 | functions as calls to internal functions. | |
5287 | ||
5288 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5289 | ||
5290 | * Makefile.in (MOSTLYCLEANFILES): Add cfn-operators.pd. | |
5291 | (generated_files): Likewise. | |
5292 | (s-cfn-operators, cfn-operators.pd): New rules. | |
5293 | (s-match): Depend on cfn-operators.pd. | |
5294 | * gencfn-macros.c: Expand comment to describe -o behavior. | |
5295 | (print_define_operator_list): New function. | |
5296 | (main): Accept -o. Call print_define_operator_list. | |
5297 | * genmatch.c (main): Add the current directory to the include path. | |
5298 | * match.pd (DEFINE_MATH_FN): Delete. Include cfn-operators.pd | |
5299 | instead. | |
5300 | ||
5301 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5302 | ||
5303 | * doc/match-and-simplify.texi: Document the "null" identifier. | |
5304 | * genmatch.c (id_base::NULL_ID): New kind. | |
5305 | (null_id): New variable. | |
5306 | (get_operator): Add a parameter that says whether null identifiers | |
5307 | are allowed. | |
5308 | (contains_id): New function. | |
5309 | (lower_for): Skip substitutions that would have a null_id in | |
5310 | either the match or the result. | |
5311 | (parser::parse_for): Allow the null identifier to be used. | |
5312 | (parser::parse_operator_list): Likewise. | |
5313 | (main): Initialize null_id. | |
5314 | ||
5315 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5316 | ||
5317 | * match.pd: Use HYPOT and COS rather than hypot and cos. | |
5318 | Use CASE_CFN_* macros. Guard log/exp folds with | |
5319 | SCALAR_FLOAT_TYPE_P. | |
5320 | * genmatch.c (internal_fn): New enum. | |
5321 | (fn_id::fn): Change to an unsigned int. | |
5322 | (fn_id::fn_id): Accept internal_fn too. | |
5323 | (add_builtin): Rename to... | |
5324 | (add_function): ...this and turn into a template. | |
5325 | (get_operator): Only try one variation if the original name fails. | |
5326 | Only add _EXPR if the original name was all lower case. | |
5327 | Try converting internal and built-in function names to their | |
5328 | CFN equivalents. | |
5329 | (expr::gen_transform): Use maybe_build_call_expr_loc for generic. | |
5330 | (dt_simplify::gen_1): Likewise. | |
5331 | (dt_node::gen_kids_1): Use gimple_call_combined_fn for gimple | |
5332 | and get_call_combined_fn for generic. | |
5333 | (dt_simplify::gen): Use combined_fn as the type of fn_ids. | |
5334 | (decision_tree::gen): Likewise. | |
5335 | (main): Use lower case in the strings for {VIEW_,}CONVERT[012]. | |
5336 | Use add_function rather than add_builtin. Register internal | |
5337 | functions too. | |
5338 | * generic-match-head.c: Include case-cfn-macros.h. | |
5339 | * gimple-fold.c (replace_stmt_with_simplification): Use | |
5340 | gimple_call_combined_fn to test whether we can keep an | |
5341 | existing call. | |
5342 | * gimple-match.h (code_helper): Replace built_in_function | |
5343 | with combined_fn. | |
5344 | * gimple-match-head.c: Include fold-const-call.h, internal-fn.h | |
5345 | and case-fn-macros.h. | |
5346 | (gimple_resimplify1): Use fold_const_call. | |
5347 | (gimple_resimplify2, gimple_resimplify3): Likewise. | |
5348 | (build_call_internal, build_call): New functions. | |
5349 | (maybe_push_res_to_seq): Use them. | |
5350 | (gimple_simplify): Use fold_const_call. Set *rcode to a combined_fn | |
5351 | rather than a built-in function. | |
5352 | * tree.h (build_call_expr_internal_loc): Declare. | |
5353 | (maybe_build_call_expr_loc): Likewise. | |
5354 | * tree.c (build_call_expr_internal_loc_array): New function. | |
5355 | (maybe_build_call_expr_loc): Likewise. | |
5356 | ||
5357 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5358 | ||
5359 | * builtins.h (mathfn_built_in): Add a variant that takes | |
5360 | a combined_fn. | |
5361 | * builtins.c: Include case-cfn-macros.h. | |
5362 | (CASE_MATHFN): Use CASE_CFN_*. | |
5363 | (CASE_MATHFN_REENT): Use CFN_ codes. | |
5364 | (mathfn_built_in_2, mathfn_built_in_1): Replace built_in_function | |
5365 | argument with a combined_fn. | |
5366 | (mathfn_built_in): Add a variant that takes a combined_fn. | |
5367 | (expand_builtin_int_roundingfn_2): Update callers accordingly. | |
5368 | (fold_builtin_sincos, fold_builtin_classify): Likewise. | |
5369 | ||
5370 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5371 | ||
5372 | * tree-vect-patterns.c: Include case-cfn-macros.h. | |
5373 | (vect_recog_pow_pattern): Use combined_fn instead of built-in codes. | |
5374 | ||
5375 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5376 | ||
5377 | * tree-ssa-math-opts.c: Include case-cfn-macros.h. | |
5378 | (execute_cse_sincos_1): Use combined_fn instead of built-in codes. | |
5379 | (pass_cse_sincos::execute): Likewise. | |
5380 | ||
5381 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5382 | ||
5383 | * tree-ssa-reassoc.c: Include case-cfn-macros.h. | |
5384 | (stmt_is_power_of_op): Use combined_fn instead of built-in codes. | |
5385 | (decrement_power, acceptable_pow_call): Likewise. | |
5386 | (attempt_builtin_copysign): Likewise. | |
5387 | ||
5388 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5389 | ||
5390 | * tree-vrp.c: Include case-cfn-macros.h. | |
5391 | (extract_range_basic): Switch on combined_fn rather than handling | |
5392 | built-in functions and internal functions separately. | |
5393 | ||
5394 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5395 | ||
5396 | * fold-const.h (negate_mathfn_p): Take a combined_fn rather | |
5397 | than a built_in_function. | |
5398 | (tree_call_nonnegative_warnv_p): Take a combined_fn rather than | |
5399 | a function decl. | |
5400 | (integer_valued_real_call_p): Likewise. | |
5401 | * fold-const.c: Include case-cfn-macros.h | |
5402 | (negate_mathfn_p): Take a combined_fn rather than a built_in_function. | |
5403 | (negate_expr_p): Update accordingly. | |
5404 | (tree_call_nonnegative_warnv_p): Take a combined_fn rather than | |
5405 | a function decl. | |
5406 | (integer_valued_real_call_p): Likewise. | |
5407 | (tree_invalid_nonnegative_warnv_p): Update accordingly. | |
5408 | (integer_valued_real_p): Likewise. | |
5409 | * gimple-fold.c (gimple_call_nonnegative_warnv_p): Update call | |
5410 | to tree_call_nonnegative_warnv_p. | |
5411 | (gimple_call_integer_valued_real_p): Likewise | |
5412 | integer_valued_real_call_p. | |
5413 | * gimple-ssa-backprop.c: Include case-cfn-macros.h. | |
5414 | (backprop::process_builtin_call_use): Extend to combined_fn. | |
5415 | (strip_sign_op_1): Likewise. | |
5416 | (backprop::process_use): Don't check for built-in calls here. | |
5417 | (backprop::execute): Likewise. | |
5418 | (backprop::optimize_builtin_call): Update call to negate_mathfn_p. | |
5419 | ||
5420 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5421 | ||
5422 | * fold-const-call.h (fold_const_call): Replace built_in_function | |
5423 | arguments with combined_fn arguments. | |
5424 | * fold-const-call.c: Include case-cfn-macros.h. | |
5425 | (fold_const_call_ss, fold_const_call_cs, fold_const_call_sc) | |
5426 | (fold_const_call_cc, fold_const_call_sss, fold_const_call_ccc) | |
5427 | (fold_const_call_ssss, fold_const_call_1, fold_const_call): Replace | |
5428 | built_in_function arguments with combined_fn arguments. | |
5429 | * builtins.c (fold_builtin_sincos, fold_builtin_1, fold_builtin_2) | |
5430 | (fold_builtin_3): Update calls to fold_const_call. | |
5431 | ||
5432 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5433 | ||
5434 | * Makefile.in (HASH_TABLE_H): Add GGC_H. | |
5435 | (MOSTLYCLEANFILES, generated_files): Add case-fn-macros.h. | |
5436 | (s-case-cfn-macros, case-cfn-macros.h, build/gencfn-macros.o) | |
5437 | (build/gencfn-macros$(build_exeext): New rules. | |
5438 | (genprogerr): Add cfn-macros. | |
5439 | * hash-set.h (hash_set): Use the traits value_type as the key. | |
5440 | * gencfn-macros.c: New file. | |
5441 | ||
5442 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5443 | ||
5444 | * internal-fn.def (DEF_INTERNAL_INT_FN): New macro. | |
5445 | (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): New functions. | |
5446 | * builtins.c (associated_internal_fn): Handle them. | |
5447 | ||
5448 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5449 | ||
5450 | * builtins.h (associated_internal_fn): Declare. | |
5451 | (replacement_internal_fn): Likewise. | |
5452 | * builtins.c: Include internal-fn.h | |
5453 | (associated_internal_fn, replacement_internal_fn): New functions. | |
5454 | * internal-fn.def (DEF_INTERNAL_FLT_FN): New macro. | |
5455 | (ACOS, ASIN, ATAN, COS, EXP, EXP10, EXP2, EXPM1, LOG, LOG10, LOG1P) | |
5456 | (LOG2, LOGB, SIGNIFICAND, SIN, SQRT, TAN, CEIL, FLOOR, NEARBYINT) | |
5457 | (RINT, ROUND, TRUNC, ATAN2, COPYSIGN, FMOD, POW, REMAINDER, SCALB) | |
5458 | (LDEXP): New functions. | |
5459 | * internal-fn.c: Include recog.h. | |
5460 | (unary_direct, binary_direct): New macros. | |
5461 | (expand_direct_optab_fn): New function. | |
5462 | (expand_unary_optab_fn): New macro. | |
5463 | (expand_binary_optab_fn): Likewise. | |
5464 | (direct_unary_optab_supported_p): Likewise. | |
5465 | (direct_binary_optab_supported_p): Likewise. | |
5466 | ||
5467 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5468 | ||
5469 | * coretypes.h (tree_pair): New type. | |
5470 | * internal-fn.def (DEF_INTERNAL_OPTAB_FN): New macro. Use it | |
5471 | for MASK_LOAD, LOAD_LANES, MASK_STORE and STORE_LANES. | |
5472 | * internal-fn.h (direct_internal_fn_info): New structure. | |
5473 | (direct_internal_fn_array): Declare. | |
5474 | (direct_internal_fn_p, direct_internal_fn): New functions. | |
5475 | (direct_internal_fn_types, direct_internal_fn_supported_p): Declare. | |
5476 | * internal-fn.c (not_direct, mask_load_direct, load_lanes_direct) | |
5477 | (mask_store_direct, store_lanes_direct): New macros. | |
5478 | (direct_internal_fn_array) New array. | |
5479 | (get_multi_vector_move): Return the optab handler without asserting | |
5480 | that it is available. | |
5481 | (expand_LOAD_LANES): Rename to... | |
5482 | (expand_load_lanes_optab_fn): ...this and add an optab argument. | |
5483 | (expand_STORE_LANES): Rename to... | |
5484 | (expand_store_lanes_optab_fn): ...this and add an optab argument. | |
5485 | (expand_MASK_LOAD): Rename to... | |
5486 | (expand_mask_load_optab_fn): ...this and add an optab argument. | |
5487 | (expand_MASK_STORE): Rename to... | |
5488 | (expand_mask_store_optab_fn): ...this and add an optab argument. | |
5489 | (direct_internal_fn_types, direct_optab_supported_p) | |
5490 | (multi_vector_optab_supported_p, direct_internal_fn_supported_p) | |
5491 | (direct_internal_fn_supported_p): New functions. | |
5492 | (direct_mask_load_optab_supported_p): New macro. | |
5493 | (direct_load_lanes_optab_supported_p): Likewise. | |
5494 | (direct_mask_store_optab_supported_p): Likewise. | |
5495 | (direct_store_lanes_optab_supported_p): Likewise. | |
5496 | ||
5497 | 2015-11-17 Richard Sandiford <richard.sandiford@arm.com> | |
5498 | ||
5499 | * tree-core.h (internal_fn): Move immediately after the definition | |
5500 | of built_in_function. | |
5501 | (combined_fn): New enum. | |
5502 | * tree.h (as_combined_fn, builtin_fn_p, as_builtin_fn) | |
5503 | (internal_fn_p, as_internal_fn): New functions. | |
5504 | (get_call_combined_fn, combined_fn_name): Declare. | |
5505 | * tree.c (get_call_combined_fn): New function. | |
5506 | (combined_fn_name): Likewise. | |
5507 | * gimple.h (gimple_call_combined_fn): Declare. | |
5508 | * gimple.c (gimple_call_combined_fn): New function. | |
5509 | ||
5510 | 2015-11-17 Martin Sebor <msebor@redhat.com> | |
5511 | ||
5512 | PR c++/68308 | |
5513 | * cp/init.c (build_new_1): Check for expression constness | |
5514 | the right way. | |
5515 | ||
5516 | 2015-11-17 Sandra Loosemore <sandra@codesourcery.com> | |
5517 | ||
5518 | PR target/53587 | |
5519 | * doc/invoke.texi (Option Summary): Add -mms-bitfields to x86 | |
5520 | option list. | |
5521 | (x86 Options): Add -mms-bitfields and -mno-ms-bitfields. Move | |
5522 | discussion of the Microsoft structure layout details here from | |
5523 | its former home in extend.texi. | |
5524 | * doc/extend.texi (x86 Variable Attributes): Replace detailed | |
5525 | discussion with pointer to its new location. Add cross-reference | |
5526 | to corresponding type attributes. | |
5527 | (x86 Type Attributes): Add cross-references to command-line options | |
5528 | and variable attributes. | |
5529 | ||
5530 | 2015-11-17 Ilya Enkovich <enkovich.gnu@gmail.com> | |
5531 | ||
5532 | PR middle-end/68134 | |
5533 | * targhooks.c (default_get_mask_mode): Filter out | |
5534 | scalar modes returned by mode_for_vector. | |
5535 | ||
5536 | 2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
5537 | ||
5538 | PR target/68143 | |
5539 | * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of | |
5540 | offset from dstbase and use it appropriately in | |
5541 | adjust_automodify_address. | |
5542 | (arm_block_set_aligned_vect): Likewise. | |
5543 | ||
5544 | 2015-11-17 Eric Botcazou <ebotcazou@adacore.com> | |
5545 | ||
5546 | * config/visium/t-visium (MULTILIB_OPTIONS): Add muser-mode. | |
5547 | (MULTILIB_DIRNAMES): Adjust accordingly. | |
5548 | ||
5549 | 2015-11-17 James Greenhalgh <james.greenhalgh@arm.com> | |
5550 | ||
5551 | * config/aarch64/aarch64-cores.def (cortex-a35): New. | |
5552 | * config/aarch64/aarch64.c (cortexa35_tunings): New. | |
5553 | * config/aarch64/aarch64-tune.md: Regenerate. | |
5554 | * doc/invoke.texi (-mcpu): Add Cortex-A35 | |
5555 | ||
5556 | 2015-11-17 Uros Bizjak <ubizjak@gmail.com> | |
5557 | ||
5558 | PR target/68263 | |
5559 | * config/i386/i386.h (BIGGEST_ALIGNMENT): Always define | |
5560 | to 32 for IAMCU. | |
5561 | * config/i386/sse.md (*mov<mode>_internal): Always enable | |
5562 | AVX and SSE unaligned moves for IAMCU. | |
5563 | ||
5564 | 2015-11-17 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com> | |
5565 | ||
5566 | * tree-if-conv.c: Include varasm.h | |
5567 | (ref_DR_map): Define. | |
5568 | (baseref_DR_map): Like wise | |
5569 | (struct ifc_dr): Add new tree predicate field. | |
5570 | (hash_memrefs_baserefs_and_store_DRs_read_written_info): New function. | |
5571 | (memrefs_read_or_written_unconditionally): Remove. | |
5572 | (write_memrefs_written_at_least_once): Remove. | |
5573 | (ifcvt_memrefs_wont_trap): Use hash maps to query | |
5574 | unconditional read/written information. | |
5575 | (if_convertible_loop_p_1): Initialize hash maps and predicates | |
5576 | before hashing data references and delete hashmaps at the end. | |
5577 | ||
dfb6d139 | 5578 | 2015-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com> |
fb2c1edd | 5579 | |
5580 | PR 56036 | |
5581 | * doc/invoke.texi (Optimize Options): Move @end table to the right | |
5582 | place. | |
5583 | ||
5584 | 2015-11-16 Sandra Loosemore <sandra@codesourcery.com> | |
5585 | ||
5586 | PR 65129 | |
5587 | * doc/extend.texi (__builtin_assume_aligned): Fix formatting of | |
5588 | return value. | |
5589 | ||
5590 | 2015-11-16 Michael Meissner <meissner@linux.vnet.ibm.com> | |
5591 | ||
5592 | * config/rs6000/vsx.md (VSX_L): Do not include IBM extended double | |
5593 | 128-bit types, just types that fit in a single vector. | |
5594 | * config/rs6000/rs6000.md (FMOVE128_GPR): Likewise. | |
5595 | ||
5596 | 2015-11-16 David Wohlferd <dw@LimeGreenSocks.com> | |
5597 | ||
5598 | * doc/md.texi ('#' and '*' constraint modifiers): Do not include these | |
5599 | in the user documentation. | |
5600 | (define_peephole2, define_split): Similarly. | |
5601 | ||
dfb6d139 | 5602 | 2015-11-16 Andris Pavenis <andris.pavenis@iki.fi> |
fb2c1edd | 5603 | |
5604 | * lto-streamer-out.c (write_global_references): Adjust integer type. | |
5605 | (lto_output_decl_state_refs): Likewise. | |
5606 | ||
5607 | 2015-11-16 James Greenhalgh <james.greenhalgh@arm.com> | |
5608 | ||
5609 | * config/arm/arm-cores.def (cortex-a35): New. | |
5610 | * config/arm/arm.c (arm_cortex_a35_tune): New. | |
5611 | * config/arm/arm-tables.opt: Regenerate. | |
5612 | * config/arm/arm-tune.md: Regenerate. | |
5613 | * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-a35. | |
5614 | * config/arm/t-aprofile: Likewise. | |
5615 | * doc/invoke.texi (-mcpu): Likewise. | |
5616 | ||
5617 | 2015-11-16 Jim Wilson <jim.wilson@linaro.org> | |
5618 | ||
5619 | * config/arm/t-aprofile (MULTILIB_MATCHES): Add lines for exynos-m1 | |
5620 | and qdf24xx and xgene1 to match -march=armv8-a. | |
5621 | ||
5622 | 2015-11-16 Segher Boessenkool <segher@kernel.crashing.org> | |
5623 | ||
5624 | PR rtl-optimization/68330 | |
5625 | * simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND | |
5626 | of LSHIFTRT by a non-zero constant integer. | |
5627 | ||
5628 | 2015-11-16 Richard Biener <rguenther@suse.de> | |
5629 | ||
5630 | PR tree-optimization/68306 | |
5631 | * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix | |
5632 | bogus copying from verify_data_ref_alignment and use continue | |
5633 | instead of return. | |
5634 | ||
5635 | 2015-11-16 Oleg Endo <olegendo@gcc.gnu.org> | |
5636 | Kaz Kojima <kkojima@gcc.gnu.org> | |
5637 | ||
5638 | PR target/68277 | |
5639 | * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and | |
5640 | operands[2]. | |
5641 | (*addsi3): Add another insn_and_split variant for reload. | |
5642 | ||
5643 | 2015-11-16 Richard Biener <rguenther@suse.de> | |
5644 | ||
5645 | PR middle-end/68117 | |
5646 | * cfgexpand.c (pass_expand::execute): Destroy the edge | |
5647 | redirection var map before setting RTL CFG hooks. | |
5648 | ||
5649 | 2015-11-16 Alan Lawrence <alan.lawrence@arm.com> | |
5650 | ||
5651 | * config/i386/sse.md (reduc_splus_v8df): Rename to... | |
5652 | (reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar. | |
5653 | ||
5654 | (reduc_splus_v4df): Rename to... | |
5655 | (reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar. | |
5656 | ||
5657 | (reduc_splus_v2df): Rename to... | |
5658 | (reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar. | |
5659 | ||
5660 | (reduc_splus_v16sf): Rename to... | |
5661 | (reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar. | |
5662 | ||
5663 | (reduc_splus_v8sf): Rename to... | |
5664 | (reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar. | |
5665 | ||
5666 | (reduc_splus_v4sf): Rename to... | |
5667 | (reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar. | |
5668 | ||
5669 | (reduc_<code>_<mode>, all 3 variants): Rename each to... | |
5670 | (reduc_<code>_scal_<mode>): ...here; reduce to temp and extract scalar. | |
5671 | ||
5672 | (reduc_umin_v8hf): Rename to... | |
5673 | (reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar. | |
5674 | ||
5675 | 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com> | |
5676 | ||
5677 | * omp-low.c (pass_omp_simd_clone::gate): If target allows - call | |
5678 | without additional conditions. | |
5679 | * doc/extend.texi (@item simd): New. | |
5680 | ||
5681 | 2015-11-16 Tom de Vries <tom@codesourcery.com> | |
5682 | ||
5683 | * passes.c (first_pass_instance): Remove variable. | |
5684 | (execute_todo): Remove setting of first_pass_instance. | |
5685 | * tree-pass.h (first_pass_instance): Remove declaration. | |
5686 | ||
5687 | 2015-11-16 Tom de Vries <tom@codesourcery.com> | |
5688 | ||
5689 | * passes.def: Add arg to pass_ccp pass instantiation. | |
5690 | * tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p. Use nonzero_p | |
5691 | instead of first_pass_instance. | |
5692 | (do_ssa_ccp): Add and handle param nonzero_p. | |
5693 | (pass_ccp::pass_ccp): Initialize nonzero_p. | |
5694 | (pass_ccp::set_pass_param): New member function. Set nonzero_p. | |
5695 | (pass_ccp::execute): Call do_ssa_ccp with extra arg. | |
5696 | (pass_ccp::nonzero_p): New private member. | |
5697 | ||
5698 | 2015-11-16 Tom de Vries <tom@codesourcery.com> | |
5699 | ||
5700 | * passes.def: Add arg to pass_object_sizes pass instantiation. | |
5701 | * tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize | |
5702 | insert_min_max_p. | |
5703 | (pass_object_sizes::set_pass_param): New member function. Set | |
5704 | insert_min_max_p. | |
5705 | (pass_object_sizes::insert_min_max_p): New private member. | |
5706 | (pass_object_sizes::execute): Use insert_min_max_p instead of | |
5707 | first_pass_instance. | |
5708 | ||
5709 | 2015-11-16 Tom de Vries <tom@codesourcery.com> | |
5710 | ||
5711 | * passes.def: Add arg to pass_dominator pass instantiation. | |
5712 | * tree-pass.h (first_pass_instance): Remove pass_dominator-related bit | |
5713 | of comment. | |
5714 | * tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize | |
5715 | may_peel_loop_headers_p. | |
5716 | (pass_dominator::set_pass_param): New member function. Set | |
5717 | may_peel_loop_headers_p. | |
5718 | (pass_dominator::may_peel_loop_headers_p): New private member. | |
5719 | (pass_dominator::execute): Use may_peel_loop_headers_p instead of | |
5720 | first_pass_instance. | |
5721 | ||
5722 | 2015-11-16 Tom de Vries <tom@codesourcery.com> | |
5723 | ||
5724 | * passes.def: Add arg to pass_reassoc pass instantiation. | |
5725 | * tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable. | |
5726 | (acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead | |
5727 | of first_pass_instance. | |
5728 | (execute_reassoc): Add and handle insert_powi_p parameter. | |
5729 | (pass_reassoc::insert_powi_p): New private member. | |
5730 | (pass_reassoc::pass_reassoc): Initialize insert_powi_p. | |
5731 | (pass_reassoc::set_pass_param): New member function. Set insert_powi_p. | |
5732 | (pass_reassoc::execute): Call execute_reassoc with extra arg. | |
5733 | ||
5734 | 2015-11-16 Tom de Vries <tom@codesourcery.com> | |
5735 | ||
5736 | * gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument. | |
5737 | * gen-pass-instances.awk (handle_line): Same. | |
5738 | * pass_manager.h (class pass_manager): Define and undefine | |
5739 | NEXT_PASS_WITH_ARG. | |
5740 | * passes.c (opt_pass::set_pass_param): New function. | |
5741 | (pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG. | |
5742 | * passes.def: Add extra arg to NEXT_PASS (pass_vrp). | |
5743 | * tree-pass.h (gimple_opt::set_pass_param): Declare. | |
5744 | * tree-vrp.c (vrp_finalize, execute_vrp): Add and handle | |
5745 | warn_array_bounds_p parameter. | |
5746 | (pass_vrp::pass_vrp): Initialize warn_array_bounds_p. | |
5747 | (pass_vrp::set_pass_param): New function. | |
5748 | (pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call. | |
5749 | (pass_vrp::warn_array_bounds_p): New private member. | |
5750 | ||
5751 | 2015-11-16 Eric Botcazou <ebotcazou@adacore.com> | |
5752 | ||
5753 | * config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust. | |
5754 | (output_probe_stack_range): Rotate the loop and simplify. | |
5755 | ||
5756 | 2015-11-16 Eric Botcazou <ebotcazou@adacore.com> | |
5757 | ||
5758 | * config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust. | |
5759 | (output_probe_stack_range): Rotate the loop and simplify. | |
5760 | ||
5761 | 2015-11-16 Eric Botcazou <ebotcazou@adacore.com> | |
5762 | ||
5763 | * config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use | |
5764 | an lea instruction when possible. | |
5765 | (output_adjust_stack_and_probe): Rotate the loop and simplify. | |
5766 | (ix86_emit_probe_stack_range): Adjust. | |
5767 | (output_probe_stack_range): Rotate the loop and simplify. | |
5768 | ||
5769 | 2015-11-16 Christian Bruel <christian.bruel@st.com> | |
5770 | ||
5771 | * config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON. | |
5772 | Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP | |
5773 | with appropriate pragma GCC target. | |
5774 | ||
5775 | 2015-11-16 Christian Bruel <christian.bruel@st.com> | |
5776 | ||
5777 | PR target/65837 | |
5778 | * config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset | |
5779 | __ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP. | |
5780 | ||
5781 | 2015-11-16 James Greenhalgh <james.greenhalgh@arm.com> | |
5782 | ||
5783 | * config/aarch64/aarch64.c (cortexa57_branch_costs): New. | |
5784 | (cortexa57_tunings): Use it. | |
5785 | ||
5786 | 2015-11-16 Christian Bruel <christian.bruel@st.com> | |
5787 | ||
5788 | PR target/65837 | |
5789 | * config/arm/arm-c.c (arm_cpu_builtins): Set or reset | |
5790 | __ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__ | |
5791 | (arm_pragma_target_parse): Change check for arm_cpu_builtins. | |
5792 | undefine __ARM_FP. | |
5793 | * config/arm/arm.c (arm_can_inline_p): Check FPUs. | |
5794 | (arm_valid_target_attribute_rec): Handle -mfpu attribute target. | |
5795 | * doc/invoke.texi (-mfpu=): Mention attribute and pragma. | |
5796 | * doc/extend.texi (-mfpu=): Describe attribute. | |
5797 | ||
5798 | 2015-11-16 Christian Bruel <christian.bruel@st.com> | |
5799 | ||
5800 | PR target/65837 | |
5801 | * config/arm/arm-protos.h (arm_init_neon_builtins): Declare. | |
5802 | * config/arm/arm.c (arm_valid_target_attribute_tree): Call | |
5803 | arm_init_neon_builtins. | |
5804 | * config/arm/arm-builtins.c (arm_init_neon_builtins): Split into... | |
5805 | (arm_init_neon_builtins_internal) | |
5806 | (arm_init_crypto_builtins_internal): | |
5807 | Test and set neon_set_p, neon_crypto_set_p. | |
5808 | (neon_set_p, neon_crypto_set_p): New static booleans. | |
5809 | ||
5810 | 2015-11-16 Christian Bruel <christian.bruel@st.com> | |
5811 | ||
5812 | PR target/65837 | |
5813 | * config/arm/arm.c (arm_fpu_desc): Remove. | |
5814 | (all_fpus): Make global. | |
5815 | (arm_option_override): Use FPU TARGET accessors. | |
5816 | (arm_declare_function_name): Likewise. | |
5817 | * config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5) | |
5818 | (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16) | |
5819 | (TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO) | |
5820 | (TARGET_NEON): Likewise. | |
5821 | (all_fpus): Declare extern. | |
5822 | (TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV) | |
5823 | (TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors. | |
5824 | ||
5825 | 2015-11-15 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
5826 | ||
5827 | PR middle-end/68366 | |
5828 | * sdbout.c: Include emit-rtl.h and function.h. | |
5829 | ||
5830 | 2015-11-15 Gerald Pfeifer <gerald@pfeifer.com> | |
5831 | ||
5832 | * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586. | |
5833 | Remove support for FreeBSD 5 and earlier. | |
5834 | ||
5835 | 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
5836 | ||
5837 | * configure: Regenerate. | |
5838 | * configure.ac: Always define ENABLE_OFFLOADING. | |
5839 | * cgraph.c (cgraph_node::create): Adjust. | |
5840 | * gcc.c (process_command): Likewise. | |
5841 | * omp-low.c (create_omp_child_function): Likewise. | |
5842 | (expand_omp_target): Likewise. | |
5843 | * varpool.c (varpool_node::get_create): Likewise. | |
5844 | ||
5845 | 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
5846 | ||
5847 | * defaults.h (EH_RETURN_HANDLER_RTX): New default definition. | |
5848 | * df-scan.c (df_get_exit_block_use_set): Adjust. | |
5849 | * except.c (expand_eh_return): Likewise. | |
5850 | ||
5851 | 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
5852 | ||
5853 | * config/i386/i386.h (TARGET_PECOFF): Remove define. | |
5854 | * defaults.h (TARGET_PECOFF): New default definition. | |
5855 | * varasm.c (handle_vtv_comdat_section): Adjust. | |
5856 | ||
5857 | 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
5858 | ||
5859 | * defaults.h: New definition of SDB_DEBUGGING_INFO. | |
5860 | * doc/tm.texi: Regenerate. | |
5861 | * doc/tm.texi.in: Adjust. | |
5862 | * final.c (rest_of_clean_state): Remove check if | |
5863 | SDB_DEBUGGING_INFO is defined. | |
5864 | * function.c (number_blocks): Likewise. | |
5865 | * output.h: Likewise. | |
5866 | * sdbout.c: Likewise. | |
5867 | * toplev.c (process_options): Likewise. | |
5868 | ||
5869 | 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
5870 | ||
5871 | * gsyms.h (enum sdb_type): Remove code for EXTENDED_SDB_BASIC_TYPES. | |
5872 | (enum sdb_masks): Likewise. | |
5873 | * sdbout.c (plain_type_1): Likewise. | |
5874 | * system.h: Poison EXTENDED_SDB_BASIC_TYPES macro. | |
5875 | ||
5876 | 2015-11-14 Jakub Jelinek <jakub@redhat.com> | |
5877 | ||
5878 | * omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* | |
5879 | internal calls - 0 if ordered simd and 1 for ordered threads simd. | |
5880 | * tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_* | |
5881 | argument is 1, replace it with GOMP_ordered_* call instead of removing | |
5882 | it. | |
5883 | ||
dfb6d139 | 5884 | 2015-11-13 Rich Felker <dalias@libc.org> |
fb2c1edd | 5885 | |
5886 | * config/sh/sh.md (symGOT_load): Suppress __stack_chk_guard | |
5887 | address loading hack for FDPIC targets. | |
5888 | ||
5889 | 2015-11-13 Ajit Agarwal <ajitkum@xilinx.com> | |
5890 | Jeff Law <law@redhat.com> | |
5891 | ||
5892 | * Makefile.in (OBJS): Add gimple-ssa-split-paths.o | |
5893 | * common.opt (-fsplit-paths): New flag controlling path splitting. | |
5894 | * doc/invoke.texi (fsplit-paths): Document. | |
5895 | * opts.c (default_options_table): Add -fsplit-paths to -O2. | |
5896 | * passes.def: Add split_paths pass. | |
5897 | * timevar.def (TV_SPLIT_PATHS): New timevar. | |
5898 | * tracer.c: Include "tracer.h" | |
5899 | (ignore_bb_p): No longer static. | |
5900 | (transform_duplicate): New function, broken out of tail_duplicate. | |
5901 | (tail_duplicate): Use transform_duplicate. | |
5902 | * tracer.h (ignore_bb_p): Declare | |
5903 | (transform_duplicate): Likewise. | |
5904 | * tree-pass.h (make_pass_split_paths): Declare. | |
5905 | * gimple-ssa-split-paths.c: New file. | |
5906 | ||
5907 | 2015-11-13 Kai Tietz <ktietz70@googlemail.com> | |
5908 | Marek Polacek <polacek@redhat.com> | |
5909 | Jason Merrill <jason@redhat.com> | |
5910 | ||
5911 | * convert.c (maybe_fold_build1_loc): New. | |
5912 | (maybe_fold_build2_loc): New. | |
5913 | (convert_to_pointer_1): Split out from convert_to_pointer. | |
5914 | (convert_to_pointer_nofold): New. | |
5915 | (convert_to_real_1): Split out from convert_to_real. | |
5916 | (convert_to_real_nofold): New. | |
5917 | (convert_to_integer_1): Split out from convert_to_integer. | |
5918 | (convert_to_integer_nofold): New. | |
5919 | (convert_to_complex_1): Split out from convert_to_complex. | |
5920 | (convert_to_complex_nofold): New. | |
5921 | * convert.h: Declare new functions. | |
5922 | * tree-complex.c (create_one_component_var): Break up line to | |
5923 | avoid sequence point issues. | |
5924 | ||
5925 | 2015-11-13 Jason Merrill <jason@redhat.com> | |
5926 | ||
5927 | * fold-const.c (fold_convert_const): Fold changing cv-quals on | |
5928 | VECTOR_CST. | |
5929 | ||
5930 | * hash-map.h (hash_map::empty): New. | |
5931 | ||
5932 | 2015-11-13 Nathan Sidwell <nathan@codesourcery.com> | |
5933 | ||
5934 | * omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ. | |
5935 | (oacc_loop_fixed_partitions): Correct return type to bool. | |
5936 | (oacc_loop_auto_partitions): New. | |
5937 | (oacc_loop_partition): Take mask argument, call | |
5938 | oacc_loop_auto_partitions. | |
5939 | (execute_oacc_device_lower): Provide mask to oacc_loop_partition. | |
5940 | ||
5941 | 2015-11-13 Michael Meissner <meissner@linux.vnet.ibm.com> | |
5942 | ||
5943 | * config/rs6000/constraints.md (we constraint): New constraint for | |
5944 | 64-bit power9 vector support. | |
5945 | (wL constraint): New constraint for the element in a vector that | |
5946 | can be addressed by the MFVSRLD instruction. | |
5947 | ||
5948 | * config/rs6000/rs6000-protos.h (convert_float128_to_int): Add | |
5949 | declaration. | |
5950 | (convert_int_to_float128): Likewise. | |
5951 | (rs6000_generate_compare): Add support for ISA 3.0 (power9) | |
5952 | hardware support for IEEE 128-bit floating point. | |
5953 | (rs6000_expand_float128_convert): Likewise. | |
5954 | (convert_float128_to_int): Likewise. | |
5955 | (convert_int_to_float128): Likewise. | |
5956 | ||
5957 | * config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): New unspecs for | |
5958 | ISA 3.0 hardware IEEE 128-bit floating point. | |
5959 | (UNSPEC_IEEE128_MOVE): Likewise. | |
5960 | (UNSPEC_IEEE128_CONVERT): Likewise. | |
5961 | (FMA_F): Add support for IEEE 128-bit floating point hardware support. | |
5962 | (Ff): Add support for DImode. | |
5963 | (Fv): Likewise. | |
5964 | (any_fix code iterator): New and updated iterators for IEEE | |
5965 | 128-bit floating point hardware support. | |
5966 | (any_float code iterator): Likewise. | |
5967 | (s code attribute): Likewise. | |
5968 | (su code attribute): Likewise. | |
5969 | (az code attribute): Likewise. | |
5970 | (uns code attribute): Likewise. | |
5971 | (neg<mode>2, FLOAT128 iterator): Add support for IEEE 128-bit | |
5972 | floating point hardware support. | |
5973 | (abs<mode>2, FLOAT128 iterator): Likewise. | |
5974 | (add<mode>3, IEEE128 iterator): New insns for IEEE 128-bit | |
5975 | floating point hardware. | |
5976 | (sub<mode>3, IEEE128 iterator): Likewise. | |
5977 | (mul<mode>3, IEEE128 iterator): Likewise. | |
5978 | (div<mode>3, IEEE128 iterator): Likewise. | |
5979 | (copysign<mode>3, IEEE128 iterator): Likewise. | |
5980 | (sqrt<mode>2, IEEE128 iterator): Likewise. | |
5981 | (neg<mode>2, IEEE128 iterator): Likewise. | |
5982 | (abs<mode>2, IEEE128 iterator): Likewise. | |
5983 | (nabs<mode>2, IEEE128 iterator): Likewise. | |
5984 | (fma<mode>4_hw, IEEE128 iterator): Likewise. | |
5985 | (fms<mode>4_hw, IEEE128 iterator): Likewise. | |
5986 | (nfma<mode>4_hw, IEEE128 iterator): Likewise. | |
5987 | (nfms<mode>4_hw, IEEE128 iterator): Likewise. | |
5988 | (extend<SFDF:mode><IEEE128:mode>2_hw): Likewise. | |
5989 | (trunc<mode>df2_hw, IEEE128 iterator): Likewise. | |
5990 | (trunc<mode>sf2_hw, IEEE128 iterator): Likewise. | |
5991 | (fix_fixuns code attribute): Likewise. | |
5992 | (float_floatuns code attribute): Likewise. | |
5993 | (fix<uns>_<mode>si2_hw): Likewise. | |
5994 | (fix<uns>_<mode>di2_hw): Likewise. | |
5995 | (float<uns>_<mode>si2_hw): Likewise. | |
5996 | (float<uns>_<mode>di2_hw): Likewise. | |
5997 | (xscvqp<su>wz_<mode>): Likewise. | |
5998 | (xscvqp<su>dz_<mode>): Likewise. | |
5999 | (xscv<su>dqp_<mode): Likewise. | |
6000 | (ieee128_mfvsrd): Likewise. | |
6001 | (ieee128_mfvsrwz): Likewise. | |
6002 | (ieee128_mtvsrw): Likewise. | |
6003 | (ieee128_mtvsrd): Likewise. | |
6004 | (trunc<mode>df2_odd): Likewise. | |
6005 | (cmp<mode>_h): Likewise. | |
6006 | (128-bit GPR splitters): Don't split a 128-bit move that is a | |
6007 | direct move between GPR and vector registers using ISA 3.0 direct | |
6008 | move instructions. | |
6009 | (maddld4): Add support for the ISA 3.0 integer multiply-add | |
6010 | instruction. | |
6011 | ||
6012 | * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add ISA 3.0 | |
6013 | debugging. | |
6014 | (rs6000_init_hard_regno_mode_ok): If ISA 3.0 and 64-bit, enable we | |
6015 | constraint. Disable the VSX<->GPR direct move helpers if we have | |
6016 | the MFVSRLD and MTVSRDD instructions. | |
6017 | (rs6000_secondary_reload_simple_move): Add support for doing | |
6018 | vector direct moves directly without additional scratch registers | |
6019 | if we have ISA 3.0 instructions. | |
6020 | (rs6000_secondary_reload_direct_move): Update comments. | |
6021 | (rs6000_output_move_128bit): Add support for ISA 3.0 vector | |
6022 | instructions. | |
6023 | ||
6024 | * config/rs6000/vsx.md (vsx_mov<mode>): Add support for ISA 3.0 | |
6025 | direct move instructions. | |
6026 | (vsx_movti_64bit): Likewise. | |
6027 | (vsx_extract_<mode>): Likewise. | |
6028 | ||
6029 | * config/rs6000/rs6000.h (VECTOR_ELEMENT_MFVSRLD_64BIT): New | |
6030 | macros for ISA 3.0 direct move instructions. | |
6031 | (TARGET_DIRECT_MOVE_128): Likewise. | |
6032 | (TARGET_MADDLD): Add support for the ISA 3.0 integer multiply-add | |
6033 | instruction. | |
6034 | ||
6035 | * doc/md.texi (RS/6000 constraints): Document we, wF, wG, wL | |
6036 | constraints. Update wa documentation to say not to use %x<n> on | |
6037 | instructions that only take Altivec registers. | |
6038 | ||
6039 | 2015-11-13 David Malcolm <dmalcolm@redhat.com> | |
6040 | ||
6041 | * Makefile.in (OBJS): Add gcc-rich-location.o. | |
6042 | * diagnostic.c (diagnostic_append_note): Pass line_table to | |
6043 | rich_location ctor. | |
6044 | (emit_diagnostic): Likewise. | |
6045 | (inform): Likewise. | |
6046 | (inform_n): Likewise. | |
6047 | (warning): Likewise. | |
6048 | (warning_at): Likewise. | |
6049 | (warning_n): Likewise. | |
6050 | (pedwarn): Likewise. | |
6051 | (permerror): Likewise. | |
6052 | (error): Likewise. | |
6053 | (error_n): Likewise. | |
6054 | (error_at): Likewise. | |
6055 | (sorry): Likewise. | |
6056 | (fatal_error): Likewise. | |
6057 | (internal_error): Likewise. | |
6058 | (internal_error_no_backtrace): Likewise. | |
6059 | (source_range::debug): Likewise. | |
6060 | * gcc-rich-location.c: New file. | |
6061 | * gcc-rich-location.h: New file. | |
6062 | * genmatch.c (fatal_at): Pass line_table to rich_location ctor. | |
6063 | (warning_at): Likewise. | |
6064 | * gimple.h (gimple_set_block): Use set_block function. | |
6065 | * input.c (dump_line_table_statistics): Dump stats on how many | |
6066 | ranges were optimized vs how many needed ad-hoc table. | |
6067 | (write_digit_row): Add "map" param; use its range_bits | |
6068 | to calculate the per-character offset. | |
6069 | (dump_location_info): Print the range and column bits for each | |
6070 | ordinary map. Use the range bits to calculate the per-character | |
6071 | offset. Pass the map as a new param to the various calls to | |
6072 | write_digit_row. Eliminate uses of | |
6073 | ORDINARY_MAP_NUMBER_OF_COLUMN_BITS. | |
6074 | * print-tree.c (print_node): Print any source range information. | |
6075 | * rtl-error.c (diagnostic_for_asm): Likewise. | |
6076 | * toplev.c (general_init): Initialize line_table's | |
6077 | default_range_bits. | |
6078 | * tree-cfg.c (move_block_to_fn): Likewise. | |
6079 | (move_block_to_fn): Likewise. | |
6080 | * tree-inline.c (copy_phis_for_bb): Likewise. | |
6081 | * tree.c (tree_set_block): Likewise. | |
6082 | (get_pure_location): New function. | |
6083 | (set_source_range): New functions. | |
6084 | (set_block): New function. | |
6085 | (set_source_range): New functions. | |
6086 | * tree.h (CAN_HAVE_RANGE_P): New. | |
6087 | (EXPR_LOCATION_RANGE): New. | |
6088 | (EXPR_HAS_RANGE): New. | |
6089 | (get_expr_source_range): New inline function. | |
6090 | (DECL_LOCATION_RANGE): New. | |
6091 | (set_source_range): New decls. | |
6092 | (get_decl_source_range): New inline function. | |
6093 | ||
6094 | 2015-11-13 Alan Lawrence <alan.lawrence@arm.com> | |
6095 | ||
6096 | PR tree-optimization/67682 | |
6097 | * tree-vect-slp.c (vect_split_slp_store_group): New. | |
6098 | (vect_analyze_slp_instance): During basic block SLP, recurse on | |
6099 | subgroups if vect_build_slp_tree fails after 1st vector. | |
6100 | ||
6101 | 2015-11-13 Christian Bruel <christian.bruel@st.com> | |
6102 | ||
6103 | PR target/65837 | |
6104 | * config/arm/arm.c (arm_option_override): Move NEON check... | |
6105 | (arm_option_check_internal): here | |
6106 | (arm_file_start): Move .fpu print... | |
6107 | (arm_declare_function_name): here | |
6108 | (arm_option_print): Dump current fpu name. | |
6109 | * config/arm/arm.opt (arm_fpu_index): Mark Save. | |
6110 | ||
6111 | 2015-11-13 Segher Boessenkool <segher@kernel.crashing.org> | |
6112 | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
6113 | ||
6114 | * combine.c (subst): Don't substitute or simplify when | |
6115 | handling register-wise widening multiply. | |
6116 | (force_to_mode): Likewise. | |
6117 | ||
6118 | 2015-11-13 Richard Sandiford <richard.sandiford@arm.com> | |
6119 | ||
6120 | PR tree-optimization/68264 | |
6121 | * tree-call-cdce.c (gen_one_condition): Update commentary. | |
6122 | (gen_conditions_for_pow_int_base): Invert the sense of the tests | |
6123 | passed to gen_one_condition. | |
6124 | (gen_conditions_for_domain): Likewise. Use unordered comparisons. | |
6125 | (shrink_wrap_one_built_in_call): Invert the sense of the tests, | |
6126 | using EDGE_FALSE_VALUE for edges to the call block and | |
6127 | EDGE_TRUE_VALUE for the others. | |
6128 | ||
6129 | 2015-11-13 Nathan Sidwell <nathan@codesourcery.com> | |
6130 | ||
6131 | * config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with | |
6132 | complex types. | |
6133 | ||
6134 | 2015-11-13 Nathan Sidwell <nathan@codesourcery.com> | |
6135 | ||
6136 | * gimplify.c (oacc_default_clause): Use inform for enclosing scope. | |
6137 | ||
6138 | 2015-11-13 Tom de Vries <tom@codesourcery.com> | |
6139 | ||
6140 | * gen-pass-instances.awk (handle_line): Rename prefix_len var to | |
6141 | len_of_prefix. | |
6142 | ||
6143 | 2015-11-13 Tom de Vries <tom@codesourcery.com> | |
6144 | ||
6145 | * gen-pass-instances.awk (handle_line): Add args_str variable. | |
6146 | ||
6147 | 2015-11-13 Martin Liska <mliska@suse.cz> | |
6148 | ||
6149 | * graphite-poly.c (free_scop): Release scop->drs vector. | |
6150 | * graphite-scop-detection.c (scop_detection::harmful_stmt_in_region): | |
6151 | Release dom vector. | |
6152 | (try_generate_gimple_bb): Use vNULL as a default initialization | |
6153 | for vectors. | |
6154 | ||
6155 | 2015-11-13 Martin Liska <mliska@suse.cz> | |
6156 | ||
6157 | PR ipa/68311 | |
6158 | * ipa-icf.c (sem_item_optimizer::traverse_congruence_split): | |
6159 | Replace array initialization (using a variable post-increment) | |
6160 | that possible triggers multiple unsequenced modifications | |
6161 | with a pair of pushes to a vector. | |
6162 | ||
6163 | 2015-11-13 Richard Biener <rguenther@suse.de> | |
6164 | ||
6165 | PR tree-optimization/68306 | |
6166 | * tree-vect-data-refs.c (verify_data_ref_alignment): Move | |
6167 | loop related checks ... | |
6168 | (vect_verify_datarefs_alignment): ... here. | |
6169 | (vect_slp_analyze_and_verify_node_alignment): Compute and | |
6170 | verify alignment of the single DR that it matters. | |
6171 | * tree-vect-stmts.c (vectorizable_store): Add an assert. | |
6172 | (vectorizable_load): Add a comment. | |
6173 | * tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used | |
6174 | for determining load cost. | |
6175 | ||
6176 | 2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com> | |
6177 | ||
6178 | * tree-vect-loop.c (vect_determine_vectorization_factor): Check | |
6179 | mix of boolean and integer vectors in a single statement. | |
6180 | * tree-vect-slp.c (vect_mask_constant_operand_p): New. | |
6181 | (vect_get_constant_vectors): Use vect_mask_constant_operand_p to | |
6182 | determine constant type. | |
6183 | * tree-vect-stmts.c (vectorizable_comparison): Provide vectype | |
6184 | for loop invariants. | |
6185 | ||
dfb6d139 | 6186 | 2015-11-13 Alan Hayward <alan.hayward@arm.com> |
fb2c1edd | 6187 | |
6188 | PR tree-optimization/66558 | |
6189 | * tree-vect-loop.c (is_integer_induction):Add. | |
6190 | (vectorizable_reduction): Add integer induction checks. | |
6191 | ||
6192 | 2015-11-13 Christophe Lyon <christophe.lyon@linaro.org> | |
6193 | ||
6194 | Revert [ARM] Remove neon-testgen.ml and generated tests. | |
6195 | ||
6196 | 2015-11-12 Christophe Lyon <christophe.lyon@linaro.org> | |
6197 | ||
6198 | [ARM] Remove neon-testgen.ml and generated tests. | |
6199 | ||
6200 | * config/arm/neon-testgen.ml: Remove. | |
6201 | ||
6202 | 2015-11-13 Richard Biener <rguenther@suse.de> | |
6203 | ||
6204 | * tree-vect-loop.c (vect_analyze_loop_2): Add fatal parameter. | |
6205 | Signal fatal failure if early checks fail. | |
6206 | (vect_analyze_loop): If vect_analyze_loop_2 fails fatally | |
6207 | do not bother testing further vector sizes. | |
6208 | ||
6209 | 2015-11-13 Uros Bizjak <ubizjak@gmail.com> | |
6210 | ||
6211 | * config/i386/predicates.md (misaligned_operand): Return true if | |
6212 | operand is aligned to less than its natural alignmnet. | |
6213 | ||
6214 | 2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com> | |
6215 | ||
6216 | * doc/md.texi (vec_cmp@var{m}@var{n}): New item. | |
6217 | (vec_cmpu@var{m}@var{n}): New item. | |
6218 | (vcond@var{m}@var{n}): Specify comparison is signed. | |
6219 | (vcondu@var{m}@var{n}): New item. | |
6220 | (vcond_mask_@var{m}@var{n}): New item. | |
6221 | (maskload@var{m}@var{n}): New item. | |
6222 | (maskstore@var{m}@var{n}): New item. | |
6223 | ||
6224 | 2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com> | |
6225 | ||
6226 | * tree-vect-stmts.c (vectorizable_mask_load_store): Check | |
6227 | types of stored value and storage are compatible. | |
6228 | ||
6229 | 2015-11-13 Andris Pavenis <andris.pavenis@iki.fi> | |
6230 | ||
6231 | * gcc.c (POST_LINK_SPEC): Define if not already defined. | |
6232 | (LINK_COMMAND_SPEC): Use post_link. | |
6233 | (post_link_spec): New, initialize to POST_LINK_SPEC. | |
6234 | (post_link): Initialize new static spec. | |
6235 | * doc/tm.texi.in (POST_LINK_SPEC): Document. | |
6236 | * doc/tm.texi: Regenerated. | |
6237 | ||
6238 | 2015-11-13 David Malcolm <dmalcolm@redhat.com> | |
6239 | ||
6240 | PR driver/67613 | |
6241 | * Makefile.in (GCC_OBJS): Add spellcheck.o. | |
6242 | (OBJS): Add spellcheck-tree.o. | |
6243 | * gcc.c: Include "spellcheck.h". | |
6244 | (suggest_option): New function. | |
6245 | (driver::handle_unrecognized_options): Call suggest_option to | |
6246 | provide a hint about misspelled options. | |
6247 | * spellcheck.c: Update file comment. | |
6248 | (levenshtein_distance): Convert 4-param implementation from static | |
6249 | to extern scope. Remove note about unit tests from leading | |
6250 | comment for const char * implementation. Move tree | |
6251 | implementation to... | |
6252 | * spellcheck-tree.c: New file. | |
6253 | * spellcheck.h (levenshtein_distance): Add 4-param decl. | |
6254 | ||
6255 | 2015-11-13 David Malcolm <dmalcolm@redhat.com> | |
6256 | ||
6257 | * Makefile.in (OBJS): Add spellcheck.o. | |
6258 | * spellcheck.c: New file. | |
6259 | * spellcheck.h: New file. | |
6260 | ||
6261 | 2015-11-13 James Bowman <james.bowman@ftdichip.com> | |
6262 | ||
6263 | * config/ft32/ft32.md (*sne): New insn pattern. | |
6264 | ||
6265 | 2015-11-12 Brad Lucier <lucier@math.purdue.edu> | |
6266 | ||
6267 | * cprop.c (is_too_expensive): Remove. | |
6268 | (gcse.h): Include. | |
6269 | (one_cprop_pass): Call gcse_or_cprop_is_too_expensive, not | |
6270 | is_too_expensive. | |
6271 | * gcse.h (gcse_or_cprop_is_too_expensive): Declare. | |
6272 | * gcse.c (is_too_expensive): Rename to ... | |
6273 | (gcse_or_cprop_is_too_expensive): ... this. | |
6274 | Expand warning to add required size of max-gcse-memory. | |
6275 | (one_pre_gcse_pass): Use it. | |
6276 | (one_code_hoisting_pass): Use it. | |
6277 | * params.def (max-gcse-memory): Increase from 50MB to 128MB. | |
6278 | ||
6279 | 2015-11-12 James Norris <jnorris@codesourcery.com> | |
6280 | Joseph Myers <joseph@codesourcery.com> | |
6281 | ||
6282 | * gimple-pretty-print.c (dump_gimple_omp_target): Handle | |
6283 | GF_OMP_TARGET_KIND_OACC_DECLARE. | |
6284 | * gimple.h (enum gf_mask): Add GF_OMP_TARGET_KIND_OACC_DECLARE. | |
6285 | (is_gomple_omp_oacc): Handle GF_OMP_TARGET_KIND_OACC_DECLARE. | |
6286 | * gimplify.c (oacc_declare_returns): New. | |
6287 | (gimplify_bind_expr): Prepend 'exit' stmt to cleanup. | |
6288 | (device_resident_p): New function. | |
6289 | (oacc_default_clause): Handle device_resident clause. | |
6290 | (gimplify_oacc_declare_1, gimplify_oacc_declare): New functions. | |
6291 | (gimplify_expr): Handle OACC_DECLARE. | |
6292 | * omp-builtins.def (BUILT_IN_GOACC_DECLARE): New builtin. | |
6293 | * omp-low.c (expand_omp_target): Handle | |
6294 | GF_OMP_TARGET_KIND_OACC_DECLARE and BUILTIN_GOACC_DECLARE. | |
6295 | (build_omp_regions_1): Handlde GF_OMP_TARGET_KIND_OACC_DECLARE. | |
6296 | (lower_omp_target): Handle GF_OMP_TARGET_KIND_OACC_DECLARE, | |
6297 | GOMP_MAP_DEVICE_RESIDENT and GOMP_MAP_LINK. | |
6298 | (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_OACC_DECLARE. | |
6299 | * tree-pretty-print.c (dump_omp_clause): Handle GOMP_MAP_LINK and | |
6300 | GOMP_MAP_DEVICE_RESIDENT. | |
6301 | ||
6302 | 2015-11-12 Christophe Lyon <christophe.lyon@linaro.org> | |
6303 | ||
6304 | [ARM] Remove neon-testgen.ml and generated tests. | |
6305 | ||
6306 | * config/arm/neon-testgen.ml: Remove. | |
6307 | ||
6308 | 2015-11-12 Jim Wilson <jim.wilson@linaro.org> | |
6309 | ||
6310 | * config/aarch64/aarch64-cores.def (qdf24xx): New. | |
6311 | * config/aarch64/aarch64-tune.md: Regenerated. | |
6312 | * config/arm/arm-cores.def (qdf24xx): New. | |
6313 | * config/arm/arm-tables.opt, config/arm/arm-tune.md: Regenerated. | |
6314 | * config/arm/bpabi.h (BE8_LINK_SPEC): Add qdf24xx support. | |
6315 | * doc/invoke.texi (AArch64 Options/-mtune): Add "qdf24xx". | |
6316 | (ARM Options/-mtune): Likewise. | |
6317 | ||
6318 | 2015-11-12 Martin Liska <mliska@suse.cz> | |
6319 | ||
6320 | * config/i386/i386.c (ix86_valid_target_attribute_p): | |
6321 | Finalize options at the of the function. | |
6322 | * gcc.c (driver_get_configure_time_options): Call newly | |
6323 | introduced init_opts_obstack. | |
6324 | * lto-wrapper.c (main): Likewise. | |
6325 | * opts.c (init_opts_obstack): New function. | |
6326 | (init_options_struct): Call newly introduced init_opts_obstack. | |
6327 | * opts.h (init_options_struct): Declare. | |
6328 | ||
6329 | 2015-11-12 Martin Liska <mliska@suse.cz> | |
6330 | ||
6331 | PR ipa/68035 | |
6332 | * ipa-icf.c (void sem_item::set_hash): New function. | |
6333 | (sem_function::get_hash): Use renamed m_hash member variable. | |
6334 | (sem_item::update_hash_by_addr_refs): Utilize get_hash. | |
6335 | (sem_item::update_hash_by_local_refs): Likewise. | |
6336 | (sem_variable::get_hash): Use renamed m_hash member variable. | |
6337 | (sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash. | |
6338 | (sem_item_optimizer::build_hash_based_classes): Utilize set_hash. | |
6339 | (sem_item_optimizer::build_graph): As the hash value of an item | |
6340 | is lazy initialized, force the calculation. | |
6341 | * ipa-icf.h (set_hash): Declare new function and rename hash member | |
6342 | variable to m_hash. | |
6343 | ||
6344 | 2015-11-12 Richard Biener <rguenther@suse.de> | |
6345 | ||
6346 | * tree-vectorizer.h (vect_slp_analyze_data_ref_dependences): | |
6347 | Rename to vect_slp_analyze_instance_dependence. | |
6348 | * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence): | |
6349 | Remove WAR special-case. | |
6350 | (vect_slp_analyze_node_dependences): Instead add more specific | |
6351 | code here, not relying on other instances being vectorized. | |
6352 | (vect_slp_analyze_instance_dependence): Adjust accordingly. | |
6353 | * tree-vect-slp.c (vect_build_slp_tree_1): Remove excessive | |
6354 | vertical space in dump files. | |
6355 | (vect_print_slp_tree): Likewise. | |
6356 | (vect_analyze_slp_instance): Dump a header for the final SLP tree. | |
6357 | (vect_slp_analyze_bb_1): Delay computing relevant stmts and | |
6358 | not vectorized stmts until after dependence analysis removed | |
6359 | instances. Merge alignment and dependence checks. | |
6360 | * tree-vectorizer.c (pass_slp_vectorize::execute): Clear visited | |
6361 | flag on all stmts. | |
6362 | ||
6363 | 2015-11-12 Evandro Menezes <e.menezes@samsung.com> | |
6364 | ||
6365 | * config/aarch64/aarch64-protos.h (tune_params): Add new members | |
6366 | "max_case_values" and "cache_line_size". | |
6367 | * config/aarch64/aarch64.c (aarch64_case_values_threshold): New | |
6368 | function. | |
6369 | (aarch64_override_options_internal): Tune heuristics based on new | |
6370 | members in "tune_params". | |
6371 | (TARGET_CASE_VALUES_THRESHOLD): Define macro. | |
6372 | ||
6373 | 2015-11-12 Richard Biener <rguenther@suse.de> | |
6374 | ||
6375 | PR tree-optimization/68306 | |
6376 | * tree-vect-data-refs.c (verify_data_ref_alignment): Remove | |
6377 | relevant and vectorizable checks here. | |
6378 | (vect_verify_datarefs_alignment): Add relevant check here. | |
6379 | ||
6380 | 2015-11-12 Nathan Sidwell <nathan@codesourcery.com> | |
6381 | ||
6382 | * gimplify.c (oacc_default_clause): New. | |
6383 | (omp_notice_variable): Call it. | |
6384 | ||
6385 | 2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com> | |
6386 | ||
6387 | PR tree-optimization/68305 | |
6388 | * tree-vect-slp.c (vect_get_constant_vectors): Support | |
6389 | COND_EXPR with SSA_NAME as a condition. | |
6390 | ||
6391 | 2015-11-12 Eric Botcazou <ebotcazou@adacore.com> | |
6392 | ||
6393 | * config/visium/visium-protos.h (notice_update_cc): Delete. | |
6394 | (print_operand): Likewise. | |
6395 | (print_operand_address): Likewise. | |
6396 | ||
6397 | 2015-11-12 Uros Bizjak <ubizjak@gmail.com> | |
6398 | ||
6399 | * config/alpha/alpha.h (FUNCTION_VALUE, LIBCALL_VALUE, | |
6400 | FUNCTION_VALUE_REGNO_P): Remove. | |
6401 | * config/alpha/alpha-protos.h (function_value): Remove. | |
6402 | * config/alpha/alpha.c (function_value): Rename to... | |
6403 | (alpha_function_value_1): ... this. Make static. | |
6404 | (alpha_function_value, alpha_libcall_value, | |
6405 | alpha_function_value_regno_p): New functions. | |
6406 | (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, | |
6407 | TARGET_FUNCTION_VALUE_REGNO_P): Define. | |
6408 | ||
6409 | 2015-11-12 Uros Bizjak <ubizjak@gmail.com> | |
6410 | ||
6411 | * config/alpha/alpha.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. | |
6412 | * config/alpha/alpha.c (alpha_memory_latency): Make static. | |
6413 | (alpha_register_move_cost, alpha_memory_move_cost): New functions. | |
6414 | (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define. | |
6415 | ||
6416 | 2015-11-12 Eric Botcazou <ebotcazou@adacore.com> | |
6417 | ||
6418 | PR target/67265 | |
6419 | * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete | |
6420 | assertion on the CFA register. | |
6421 | ||
6422 | 2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com> | |
6423 | ||
6424 | * expr.c (do_store_flag): Expand vector comparison as | |
6425 | VEC_COND_EXPR if vector comparison is not supported by target. | |
6426 | ||
6427 | 2015-11-12 Renlin Li <renlin.li@arm.com> | |
6428 | ||
6429 | * config/arm/arm.md (addsi3_compare_op2): Make the order of | |
6430 | assembly pattern consistent with constraint order. | |
6431 | ||
6432 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6433 | ||
6434 | * gen-pass-instances.awk (handle_line): Simplify match regexp. | |
6435 | ||
6436 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6437 | ||
6438 | * gen-pass-instances.awk (handle_line): Simplify init of | |
6439 | postfix_starts_at. | |
6440 | ||
6441 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6442 | ||
6443 | * gen-pass-instances.awk (handle_line): Rename var where to | |
6444 | call_starts_at. | |
6445 | ||
6446 | 2015-11-12 Claudiu Zissulescu <claziss@synopsys.com> | |
6447 | ||
6448 | * config/arc/arc.c (gen_compare_reg): Swap operands also when we | |
6449 | do not expand to rtl. | |
6450 | ||
6451 | 2015-11-12 Richard Biener <rguenther@suse.de> | |
6452 | ||
6453 | PR tree-optimization/58497 | |
6454 | * tree-vect-generic.c: Include gimplify.h. | |
6455 | (tree_vec_extract): Lookup constant/constructor DEFs. | |
6456 | (do_cond): Unshare cond. | |
6457 | ||
6458 | 2015-11-12 Uros Bizjak <ubizjak@gmail.com> | |
6459 | ||
6460 | * config/i386/i386.c (ix86_legitimate_combined_insn): Reject | |
6461 | combined insn if the alignment of vector mode memory operand | |
6462 | is less than ssememalign. | |
6463 | ||
6464 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6465 | ||
6466 | * gen-pass-instances.awk (handle_line): Print parentheses and | |
6467 | pass_name explicitly. | |
6468 | ||
6469 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6470 | ||
6471 | * gen-pass-instances.awk (handle_line): Add pass_num, prefix | |
6472 | and postfix vars. | |
6473 | ||
6474 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6475 | ||
6476 | * gen-pass-instances.awk (handle_line): Add comments. | |
6477 | ||
6478 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6479 | ||
6480 | * gen-pass-instances.awk (handle_line): Rename len_of_end to | |
6481 | len_of_close. | |
6482 | ||
6483 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6484 | ||
6485 | * gen-pass-instances.awk (handle_line): Add len_of_call variable. | |
6486 | ||
6487 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6488 | ||
6489 | * gen-pass-instances.awk (handle_line): Restructure using early-out. | |
6490 | ||
6491 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6492 | ||
6493 | * gen-pass-instances.awk (handle_line): Unify semicolon use. | |
6494 | ||
6495 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6496 | ||
6497 | * gen-pass-instances.awk (handle_line): Remove unused var line_length. | |
6498 | ||
6499 | 2015-11-12 Tom de Vries <tom@codesourcery.com> | |
6500 | ||
6501 | * gen-pass-instances.awk: Add emacs indent setting. | |
6502 | ||
6503 | 2015-11-12 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
6504 | ||
6505 | * fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C) | |
6506 | to match.pd. | |
6507 | Move Convert A/(B/C) to (A/B)*C to match.pd. | |
6508 | Move Convert C1/(X*C2) into (C1/C2)/X to match.pd. | |
6509 | Move Optimize (X & (-A)) / A where A is a power of 2, to | |
6510 | X >> log2(A) to match.pd. | |
6511 | ||
6512 | * match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier. | |
6513 | (rdiv @0 (rdiv:s @1 @2)): New simplifier. | |
6514 | (div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2): | |
6515 | New simplifier. | |
6516 | (rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier. | |
6517 | ||
6518 | 2015-11-12 Charles Baylis <charles.baylis@linaro.org> | |
6519 | ||
6520 | * config/arm/neon.md: (neon_vld2_lane<mode>): Remove unused max | |
6521 | variable. | |
6522 | (neon_vst2_lane<mode>): Likewise. | |
6523 | (neon_vld3_lane<mode>): Likewise. | |
6524 | (neon_vst3_lane<mode>): Likewise. | |
6525 | (neon_vld4_lane<mode>): Likewise. | |
6526 | (neon_vst4_lane<mode>): Likewise. | |
6527 | ||
6528 | 2015-11-11 Aditya Kumar <aditya.k7@samsung.com> | |
6529 | Sebastian Pop <s.pop@samsung.com> | |
6530 | ||
6531 | * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): | |
6532 | New member codegen_error | |
6533 | (translate_isl_ast_for_loop): Remove call to single_succ_edge and | |
6534 | early return. | |
6535 | (translate_isl_ast_node_user): Early return in case of error. | |
6536 | (translate_isl_ast_to_gimple::translate_isl_ast): Same. | |
6537 | (translate_isl_ast_to_gimple::translate_pending_phi_nodes): New. | |
6538 | (add_parameters_to_ivs_params): Remove macro. | |
6539 | (graphite_regenerate_ast_isl): Add if_region pointer to region. | |
6540 | * graphite-poly.c (new_poly_dr): Remove macro. | |
6541 | (print_pdr): Same. | |
6542 | (new_gimple_poly_bb): Same. | |
6543 | (free_gimple_poly_bb): Same. | |
6544 | (print_scop_params): Same. | |
6545 | * graphite-poly.h (struct poly_dr): Same. | |
6546 | (struct poly_bb): Add new_bb. | |
6547 | (gbb_from_bb): Remove dead code. | |
6548 | (pbb_from_bb): Same. | |
6549 | * graphite-scop-detection.c (parameter_index_in_region_1): Same. | |
6550 | (parameter_index_in_region): Same. | |
6551 | (find_scop_parameters): Same. | |
6552 | (build_cross_bb_scalars_def): New. | |
6553 | (build_cross_bb_scalars_use): New. | |
6554 | (graphite_find_cross_bb_scalar_vars): New | |
6555 | (try_generate_gimple_bb): Reads and Writes. | |
6556 | (build_alias_set): Move. | |
6557 | (gather_bbs::before_dom_children): Gather bbs visited. | |
6558 | (build_scops): call build_alias_set. | |
6559 | * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete. | |
6560 | (remove_simple_copy_phi): Delete. | |
6561 | (remove_invariant_phi): Delete. | |
6562 | (simple_copy_phi_p): Delete. | |
6563 | (reduction_phi_p): Delete. | |
6564 | (isl_id_for_dr): Remove unused param. | |
6565 | (parameter_index_in_region_1): Remove macro usage. | |
6566 | (set_scop_parameter_dim): Same. | |
6567 | (add_param_constraints): Same. | |
6568 | (add_conditions_to_constraints): Same | |
6569 | (build_scop_iteration_domain): Same. | |
6570 | (pdr_add_alias_set): Comment. | |
6571 | (add_scalar_version_numbers): New. | |
6572 | (build_poly_dr): ISL id. | |
6573 | (build_scop_drs): Move. | |
6574 | (build_poly_sr_1): Same. | |
6575 | (insert_stmts): Remove. | |
6576 | (build_poly_sr): New. | |
6577 | (new_pbb_from_pbb): Delete. | |
6578 | (insert_out_of_ssa_copy_on_edge): Delete. | |
6579 | (create_zero_dim_array): Delete. | |
6580 | (scalar_close_phi_node_p): Delete. | |
6581 | (propagate_expr_outside_region): Delete. | |
6582 | (rewrite_close_phi_out_of_ssa): Delete. | |
6583 | (rewrite_phi_out_of_ssa): Delete. | |
6584 | (rewrite_degenerate_phi): Delete. | |
6585 | (rewrite_reductions_out_of_ssa): Delete. | |
6586 | (rewrite_cross_bb_scalar_dependence): Delete. | |
6587 | (handle_scalar_deps_crossing_scop_limits): | |
6588 | (rewrite_cross_bb_scalar_deps): Delete. | |
6589 | (build_poly_scop): Remove calls to out-of-ssa functions. | |
6590 | * graphite.c (graphite_transform_loops): Early return in case of | |
6591 | codegen error. | |
6592 | * sese.c (debug_rename_map_1): Delete. | |
6593 | (debug_rename_map): Delete. | |
6594 | (sese_record_loop): Remove macro. | |
6595 | (build_sese_loop_nests): Same. | |
6596 | (new_sese_info): Same. | |
6597 | (free_sese_info): Same. | |
6598 | (sese_insert_phis_for_liveouts): | |
6599 | (is_loop_closed_ssa_use): New. | |
6600 | (number_of_phi_nodes): New. | |
6601 | (bb_contains_loop_close_phi_nodes): New. | |
6602 | (bb_contains_loop_phi_nodes): New. | |
6603 | (phi_uses_name): New. | |
6604 | (is_valid_rename): | |
6605 | (get_rename): Add old_bb and loop_phi for more precise matching of | |
6606 | exprs. | |
6607 | (set_rename): Pass region. | |
6608 | (later_of_the_two): New. | |
6609 | (gsi_insert_earliest): New. | |
6610 | (collect_all_ssa_names): New. | |
6611 | (substitute_ssa_name): New. | |
6612 | (rename_all_uses): New. | |
6613 | (get_rename_from_scev): New. | |
6614 | (rename_uses): Pass old_bb for more precise matching of exprs. | |
6615 | (get_def_bb_for_const): New. | |
6616 | (get_new_name): New. | |
6617 | (get_loc): New. | |
6618 | (get_edges): New. | |
6619 | (copy_loop_phi_args): New. | |
6620 | (copy_loop_phi_nodes): New. | |
6621 | (get_loop_init_value): New. | |
6622 | (find_init_value): New. | |
6623 | (find_init_value_close_phi): New. | |
6624 | (copy_loop_close_phi_args): New. | |
6625 | (copy_loop_close_phi_nodes): New. | |
6626 | (add_phi_arg_for_new_expr): New. | |
6627 | (copy_cond_phi_args): New. | |
6628 | (copy_cond_phi_nodes): New. | |
6629 | (copy_phi_nodes): New. | |
6630 | (should_copy_to_new_region): New. | |
6631 | (set_rename_for_each_def): New. | |
6632 | (graphite_copy_stmts_from_block): Early return in case of error. | |
6633 | (copy_bb_and_scalar_dependences): Same. | |
6634 | * sese.h (vec_find): New. | |
6635 | (SESE_PARAMS): Delete. | |
6636 | (SESE_LOOPS): Delete. | |
6637 | (SESE_LOOP_NEST): Delete. | |
6638 | (sese_contains_loop): Remove macro usage. | |
6639 | (sese_nb_params): Same. | |
6640 | (struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs. | |
6641 | ||
6642 | 2015-11-11 Abderrazek Zaafrani <a.zaafrani@samsung.com> | |
6643 | ||
6644 | * graphite-sese-to-poly.c (build_scop_original_schedule): Call | |
6645 | isl_union_map_add_map on every pbb->schedule. | |
6646 | ||
6647 | 2015-11-11 Tom de Vries <tom@codesourcery.com> | |
6648 | ||
6649 | * tree-parloops.c (create_parallel_loop): Return void. | |
6650 | ||
6651 | 2015-11-11 Tom de Vries <tom@codesourcery.com> | |
6652 | ||
6653 | * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit | |
6654 | block only when needed. | |
6655 | ||
6656 | 2015-11-11 Uros Bizjak <ubizjak@gmail.com> | |
6657 | ||
6658 | * config/alpha/alpha-protos.h (print_operand): Remove. | |
6659 | (print_operand_address): Remove. | |
6660 | * config/alpha/alpha.h (PRINT_OPERAND): Remove. | |
6661 | (PRINT_OPERAND_ADDRESS): Remove. | |
6662 | (PRINT_OPERAND_PUNCT_VALID_P): Remove. | |
6663 | * config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define. | |
6664 | (TARGET_PRINT_OPERAND_ADDRESS): New hook define. | |
6665 | (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define. | |
6666 | (print_operand_address): Rename to... | |
6667 | (alpha_print_operand_address): ...this and make static. | |
6668 | (print_operand): Rename to... | |
6669 | (alpha_print_operand): ...this and make static. | |
6670 | (alpha_print_operand_punct_valid_p): New static function. | |
6671 | ||
6672 | 2015-11-11 Richard Biener <rguenther@suse.de> | |
6673 | ||
6674 | * tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment): | |
6675 | Declare. | |
6676 | (vect_analyze_data_refs_alignment): Make loop vect specific. | |
6677 | (vect_verify_datarefs_alignment): Likewise. | |
6678 | * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences): | |
6679 | Add missing continue. | |
6680 | (vect_compute_data_ref_alignment): Export. | |
6681 | (vect_compute_data_refs_alignment): Merge into... | |
6682 | (vect_analyze_data_refs_alignment): ... this. | |
6683 | (verify_data_ref_alignment): Split out from ... | |
6684 | (vect_verify_datarefs_alignment): ... here. | |
6685 | (vect_slp_analyze_and_verify_node_alignment): New function. | |
6686 | (vect_slp_analyze_and_verify_instance_alignment): Likewise. | |
6687 | * tree-vect-slp.c (vect_supported_load_permutation_p): Remove | |
6688 | misplaced checks on alignment. | |
6689 | (vect_slp_analyze_bb_1): Add fatal output parameter. Do | |
6690 | alignment analysis after SLP discovery and do it per instance. | |
6691 | (vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not | |
6692 | bother to re-try using different vector sizes. | |
6693 | ||
6694 | 2015-11-11 Nathan Sidwell <nathan@codesourcery.com> | |
6695 | Cesar Philippidis <cesar@codesourcery.com> | |
6696 | ||
6697 | * gimplify.c (enum omp_region_type): Add ORT_ACC, | |
6698 | ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE. | |
6699 | (gimple_add_tmp_var): Add ORT_ACC checks. | |
6700 | (gimplify_var_or_parm_decl): Likewise. | |
6701 | (omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a mask. | |
6702 | (omp_add_variable): Look in outer contexts for openacc and allow | |
6703 | reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA checks. | |
6704 | (omp_notice_variable, omp_is_private, omp_check_private): Add | |
6705 | ORT_ACC checks. | |
6706 | (gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE. | |
6707 | Permit private openacc reductions. | |
6708 | (gimplify_oacc_cache): Specify ORT_ACC. | |
6709 | (gimplify_omp_workshare): Adjust OpenACC region types. | |
6710 | (gimplify_omp_target_update): Likewise. | |
6711 | * omp-low.c (scan_sharing_clauses): Remove Openacc firstprivate sorry. | |
6712 | (lower-rec_input_clauses): Don't handle openacc firstprivate | |
6713 | references here. | |
6714 | (lower_omp_target): Emit initializers for openacc firstprivate vars. | |
6715 | ||
6716 | 2015-11-11 Eric Botcazou <ebotcazou@adacore.com> | |
6717 | ||
6718 | PR target/67265 | |
6719 | * ira.c (ira_setup_eliminable_regset): Do not necessarily create the | |
6720 | frame pointer for stack checking if non-call exceptions aren't used. | |
6721 | * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. | |
6722 | ||
6723 | 2015-11-11 Segher Boessenkool <segher@kernel.crashing.org> | |
6724 | ||
6725 | * simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of | |
6726 | [LA]SHIFTRT. | |
6727 | ||
6728 | 2015-11-11 Martin Liska <mliska@suse.cz> | |
6729 | Richard Biener <rguenther@suse.de> | |
6730 | ||
6731 | PR rtl-optimization/68287 | |
6732 | * lra-lives.c (lra_create_live_ranges_1): Reserve the right | |
6733 | number of elements. | |
6734 | ||
6735 | 2015-11-11 Simon Dardis <simon.dardis@imgtec.com> | |
6736 | ||
6737 | * config/mips/mips.c (mips_breakable_sequence_p): New function. | |
6738 | (mips_break_sequence): New function. | |
6739 | (mips_reorg_process_insns): Use them. Use compact branches in selected | |
6740 | situations. | |
6741 | ||
6742 | 2015-11-11 Alan Lawrence <alan.lawrence@arm.com> | |
6743 | ||
6744 | * fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo. | |
6745 | ||
6746 | 2015-11-11 Jiong Wang <jiong.wang@arm.com> | |
6747 | Jim Wilson <wilson@gcc.gnu.org> | |
6748 | ||
6749 | PR target/67305 | |
6750 | * config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict | |
6751 | be true and eliminable registers mentioned. | |
6752 | ||
6753 | 2015-11-11 Claudiu Zissulescu <claziss@synopsys.com> | |
6754 | ||
6755 | * common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2 | |
6756 | options. | |
6757 | * config/arc/arc-opts.h: Add ARCv2 CPUs. | |
6758 | * config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype. | |
6759 | * config/arc/arc.c (arc_secondary_reload): Handle subreg (reg) | |
6760 | situation, and store instructions with large offsets. | |
6761 | (arc_secondary_reload_conv): New function. | |
6762 | (arc_init): Add ARCv2 options. | |
6763 | (arc_conditional_register_usage): Select the proper register usage | |
6764 | for ARCv2 processors. | |
6765 | (arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1 | |
6766 | architecture. | |
6767 | (arc_compute_function_type): Likewise. | |
6768 | (arc_print_operand): Handle new ARCv2 punctuation characters. | |
6769 | (arc_return_in_memory): ARCv2 ABI returns in registers up to 16 bytes. | |
6770 | (workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New | |
6771 | function. | |
6772 | (arc_reorg, arc_hazard): Use it. | |
6773 | * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and __EM__. | |
6774 | (ASM_SPEC): Add ARCv2 options. | |
6775 | (TARGET_NORM): ARC HS has norm instructions by default. | |
6776 | (TARGET_OPTFPE): Use optimized floating point emulation for ARC HS. | |
6777 | (TARGET_AT_DBR_CONDEXEC): Only for ARC600 family. | |
6778 | (TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI): Define. | |
6779 | (SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY): | |
6780 | Likewise. | |
6781 | (TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise. | |
6782 | (TARGET_LP_WR_INTERLOCK): Likewise. | |
6783 | * config/arc/arc.md | |
6784 | (commutative_binary_mult_comparison_result_used, movsicc_insn) | |
6785 | (mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart) | |
6786 | (umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart) | |
6787 | (umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i): | |
6788 | Use it for ARCv2. | |
6789 | (mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm) | |
6790 | (umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2) | |
6791 | (prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu) | |
6792 | (arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store) | |
6793 | (extzvsi): New pattern. | |
6794 | * config/arc/arc.opt: New ARCv2 options. | |
6795 | * config/arc/arcEM.md: New file. | |
6796 | * config/arc/arcHS.md: Likewise. | |
6797 | * config/arc/constraints.md (C3p): New constraint, accepts 1 and 2 | |
6798 | values. | |
6799 | (Cm2): A signed 9-bit integer constant constraint. | |
6800 | (C62): An unsigned 6-bit integer constant constraint. | |
6801 | (C16): A signed 16-bit integer constant constraint. | |
6802 | * config/arc/predicates.md (mult_operator): Add ARCv2 processort. | |
6803 | (short_const_int_operand): New predicate. | |
6804 | * config/arc/t-arc-newlib: Add ARCv2 multilib options. | |
6805 | * doc/invoke.texi: Add documentation for -mcpu=<archs/arcem> | |
6806 | -mcode-density and -mdiv-rem. | |
6807 | ||
6808 | 2015-11-11 Julia Koval <julia.koval@intel.com> | |
6809 | ||
6810 | * config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo. | |
6811 | ||
6812 | 2015-11-11 Julia Koval <julia.koval@intel.com> | |
6813 | ||
6814 | * config/i386/i386.c: Handle "skylake" and "skylake-avx512". | |
6815 | ||
6816 | 2015-11-11 Martin Liska <mliska@suse.cz> | |
6817 | ||
6818 | * gimple-ssa-strength-reduction.c (create_phi_basis): | |
6819 | Use auto_vec. | |
6820 | * passes.c (release_dump_file_name): New function. | |
6821 | (pass_init_dump_file): Used from this function. | |
6822 | (pass_fini_dump_file): Likewise. | |
6823 | * tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump. | |
6824 | * var-tracking.c (vt_initialize): Use pool_allocator. | |
6825 | ||
6826 | 2015-11-11 Richard Biener <rguenth@gcc.gnu.org> | |
6827 | Jiong Wang <jiong.wang@arm.com> | |
6828 | ||
6829 | PR tree-optimization/68234 | |
6830 | * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI | |
6831 | node which estimiated to be VR_VARYING initially. | |
6832 | ||
6833 | 2015-11-11 Robert Suchanek <robert.suchanek@imgtec.com> | |
6834 | ||
6835 | * regname.c (scan_rtx_reg): Check the matching number of consecutive | |
6836 | registers when tying chains. | |
6837 | (build_def_use): Move terminated_this_insn earlier in the function. | |
6838 | ||
6839 | 2015-11-10 Mike Frysinger <vapier@gentoo.org> | |
6840 | ||
6841 | * configure.ac: Use = with test and not ==. | |
6842 | * configure: Regenerated. | |
6843 | ||
6844 | 2015-11-11 David Edelsohn <dje.gcc@gmail.com> | |
6845 | ||
6846 | * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and | |
6847 | machine asserts. Update defines for 64 bit. | |
6848 | ||
6849 | 2015-11-11 Charles Baylis <charles.baylis@linaro.org> | |
6850 | ||
6851 | PR target/63870 | |
6852 | * config/arm/neon.md (neon_vld1_lane<mode>): Remove error for invalid | |
6853 | lane number. | |
6854 | (neon_vst1_lane<mode>): Likewise. | |
6855 | (neon_vld2_lane<mode>): Likewise. | |
6856 | (neon_vst2_lane<mode>): Likewise. | |
6857 | (neon_vld3_lane<mode>): Likewise. | |
6858 | (neon_vst3_lane<mode>): Likewise. | |
6859 | (neon_vld4_lane<mode>): Likewise. | |
6860 | (neon_vst4_lane<mode>): Likewise. | |
6861 | ||
6862 | 2015-11-11 Charles Baylis <charles.baylis@linaro.org> | |
6863 | ||
6864 | PR target/63870 | |
6865 | * config/arm/arm-builtins.c: (arm_load1_qualifiers) Use | |
6866 | qualifier_struct_load_store_lane_index. | |
6867 | (arm_storestruct_lane_qualifiers) Likewise. | |
6868 | * config/arm/neon.md: (neon_vld1_lane<mode>) Reverse lane numbers for | |
6869 | big-endian. | |
6870 | (neon_vst1_lane<mode>) Likewise. | |
6871 | (neon_vld2_lane<mode>) Likewise. | |
6872 | (neon_vst2_lane<mode>) Likewise. | |
6873 | (neon_vld3_lane<mode>) Likewise. | |
6874 | (neon_vst3_lane<mode>) Likewise. | |
6875 | (neon_vld4_lane<mode>) Likewise. | |
6876 | (neon_vst4_lane<mode>) Likewise. | |
6877 | ||
6878 | 2015-11-11 Charles Baylis <charles.baylis@linaro.org> | |
6879 | ||
6880 | PR target/63870 | |
6881 | * config/arm/arm-builtins.c (enum arm_type_qualifiers): New enumerator | |
6882 | qualifier_struct_load_store_lane_index. | |
6883 | (builtin_arg): New enumerator NEON_ARG_STRUCT_LOAD_STORE_LANE_INDEX. | |
6884 | (arm_expand_neon_args): New parameter. Remove ellipsis. Handle NEON | |
6885 | argument qualifiers. | |
6886 | (arm_expand_neon_builtin): Handle new NEON argument qualifier. | |
6887 | * config/arm/arm.h (NEON_ENDIAN_LANE_N): New macro. | |
6888 | ||
6889 | 2015-11-10 Nathan Sidwell <nathan@codesourcery.com> | |
6890 | ||
6891 | * config/nvptx/nvptx.opt (moptimize): New flag. | |
6892 | * config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize | |
6893 | default. | |
6894 | (nvptx_optimize_inner): New. | |
6895 | (nvptx_process_pars): Call it when optimizing. | |
6896 | * doc/invoke.texi (Nvidia PTX Options): Document -moptimize. | |
6897 | ||
6898 | 2015-11-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
6899 | ||
6900 | * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move): | |
6901 | Remove redundant code. | |
6902 | ||
6903 | 2015-11-10 Jeff Law <law@redhat.com> | |
6904 | ||
6905 | * config/ft32/ft32.c (ft32_print_operand): Supply mode to | |
6906 | call to output_address. | |
6907 | * config/moxie/moxie.c (moxie_print_operand_address): Similarly. | |
6908 | Add unnamed machine_mode argument. | |
6909 | ||
6910 | 2015-11-10 Michael Meissner <meissner@linux.vnet.ibm.com> | |
6911 | ||
6912 | * config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that | |
6913 | default to 64-bit. | |
6914 | ||
6915 | 2015-11-10 Uros Bizjak <ubizjak@gmail.com> | |
6916 | ||
6917 | * config/i386/i386.md (*movabs<mode>_1): Add explicit | |
6918 | size directives for -masm=intel. | |
6919 | (*movabs<mode>_2): Ditto. | |
6920 | ||
6921 | 2015-11-10 Uros Bizjak <ubizjak@gmail.com> | |
6922 | ||
6923 | * config/i386/i386.c (ix86_print_operand): Remove dead code that | |
6924 | tried to avoid (%rip) for call operands. | |
6925 | ||
6926 | 2015-11-10 Uros Bizjak <ubizjak@gmail.com> | |
6927 | ||
6928 | * config/i386/i386.c (ix86_print_operand_address_as): Add no_rip | |
6929 | argument. Do not use RIP relative addressing when no_rip is set. | |
6930 | (ix86_print_operand): Update call to ix86_print_operand_address_as. | |
6931 | (ix86_print_operand_address): Ditto. | |
6932 | * config/i386/i386.md (*movabs<mode>_1): Use %P modifier for | |
6933 | absolute movabs operand 0. Add square braces for -masm=intel. | |
6934 | (*movabs<mode>_2): Ditto for operand 1. | |
6935 | ||
6936 | 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
6937 | ||
6938 | * config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle | |
6939 | combine_vcvtf2i pattern. | |
6940 | ||
6941 | 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
6942 | ||
6943 | * config/arm/arm.c (neon_valid_immediate): Remove integer | |
6944 | CONST_DOUBLE handling. It should never occur. | |
6945 | ||
6946 | 2015-11-10 Matthew Wahab <matthew.wahab@arm.com> | |
6947 | ||
6948 | * config/aarch64/atomics.md (unspecv): Move to iterators.md. | |
6949 | (ATOMIC_LDOP): Likewise. | |
6950 | (atomic_ldop): Likewise. | |
6951 | * config/aarch64/iterators.md (unspecv): Moved from atomics.md. | |
6952 | (ATOMIC_LDOP): Likewise. | |
6953 | (atomic_ldop): Likewise. | |
6954 | ||
6955 | 2015-11-10 Martin Liska <mliska@suse.cz> | |
6956 | ||
6957 | * alloc-pool.h (allocate_raw): New function. | |
6958 | (operator new (size_t, object_allocator<T> &a)): Use the | |
6959 | function instead of object_allocator::allocate). | |
6960 | ||
6961 | 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
6962 | ||
6963 | * config/i386/sse.md (HALFMASKMODE): New attribute. | |
6964 | (DOUBLEMASKMODE): New attribute. | |
6965 | (vec_pack_trunc_qi): New. | |
6966 | (vec_pack_trunc_<mode>): New. | |
6967 | (vec_unpacks_lo_hi): New. | |
6968 | (vec_unpacks_lo_si): New. | |
6969 | (vec_unpacks_lo_di): New. | |
6970 | (vec_unpacks_hi_hi): New. | |
6971 | (vec_unpacks_hi_<mode>): New. | |
6972 | ||
6973 | 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
6974 | ||
6975 | * optabs.c (expand_binop_directly): Allow scalar mode for | |
6976 | vec_pack_trunc_optab. | |
6977 | * tree-vect-loop.c (vect_determine_vectorization_factor): Skip | |
6978 | boolean vector producers from pattern sequence when computing VF. | |
6979 | * tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add | |
6980 | vect_recog_mask_conversion_pattern. | |
6981 | (search_type_for_mask): Choose the smallest | |
6982 | type if different size types are mixed. | |
6983 | (build_mask_conversion): New. | |
6984 | (vect_recog_mask_conversion_pattern): New. | |
6985 | (vect_pattern_recog_1): Allow scalar mode for boolean vectype. | |
6986 | * tree-vect-stmts.c (vectorizable_mask_load_store): Support masked | |
6987 | load with pattern. | |
6988 | (vectorizable_conversion): Support boolean vectors. | |
6989 | (free_stmt_vec_info): Allow patterns for statements with no lhs. | |
6990 | * tree-vectorizer.h (NUM_PATTERNS): Increase to 14. | |
6991 | ||
6992 | 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
6993 | ||
6994 | * config/i386/i386-protos.h (ix86_expand_sse_movcc): New. | |
6995 | * config/i386/i386.c (ix86_expand_sse_movcc): Make public. | |
6996 | Cast mask to FP mode if required. | |
6997 | * config/i386/sse.md (vcond_mask_<mode><avx512fmaskmodelower>): New. | |
6998 | (vcond_mask_<mode><avx512fmaskmodelower>): New. | |
6999 | (vcond_mask_<mode><sseintvecmodelower>): New. | |
7000 | (vcond_mask_<mode><sseintvecmodelower>): New. | |
7001 | (vcond_mask_v2div2di): New. | |
7002 | (vcond_mask_<mode><sseintvecmodelower>): New. | |
7003 | (vcond_mask_<mode><sseintvecmodelower>): New. | |
7004 | ||
7005 | 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
7006 | ||
7007 | * optabs-query.h (get_vcond_mask_icode): New. | |
7008 | * optabs-tree.c (expand_vec_cond_expr_p): Use | |
7009 | get_vcond_mask_icode for VEC_COND_EXPR with mask. | |
7010 | * optabs.c (expand_vec_cond_mask_expr): New. | |
7011 | (expand_vec_cond_expr): Use get_vcond_mask_icode when possible. | |
7012 | * optabs.def (vcond_mask_optab): New. | |
7013 | * tree-vect-patterns.c (vect_recog_bool_pattern): Don't | |
7014 | generate redundant comparison for COND_EXPR. | |
7015 | * tree-vect-stmts.c (vect_is_simple_cond): Allow SSA_NAME | |
7016 | as a condition. | |
7017 | (vectorizable_condition): Likewise. | |
7018 | * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow | |
7019 | cond_exp with no embedded comparison. | |
7020 | (vect_build_slp_tree_1): Likewise. | |
7021 | ||
7022 | 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
7023 | ||
7024 | * config/i386/sse.md (maskload<mode>): Rename to ... | |
7025 | (maskload<mode><sseintvecmodelower>): ... this. | |
7026 | (maskstore<mode>): Rename to ... | |
7027 | (maskstore<mode><sseintvecmodelower>): ... this. | |
7028 | (maskload<mode><avx512fmaskmodelower>): New. | |
7029 | (maskstore<mode><avx512fmaskmodelower>): New. | |
7030 | ||
7031 | 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
7032 | ||
7033 | * internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes. | |
7034 | (expand_MASK_STORE): Adjust to maskstore optab changes. | |
7035 | * optabs-query.c (can_vec_mask_load_store_p): Add MASK_MODE arg. | |
7036 | Adjust to maskload, maskstore optab changes. | |
7037 | * optabs-query.h (can_vec_mask_load_store_p): Add MASK_MODE arg. | |
7038 | * optabs.def (maskload_optab): Transform into convert optab. | |
7039 | (maskstore_optab): Likewise. | |
7040 | * tree-if-conv.c (ifcvt_can_use_mask_load_store): Adjust to | |
7041 | can_vec_mask_load_store_p signature change. | |
7042 | (predicate_mem_writes): Use boolean mask. | |
7043 | * tree-vect-stmts.c (vectorizable_mask_load_store): Adjust to | |
7044 | can_vec_mask_load_store_p signature change. Allow invariant masks. | |
7045 | (vectorizable_operation): Ignore type precision for boolean vectors. | |
7046 | ||
7047 | 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com> | |
7048 | ||
7049 | * expr.c (do_store_flag): Use expand_vec_cmp_expr for mask results. | |
7050 | (const_vector_mask_from_tree): New. | |
7051 | (const_vector_from_tree): Use const_vector_mask_from_tree | |
7052 | for boolean vectors. | |
7053 | * optabs-query.h (get_vec_cmp_icode): New. | |
7054 | * optabs-tree.c (expand_vec_cmp_expr_p): New. | |
7055 | * optabs-tree.h (expand_vec_cmp_expr_p): New. | |
7056 | * optabs.c (vector_compare_rtx): Add OPNO arg. | |
7057 | (expand_vec_cond_expr): Adjust to vector_compare_rtx change. | |
7058 | (expand_vec_cmp_expr): New. | |
7059 | * optabs.def (vec_cmp_optab): New. | |
7060 | (vec_cmpu_optab): New. | |
7061 | * optabs.h (expand_vec_cmp_expr): New. | |
7062 | * tree-vect-generic.c (expand_vector_comparison): Add vector | |
7063 | comparison optabs check. | |
7064 | * tree-vect-loop.c (vect_determine_vectorization_factor): Ignore mask | |
7065 | operations for VF. Add mask type computation. | |
7066 | * tree-vect-stmts.c (get_mask_type_for_scalar_type): New. | |
7067 | (vectorizable_comparison): New. | |
7068 | (vect_analyze_stmt): Add vectorizable_comparison. | |
7069 | (vect_transform_stmt): Likewise. | |
7070 | (vect_init_vector): Support boolean vector invariants. | |
7071 | (vect_get_vec_def_for_operand): Add VECTYPE arg. | |
7072 | (vectorizable_condition): Directly provide vectype for invariants | |
7073 | used in comparison. | |
7074 | * tree-vectorizer.h (get_mask_type_for_scalar_type): New. | |
7075 | (enum vect_var_kind): Add vect_mask_var. | |
7076 | (enum stmt_vec_info_type): Add comparison_vec_info_type. | |
7077 | (vectorizable_comparison): New. | |
7078 | (vect_get_vec_def_for_operand): Add VECTYPE arg. | |
7079 | * tree-vect-data-refs.c (vect_get_new_vect_var): Support vect_mask_var. | |
7080 | (vect_create_destination_var): Likewise. | |
7081 | * tree-vect-patterns.c (check_bool_pattern): Check fails | |
7082 | if we can vectorize comparison directly. | |
7083 | (search_type_for_mask): New. | |
7084 | (vect_recog_bool_pattern): Support cases when bool pattern check fails. | |
7085 | * tree-vect-slp.c (vect_build_slp_tree_1): Allow | |
7086 | comparison statements. | |
7087 | (vect_get_constant_vectors): Support boolean vector constants. | |
7088 | * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New. | |
7089 | (ix86_expand_int_vec_cmp): New. | |
7090 | (ix86_expand_fp_vec_cmp): New. | |
7091 | * config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for | |
7092 | op_true and op_false. | |
7093 | (ix86_int_cmp_code_to_pcmp_immediate): New. | |
7094 | (ix86_fp_cmp_code_to_pcmp_immediate): New. | |
7095 | (ix86_cmp_code_to_pcmp_immediate): New. | |
7096 | (ix86_expand_mask_vec_cmp): New. | |
7097 | (ix86_expand_fp_vec_cmp): New. | |
7098 | (ix86_expand_int_sse_cmp): New. | |
7099 | (ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp. | |
7100 | (ix86_expand_int_vec_cmp): New. | |
7101 | (ix86_get_mask_mode): New. | |
7102 | (TARGET_VECTORIZE_GET_MASK_MODE): New. | |
7103 | * config/i386/sse.md (avx512fmaskmodelower): New. | |
7104 | (vec_cmp<mode><avx512fmaskmodelower>): New. | |
7105 | (vec_cmp<mode><sseintvecmodelower>): New. | |
7106 | (vec_cmpv2div2di): New. | |
7107 | (vec_cmpu<mode><avx512fmaskmodelower>): New. | |
7108 | (vec_cmpu<mode><sseintvecmodelower>): New. | |
7109 | (vec_cmpuv2div2di): New. | |
7110 | ||
7111 | 2015-11-10 Richard Biener <rguenther@suse.de> | |
7112 | ||
7113 | PR tree-optimization/68240 | |
7114 | * tree-ssa-sccvn.c (cond_stmts_equal_p): Handle commutative compares | |
7115 | properly. | |
7116 | (visit_phi): For PHIs with just a single executable edge | |
7117 | take its value directly. | |
7118 | (expressions_equal_p): Handle VN_TOP properly. | |
7119 | ||
7120 | 2015-11-10 Richard Biener <rguenther@suse.de> | |
7121 | ||
7122 | * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): | |
7123 | Handle memory using/clobbering stmts without a STMT_VINFO_DATA_REF | |
7124 | conservatively. | |
7125 | ||
7126 | 2015-11-10 Richard Biener <rguenther@suse.de> | |
7127 | ||
7128 | PR tree-optimization/56118 | |
7129 | * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Make equal | |
7130 | cost favor vectorized version. | |
7131 | ||
7132 | 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
7133 | ||
7134 | * config/aarch64/aarch64.md (<neg_not_op><mode>cc): New define_expand. | |
7135 | * config/aarch64/iterators.md (NEG_NOT): New code iterator. | |
7136 | (neg_not_op): New code attribute. | |
7137 | ||
7138 | 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
7139 | ||
7140 | * ifcvt.c (noce_try_inverse_constants): New function. | |
7141 | (noce_process_if_block): Call it. | |
7142 | * optabs.h (emit_conditional_neg_or_complement): Declare prototype. | |
7143 | * optabs.def (negcc_optab, notcc_optab): Declare. | |
7144 | * optabs.c (emit_conditional_neg_or_complement): New function. | |
7145 | * doc/tm.texi (Standard Names): Document negcc, notcc names. | |
7146 | ||
7147 | 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
7148 | ||
7149 | PR rtl-optimization/68236 | |
7150 | * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0 | |
7151 | if insn_queue doesn't exist. | |
7152 | (haifa_sched_finish): Reset insn_queue to NULL. | |
7153 | ||
7154 | 2015-11-10 Robert Suchanek <robert.suchanek@imgtec.com> | |
7155 | ||
7156 | * regrename.c (create_new_chain): Initialize renamed and tied_chain. | |
7157 | (build_def_use): Initialize terminated_this_insn. | |
7158 | (find_best_rename_reg): Pick and check register from the tied chain. | |
7159 | (regrename_do_replace): Mark head as renamed. | |
7160 | (struct du_head *terminated_this_insn). New static variable. | |
7161 | (scan_rtx_reg): Tie chains in move insns. Set terminated_this_insn. | |
7162 | * regrename.h (struct du_head): Add tied_chain, renamed members. | |
7163 | ||
7164 | 2015-11-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
7165 | ||
7166 | PR bootstrap/68256 | |
7167 | * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p): | |
7168 | Return false. | |
7169 | ||
7170 | 2015-11-09 Eric Botcazou <ebotcazou@adacore.com> | |
7171 | ||
7172 | PR target/57845 | |
7173 | * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do | |
7174 | not promote the mode for aggregate types. | |
7175 | ||
7176 | 2015-11-09 Nathan Sidwell <nathan@codesourcery.com> | |
7177 | ||
7178 | * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare. | |
7179 | * omp-low.c (build_oacc_routine_dims): New. | |
7180 | ||
7181 | 2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com> | |
7182 | ||
7183 | * config/rs6000/constraints.md (wF constraint): New constraints | |
7184 | for power9/toc fusion. | |
7185 | (wG constraint): Likewise. | |
7186 | ||
7187 | * config/rs6000/predicates.md (u6bit_cint_operand): New | |
7188 | predicate, recognize 0..63. | |
7189 | (upper16_cint_operand): New predicate for power9 and toc fusion. | |
7190 | (fpr_reg_operand): Likewise. | |
7191 | (toc_fusion_or_p9_reg_operand): Likewise. | |
7192 | (toc_fusion_mem_raw): Likewise. | |
7193 | (toc_fusion_mem_wrapped): Likewise. | |
7194 | (fusion_gpr_addis): If power9 fusion, allow fusion for a larger | |
7195 | address range. | |
7196 | (fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load | |
7197 | instead. | |
7198 | (fusion_addis_mem_combo_load): Add support for power9 fusion of | |
7199 | floating point loads, floating point stores, and gpr stores. | |
7200 | (fusion_addis_mem_combo_store): Likewise. | |
7201 | (fusion_offsettable_mem_operand): Likewise. | |
7202 | ||
7203 | * config/rs6000/rs6000-protos.h (emit_fusion_addis): Add declarations. | |
7204 | (emit_fusion_load_store): Likewise. | |
7205 | (fusion_p9_p): Likewise. | |
7206 | (expand_fusion_p9_load): Likewise. | |
7207 | (expand_fusion_p9_store): Likewise. | |
7208 | (emit_fusion_p9_load): Likewise. | |
7209 | (emit_fusion_p9_store): Likewise. | |
7210 | (fusion_wrap_memory_address): Likewise. | |
7211 | ||
7212 | * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new | |
7213 | elements for power9 fusion. | |
7214 | (rs6000_debug_print_mode): Rework debug information to print more | |
7215 | information about fusion. | |
7216 | (rs6000_init_hard_regno_mode_ok): Setup for power9 fusion support. | |
7217 | (rs6000_legitimate_address_p): Recognize toc fusion as a valid | |
7218 | offsettable memory address. | |
7219 | (rs6000_rtx_costs): Update costs for new ISA 3.0 instructions. | |
7220 | (emit_fusion_gpr_load): Move most of the code from | |
7221 | emit_fusion_gpr_load into emit_fusion-addis that handles both | |
7222 | power8 and power9 fusion. | |
7223 | (emit_fusion_addis): Likewise. | |
7224 | (emit_fusion_load_store): Likewise. | |
7225 | (fusion_wrap_memory_address): Add support for TOC fusion. | |
7226 | (fusion_split_address): Likewise. | |
7227 | (fusion_p9_p): Add support for power9 fusion. | |
7228 | (expand_fusion_p9_load): Likewise. | |
7229 | (expand_fusion_p9_store): Likewise. | |
7230 | (emit_fusion_p9_load): Likewise. | |
7231 | (emit_fusion_p9_store): Likewise. | |
7232 | ||
7233 | * config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for | |
7234 | new instructions in ISA 3.0. | |
7235 | (TARGET_CTZ): Likewise. | |
7236 | (TARGET_TOC_FUSION_INT): Macros for power9 fusion support. | |
7237 | (TARGET_TOC_FUSION_FP): Likewise. | |
7238 | ||
7239 | * config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc | |
7240 | fusion unspecs. | |
7241 | (UNSPEC_FUSION_ADDIS): Likewise. | |
7242 | (QHSI mode iterator): New iterator for power9 fusion. | |
7243 | (GPR_FUSION): Likewise. | |
7244 | (FPR_FUSION): Likewise. | |
7245 | (mod<mode>3): Add support for ISA 3.0 modulus instructions. | |
7246 | (umod<mode>3): Likewise. | |
7247 | (divmod peephole): Likewise. | |
7248 | (udivmod peephole): Likewise. | |
7249 | (ctz<mode>2): Add support for ISA 3.0 count trailing zeros scalar | |
7250 | instructions. | |
7251 | (ctz<mode>2_h): Likewise. | |
7252 | (ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction. | |
7253 | (ashdi3_extswsli_dot): Likewise. | |
7254 | (ashdi3_extswsli_dot2): Likewise. | |
7255 | (power9 fusion splitter): New power9/toc fusion support. | |
7256 | (toc_fusionload_<mode>): Likewise. | |
7257 | (toc_fusionload_di): Likewise. | |
7258 | (fusion_gpr_load_<mode>): Update predicate function. | |
7259 | (power9 fusion peephole2s): New power9/toc fusion support. | |
7260 | (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise. | |
7261 | (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Likewise. | |
7262 | (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise. | |
7263 | (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise. | |
7264 | (fusion_p9_<mode>_constant): Likewise. | |
7265 | ||
7266 | 2015-11-09 Steve Ellcey <sellcey@imgtec.com> | |
7267 | ||
7268 | * optabs.c (prepare_libcall_arg): New function. | |
7269 | (expand_fixed_convert): Add call to prepare_libcall_arg. | |
7270 | ||
7271 | 2015-11-09 Nikolai Bozhenov <n.bozhenov@samsung.com> | |
7272 | ||
7273 | * sched-int.h (dump_rgn_dependencies_dot): Declare | |
7274 | * sched-rgn.c (dump_rgn_dependencies_dot): New function | |
7275 | * print-rtl.h (print_insn): Add prototype | |
7276 | ||
7277 | * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr. | |
7278 | * common.opt (-fsched-verbose): Set default value to 1. | |
7279 | * invoke.texi (-fsched-verbose): Update the option's description. | |
7280 | ||
7281 | 2015-11-09 Eric Botcazou <ebotcazou@adacore.com> | |
7282 | ||
7283 | * config/visium/visium.h (PRINT_OPERAND): Delete. | |
7284 | (PRINT_OPERAND_PUNCT_VALID_P): Likewise. | |
7285 | (PRINT_OPERAND_ADDRESS): Likewise. | |
7286 | * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define | |
7287 | to... | |
7288 | (visium_print_operand_punct_valid_p): ...this. New function. | |
7289 | (TARGET_PRINT_OPERAND): Define to... | |
7290 | (print_operand): Rename to... | |
7291 | (visium_print_operand): ...this. | |
7292 | (TARGET_PRINT_OPERAND_ADDRESS): Define to... | |
7293 | (visium_output_address): Rename to... | |
7294 | (visium_print_operand_address): ...this. | |
7295 | (print_operand_address): Delete. | |
7296 | ||
7297 | 2015-11-09 Eric Botcazou <ebotcazou@adacore.com> | |
7298 | ||
7299 | PR middle-end/68259 | |
7300 | * tree.h (reverse_storage_order_for_component_p) <COMPONENT_REF>: | |
7301 | Check that the type of the first operand is an aggregate type. | |
7302 | ||
7303 | 2015-11-09 Nathan Sidwell <nathan@codesourcery.com> | |
7304 | ||
7305 | * omp-low.c: Fix some OpenACC comment typos. | |
7306 | (lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call. | |
7307 | * omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM, | |
7308 | BUILT_IN_GOACC_GET_NUM_THREADS): Delete. | |
7309 | ||
7310 | 2015-11-09 Uros Bizjak <ubizjak@gmail.com> | |
7311 | ||
7312 | * config/i386/i386.md (*strmovqi_1): Fix insn enable condition. | |
7313 | ||
7314 | 2015-11-09 Jeff Law <law@redhat.com> | |
7315 | ||
7316 | * tree-ssanames.c (verify_ssaname_freelists): Simplify check for | |
7317 | being in gimple/ssa form. Remove redundant check for SSA_NAME. | |
7318 | Fix comment typo. | |
7319 | ||
7320 | 2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com> | |
7321 | Peter Bergner <bergner@vnet.ibm.com> | |
7322 | ||
7323 | * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for | |
7324 | ISA 3.0 (power9). | |
7325 | (-mpower9-vector): Likewise. | |
7326 | (-mpower9-dform): Likewise. | |
7327 | (-mpower9-minmax): Likewise. | |
7328 | (-mtoc-fusion): Likewise. | |
7329 | (-mmodulo): Likewise. | |
7330 | (-mfloat128-hardware): Likewise. | |
7331 | ||
7332 | * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option | |
7333 | mask for ISA 3.0 (power9). | |
7334 | (POWERPC_MASKS): Add new ISA 3.0 switches. | |
7335 | (power9 cpu): Add power9 cpu. | |
7336 | ||
7337 | * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for power9. | |
7338 | (ASM_CPU_SPEC): Likewise. | |
7339 | (EXTRA_SPECS): Likewise. | |
7340 | ||
7341 | * config/rs6000/rs6000-opts.h (enum processor_type): Add | |
7342 | PROCESSOR_POWER9. | |
7343 | ||
7344 | * config/rs6000/rs6000.c (power9_cost): Initial cost setup for power9. | |
7345 | (rs6000_debug_reg_global): Add support for power9 fusion. | |
7346 | (rs6000_setup_reg_addr_masks): Cache mode size. | |
7347 | (rs6000_option_override_internal): Until real power9 tuning is | |
7348 | added, use -mtune=power8 for -mcpu=power9. | |
7349 | (rs6000_setup_reg_addr_masks): Do not allow pre-increment, | |
7350 | pre-decrement, or pre-modify on SFmode/DFmode if we allow the use | |
7351 | of Altivec registers. | |
7352 | (rs6000_option_override_internal): Add support for ISA 3.0 switches. | |
7353 | (rs6000_loop_align): Add support for power9 cpu. | |
7354 | (rs6000_file_start): Likewise. | |
7355 | (rs6000_adjust_cost): Likewise. | |
7356 | (rs6000_issue_rate): Likewise. | |
7357 | (insn_must_be_first_in_group): Likewise. | |
7358 | (insn_must_be_last_in_group): Likewise. | |
7359 | (force_new_group): Likewise. | |
7360 | (rs6000_register_move_cost): Likewise. | |
7361 | (rs6000_opt_masks): Likewise. | |
7362 | ||
7363 | * config/rs6000/rs6000.md (cpu attribute): Add power9. | |
7364 | * config/rs6000/rs6000-tables.opt: Regenerate. | |
7365 | ||
7366 | * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define | |
7367 | _ARCH_PWR9 if power9 support is available. | |
7368 | ||
7369 | * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9. | |
7370 | * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise. | |
7371 | ||
7372 | * configure.ac: Determine if the assembler supports the ISA 3.0 | |
7373 | instructions. | |
7374 | * config.in (HAVE_AS_POWER9): Likewise. | |
7375 | * configure: Regenerate. | |
7376 | ||
7377 | * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0 | |
7378 | switches. | |
7379 | ||
7380 | 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
7381 | ||
7382 | * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): | |
7383 | Remove integer CONST_DOUBLE handling. It should never occur. | |
7384 | ||
7385 | 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
7386 | ||
7387 | PR target/68129 | |
7388 | * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. | |
7389 | * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE): | |
7390 | Delete VOIDmode case. Assert that mode is not VOIDmode. | |
7391 | * config/aarch64/predicates.md (const0_operand): Remove const_double | |
7392 | match. | |
7393 | ||
7394 | 2015-11-09 Martin Liska <mliska@suse.cz> | |
7395 | ||
7396 | * ipa-inline-analysis.c (estimate_function_body_sizes): Call | |
7397 | body_info release function. | |
7398 | * ipa-prop.c (ipa_release_body_info): New function. | |
7399 | (ipa_analyze_node): Call the function. | |
7400 | (ipa_node_params::~ipa_node_params): Release known_csts. | |
7401 | * ipa-prop.h (ipa_release_body_info): Declare. | |
7402 | ||
7403 | 2015-11-09 Martin Liska <mliska@suse.cz> | |
7404 | ||
7405 | * gcc.c (record_temp_file): Release name string. | |
7406 | * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead of vec. | |
7407 | * lra-lives.c (free_live_range_list): Utilize | |
7408 | lra_live_range_pool for allocation and deallocation. | |
7409 | (create_live_range): Likewise. | |
7410 | (copy_live_range): Likewise. | |
7411 | (lra_merge_live_ranges): Likewise. | |
7412 | (remove_some_program_points_and_update_live_ranges): Likewise. | |
7413 | (lra_create_live_ranges_1): Release point_freq_vec that can | |
7414 | be not freed from previous iteration of the function. | |
7415 | * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of vec. | |
7416 | * tree-sra.c (sra_deinitialize): Release all vectors in | |
7417 | base_access_vec. | |
7418 | * tree-ssa-dom.c (free_dom_edge_info): Make the function extern. | |
7419 | * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): | |
7420 | Release edge_info for a removed edge. | |
7421 | (thread_through_all_blocks): Free region vector. | |
7422 | * tree-ssa.h (free_dom_edge_info): Declare function extern. | |
7423 | ||
7424 | 2015-11-09 Ilya Enkovich <enkovich.gnu@gmail.com> | |
7425 | ||
7426 | * optabs.c (expand_vec_cond_expr): Always get sign from type. | |
7427 | * tree.c (wide_int_to_tree): Support negative values for boolean. | |
7428 | (build_nonstandard_boolean_type): Use signed type for booleans. | |
7429 | ||
7430 | 2015-11-09 Richard Biener <rguenther@suse.de> | |
7431 | ||
7432 | PR tree-optimization/68248 | |
7433 | * tree-vect-generic.c (expand_vector_operations_1): Handle scalar rhs2. | |
7434 | ||
7435 | 2015-11-09 Richard Biener <rguenther@suse.de> | |
7436 | ||
7437 | PR tree-optimization/56118 | |
7438 | * tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare. | |
7439 | * tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export. | |
7440 | * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New | |
7441 | function. | |
7442 | (vect_slp_analyze_data_ref_dependences): Instead of computing | |
7443 | all dependences of the region DRs just analyze the code motions | |
7444 | SLP vectorization will perform. Remove SLP instances that | |
7445 | cannot have their store/load motions applied. | |
7446 | (vect_analyze_data_refs): Allow DRs without a vectype | |
7447 | in BB vectorization. | |
7448 | ||
7449 | 2015-11-09 Julian Brown <julian@codesourcery.com> | |
7450 | ||
7451 | * final.c (output_asm_insn): Pass VOIDmode to output_address. | |
7452 | (output_address): Add MODE argument. Pass to print_operand_address | |
7453 | hook. | |
7454 | * targhooks.c (default_print_operand_address): Add MODE argument. | |
7455 | * targhooks.h (default_print_operand_address): Update prototype. | |
7456 | * output.h (output_address): Update prototype. | |
7457 | * target.def (print_operand_address): Add MODE argument. | |
7458 | * config/vax/vax.c (print_operand_address): Pass VOIDmode to | |
7459 | output_address. | |
7460 | (print_operand): Pass access mode to output_address. | |
7461 | * config/mcore/mcore.c (mcore_print_operand_address): Add MODE | |
7462 | argument. | |
7463 | (mcore_print_operand): Update calls to mcore_print_operand_address. | |
7464 | * config/fr30/fr30.c (fr30_print_operand): Pass VOIDmode to | |
7465 | output_address. | |
7466 | * config/lm32/lm32.c (lm32_print_operand): Pass mode in calls to | |
7467 | output_address. | |
7468 | * config/tilegx/tilegx.c (output_memory_reference_mode): Remove | |
7469 | global. | |
7470 | (tilegx_print_operand): Don't set above global. Update calls to | |
7471 | output_address. | |
7472 | (tilegx_print_operand_address): Add MODE argument. Use instead of | |
7473 | output_memory_reference_mode global. | |
7474 | * config/frv/frv.c (frv_print_operand_address): Add MODE argument. | |
7475 | (frv_print_operand): Pass mode to frv_print_operand_address calls. | |
7476 | * config/mn10300/mn10300.c (mn10300_print_operand): Pass mode to | |
7477 | output_address. | |
7478 | * config/cris/cris.c (cris_print_operand_address): Add MODE argument. | |
7479 | (cris_print_operand): Pass mode to output_address calls. | |
7480 | * config/spu/spu.c (print_operand): Pass mode to output_address calls. | |
7481 | * config/aarch64/aarch64.h (aarch64_print_operand) | |
7482 | (aarch64_print_operand_address): Remove prototypes. | |
7483 | * config/aarch64/aarch64.c (aarch64_memory_reference_mode): Delete | |
7484 | global. | |
7485 | (aarch64_print_operand): Make static. Update calls to output_address. | |
7486 | (aarch64_print_operand_address): Add MODE argument. Use instead of | |
7487 | aarch64_memory_reference_mode global. | |
7488 | (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define target | |
7489 | hooks. | |
7490 | * config/aarch64/aarch64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): | |
7491 | Delete macro definitions. | |
7492 | * config/pa/pa.c (pa_print_operand): Pass mode in output_address calls. | |
7493 | * config/xtensa/xtensa.c (print_operand): Pass mode in | |
7494 | output_address calls. | |
7495 | * config/h8300/h8300.c (h8300_print_operand_address): Add MODE | |
7496 | argument. | |
7497 | (h83000_print_operand): Update calls to h8300_print_operand_address | |
7498 | and output_address. | |
7499 | * config/ia64/ia64.c (ia64_print_operand_address): Add MODE argument. | |
7500 | * config/tilepro/tilepro.c (output_memory_reference_mode): Delete | |
7501 | global. | |
7502 | (tilepro_print_operand): Pass mode to output_address. | |
7503 | (tilepro_print_operand_address): Add MODE argument. Use instead of | |
7504 | output_memory_reference_mode. | |
7505 | * config/nvptx/nvptx.c (output_decl_chunk, nvptx_assemble_integer) | |
7506 | (nvptx_output_call_insn, nvptx_print_address_operand): Pass VOIDmode | |
7507 | to output_address calls. | |
7508 | (nvptx_print_operand_address): Add MODE argument. | |
7509 | * config/alpha/alpha.c (print_operand): Pass mode argument in | |
7510 | output_address calls. | |
7511 | * config/m68k/m68k.c (print_operand): Pass mode argument in | |
7512 | output_address call. | |
7513 | * config/avr/avr.c (avr_print_operand_address): Add MODE argument. | |
7514 | (avr_print_operand): Update calls to avr_print_operand_address. | |
7515 | * config/sparc/sparc.c (sparc_print_operand_address): Add MODE | |
7516 | argument. Update calls to output_address. | |
7517 | (sparc_print_operand): Pass mode to output_address. | |
7518 | * config/iq2000/iq2000.c (iq2000_print_operand_address): Add MODE | |
7519 | argument. | |
7520 | (iq2000_print_operand): Pass mode in output_address calls. | |
7521 | * config/stormy16/stormy16.c (xstormy16_print_operand_address): Add | |
7522 | MODE argument. | |
7523 | (xstormy16_print_operand): Pass mode to | |
7524 | xstormy16_print_operand_address calls. | |
7525 | * config/mips/mips.c (mips_print_operand): Update calls to | |
7526 | output_address. | |
7527 | (mips_print_operand_address): Add MODE argument. | |
7528 | * config/epiphany/epiphany.c (epiphany_print_operand): Update calls | |
7529 | to output_address. | |
7530 | (epiphany_print_operand_address): Add MODE argument. Add FIXME note. | |
7531 | * config/pdp11/pdp11.c (pdp11_asm_print_operand): Update call to | |
7532 | output_address. | |
7533 | * config/rx/rx.c (rx_print_operand_address): Add MODE argument. | |
7534 | (rx_print_operand): Update calls to output_address, | |
7535 | rx_print_operand_address. | |
7536 | * config/nds32/nds32.c (nds32_print_operand): Update calls to | |
7537 | output_address. | |
7538 | (nds32_print_operand_address): Add MODE argument. | |
7539 | * config/rs6000/rs6000.c (print_operand): Pass mem mode to | |
7540 | output_address calls. | |
7541 | * config/c6x/c6x.c (print_address_offset): Pass mem mode to | |
7542 | output_address call. | |
7543 | (c6x_print_address_operand): Update calls to output_address. | |
7544 | (c6x_print_operand_address): Pass mode to above. | |
7545 | * config/v850/v850.c (v850_print_operand_address): Add MODE argument. | |
7546 | (v850_print_operand): Pass mode to v850_print_operand_address, | |
7547 | output_address. | |
7548 | * config/mmix/mmix.c (mmix_print_operand_address): Add MODE argument. | |
7549 | (mmix_print_operand): Pass mode in output_address calls. | |
7550 | * config/sh/sh.c (sh_print_operand_address): Add MODE argument. | |
7551 | (sh_print_operand): Pass mem mode to output_address, | |
7552 | sh_print_operand_address. | |
7553 | * config/cr16/cr16.c (cr16_print_operand_address): Add MODE argument. | |
7554 | (cr16_print_operand): Pass mode to output_address, | |
7555 | cr16_print_operand_address. | |
7556 | * config/bfin/bfin.c (print_address_operand): Pass VOIDmode to | |
7557 | output_address. | |
7558 | * config/microblaze/microblaze.c (print_operand): Pass mode to | |
7559 | output_address. | |
7560 | * config/nios2/nios2.c (nios2_print_operand): Pass VOIDmode to | |
7561 | output_address. | |
7562 | (nios2_print_operand_address): Add MODE argument. Update call to | |
7563 | nios2_print_operand_address. | |
7564 | * config/s390/s390.c (print_operand): Pass mode to output_address. | |
7565 | * config/m32c/m32c.c (m32c_print_operand_address): Add MODE argument. | |
7566 | * config/arc/arc.c (arc_print_operand): Pass VOIDmode to | |
7567 | output_address. | |
7568 | * config/arm/arm.c (arm_print_operand_address): Add MODE argument. | |
7569 | Use instead of output_memory_reference_mode. | |
7570 | (output_memory_reference_mode): Delete global. | |
7571 | (arm_print_operand): Pass mem mode to output_address. | |
7572 | * config/m32r/m32r.c (m32r_print_operand_address): Add MODE argument. | |
7573 | (m32r_print_operand): Pass mode to output_address. | |
7574 | * config/msp430/msp430.c (msp430_print_operand_addr): Add MODE | |
7575 | argument. | |
7576 | (msp430_print_operand): Pass mode to msp430_print_operand_addr. | |
7577 | * config/i386/i386.c (ix86_print_operand): Pass mode to | |
7578 | output_address calls. | |
7579 | (ix86_print_operand_address): Add MODE argument. | |
7580 | ||
7581 | 2015-11-09 Eric Botcazou <ebotcazou@adacore.com> | |
7582 | ||
7583 | PR middle-end/68251 | |
7584 | * tree-core.h (REF_REVERSE_STORAGE_ORDER): Move around. | |
7585 | * tree.h (REF_REVERSE_STORAGE_ORDER): Change to default_def_flag. | |
7586 | * tree-streamer-in.c (unpack_ts_base_value_fields): Adjust. | |
7587 | * tree-streamer-out.c (pack_ts_base_value_fields): Likewise. | |
7588 | ||
7589 | 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
7590 | ||
7591 | PR rtl-optimization/67749 | |
7592 | * ifcvt.c (noce_try_cmove_arith): Do not emit move in IF-ELSE | |
7593 | case before emitting the two blocks. Instead modify the register | |
7594 | in the corresponding final insn of the basic block. | |
7595 | ||
7596 | 2015-11-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
7597 | ||
7598 | * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in | |
7599 | assembler syntax. | |
7600 | Support Solaris ld. | |
7601 | Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1. | |
7602 | ||
7603 | * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to | |
7604 | HAVE_INITFINI_ARRAY_SUPPORT. | |
7605 | * config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT value. | |
7606 | ||
7607 | * configure.ac (gcc_cv_as_sparc_nobits): Remove. | |
7608 | * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): | |
7609 | Don't check HAVE_AS_SPARC_NOBITS. | |
7610 | Heed SECTION_NOTYPE. | |
7611 | ||
7612 | * configure: Regenerate. | |
7613 | * config.in: Regenerate. | |
7614 | ||
7615 | 2015-11-09 Eric Botcazou <ebotcazou@adacore.com> | |
7616 | ||
7617 | PR middle-end/68253 | |
7618 | * fold-const.c (fold_truth_andor_1): Initialize new variables to 0. | |
7619 | ||
7620 | 2015-11-09 Richard Henderson <rth@redhat.com> | |
7621 | ||
7622 | * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS, | |
7623 | __SEG_GS, __SEG_TLS. | |
7624 | (ix86_register_pragmas): Register address spaces __seg_fs, | |
7625 | __seg_gs, __seg_tls. | |
7626 | * config/i386/i386-protos.h (enum ix86_address_seg): Remove. | |
7627 | (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New. | |
7628 | (struct ix86_address): Use addr_space_t instead of ix86_address_seg. | |
7629 | * config/i386/i386.c (ix86_decompose_address): Likewise. | |
7630 | (ix86_legitimate_address_p): Likewise. | |
7631 | (memory_address_length): Likewise. Check mem address space too. | |
7632 | (ix86_print_operand): Use ix86_print_operand_address_as. | |
7633 | (ix86_print_operand_address_as): Rename from | |
7634 | ix86_print_operand_address, add new addr_space_t parameter. | |
7635 | Validate that either the parameter or the ix86_address segment | |
7636 | is default address space. Handle ADDR_SPACE_SEG_TLS. | |
7637 | (ix86_print_operand_address): New. | |
7638 | (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New. | |
7639 | (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New. | |
7640 | (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New. | |
7641 | (ix86_addr_space_zero_address_valid): New. | |
7642 | (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New. | |
7643 | * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants. | |
7644 | * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise. | |
7645 | * config/i386/predicates.md (address_no_seg_operand): Likewise. | |
7646 | (vsib_address_operand): Likewise. | |
7647 | (address_mpx_no_base_operand): Likewise. | |
7648 | (address_mpx_no_index_operand): Likewise. | |
7649 | * doc/extend.texi (x86 Named Address Spaces): New section. | |
7650 | ||
7651 | * config/i386/i386.c (ix86_check_no_addr_space): New. | |
7652 | (decide_alg): Add have_as parameter. | |
7653 | (alg_usable_p): Likewise; disable rep algorithms if set. | |
7654 | (ix86_expand_set_or_movmem): Notice if either MEM has a | |
7655 | non-default address space. | |
7656 | (ix86_expand_strlen): Likewise. | |
7657 | * config/i386/i386.md (strmov, strset): Likewise. | |
7658 | (*strmovdi_rex_1): Use ix86_check_no_addr_space. | |
7659 | (*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi, | |
7660 | *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1, | |
7661 | *rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1, | |
7662 | *cmpstrnqi_1, *strlenqi_1): Likewise. | |
7663 | ||
7664 | * config/i386/i386.md (*movabs<mode>_1): Print the full memory rtx. | |
7665 | (*movabs<mode>_2): Likewise. | |
7666 | ||
7667 | * dwarf2out.c (modified_type_die): Pass the address space number | |
7668 | through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class. | |
7669 | * target.def (TARGET_ADDR_SPACE_DEBUG): New. | |
7670 | * targhooks.c (default_addr_space_debug): New. | |
7671 | * targhooks.h (default_addr_space_debug): Declare. | |
7672 | * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it. | |
7673 | * doc/tm.texi: Rebuild. | |
7674 | ||
7675 | * gimple.c (check_loadstore): Return false when 0 is a valid address. | |
7676 | * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold | |
7677 | null when 0 is valid in the source address space. | |
7678 | * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New. | |
7679 | * targhooks.c (default_addr_space_zero_address_valid): New. | |
7680 | * targhooks.h (default_addr_space_zero_address_valid): Declare. | |
7681 | * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it. | |
7682 | * doc/tm.texi: Rebuild. | |
7683 | ||
7684 | * cselib.c (add_mem_for_addr): Compare address spaces when | |
7685 | matching memories. | |
7686 | (cselib_lookup_mem): Likewise. | |
7687 | * fold-const.c (operand_equal_p): Check address spaces of | |
7688 | pointer types before checking integer constants. | |
7689 | ||
7690 | PR tree-opt/66768 | |
7691 | * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of | |
7692 | the correct type for the base. | |
7693 | ||
7694 | 2015-11-09 Jeff Law <law@redhat.com> | |
7695 | ||
7696 | * tree-into-ssa.c (names_to_release): No longer static. | |
7697 | * tree-into-ssa.h (names_to_release): Declare. | |
7698 | * tree-ssanames.c (verify_ssaname_freelists): New debug function. | |
7699 | (release_free_names_and_compact_live_names): New function extracted | |
7700 | from pass_release_ssa_names::execute. | |
7701 | (pass_release_ssa_names::execute): Use it. | |
7702 | ||
7703 | 2015-11-09 Alan Modra <amodra@gmail.com> | |
7704 | ||
7705 | * gensupport.c (add_mnemonic_string): Make len param a size_t. | |
7706 | (gen_mnemonic_setattr): Make "size" var a size_t. Use | |
7707 | obstack_blank_fast to shrink obstack. Cast obstack_next_free | |
7708 | return value. | |
7709 | ||
7710 | 2015-11-09 Segher Boessenkool <segher@kernel.crashing.org> | |
7711 | ||
7712 | PR rtl-optimization/68182 | |
7713 | * bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional | |
7714 | branch with only one successor just like unconditional branches. | |
7715 | ||
7716 | 2015-11-08 Jeff Law <law@redhat.com> | |
7717 | ||
7718 | * tree-ssa-threadupdate.c (register_jump_thraed): Assert that a | |
7719 | non-FSM path has no edges marked with EDGE_DFS_BACK. | |
7720 | (ssa_redirect_edges): No longer call mark_loop_for_removal. | |
7721 | (thread_single_edge, def_split_header_continue_p): Remove. | |
7722 | (bb_ends_with_multiway_branch): Likewise. | |
7723 | (thread_through_loop_header): Remove cases of threading from | |
7724 | latch through the header. Simplify knowing we won't thread | |
7725 | the latch. | |
7726 | (thread_through_all_blocks): Simplify knowing that only the FSM | |
7727 | threader needs to handle backedges. | |
7728 | ||
7729 | 2015-11-08 Eric Botcazou <ebotcazou@adacore.com> | |
7730 | ||
7731 | * doc/extend.texi (type attributes): Document scalar_storage_order. | |
7732 | (Structure-Packing Pragmas): Rename into... | |
7733 | (Structure-Layout Pragmas): ...this. Document scalar_storage_order. | |
7734 | * doc/invoke.texi (C Dialect Options): Document -fsso-struct | |
7735 | (Warnings): Document -Wno-scalar-storage-order. | |
7736 | * flag-types.h (enum scalar_storage_order_kind): New enumeration. | |
7737 | * calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to | |
7738 | extract_bit_field and store_bit_field. | |
7739 | (initialize_argument_information): Adjust call to store_expr. | |
7740 | (load_register_parameters): Adjust call to extract_bit_field. | |
7741 | * expmed.c (check_reverse_storage_order_support): New function. | |
7742 | (check_reverse_float_storage_order_support): Likewise. | |
7743 | (flip_storage_order): Likewise. | |
7744 | (store_bit_field_1): Add REVERSE parameter. Flip the storage order | |
7745 | of the value if it is true. Pass REVERSE to recursive call after | |
7746 | adjusting the target offset. | |
7747 | Do not use extraction or movstrict instruction if REVERSE is true. | |
7748 | Pass REVERSE to store_fixed_bit_field. | |
7749 | (store_bit_field): Add REVERSE parameter and pass to it to above. | |
7750 | (store_fixed_bit_field): Add REVERSE parameter and pass to it to | |
7751 | store_split_bit_field and store_fixed_bit_field_1. | |
7752 | (store_fixed_bit_field_1): Add REVERSE parameter. Flip the storage | |
7753 | order of the value if it is true and adjust the target offset. | |
7754 | (store_split_bit_field): Add REVERSE parameter and pass it to | |
7755 | store_fixed_bit_field. Adjust the target offset if it is true. | |
7756 | (extract_bit_field_1): Add REVERSE parameter. Flip the storage order | |
7757 | of the value if it is true. Pass REVERSE to recursive call after | |
7758 | adjusting the target offset. | |
7759 | Do not use extraction or subreg instruction if REVERSE is true. | |
7760 | Pass REVERSE to extract_fixed_bit_field. | |
7761 | (extract_bit_field): Add REVERSE parameter and pass to it to above. | |
7762 | (extract_fixed_bit_field): Add REVERSE parameter and pass to it to | |
7763 | extract_split_bit_field and extract_fixed_bit_field_1. | |
7764 | (extract_fixed_bit_field_1): Add REVERSE parameter. Flip the storage | |
7765 | order of the value if it is true and adjust the target offset. | |
7766 | (extract_split_bit_field): Add REVERSE parameter and pass it to | |
7767 | extract_fixed_bit_field. Adjust the target offset if it is true. | |
7768 | * expmed.h (flip_storage_order): Declare. | |
7769 | (store_bit_field): Adjust prototype. | |
7770 | (extract_bit_field): Likewise. | |
7771 | * expr.c (emit_group_load_1): Adjust calls to extract_bit_field. | |
7772 | (emit_group_store): Adjust call to store_bit_field. | |
7773 | (copy_blkmode_from_reg): Likewise. | |
7774 | (copy_blkmode_to_reg): Likewise. | |
7775 | (write_complex_part): Likewise. | |
7776 | (read_complex_part): Likewise. | |
7777 | (optimize_bitfield_assignment_op): Add REVERSE parameter. Assert | |
7778 | that it isn't true if the target is a register. | |
7779 | <PLUS_EXPR>: If it is, do not optimize unless bitsize is equal to 1, | |
7780 | and flip the storage order of the value. | |
7781 | <BIT_IOR_EXPR>: Flip the storage order of the value. | |
7782 | (get_bit_range): Adjust call to get_inner_reference. | |
7783 | (expand_assignment): Adjust calls to get_inner_reference, store_expr, | |
7784 | optimize_bitfield_assignment_op and store_field. Handle MEM_EXPRs | |
7785 | with reverse storage order. | |
7786 | (store_expr_with_bounds): Add REVERSE parameter and pass it to | |
7787 | recursive calls and call to store_bit_field. Force the value into a | |
7788 | register if it is true and then flip the storage order of the value. | |
7789 | (store_expr): Add REVERSE parameter and pass it to above. | |
7790 | (categorize_ctor_elements_1): Adjust call to | |
7791 | initializer_constant_valid_p. | |
7792 | (store_constructor_field): Add REVERSE parameter and pass it to | |
7793 | recursive calls and call to store_field. | |
7794 | (store_constructor): Add REVERSE parameter and pass it to calls to | |
7795 | store_constructor_field and store_expr. Set it to true for an | |
7796 | aggregate type with TYPE_REVERSE_STORAGE_ORDER. | |
7797 | (store_field): Add REVERSE parameter and pass it to recursive calls | |
7798 | and calls to store_expr and store_bit_field. Temporarily flip the | |
7799 | storage order of the value with record type and integral mode and | |
7800 | adjust the shift if it is true. | |
7801 | (get_inner_reference): Add PREVERSEP parameter and set it to true | |
7802 | upon encoutering a reference with reverse storage order. | |
7803 | (expand_expr_addr_expr_1): Adjust call to get_inner_reference. | |
7804 | (expand_constructor): Adjust call to store_constructor. | |
7805 | (expand_expr_real_2) <CASE_CONVERT>: Pass TYPE_REVERSE_STORAGE_ORDER | |
7806 | of the union type to store_expr in the MEM case and assert that it | |
7807 | isn't set in the REG case. Adjust call to store_field. | |
7808 | (expand_expr_real_1) <MEM_REF>: Handle reverse storage order. | |
7809 | <normal_inner_ref>: Add REVERSEP variable and adjust calls to | |
7810 | get_inner_reference and extract_bit_field. Temporarily flip the | |
7811 | storage order of the value with record type and integral mode and | |
7812 | adjust the shift if it is true. Flip the storage order of the value | |
7813 | at the end if it is true. | |
7814 | <VIEW_CONVERT_EXPR>: Add REVERSEP variable and adjust call to | |
7815 | get_inner_reference. Do not fetch an inner reference if it is true. | |
7816 | * expr.h (store_expr_with_bounds): Ajust prototype. | |
7817 | (store_expr): Likewise. | |
7818 | * fold-const.c (make_bit_field_ref): Add REVERSEP parameter and set | |
7819 | REF_REVERSE_STORAGE_ORDER on the reference according to it. | |
7820 | (optimize_bit_field_compare): Deal with reverse storage order. | |
7821 | Adjust calls to get_inner_reference and make_bit_field_ref. | |
7822 | (decode_field_reference): Add PREVERSEP parameter and adjust call to | |
7823 | get_inner_reference. | |
7824 | (fold_truth_andor_1): Deal with reverse storage order. Adjust calls | |
7825 | to decode_field_reference and make_bit_field_ref. | |
7826 | (fold_unary_loc) <CASE_CONVERT>: Adjust call to get_inner_reference. | |
7827 | <VIEW_CONVERT_EXPR>: Propagate the REF_REVERSE_STORAGE_ORDER flag. | |
7828 | (fold_comparison): Adjust call to get_inner_reference. | |
7829 | (split_address_to_core_and_offset): Adjust call to | |
7830 | get_inner_reference. | |
7831 | * gimple-expr.c (useless_type_conversion_p): Return false for array | |
7832 | types with different TYPE_REVERSE_STORAGE_ORDER flag. | |
7833 | * gimplify.c (gimplify_expr) <MEM_REF>: Propagate the | |
7834 | REF_REVERSE_STORAGE_ORDER flag. | |
7835 | * lto-streamer-out.c (hash_tree): Deal with TYPE_REVERSE_STORAGE_ORDER. | |
7836 | * output.h (assemble_real): Adjust prototype. | |
7837 | * print-tree.c (print_node): Convey TYPE_REVERSE_STORAGE_ORDER. | |
7838 | * stor-layout.c (finish_record_layout): Propagate the | |
7839 | TYPE_REVERSE_STORAGE_ORDER flag to the variants. | |
7840 | * tree-core.h (TYPE_REVERSE_STORAGE_ORDER): Document. | |
7841 | (TYPE_SATURATING): Adjust. | |
7842 | (REF_REVERSE_STORAGE_ORDER): Document. | |
7843 | * tree-dfa.c (get_ref_base_and_extent): Add PREVERSE parameter and | |
7844 | set it to true upon encoutering a reference with reverse storage order. | |
7845 | * tree-dfa.h (get_ref_base_and_extent): Adjust prototype. | |
7846 | * tree-inline.c (remap_gimple_op_r): Propagate the | |
7847 | REF_REVERSE_STORAGE_ORDER flag. | |
7848 | (copy_tree_body_r): Likewise. | |
7849 | * tree-outof-ssa.c (insert_value_copy_on_edge): Adjust call to | |
7850 | store_expr. | |
7851 | * tree-streamer-in.c (unpack_ts_base_value_fields): Deal with | |
7852 | TYPE_REVERSE_STORAGE_ORDER and REF_REVERSE_STORAGE_ORDER. | |
7853 | * tree-streamer-out.c (pack_ts_base_value_fields): Likewise. | |
7854 | * tree.c (stabilize_reference) <BIT_FIELD_REF>: Propagate the | |
7855 | REF_REVERSE_STORAGE_ORDER flag. | |
7856 | (verify_type_variant): Deal with TYPE_REVERSE_STORAGE_ORDER. | |
7857 | (gimple_canonical_types_compatible_p): Likewise. | |
7858 | * tree.h (TYPE_REVERSE_STORAGE_ORDER): New flag. | |
7859 | (TYPE_SATURATING): Adjust. | |
7860 | (REF_REVERSE_STORAGE_ORDER): New flag. | |
7861 | (reverse_storage_order_for_component_p): New inline predicate. | |
7862 | (storage_order_barrier_p): Likewise. | |
7863 | (get_inner_reference): Adjust prototype. | |
7864 | * varasm.c: Include expmed.h. | |
7865 | (assemble_variable_contents): Adjust call to output_constant. | |
7866 | (assemble_real): Add REVERSE parameter. Flip the storage | |
7867 | order of the value if REVERSE is true. | |
7868 | (compare_constant) <CONSTRUCTOR>: Compare TYPE_REVERSE_STORAGE_ORDER. | |
7869 | (assemble_constant_contents): Adjust call to output_constant. | |
7870 | (output_constant_pool_2): Adjust call to assemble_real. | |
7871 | (initializer_constant_valid_p_1) <CONSTRUCTOR>: Deal with | |
7872 | TYPE_REVERSE_STORAGE_ORDER. | |
7873 | (initializer_constant_valid_p): Add REVERSE parameter. | |
7874 | (output_constant): Add REVERSE parameter. | |
7875 | <INTEGER_TYPE>: Flip the storage order of the value if REVERSE is true. | |
7876 | <REAL_TYPE>: Adjust call to assemble_real. | |
7877 | <COMPLEX_TYPE>: Pass it to recursive calls. | |
7878 | <ARRAY_TYPE>: Likewise. Adjust call to output_constructor. | |
7879 | <RECORD_TYPE>: Likewise. Adjust call to output_constructor. | |
7880 | (struct oc_local_state): Add REVERSE field. | |
7881 | (output_constructor_array_range): Adjust calls to output_constant. | |
7882 | (output_constructor_regular_field): Likewise. | |
7883 | (output_constructor_bitfield): Adjust call to output_constructor. | |
7884 | Flip the storage order of the value if REVERSE is true. | |
7885 | (output_constructor): Add REVERSE parameter. Set it to true for an | |
7886 | aggregate type with TYPE_REVERSE_STORAGE_ORDER. Adjust call to | |
7887 | output_constructor_bitfield. | |
7888 | * varasm.h (initializer_constant_valid_p): Default REVERSE to false. | |
7889 | * asan.c (instrument_derefs): Adjust call to get_inner_reference. | |
7890 | * builtins.c (get_object_alignment_2): Likewise. | |
7891 | * cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference | |
7892 | and get_ref_base_and_extent. | |
7893 | * dbxout.c (dbxout_expand_expr): Likewise. | |
7894 | * dwarf2out.c (add_var_loc_to_decl): Likewise. | |
7895 | (loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise. | |
7896 | (loc_list_from_tree): Likewise. | |
7897 | (fortran_common): Likewise. | |
7898 | * gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to | |
7899 | get_ref_base_and_extent. | |
7900 | (get_base_constructor): Likewise. | |
7901 | (fold_const_aggregate_ref_1): Likewise. | |
7902 | * gimple-laddress.c (pass_laddress::execute): Adjust call to | |
7903 | get_inner_reference. | |
7904 | * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to | |
7905 | get_inner_reference and bail out on reverse storage order. | |
7906 | * ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field. | |
7907 | * ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to | |
7908 | build_ref_for_offset. | |
7909 | * ipa-polymorphic-call.c (set_by_invariant): Adjust call to | |
7910 | get_ref_base_and_extent. | |
7911 | (ipa_polymorphic_call_context): Likewise. | |
7912 | (extr_type_from_vtbl_ptr_store): Likewise. | |
7913 | (check_stmt_for_type_change): Likewise. | |
7914 | (get_dynamic_type): Likewise. | |
7915 | * ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to | |
7916 | get_ref_base_and_extent. | |
7917 | (compute_complex_assign_jump_func): Likewise. | |
7918 | (get_ancestor_addr_info): Likewise. | |
7919 | (compute_known_type_jump_func): Likewise. | |
7920 | (determine_known_aggregate_parts): Likewise. | |
7921 | (ipa_get_adjustment_candidate): Likewise. | |
7922 | (ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on MEM_REF. | |
7923 | * ipa-prop.h (ipa_parm_adjustment): Add REVERSE field. | |
7924 | (build_ref_for_offset): Adjust prototype. | |
7925 | * simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to | |
7926 | get_inner_reference. | |
7927 | * tree-affine.c (tree_to_aff_combination): Adjust call to | |
7928 | get_inner_reference. | |
7929 | (get_inner_reference_aff): Likewise. | |
7930 | * tree-data-ref.c (split_constant_offset_1): Likewise. | |
7931 | (dr_analyze_innermost): Likewise. Bail out if reverse storage order. | |
7932 | * tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to | |
7933 | get_inner_reference. | |
7934 | * tree-sra.c (struct access): Add REVERSE and move WRITE around. | |
7935 | (dump_access): Print new fields. | |
7936 | (create_access): Adjust call to get_ref_base_and_extent and set the | |
7937 | REVERSE flag according to the result. | |
7938 | (completely_scalarize_record): Set the REVERSE flag. | |
7939 | (scalarize_elem): Add REVERSE parameter. | |
7940 | (build_access_from_expr_1): Preserve storage order barriers. | |
7941 | (build_accesses_from_assign): Likewise. | |
7942 | (build_ref_for_offset): Add REVERSE parameter and set the | |
7943 | REF_REVERSE_STORAGE_ORDER flag accordingly. | |
7944 | (build_ref_for_model): Adjust call to build_ref_for_offset and clear | |
7945 | the REF_REVERSE_STORAGE_ORDER flag if there are components. | |
7946 | (analyze_access_subtree): Likewise. | |
7947 | (create_artificial_child_access): Set the REVERSE flag. | |
7948 | (get_access_for_expr): Adjust call to get_ref_base_and_extent. | |
7949 | (turn_representatives_into_adjustments): Propagate REVERSE flag. | |
7950 | (ipa_sra_check_caller): Adjust call to get_inner_reference. | |
7951 | * tree-ssa-alias.c (ao_ref_base): Adjust call to | |
7952 | get_ref_base_and_extent. | |
7953 | (aliasing_component_refs_p): Likewise. | |
7954 | (stmt_kills_ref_p_1): Likewise. | |
7955 | * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise. | |
7956 | * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <MEM_REF>: New. | |
7957 | Return true if reverse storage order. | |
7958 | <BIT_FIELD_REF>: Likewise. | |
7959 | <COMPONENT_REF>: Likewise. | |
7960 | <ARRAY_REF>: Likewise. | |
7961 | <ARRAY_RANGE_REF>: Likewise. | |
7962 | (split_address_cost): Likewise. Bail out if reverse storage order. | |
7963 | * tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to | |
7964 | get_inner_reference. Bail out if reverse storage order. | |
7965 | (bswap_replace): Adjust call to get_inner_reference. | |
7966 | * tree-ssa-pre.c (create_component_ref_by_pieces_1) <MEM_REF>: Set | |
7967 | the REF_REVERSE_STORAGE_ORDER flag. | |
7968 | <BIT_FIELD_REF>: Likewise. | |
7969 | * tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order | |
7970 | barriers. | |
7971 | (copy_reference_ops_from_ref) <MEM_REF>: Set REVERSE field according | |
7972 | to the REF_REVERSE_STORAGE_ORDER flag. | |
7973 | <BIT_FIELD_REF>: Likewise. | |
7974 | <VIEW_CONVERT_EXPR>: Set it for storage order barriers. | |
7975 | (contains_storage_order_barrier_p): New predicate. | |
7976 | (vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent. | |
7977 | Punt on storage order barriers if necessary. | |
7978 | * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE. | |
7979 | * tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust | |
7980 | call to get_ref_base_and_extent. | |
7981 | (do_structure_copy): Likewise. | |
7982 | * tree-vect-data-refs.c (vect_check_gather): Adjust call to | |
7983 | get_inner_reference. | |
7984 | (vect_analyze_data_refs): Likewise. Bail out if reverse storage order. | |
7985 | * tsan.c (instrument_expr): Adjust call to get_inner_reference. | |
7986 | * ubsan.c (instrument_bool_enum_load): Likewise. | |
7987 | (instrument_object_size): Likewise. | |
7988 | * var-tracking.c (track_expr_p): Adjust call to | |
7989 | get_ref_base_and_extent. | |
7990 | * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust call to | |
7991 | get_inner_reference. | |
7992 | * config/s390/s390.c (s390_expand_atomic): Adjust call to | |
7993 | store_bit_field. | |
7994 | * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust call to | |
7995 | extract_bit_field. | |
7996 | * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise. | |
7997 | ||
7998 | 2015-11-07 Eric Botcazou <ebotcazou@adacore.com> | |
7999 | ||
8000 | * config/sparc/sparc.opt (mfix-at697f): Add final period. | |
8001 | ||
8002 | 2015-11-07 Segher Boessenkool <segher@kernel.crashing.org> | |
8003 | ||
8004 | PR rtl-optimization/67864 | |
8005 | * common/config/i386/i386-common.c (ix86_option_optimization_table) | |
8006 | <OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC | |
8007 | at -Os and up. | |
8008 | ||
8009 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8010 | ||
8011 | * trans-mem.c (is_tm_pure_call): Use gimple_call_flags for | |
8012 | internal functions. | |
8013 | ||
8014 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8015 | ||
8016 | * builtins.def: #undef DEF_BUILTIN and DEF_BUILTIN_CHKP | |
8017 | * builtins.c, genmatch.c, tree-core.h: Don't undef them here. | |
8018 | ||
8019 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8020 | ||
8021 | * internal-fn.def: #undef DEF_INTERNAL_FN at the end. | |
8022 | * internal-fn.c: Don't undef it here. | |
8023 | * tree-core.h: Likewise. | |
8024 | ||
8025 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8026 | ||
8027 | * builtins.c (fold_builtin_nan): Delete. | |
8028 | (fold_builtin_memcmp): Remove case where both arguments are constant. | |
8029 | (fold_builtin_strcmp, fold_builtin_strncmp): Likewise. | |
8030 | (fold_builtin_strspn, fold_builtin_strcspn): Likewise. | |
8031 | (fold_builtin_1): Remove BUILT_IN_NAN* handling. | |
8032 | * fold-const-call.c: Include fold-const.h. | |
8033 | (host_size_t_cst_p): New function. | |
8034 | (build_cmp_result, fold_const_builtin_nan): Likewise. | |
8035 | (fold_const_call_1): New function, split out from... | |
8036 | (fold_const_call): ...here (for all three interfaces). Handle | |
8037 | constant nan, nans, strlen, strcmp, strncmp, strspn and strcspn. | |
8038 | ||
8039 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8040 | ||
8041 | * builtins.c (fold_builtin_bitop, fold_builtin_bswap): Delete. | |
8042 | (fold_builtin_1): Don't call them. | |
8043 | * fold-const-call.c: Include tm.h. | |
8044 | (fold_const_call_ss): New variant for integer-to-integer folds. | |
8045 | (fold_const_call): Call it. | |
8046 | ||
8047 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8048 | ||
8049 | * builtins.c (fold_builtin_classify): Move constant cases to... | |
8050 | * fold-const-call.c (fold_const_call_ss): ...here. | |
8051 | ||
8052 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8053 | ||
8054 | * builtins.h (c_getstr): Move to... | |
8055 | * fold-const.h (c_getstr): ...here. | |
8056 | * builtins.c (c_getstr): Move to... | |
8057 | * fold-const.c (c_getstr): ...here. | |
8058 | ||
8059 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8060 | ||
8061 | * builtins.def (BUILTIN_RINT, BUILTIN_RINTF, BUILTIN_RINTL): Use | |
8062 | ATTR_MATHFN_FPROUNDING rather than ATTR_MATHFN_FPROUNDING_ERRNO. | |
8063 | ||
8064 | 2015-11-07 Richard Sandiford <richard.sandiford@arm.com> | |
8065 | ||
8066 | * tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update | |
8067 | the dominance info; free it if we can't. | |
8068 | (pass_call_cdce::execute): Don't free the dominance info here. | |
8069 | ||
dfb6d139 | 8070 | 2015-11-06 Jeff Law <law@redhat.com> |
fb2c1edd | 8071 | |
8072 | * tree-ssa-threadedge.c (dummy_simplify): Remove. | |
8073 | (thread_around_empty_blocks): Remove backedge_seen_p argument. | |
8074 | If we thread to a backedge, then return false. Update recursive | |
8075 | call to eliminate backedge_seen_p argument. | |
8076 | (thread_through_normal_block): Remove backedge_seen_p argument. | |
8077 | Remove backedge_seen_p argument from calls to | |
8078 | thread_around_empty_blocks. Remove checks on backedge_seen_p. | |
8079 | If we thread to a backedge, then return 0. | |
8080 | (thread_across_edge): Remove bookkeeping for backedge_seen. Don't | |
8081 | pass it to thread_through_normal_block or thread_through_empty_blocks. | |
8082 | For joiner handling, if we see a backedge, do not try normal | |
8083 | threading. | |
8084 | ||
8085 | 2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com> | |
8086 | ||
8087 | * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal. | |
8088 | * graphite-poly.c (new_scop): Initialize original_schedule. | |
8089 | (free_scop): Free original_schedule. | |
8090 | * graphite-poly.h (struct scop): Add field original_schedule. | |
8091 | * graphite-sese-to-poly.c (build_scop_original_schedule): New. | |
8092 | (build_poly_scop): Call build_scop_original_schedule. | |
8093 | ||
8094 | 2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com> | |
8095 | ||
8096 | * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove. | |
8097 | (build_pbb_minimal_scattering_polyhedrons): New. | |
8098 | (build_scop_scattering): Remove. | |
8099 | (build_scop_minimal_scattering): New. | |
8100 | (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons. | |
8101 | (build_poly_scop): Call build_scop_minimal_scattering. | |
8102 | ||
dfb6d139 | 8103 | 2015-11-06 Jeff Law <law@redhat.com> |
fb2c1edd | 8104 | |
8105 | * cfg-flags.def (IGNORE): New edge flag. | |
8106 | * tree-vrp.c (identify_jump_threads): Mark and clear edges | |
8107 | scheduled for removal with EDGE_IGNORE around call into | |
8108 | jump threader. Do no thread across edges with EDGE_IGNORE, | |
8109 | but do allow threading across those with EDGE_DFS_BACK. | |
8110 | ||
8111 | 2015-11-06 David Wohlferd <dw@LimeGreenSocks.com> | |
8112 | ||
8113 | * doc/md.texi (multi-alternative constraints): Don't document | |
8114 | alternatives inherently tied to reload for the user documentation. | |
8115 | ||
8116 | 2015-11-06 Michael Collison <michael.collison@linaro.org> | |
8117 | Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | |
8118 | ||
8119 | Revert: | |
8120 | 2015-08-01 Michael Collison <michael.collison@linaro.org | |
8121 | Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | |
8122 | ||
8123 | * config/arm/arm.md (*arm_smin_cmp): New pattern. | |
8124 | (*arm_umin_cmp): Likewise. | |
8125 | ||
8126 | 2015-11-06 Jakub Jelinek <jakub@redhat.com> | |
8127 | ||
8128 | * gimplify.c (gimplify_omp_ordered): Fix up diagnostics wording. | |
8129 | * omp-low.c (check_omp_nesting_restrictions): Update for the | |
8130 | various new OpenMP 4.5 nesting restrictions, clarified | |
8131 | nesting glossary, closely nested region relationship clarified | |
8132 | to mean explicit or implicit parallel regions (target/teams), | |
8133 | use %</%> or %qs where appropriate. | |
8134 | ||
8135 | 2015-11-06 Aditya Kumar <aditya.k7@samsung.com> | |
8136 | Sebastian Pop <s.pop@samsung.com> | |
8137 | ||
8138 | * graphite-scop-detection.c (loop_is_valid_scop): Call | |
8139 | optimize_loop_nest_for_speed_p. | |
8140 | ||
8141 | 2015-11-06 Aditya Kumar <aditya.k7@samsung.com> | |
8142 | Sebastian Pop <s.pop@samsung.com> | |
8143 | ||
8144 | * graphite-optimize-isl.c (optimize_isl): Call | |
8145 | isl_options_set_schedule_maximize_band_depth. | |
8146 | ||
8147 | 2015-11-06 Aditya Kumar <aditya.k7@samsung.com> | |
8148 | Sebastian Pop <s.pop@samsung.com> | |
8149 | ||
8150 | * graphite-scop-detection.c (scop_detection::merge_sese): Entry | |
8151 | and exit edges should not be a part of irreducible loop. | |
8152 | (scop_detection::can_represent_loop_1): Loops should not be | |
8153 | irreducible. | |
8154 | (scop_detection::harmful_stmt_in_region): All the basic block | |
8155 | should belong to reducible loops. | |
8156 | ||
8157 | 2015-11-06 Christophe Lyon <christophe.lyon@linaro.org> | |
8158 | ||
8159 | * config/aarch64/aarch64-simd-builtins.def: Update builtins | |
8160 | tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*. | |
8161 | * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to... | |
8162 | (aarch64_tbl3<mode>) ... this, which supports v16qi too. | |
8163 | (aarch64_tbx4v8qi): Rename to... | |
8164 | aarch64_tbx4<mode>): ... this. | |
8165 | (aarch64_qtbl3<mode>): New pattern. | |
8166 | (aarch64_qtbx3<mode>): New pattern. | |
8167 | (aarch64_qtbl4<mode>): New pattern. | |
8168 | (aarch64_qtbx4<mode>): New pattern. | |
8169 | * config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8) | |
8170 | (vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8) | |
8171 | (vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8) | |
8172 | (vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8) | |
8173 | (vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8) | |
8174 | (vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8) | |
8175 | (vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8) | |
8176 | (vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin | |
8177 | functions. | |
8178 | ||
8179 | 2015-11-06 Mike Stump <mikestump@comcast.net> | |
8180 | ||
8181 | PR debug/66728 | |
8182 | * dwarf2out.c (get_full_len): Return a value based upon the actual | |
8183 | precision needed for the value. | |
8184 | (add_const_value_attribute): Use a maximal wide-int for | |
8185 | CONST_WIDE_INTs, not VOIDmode. | |
8186 | (output_die): Don't ever output NULL with printf. | |
8187 | ||
8188 | * rtl.h (get_precision of rtx_mode_t): Ensure we never process | |
8189 | BLKmode nor VOIDmode values. | |
8190 | ||
8191 | 2015-11-06 David Malcolm <dmalcolm@redhat.com> | |
8192 | ||
8193 | * diagnostic-color.c (color_dict): Eliminate "caret"; add "range1" | |
8194 | and "range2". | |
8195 | (parse_gcc_colors): Update comment to describe default GCC_COLORS. | |
8196 | * diagnostic-core.h (warning_at_rich_loc): New declaration. | |
8197 | (error_at_rich_loc): New declaration. | |
8198 | (permerror_at_rich_loc): New declaration. | |
8199 | (inform_at_rich_loc): New declaration. | |
8200 | * diagnostic-show-locus.c (adjust_line): Delete. | |
8201 | (struct point_state): New struct. | |
8202 | (class colorizer): New class. | |
8203 | (class layout_point): New class. | |
8204 | (class layout_range): New class. | |
8205 | (struct line_bounds): New. | |
8206 | (class layout): New class. | |
8207 | (colorizer::colorizer): New ctor. | |
8208 | (colorizer::~colorizer): New dtor. | |
8209 | (layout::layout): New ctor. | |
8210 | (layout::print_source_line): New method. | |
8211 | (layout::print_annotation_line): New method. | |
8212 | (layout::get_state_at_point): New method. | |
8213 | (layout::get_x_bound_for_row): New method. | |
8214 | (diagnostic_show_locus): Reimplement in terms of class layout. | |
8215 | (diagnostic_print_caret_line): Delete. | |
8216 | * diagnostic.c (diagnostic_initialize): Replace | |
8217 | MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES. | |
8218 | (diagnostic_set_info_translated): Convert param from location_t | |
8219 | to rich_location *. Eliminate calls to set_location on the | |
8220 | message in favor of storing the rich_location ptr there. | |
8221 | (diagnostic_set_info): Convert param from location_t to | |
8222 | rich_location *. | |
8223 | (diagnostic_build_prefix): Break out array into... | |
8224 | (diagnostic_kind_color): New variable. | |
8225 | (diagnostic_get_color_for_kind): New function. | |
8226 | (diagnostic_report_diagnostic): Colorize the option_text | |
8227 | using the color for the severity. | |
8228 | (diagnostic_append_note): Update for change in signature of | |
8229 | diagnostic_set_info. | |
8230 | (diagnostic_append_note_at_rich_loc): New function. | |
8231 | (emit_diagnostic): Update for change in signature of | |
8232 | diagnostic_set_info. | |
8233 | (inform): Likewise. | |
8234 | (inform_at_rich_loc): New function. | |
8235 | (inform_n): Update for change in signature of diagnostic_set_info. | |
8236 | (warning): Likewise. | |
8237 | (warning_at): Likewise. | |
8238 | (warning_at_rich_loc): New function. | |
8239 | (warning_n): Update for change in signature of diagnostic_set_info. | |
8240 | (pedwarn): Likewise. | |
8241 | (permerror): Likewise. | |
8242 | (permerror_at_rich_loc): New function. | |
8243 | (error): Update for change in signature of diagnostic_set_info. | |
8244 | (error_n): Likewise. | |
8245 | (error_at): Likewise. | |
8246 | (error_at_rich_loc): New function. | |
8247 | (sorry): Update for change in signature of diagnostic_set_info. | |
8248 | (fatal_error): Likewise. | |
8249 | (internal_error): Likewise. | |
8250 | (internal_error_no_backtrace): Likewise. | |
8251 | (source_range::debug): New function. | |
8252 | * diagnostic.h (struct diagnostic_info): Eliminate field | |
8253 | "override_column". Add field "richloc". | |
8254 | (struct diagnostic_context): Add field "colorize_source_p". | |
8255 | (diagnostic_override_column): Delete. | |
8256 | (diagnostic_set_info): Convert param from location_t to | |
8257 | rich_location *. | |
8258 | (diagnostic_set_info_translated): Likewise. | |
8259 | (diagnostic_append_note_at_rich_loc): New function. | |
8260 | (diagnostic_num_locations): New function. | |
8261 | (diagnostic_expand_location): Get the location from the | |
8262 | rich_location. | |
8263 | (diagnostic_print_caret_line): Delete. | |
8264 | (diagnostic_get_color_for_kind): New declaration. | |
8265 | * genmatch.c (linemap_client_expand_location_to_spelling_point): New. | |
8266 | (error_cb): Update for change in signature of "error" callback. | |
8267 | (fatal_at): Likewise. | |
8268 | (warning_at): Likewise. | |
8269 | * input.c (linemap_client_expand_location_to_spelling_point): New. | |
8270 | * pretty-print.c (text_info::set_range): New method. | |
8271 | (text_info::get_location): New method. | |
8272 | * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro. | |
8273 | (struct text_info): Eliminate "locations" array in favor of | |
8274 | "m_richloc", a rich_location *. | |
8275 | (textinfo::set_location): Add a "caret_p" param, and reimplement | |
8276 | in terms of a call to set_range. | |
8277 | (textinfo::get_location): Eliminate inline implementation in favor of | |
8278 | an out-of-line reimplementation. | |
8279 | (textinfo::set_range): New method. | |
8280 | * rtl-error.c (diagnostic_for_asm): Update for change in signature | |
8281 | of diagnostic_set_info. | |
8282 | * tree-diagnostic.c (default_tree_printer): Update for new | |
8283 | "caret_p" param for textinfo::set_location. | |
8284 | * tree-pretty-print.c (percent_K_format): Likewise. | |
8285 | ||
8286 | 2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
8287 | ||
8288 | Properly apply. | |
8289 | 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
8290 | * config/aarch64/aarch64.c | |
8291 | (aarch64_can_use_per_function_literal_pools_p): New. | |
8292 | (aarch64_use_blocks_for_constant_p): Adjust declaration | |
8293 | and use aarch64_can_use_function_literal_pools_p. | |
8294 | (aarch64_select_rtx_section): Update. | |
8295 | ||
8296 | 2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
8297 | ||
8298 | * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates. | |
8299 | * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe. | |
8300 | (arm_output_multireg_pop): Likewise. | |
8301 | (output_move_double): Likewise. | |
8302 | (output_move_quad): Likewise. | |
8303 | (output_return_instruction): Likewise. | |
8304 | (arm_print_operand): Remove support for %( and %. print modifiers. | |
8305 | (arm_output_shift): Make unified asm. | |
8306 | (arm_declare_function_name): Likewise. | |
8307 | * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete. | |
8308 | (ASM_APP_OFF): Adjust. | |
8309 | (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM. | |
8310 | (ASM_OUTPUT_REG_POP): Likewise. | |
8311 | * config/arm/arm.md: Adjust uses of %., %(, %) | |
8312 | * config/arm/sync.md: Likewise. | |
8313 | * config/arm/thumb2.md: Likewise. | |
8314 | * config/arm/ldmstm.md: Regenerate. | |
8315 | * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb. | |
8316 | * doc/invoke.texi (masm-unified-syntax): Update documentation. | |
8317 | ||
8318 | 2015-11-06 David Malcolm <dmalcolm@redhat.com> | |
8319 | ||
8320 | * input.c (dump_line_table_statistics): Dump stats on adhoc table. | |
8321 | ||
8322 | 2015-11-07 Jan Hubicka <hubicka@ucw.cz> | |
8323 | ||
8324 | * tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and | |
8325 | add OEP_MATCH_SIDE_EFFECTS. | |
8326 | * fold-const.c (operand_equal_p): Update documentation; handle | |
8327 | OEP_MATCH_SIDE_EFFECTS. | |
8328 | * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use | |
8329 | OEP_MATCH_SIDE_EFFECTS. | |
8330 | ||
8331 | 2015-11-06 Benedikt Huber <benedikt.huber@theobroma-systems.com> | |
8332 | Philipp Tomsich <philipp.tomsich@theobroma-systems.com> | |
8333 | ||
8334 | * config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf. | |
8335 | * config/aarch64/aarch64-protos.h: Declare. | |
8336 | * config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and | |
8337 | frsqrts. | |
8338 | * config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt. | |
8339 | * config/aarch64/aarch64.c: New functions. Emit rsqrt estimation | |
8340 | code when applicable. | |
8341 | * config/aarch64/aarch64.md: Added enum entries. | |
8342 | * config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt. | |
8343 | ||
8344 | 2015-11-07 Jan Hubicka <hubicka@ucw.cz> | |
8345 | ||
8346 | PR ipa/68057 | |
8347 | PR ipa/68220 | |
8348 | * ipa-polymorphic-call.c | |
8349 | (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering | |
8350 | issue when offset is out of range. | |
8351 | (contains_type_p): Fix out of range check, clear dynamic flag. | |
8352 | ||
8353 | 2015-11-06 Arnout Vandecappelle <arnout@mind.be> | |
8354 | ||
8355 | * config.gcc (e6500): Fix cpu_is_64bit typo. | |
8356 | ||
8357 | 2015-11-06 Alan Lawrence <alan.lawrence@arm.com> | |
8358 | ||
8359 | * tree-sra.c (completely_scalarize): Properly handle negative array | |
8360 | indices using offset_int. | |
8361 | ||
8362 | 2015-11-06 Richard Biener <rguenther@suse.de> | |
8363 | ||
8364 | * alloc-pool.h (object_allocator::allocate): Default-initialize | |
8365 | object. | |
8366 | ||
8367 | 2015-11-06 Richard Biener <rguenther@suse.de> | |
8368 | ||
8369 | * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor. | |
8370 | * lra.c (init_reg_info): Truncate copy_vec instead of | |
8371 | re-allocating a new one and leaking the old. | |
8372 | * ipa-inline-analysis.c (estimate_function_body_sizes): Free | |
8373 | bb_infos vec. | |
8374 | * sched-deps.c (sched_deps_finish): Free the dn/dl pools. | |
8375 | * postreload-gcse.c (free_mem): Free modify_mem_list and | |
8376 | canon_modify_mem_list. | |
8377 | ||
8378 | 2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com> | |
8379 | ||
8380 | PR tree-optimization/68145 | |
8381 | * tree-vect-stmts.c (vectorizable_operation): Fix | |
8382 | determination for booleans. | |
8383 | ||
8384 | 2015-11-06 Tom de Vries <tom@codesourcery.com> | |
8385 | ||
8386 | * tree-cfg.c (gimple_split_block_before_cond_jump): Split before | |
8387 | cond_jump, instead of split after last nondebug insn before cond_jump. | |
8388 | * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before | |
8389 | returning. | |
8390 | ||
8391 | 2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
8392 | ||
8393 | PR target/68088 | |
8394 | * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip | |
8395 | subregs from accumulator and make sure it's a register. | |
8396 | ||
8397 | 2015-11-06 Simon Dardis <simon.dardis@imgtec.com> | |
8398 | ||
8399 | * config/mips/loongson.md (vec_loongson_extract_lo_<mode>): New, extract | |
8400 | low part to scalar. | |
8401 | (reduc_uplus_<mode>): Remove. | |
8402 | (reduc_plus_scal_<mode>): Rename from reduc_splus_<mode>, Use vec | |
8403 | loongson_extract_lo_<mode>. | |
8404 | (reduc_smax_scal_<mode>, reduc_smin_scal_<mode>): Rename from | |
8405 | reduc_smax_<mode>, reduc_smax_<mode>, use vec | |
8406 | loongson_extract_lo_<mode>. | |
8407 | (reduc_umax_scal_<mode>, reduc_umin_scal_<mode>): Rename. | |
8408 | ||
8409 | 2015-11-06 Richard Biener <rguenther@suse.de> | |
8410 | ||
8411 | * tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end | |
8412 | members. | |
8413 | (vect_stmt_in_region_p): Declare. | |
8414 | * tree-vect-slp.c (new_bb_vec_info): Work on a region. | |
8415 | (destroy_bb_vec_info): Likewise. | |
8416 | (vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p. | |
8417 | (vect_get_and_check_slp_defs): Likewise. | |
8418 | (vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs. | |
8419 | (vect_slp_bb): Likewise. | |
8420 | * tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement | |
8421 | in terms of vect_stmt_in_region_p. | |
8422 | (vect_pattern_recog): Iterate over the BB region. | |
8423 | * tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p. | |
8424 | * tree-vectorizer.c (vect_stmt_in_region_p): New function. | |
8425 | (pass_slp_vectorize::execute): Initialize all stmt UIDs to -1. | |
8426 | * config/i386/i386.c: Include gimple-iterator.h. | |
8427 | * config/aarch64/aarch64.c: Likewise. | |
8428 | ||
dfb6d139 | 8429 | 2015-11-06 Alexandre Oliva <aoliva@redhat.com> |
fb2c1edd | 8430 | |
8431 | PR rtl-optimization/67753 | |
8432 | PR rtl-optimization/64164 | |
8433 | * function.c (assign_parm_setup_block): Avoid allocating a | |
8434 | stack slot if we don't have an ABI-reserved one. Emit the | |
8435 | copy to target_reg in the conversion seq if the copy from | |
8436 | entry_parm is in it too. Don't use the conversion seq to copy | |
8437 | a PARALLEL to a REG or a CONCAT. | |
8438 | ||
8439 | 2015-11-06 Richard Biener <rguenther@suse.de> | |
8440 | ||
8441 | * tree-hash-traits.h (tree_operand_hash): Provide equal, not | |
8442 | equal_keys. | |
8443 | ||
8444 | 2015-11-05 Cesar Philippidis <cesar@codesourcery.com> | |
8445 | Thomas Schwinge <thomas@codesourcery.com> | |
8446 | James Norris <jnorris@codesourcery.com> | |
8447 | ||
8448 | ||
8449 | * gimplify.c (gimplify_scan_omp_clauses): Add support for | |
8450 | OMP_CLAUSE_TILE. Update handling of OMP_CLAUSE_INDEPENDENT. | |
8451 | (gimplify_adjust_omp_clauses): Likewise. | |
8452 | * omp-low.c (scan_sharing_clauses): Add support for OMP_CLAUSE_TILE. | |
8453 | * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_TILE. | |
8454 | * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_TILE. | |
8455 | * tree.c (omp_clause_num_ops): Add an entry for OMP_CLAUSE_TILE. | |
8456 | (omp_clause_code_name): Likewise. | |
8457 | (walk_tree_1): Handle OMP_CLAUSE_TILE. | |
8458 | * tree.h (OMP_TILE_LIST): New macro. | |
8459 | ||
8460 | 2015-11-05 Martin Sebor <msebor@redhat.com> | |
8461 | ||
8462 | PR c++/67942 | |
8463 | * doc/invoke.texi (-Wplacement-new): Document new option. | |
8464 | ||
8465 | 2015-11-05 Alan Lawrence <alan.lawrence@arm.com> | |
8466 | ||
8467 | PR tree-optimization/65963 | |
8468 | * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle | |
8469 | LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs. | |
8470 | ||
8471 | 2015-11-05 James Greenhalgh <james.greenhalgh@arm.com> | |
8472 | ||
8473 | * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): New. | |
8474 | (noce_convert_multiple_sets): Likewise. | |
8475 | (noce_process_if_block): Call them. | |
8476 | ||
8477 | 2015-11-05 Nathan Sidwell <nathan@codesourcery.com> | |
8478 | ||
8479 | * gimple-fold.c: Include omp-low.h. | |
8480 | (fold_internal_goacc_dim): New. | |
8481 | (gimple_fold_call): Call it. | |
8482 | ||
8483 | 2015-11-05 Jakub Jelinek <jakub@redhat.com> | |
8484 | Ilya Verbin <ilya.verbin@intel.com> | |
8485 | ||
8486 | * builtin-types.def | |
8487 | (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove. | |
8488 | (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New. | |
8489 | * cgraph.h (enum cgraph_simd_clone_arg_type): Add | |
8490 | SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP, | |
8491 | SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP and | |
8492 | SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP. | |
8493 | (struct cgraph_simd_clone_arg): Adjust comment. | |
8494 | * omp-builtins.def (BUILT_IN_GOMP_TARGET): Rename GOMP_target_41 | |
8495 | to GOMP_target_ext. Add num_teams and thread_limit arguments. | |
8496 | (BUILT_IN_GOMP_TARGET_DATA): Rename GOMP_target_data_41 | |
8497 | to GOMP_target_data_ext. | |
8498 | (BUILT_IN_GOMP_TARGET_UPDATE): Rename GOMP_target_update_41 | |
8499 | to GOMP_target_update_ext. | |
8500 | (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START, | |
8501 | BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START, | |
8502 | BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT, | |
8503 | BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT, | |
8504 | BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START, | |
8505 | BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START, | |
8506 | BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT, | |
8507 | BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT, | |
8508 | BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC, | |
8509 | BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED): New built-ins. | |
8510 | * tree-core.h (enum omp_clause_schedule_kind): Add | |
8511 | OMP_CLAUSE_SCHEDULE_MASK, OMP_CLAUSE_SCHEDULE_MONOTONIC, | |
8512 | OMP_CLAUSE_SCHEDULE_NONMONOTONIC and change | |
8513 | OMP_CLAUSE_SCHEDULE_LAST value. | |
8514 | * tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE, | |
8515 | OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument. | |
8516 | * tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of | |
8517 | OMP_FOR_CHECK. Remove comment. | |
8518 | * tree-pretty-print.c (dump_omp_clause): Handle | |
8519 | GOMP_MAP_FIRSTPRIVATE_REFERENCE and GOMP_MAP_ALWAYS_POINTER. | |
8520 | Simplify. Print schedule clause modifiers. | |
8521 | * tree-vect-stmts.c (vectorizable_simd_clone_call): Add | |
8522 | SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_VARIABLE_STEP | |
8523 | cases. | |
8524 | * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_ALWAYS_TO. | |
8525 | (omp_default_clause): Tweak for | |
8526 | private/firstprivate/is_device_ptr variables on target | |
8527 | construct and use_device_ptr on target data. | |
8528 | (omp_check_private): Likewise. | |
8529 | (omp_notice_variable): For references check whether what it refers | |
8530 | to has mappable type, rather than the reference itself. | |
8531 | (omp_is_private): Diagnose linear iteration variables on non-simd | |
8532 | constructs. | |
8533 | (omp_no_lastprivate): Return true only for Fortran. | |
8534 | (gimplify_scan_omp_clauses): Or in GOVD_MAP_ALWAYS_TO for | |
8535 | GOMP_MAP_ALWAYS_TO or GOMP_MAP_ALWAYS_TOFROM kinds. | |
8536 | Add support for GOMP_MAP_FIRSTPRIVATE_REFERENCE and | |
8537 | GOMP_MAP_ALWAYS_POINTER, remove old handling of structure element | |
8538 | based array sections. Use GOMP_MAP_ALWAYS_P. Fix up handling of | |
8539 | lastprivate and linear when combined with distribute. Gimplify | |
8540 | variable low-bound for array reduction. Look through | |
8541 | POINTER_PLUS_EXPR when looking for ADDR_EXPR for array section | |
8542 | reductions. | |
8543 | (gimplify_adjust_omp_clauses_1): For implicit references to | |
8544 | variables with reference type and when not ref to scalar or | |
8545 | ref to pointer, map what they refer to using tofrom and | |
8546 | use GOMP_MAP_FIRSTPRIVATE_REFERENCE for the reference. | |
8547 | (gimplify_adjust_omp_clauses): Remove GOMP_MAP_ALWAYS_POINTER | |
8548 | from target exit data. Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE. | |
8549 | Drop OMP_CLAUSE_MAP_PRIVATE support. Use GOMP_MAP_ALWAYS_P. | |
8550 | Diagnose the same var on both firstprivate and lastprivate on | |
8551 | distribute construct. | |
8552 | (gimplify_omp_for): Fix up handling of predetermined | |
8553 | lastprivate or linear iter vars when combined with distribute. | |
8554 | (find_omp_teams, computable_teams_clause, optimize_target_teams): New | |
8555 | functions. | |
8556 | (gimplify_omp_workshare): Call optimize_target_teams. | |
8557 | * omp-low.c (struct omp_region): Add sched_modifiers field. | |
8558 | (struct omp_for_data): Likewise. | |
8559 | (omp_any_child_fn_dumped): New variable. | |
8560 | (extract_omp_for_data): Fill in sched_modifiers, and mask out | |
8561 | OMP_CLAUSE_SCHEDULE_KIND bits outside of OMP_CLAUSE_SCHEDULE_MASK | |
8562 | from sched_kind. | |
8563 | (determine_parallel_type): Use only OMP_CLAUSE_SCHEDULE_MASK | |
8564 | bits of OMP_CLAUSE_SCHED_KIND. | |
8565 | (scan_sharing_clauses): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE, | |
8566 | drop OMP_CLAUSE_MAP_PRIVATE support. Look through POINTER_PLUS_EXPR | |
8567 | for array section reductions. | |
8568 | (add_taskreg_looptemp_clauses): Add one extra _looptemp_ clause even | |
8569 | for distribute parallel for, if there are lastprivate clauses on the | |
8570 | for. | |
8571 | (lower_rec_input_clauses): Handle non-zero low-bound on array | |
8572 | section reductions. | |
8573 | (lower_reduction_clauses): Likewise. | |
8574 | (lower_send_clauses): Look through POINTER_PLUS_EXPR | |
8575 | for array section reductions. | |
8576 | (expand_parallel_call): Use nonmonotonic entrypoints for | |
8577 | nonmonotonic: dynamic/guided. | |
8578 | (expand_omp_taskreg): Call assign_assembler_name_if_neeeded on | |
8579 | child_fn if current_function_decl has assembler name set, but child_fn | |
8580 | does not. Dump the header and IL of the child function when not in SSA | |
8581 | form. | |
8582 | (expand_omp_target): Likewise. Pass num_teams and thread_limit | |
8583 | arguments to BUILT_IN_GOMP_TARGET. | |
8584 | (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): | |
8585 | Initialize the extra _looptemp_ clause to fd->loop.n2. | |
8586 | (expand_omp_for): Use nonmonotonic entrypoints for | |
8587 | nonmonotonic: dynamic/guided. Initialize region->sched_modifiers. | |
8588 | (expand_omp): Clear omp_any_child_fn_dumped. Dump function header | |
8589 | again if we have dumped any child functions. | |
8590 | (lower_omp_for_lastprivate): Determine the right count variable | |
8591 | for distribute simd, or distribute parallel for{, simd}. | |
8592 | (lower_omp_target): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE | |
8593 | and GOMP_MAP_ALWAYS_POINTER. Drop OMP_CLAUSE_MAP_PRIVATE | |
8594 | support. | |
8595 | (simd_clone_clauses_extract): Handle variable step | |
8596 | for references and arguments passed by reference. | |
8597 | (simd_clone_mangle): Mangle ref/uval/val variable steps. | |
8598 | (simd_clone_adjust_argument_types): Handle | |
8599 | SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP like | |
8600 | SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and | |
8601 | SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP like | |
8602 | SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP. | |
8603 | (simd_clone_linear_addend): New function. | |
8604 | (simd_clone_adjust): Handle variable step like similarly | |
8605 | to constant step, use simd_clone_linear_addend to determine | |
8606 | the actual step at runtime. | |
8607 | ||
8608 | 2015-11-05 Nathan Sidwell <nathan@codesourcery.com> | |
8609 | ||
8610 | * target.def (goacc.dim_limit): New hook. | |
8611 | * targhooks.h (default_goacc_dim_limit): Declare. | |
8612 | * doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add. | |
8613 | * doc/tm.texi: Rebuilt. | |
8614 | * omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare. | |
8615 | * omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New. | |
8616 | (default_goacc_dim_limit): New. | |
8617 | * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New. | |
8618 | (nvptx_goacc_dim_limit) New. | |
8619 | (TARGET_GOACC_DIM_LIMIT): Override. | |
8620 | * tree-vrp.c: Include omp-low.h, target.h. | |
8621 | (extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE & | |
8622 | IFN_GOACC_DIM_POS. | |
8623 | ||
8624 | 2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com> | |
8625 | ||
8626 | * tree-vect-generic.c (do_compare): Use -1 for true | |
8627 | result instead of 1. | |
8628 | ||
8629 | 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
8630 | ||
8631 | * config/aarch64/aarch64.c | |
8632 | (aarch64_can_use_per_function_literal_pools_p): New. | |
8633 | (aarch64_use_blocks_for_constant_p): Adjust declaration | |
8634 | and use aarch64_can_use_function_literal_pools_p. | |
8635 | (aarch64_select_rtx_section): Update. | |
8636 | ||
8637 | 2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com> | |
8638 | ||
8639 | * targhooks.c (default_get_mask_mode): Use BLKmode in | |
8640 | case target doesn't support required vector mode. | |
8641 | * stor-layout.c (layout_type); Check for BLKmode. | |
8642 | ||
8643 | 2015-11-04 Aditya Kumar <aditya.k7@samsung.com> | |
8644 | Sebastian Pop <s.pop@samsung.com> | |
8645 | ||
8646 | * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): | |
8647 | Remove use of parameter_rename_map. | |
8648 | (copy_def): Remove. | |
8649 | (copy_internal_parameters): Remove. | |
8650 | (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters. | |
8651 | * sese.c (new_sese_info): Do not initialize parameter_rename_map. | |
8652 | (free_sese_info): Do not free parameter_rename_map. | |
8653 | (set_rename): Do not use parameter_rename_map. | |
8654 | (rename_uses): Update call to set_rename. | |
8655 | (graphite_copy_stmts_from_block): Do not use parameter_rename_map. | |
8656 | * sese.h (parameter_rename_map_t): Remove. | |
8657 | (struct sese_info_t): Remove field parameter_rename_map. | |
8658 | ||
8659 | 2015-11-04 Aditya Kumar <aditya.k7@samsung.com> | |
8660 | Sebastian Pop <s.pop@samsung.com> | |
8661 | ||
8662 | * graphite-isl-ast-to-gimple.c: Include tree-cfg.h. | |
8663 | (translate_isl_ast_node_user): Add more dumps: call print_loops_bb. | |
8664 | * graphite-scop-detection.c (dot_all_scops_1): Moved out of | |
8665 | anonymous namespace. | |
8666 | * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove. | |
8667 | (isl_id_for_pbb): Use a buffer of size 10. | |
8668 | (isl_id_for_ssa_name): Same. | |
8669 | * sese.c (set_rename): Add more dumps. | |
8670 | ||
8671 | 2015-11-04 Nathan Sidwell <nathan@codesourcery.com> | |
8672 | ||
8673 | * omp-low.c (struct omp_context): Remove reduction_map field. | |
8674 | (lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete. | |
8675 | (new_omp_context, delete_omp_context, scan_omp_target): Remove | |
8676 | reduction_map handling. | |
8677 | (lower_omp_target): Remove obsolete openacc reduction handling. | |
8678 | ||
8679 | 2015-11-04 Nathan Sidwell <nathan@codesourcery.com> | |
8680 | ||
8681 | * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking. | |
8682 | ||
8683 | 2015-11-04 Nathan Sidwell <nathan@codesourcery.com> | |
8684 | Cesar Philippidis <cesar@codesourcery.com> | |
8685 | ||
8686 | * config/nvptx/nvptx.c: Include gimple headers. | |
8687 | (worker_red_size, worker_red_align, worker_red_name, | |
8688 | worker_red_sym): New. | |
8689 | (nvptx_option_override): Initialize worker reduction buffer. | |
8690 | (nvptx_file_end): Write out worker reduction buffer var. | |
8691 | (nvptx_expand_shuffle, nvptx_expand_worker_addr, | |
8692 | nvptx_expand_cmp_swap): New builtin expanders. | |
8693 | (enum nvptx_builtins): New. | |
8694 | (nvptx_builtin_decls): New. | |
8695 | (nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New | |
8696 | (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New. | |
8697 | (nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle, | |
8698 | nvptx_lockless_update): New helpers. | |
8699 | (nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init, | |
8700 | nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New. | |
8701 | (nvptx_goacc_reduction): New. | |
8702 | (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, | |
8703 | TARGET_BUILTIN_DECL): Override. | |
8704 | (TARGET_GOACC_REDUCTION): Override. | |
8705 | ||
8706 | 2015-11-04 Nathan Sidwell <nathan@codesourcery.com> | |
8707 | Cesar Philippidis <cesar@codesourcery.com> | |
8708 | ||
8709 | * internal-fn.def (GOACC_REDUCTION): New. | |
8710 | * internal-fn.h (enum ifn_goacc_reduction_kind): New. | |
8711 | * internal-fn.c (expand_GOACC_REDUCTION): New. | |
8712 | * target.def (goacc.reduction): New OpenACC hook. | |
8713 | * targhooks.h (default_goacc_reduction): Declare. | |
8714 | * doc/tm.texi.in: Add TARGET_GOACC_REDUCTION. | |
8715 | * doc/tm.texi: Rebuilt. | |
8716 | * omp-low.c (oacc_get_reduction_array_id, oacc_max_threads, | |
8717 | scan_sharing_clauses): Remove oacc reduction handling here. | |
8718 | (lower_rec_input_clauses): Don't handle OpenACC reductions here. | |
8719 | (oacc_lower_reduction_var_helper): Delete. | |
8720 | (lower_oacc_reductions): New. | |
8721 | (lower_reduction_clauses): Don't handle OpenACC reductions here. | |
8722 | (lower_oacc_head_tail): Call lower_oacc_reductions. | |
8723 | (oacc_gimple_assign, oacc_init_reduction_array, | |
8724 | oacc_initialize_reduction_data, oacc_finalize_reduction_data, | |
8725 | oacc_process_reduction_data): Delete. | |
8726 | (lower_omp_target): Remove old OpenACC reduction handling. Insert | |
8727 | dummy OpenACC gang reduction for reductions at outer level. | |
8728 | (oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION. | |
8729 | (default_goacc_reduction): New. | |
8730 | (execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION. | |
8731 | ||
8732 | 2015-11-04 Martin Liska <mliska@suse.cz> | |
8733 | ||
8734 | * cgraphunit.c (cgraph_node::expand_thunk): Call | |
8735 | allocate_struct_function before init_function_start. | |
8736 | (cgraph_node::expand): Use push_cfun and pop_cfun. | |
8737 | * config/i386/i386.c (ix86_code_end): Call | |
8738 | allocate_struct_function before init_function_start. | |
8739 | * config/rs6000/rs6000.c (rs6000_code_end): Likewise. | |
8740 | * function.c (init_function_start): Move preamble to all | |
8741 | callers. | |
8742 | * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun. | |
8743 | (execute_one_pass): Handle newly added TODO_discard_function. | |
8744 | (execute_pass_list_1): Terminate if cfun equals to NULL. | |
8745 | (execute_pass_list): Do not push and pop cfun, expect that | |
8746 | cfun is set. | |
8747 | * tree-pass.h (TODO_discard_function): Define. | |
8748 | ||
8749 | 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com> | |
8750 | ||
8751 | * cfganal.c (inverted_post_order_compute): Remove conditional | |
8752 | compilation, use flag_checking. | |
8753 | * config.in: Regenerate. | |
8754 | * configure: Regenerate. | |
8755 | * configure.ac: Remove ENABLE_CHECKING. | |
8756 | * genconditions.c: Do not #undef ENABLE_CHECKING. | |
8757 | * sese.h (bb_in_region): Comment out broken check. | |
8758 | * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove | |
8759 | conditional compilation, use flag_checking. | |
8760 | ||
8761 | 2015-11-04 Tom de Vries <tom@codesourcery.com> | |
8762 | ||
8763 | PR tree-optimization/67742 | |
8764 | * tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type | |
8765 | field. | |
8766 | (push_fields_onto_fieldstack): Handle restrict_pointed_type field. | |
8767 | (create_variable_info_for_1): Add and handle handle_param parameter. | |
8768 | Add restrict handling. | |
8769 | (create_variable_info_for): Call create_variable_info_for_1 with extra | |
8770 | arg. | |
8771 | (make_param_constraints): Drop restrict_name parameter. Ignore | |
8772 | vi->only_restrict_pointers. | |
8773 | (intra_create_variable_infos): Call create_variable_info_for_1 with | |
8774 | extra arg. Remove restrict handling. Call make_param_constraints with | |
8775 | one fewer arg. | |
8776 | ||
8777 | 2015-11-04 Tom de Vries <tom@codesourcery.com> | |
8778 | ||
8779 | * tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type | |
8780 | variable. | |
8781 | ||
8782 | 2015-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
8783 | ||
8784 | * config/arm/coff.h: Remove. | |
8785 | ||
8786 | 2015-11-03 Eric Botcazou <ebotcazou@adacore.com> | |
8787 | ||
8788 | * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical | |
8789 | check for aggregate types and beef up comment for mode check. | |
8790 | ||
8791 | 2015-11-03 Richard Biener <rguenther@suse.de> | |
8792 | ||
8793 | * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect | |
8794 | data references here. | |
8795 | * tree-vect-loop.c: Include cgraph.h. | |
8796 | (vect_analyze_loop_2): Collect data references here. | |
8797 | * tree-vect-slp.c (find_bb_location): Inline ... | |
8798 | (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb. | |
8799 | Factor in vect_slp_transform_bb. | |
8800 | (vect_slp_transform_bb): Removed. | |
8801 | (vect_slp_analyze_bb_1): Collect data references here. | |
8802 | * tree-vectorizer.c (pass_slp_vectorize::execute): Call | |
8803 | vect_slp_bb. | |
8804 | * tree-vectorizer.h (vect_slp_bb): Declare. | |
8805 | (vect_slp_analyze_bb): Remove. | |
8806 | (vect_slp_transform_bb): Remove. | |
8807 | (find_bb_location): Remove. | |
8808 | (vect_analyze_data_refs): Remove stmt count reference parameter. | |
8809 | ||
8810 | 2015-11-03 Evgeny Stupachenko <evstupac@gmail.com> | |
8811 | ||
8812 | * multiple_target.c (create_dispatcher_calls): Add target check | |
8813 | on ifunc. | |
8814 | (create_target_clone): Change assembler name for versioned declarations. | |
8815 | ||
8816 | 2015-11-03 Thomas Schwinge <thomas@codesourcery.com> | |
8817 | Chung-Lin Tang <cltang@codesourcery.com> | |
8818 | ||
8819 | * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc. | |
8820 | * omp-low.c (check_omp_nesting_restrictions): Allow | |
8821 | GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC | |
8822 | contexts. | |
8823 | ||
8824 | 2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com> | |
8825 | ||
8826 | * config/aarch64/aarch64-simd-builtins.def (fmulx): New. | |
8827 | * config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New. | |
8828 | * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx | |
8829 | builtin. | |
8830 | (vmulxq_f32): Likewise. | |
8831 | (vmulx_f64): New. | |
8832 | (vmulxq_f64): Rewrite to call fmulx builtin. | |
8833 | (vmulxs_f32): Likewise. | |
8834 | (vmulxd_f64): Likewise. | |
8835 | (vmulx_lane_f32): Remove. | |
8836 | * config/aarch64/iterators.md (UNSPEC): Add fmulx. | |
8837 | ||
8838 | 2015-11-03 Alan Lawrence <alan.lawrence@arm.com> | |
8839 | ||
8840 | * config/aarch64/aarch64.md (*movhf_aarch64): Use | |
8841 | aarch64_reg_or_fp_zero for second operand. | |
8842 | ||
dfb6d139 | 8843 | 2015-11-03 Alexandre Oliva <aoliva@redhat.com> |
fb2c1edd | 8844 | |
8845 | * gimple-expr.c: Include hash-set.h and rtl.h. | |
8846 | (mark_addressable_queue): New var. | |
8847 | (mark_addressable): Factor actual marking into... | |
8848 | (mark_addressable_1): ... this. Queue it up during expand. | |
8849 | (mark_addressable_2): New. | |
8850 | (flush_mark_addressable_queue): New. | |
8851 | * gimple-expr.h (flush_mark_addressable_queue): Declare. | |
8852 | * cfgexpand.c: Include gimple-expr.h. | |
8853 | (pass_expand::execute): Flush mark_addressable queue. | |
8854 | ||
dfb6d139 | 8855 | 2015-11-02 Alexandre Oliva <aoliva@redhat.com> |
fb2c1edd | 8856 | |
8857 | * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out | |
8858 | bb_no_side_effects_p tests... | |
8859 | (tree_ssa_ifcombine_bb): ... here. | |
8860 | ||
8861 | PR tree-optimization/68083 | |
8862 | * tree-ssa-ifcombine.c: Include tree-ssa.h. | |
8863 | (bb_no_side_effects_p): Test for undefined uses too. | |
8864 | * tree-ssa.c (gimple_uses_undefined_value_p): New. | |
8865 | * tree-ssa.h (gimple_uses_undefined_value_p): Declare. | |
8866 | ||
dfb6d139 | 8867 | 2015-11-02 Jeff Law <law@redhat.com> |
fb2c1edd | 8868 | |
8869 | * tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect | |
8870 | cases where the loop latch edge is in the middle of an FSM path. | |
8871 | ||
8872 | 2015-11-03 Tom de Vries <tom@codesourcery.com> | |
8873 | ||
8874 | * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ... | |
8875 | (make_param_constraints): ... this. Add and handle restrict_name | |
8876 | parameter. Handle is_full_var case. | |
8877 | (intra_create_variable_infos): Use make_param_constraints. | |
8878 | ||
8879 | 2015-11-03 Tom de Vries <tom@codesourcery.com> | |
8880 | ||
8881 | * tree-ssa-structalias.c (make_restrict_var_constraints): Replace | |
8882 | make_copy_constraint call with make_constraint_from call. | |
8883 | ||
8884 | 2015-11-02 Andreas Tobler <andreast@gcc.gnu.org> | |
8885 | ||
8886 | * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle | |
8887 | PIE executables. | |
8888 | ||
8889 | 2015-11-02 Richard Sandiford <richard.sandiford@arm.com> | |
8890 | ||
8891 | * builtins.h (fold_fma): Move to fold-const-call.h. | |
8892 | * builtins.c: Include fold-const-call.h. | |
8893 | (mathfn_built_in_2): New function, split out from... | |
8894 | (mathfn_built_in_1): ...here. | |
8895 | (do_real_to_int_conversion, fold_const_builtin_pow) | |
8896 | (fold_const_builtin_logb, fold_const_builtin_significand) | |
8897 | (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2) | |
8898 | (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete. | |
8899 | (fold_builtin_sincos): Use fold_const_call to handle constants. | |
8900 | (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit | |
8901 | checks for ERROR_MARK. Use fold_const_call to handle constant | |
8902 | folds for math functions. | |
8903 | (fold_fma): Move to fold-const-call.c. | |
8904 | * fold-const.c: Include fold-const-call.h. | |
8905 | * Makefile.in (OBJS): Add fold-const-call.o. | |
8906 | (PLUGIN_HEADERS): Add fold-const-call.h. | |
8907 | * realmpfr.h (real_from_mpfr): Allow the format to be specified | |
8908 | directly. | |
8909 | * realmpfr.c (real_from_mpfr): Likewise. | |
8910 | * fold-const-call.h, fold-const-call.c: New files. | |
8911 | ||
8912 | 2015-11-02 Julian Brown <julian@codesourcery.com> | |
8913 | ||
8914 | * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous | |
8915 | brackets and semicolon. | |
8916 | ||
8917 | 2015-11-02 Alan Lawrence <alan.lawrence@arm.com> | |
8918 | ||
8919 | Revert: | |
8920 | 2015-10-27 Alan Lawrence <alan.lawrence@arm.com> | |
8921 | ||
8922 | PR tree-optimization/65963 | |
8923 | * tree-scalar-evolution.c (interpret_rhs_expr): Handle some | |
8924 | LSHIFT_EXPRs as equivalent MULT_EXPRs. | |
8925 | ||
8926 | 2015-11-02 Thomas Schwinge <thomas@codesourcery.com> | |
8927 | ||
8928 | PR middle-end/68166 | |
8929 | * fold-const.c: Include "md5.h". | |
8930 | ||
dfb6d139 | 8931 | 2015-11-01 Jeff Law <law@redhat.com> |
fb2c1edd | 8932 | |
8933 | * vmsdbgout.c: Revert unused header file reduction patch. | |
8934 | ||
8935 | * config/mcore/mcore.c: Include regs.h. | |
8936 | ||
8937 | 2015-10-31 Segher Boessenkool <segher@kernel.crashing.org> | |
8938 | ||
8939 | * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite. | |
8940 | ||
8941 | 2015-10-31 Segher Boessenkool <segher@kernel.crashing.org> | |
8942 | ||
8943 | * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the | |
8944 | same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is | |
8945 | live as for using it elsewhere, for TARGET_MINIMAL_TOC. | |
8946 | ||
8947 | 2015-10-31 Markus Trippelsdorf <markus@trippelsdorf.de> | |
8948 | ||
8949 | * ggc-common.c: Restore needed header for checking=release. | |
8950 | ||
8951 | 2015-10-31 Tom de Vries <tom@codesourcery.com> | |
8952 | ||
8953 | * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding. | |
8954 | ||
8955 | 2015-10-31 Tom de Vries <tom@codesourcery.com> | |
8956 | ||
8957 | * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect | |
8958 | existing varinfo for arguments. | |
8959 | ||
8960 | 2015-10-31 Tom de Vries <tom@codesourcery.com> | |
8961 | ||
8962 | * tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to | |
8963 | create_function_info_for. Dump constraints generated during | |
8964 | create_function_info_for. Move intra_create_variable_infos call and | |
8965 | function-return-values-escape bit to ... | |
8966 | (create_function_info_for): ... here, and merge | |
8967 | intra_create_variable_infos call with argument loop. Add and handle | |
8968 | nonlocal_p parameter. | |
8969 | ||
8970 | 2015-10-31 Tom de Vries <tom@codesourcery.com> | |
8971 | ||
8972 | * tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi | |
8973 | updating is alap, and seperated from preceding code. Make sure | |
8974 | insert_vi_for_tree is seperated from surrounding code. | |
8975 | ||
8976 | 2015-10-31 Tom de Vries <tom@codesourcery.com> | |
8977 | ||
8978 | * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint. | |
8979 | ||
dfb6d139 | 8980 | 2015-10-30 Jeff Law <law@redhat.com> |
fb2c1edd | 8981 | Nathan Sidwell <nathan@acm.org> |
8982 | ||
8983 | * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused | |
8984 | args. | |
8985 | (MOVE_MAX): Set to 8. | |
8986 | ||
8987 | 2015-10-30 Cesar Philippidis <cesar@codesourcery.com> | |
8988 | ||
8989 | * cgraph.c: Include context.h for offloading. | |
8990 | * varpool.c: Include context.h and omp-low.h. | |
8991 | ||
8992 | 2015-10-30 Anatoly Sokolov <aesok@post.ru> | |
8993 | ||
8994 | * rtl.h (contains_symbol_ref_p): Declare. | |
8995 | (SYMBOL_REF_P): Define. | |
8996 | * rtlanal.c (contains_symbol_ref_p: New function. | |
8997 | * lra-constraints.c (contains_symbol_ref_p): Remove. | |
8998 | * var-tracking.c (contains_symbol_ref): Remove. | |
8999 | (track_expr_p): Use contains_symbol_ref_p instead of | |
9000 | contains_symbol_ref. | |
9001 | ||
9002 | 2015-10-30 Alan Lawrence <alan.lawrence@arm.com> | |
9003 | ||
9004 | * gimple-fold.c (fold_array_ctor_reference): Move searching code to: | |
9005 | * fold-const.c (get_array_ctor_element_at_index): New. | |
9006 | (fold): Remove binary-search through CONSTRUCTOR, call previous. | |
9007 | ||
9008 | * fold-const.h (get_array_ctor_element_at_index): New. | |
9009 | ||
9010 | 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com> | |
9011 | ||
9012 | * Makefile.in (OBJS): Add multiple_target.o. | |
9013 | * attrib.c (make_attribute): Moved from config/i386/i386.c | |
9014 | * config/i386/i386.c (make_attribute): Deleted. | |
9015 | * multiple_target.c (create_dispatcher_calls): New. | |
9016 | (get_attr_len): Ditto. | |
9017 | (get_attr_str): Ditto. | |
9018 | (separate_attrs): Ditto. | |
9019 | (is_valid_asm_symbol): Ditto. | |
9020 | (create_new_asm_name): Ditto. | |
9021 | (create_target_clone): Ditto. | |
9022 | (expand_target_clones): Ditto. | |
9023 | (ipa_target_clone): Ditto. | |
9024 | (ipa_dispatcher_calls): Ditto. | |
9025 | * passes.def (pass_target_clone): Two new ipa passes. | |
9026 | * tree-pass.h (make_pass_target_clone): Ditto. | |
9027 | * doc/extend.texi (target_clones): New attribute description. | |
9028 | ||
9029 | 2015-10-30 Vladimir Makarov <vmakarov@redhat.com> | |
9030 | ||
9031 | PR rtl-optimization/68106 | |
9032 | * lra-remat.c (input_regno_present_p): Process hard regs | |
9033 | explicitly present in machine description insns. | |
9034 | (call_used_input_regno_present_p): Ditto. | |
9035 | (calculate_gen_cands): Ditto. | |
9036 | (do_remat): Ditto. | |
9037 | ||
9038 | 2015-10-30 Jim Wilson <jim.wilson@linaro.org> | |
9039 | ||
9040 | * config/arm/neon-testgen.ml: Fix comment typo. | |
9041 | ||
9042 | 2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
9043 | ||
9044 | * rtlanal.c (reg_set_p): Expand function comment. | |
9045 | ||
9046 | 2015-10-30 Andrew MacLeod <amacleod@redhat.com> | |
9047 | ||
9048 | * alias.c: Remove unused headers. | |
9049 | * asan.c: Likewise. | |
9050 | * attribs.c: Likewise. | |
9051 | * auto-inc-dec.c: Likewise. | |
9052 | * auto-profile.c: Likewise. | |
9053 | * bb-reorder.c: Likewise. | |
9054 | * bitmap.c: Likewise. | |
9055 | * bt-load.c: Likewise. | |
9056 | * builtins.c: Likewise. | |
9057 | * caller-save.c: Likewise. | |
9058 | * calls.c: Likewise. | |
9059 | * ccmp.c: Likewise. | |
9060 | * cfg.c: Likewise. | |
9061 | * cfganal.c: Likewise. | |
9062 | * cfgbuild.c: Likewise. | |
9063 | * cfgcleanup.c: Likewise. | |
9064 | * cfgexpand.c: Likewise. | |
9065 | * cfghooks.c: Likewise. | |
9066 | * cfgloop.c: Likewise. | |
9067 | * cfgloopanal.c: Likewise. | |
9068 | * cfgloopmanip.c: Likewise. | |
9069 | * cfgrtl.c: Likewise. | |
9070 | * cgraph.c: Likewise. | |
9071 | * cgraphbuild.c: Likewise. | |
9072 | * cgraphclones.c: Likewise. | |
9073 | * cgraphunit.c: Likewise. | |
9074 | * cilk-common.c: Likewise. | |
9075 | * combine-stack-adj.c: Likewise. | |
9076 | * combine.c: Likewise. | |
9077 | * compare-elim.c: Likewise. | |
9078 | * convert.c: Likewise. | |
9079 | * coverage.c: Likewise. | |
9080 | * cppbuiltin.c: Likewise. | |
9081 | * cprop.c: Likewise. | |
9082 | * cse.c: Likewise. | |
9083 | * cselib.c: Likewise. | |
9084 | * data-streamer-in.c: Likewise. | |
9085 | * data-streamer-out.c: Likewise. | |
9086 | * data-streamer.c: Likewise. | |
9087 | * dbxout.c: Likewise. | |
9088 | * dce.c: Likewise. | |
9089 | * ddg.c: Likewise. | |
9090 | * debug.c: Likewise. | |
9091 | * df-core.c: Likewise. | |
9092 | * df-problems.c: Likewise. | |
9093 | * df-scan.c: Likewise. | |
9094 | * dfp.c: Likewise. | |
9095 | * dojump.c: Likewise. | |
9096 | * dominance.c: Likewise. | |
9097 | * domwalk.c: Likewise. | |
9098 | * double-int.c: Likewise. | |
9099 | * dse.c: Likewise. | |
9100 | * dumpfile.c: Likewise. | |
9101 | * dwarf2asm.c: Likewise. | |
9102 | * dwarf2cfi.c: Likewise. | |
9103 | * dwarf2out.c: Likewise. | |
9104 | * emit-rtl.c: Likewise. | |
9105 | * except.c: Likewise. | |
9106 | * explow.c: Likewise. | |
9107 | * expmed.c: Likewise. | |
9108 | * expr.c: Likewise. | |
9109 | * final.c: Likewise. | |
9110 | * fixed-value.c: Likewise. | |
9111 | * fold-const.c: Likewise. | |
9112 | * function.c: Likewise. | |
9113 | * fwprop.c: Likewise. | |
9114 | * gcse.c: Likewise. | |
9115 | * generic-match-head.c: Likewise. | |
9116 | * ggc-common.c: Likewise. | |
9117 | * gimple-builder.c: Likewise. | |
9118 | * gimple-expr.c: Likewise. | |
9119 | * gimple-fold.c: Likewise. | |
9120 | * gimple-iterator.c: Likewise. | |
9121 | * gimple-low.c: Likewise. | |
9122 | * gimple-match-head.c: Likewise. | |
9123 | * gimple-pretty-print.c: Likewise. | |
9124 | * gimple-ssa-isolate-paths.c: Likewise. | |
9125 | * gimple-ssa-strength-reduction.c: Likewise. | |
9126 | * gimple-streamer-in.c: Likewise. | |
9127 | * gimple-streamer-out.c: Likewise. | |
9128 | * gimple-walk.c: Likewise. | |
9129 | * gimple.c: Likewise. | |
9130 | * gimplify-me.c: Likewise. | |
9131 | * gimplify.c: Likewise. | |
9132 | * godump.c: Likewise. | |
9133 | * graph.c: Likewise. | |
9134 | * graphds.c: Likewise. | |
9135 | * haifa-sched.c: Likewise. | |
9136 | * hw-doloop.c: Likewise. | |
9137 | * ifcvt.c: Likewise. | |
9138 | * init-regs.c: Likewise. | |
9139 | * internal-fn.c: Likewise. | |
9140 | * ipa-chkp.c: Likewise. | |
9141 | * ipa-comdats.c: Likewise. | |
9142 | * ipa-cp.c: Likewise. | |
9143 | * ipa-devirt.c: Likewise. | |
9144 | * ipa-icf-gimple.c: Likewise. | |
9145 | * ipa-icf.c: Likewise. | |
9146 | * ipa-inline-analysis.c: Likewise. | |
9147 | * ipa-inline-transform.c: Likewise. | |
9148 | * ipa-inline.c: Likewise. | |
9149 | * ipa-polymorphic-call.c: Likewise. | |
9150 | * ipa-profile.c: Likewise. | |
9151 | * ipa-prop.c: Likewise. | |
9152 | * ipa-pure-const.c: Likewise. | |
9153 | * ipa-ref.c: Likewise. | |
9154 | * ipa-reference.c: Likewise. | |
9155 | * ipa-split.c: Likewise. | |
9156 | * ipa-utils.c: Likewise. | |
9157 | * ipa-visibility.c: Likewise. | |
9158 | * ipa.c: Likewise. | |
9159 | * ira-build.c: Likewise. | |
9160 | * ira-color.c: Likewise. | |
9161 | * ira-conflicts.c: Likewise. | |
9162 | * ira-costs.c: Likewise. | |
9163 | * ira-emit.c: Likewise. | |
9164 | * ira-lives.c: Likewise. | |
9165 | * ira.c: Likewise. | |
9166 | * jump.c: Likewise. | |
9167 | * langhooks.c: Likewise. | |
9168 | * lcm.c: Likewise. | |
9169 | * lists.c: Likewise. | |
9170 | * loop-doloop.c: Likewise. | |
9171 | * loop-init.c: Likewise. | |
9172 | * loop-invariant.c: Likewise. | |
9173 | * loop-iv.c: Likewise. | |
9174 | * loop-unroll.c: Likewise. | |
9175 | * lower-subreg.c: Likewise. | |
9176 | * lra-assigns.c: Likewise. | |
9177 | * lra-coalesce.c: Likewise. | |
9178 | * lra-constraints.c: Likewise. | |
9179 | * lra-eliminations.c: Likewise. | |
9180 | * lra-lives.c: Likewise. | |
9181 | * lra-remat.c: Likewise. | |
9182 | * lra-spills.c: Likewise. | |
9183 | * lra.c: Likewise. | |
9184 | * lto-cgraph.c: Likewise. | |
9185 | * lto-compress.c: Likewise. | |
9186 | * lto-opts.c: Likewise. | |
9187 | * lto-section-in.c: Likewise. | |
9188 | * lto-section-out.c: Likewise. | |
9189 | * lto-streamer-in.c: Likewise. | |
9190 | * lto-streamer-out.c: Likewise. | |
9191 | * lto-streamer.c: Likewise. | |
9192 | * mcf.c: Likewise. | |
9193 | * mode-switching.c: Likewise. | |
9194 | * modulo-sched.c: Likewise. | |
9195 | * optabs.c: Likewise. | |
9196 | * opts-global.c: Likewise. | |
9197 | * passes.c: Likewise. | |
9198 | * plugin.c: Likewise. | |
9199 | * postreload-gcse.c: Likewise. | |
9200 | * postreload.c: Likewise. | |
9201 | * predict.c: Likewise. | |
9202 | * print-tree.c: Likewise. | |
9203 | * profile.c: Likewise. | |
9204 | * real.c: Likewise. | |
9205 | * realmpfr.c: Likewise. | |
9206 | * recog.c: Likewise. | |
9207 | * ree.c: Likewise. | |
9208 | * reg-stack.c: Likewise. | |
9209 | * regcprop.c: Likewise. | |
9210 | * reginfo.c: Likewise. | |
9211 | * regrename.c: Likewise. | |
9212 | * regstat.c: Likewise. | |
9213 | * reload.c: Likewise. | |
9214 | * reload1.c: Likewise. | |
9215 | * reorg.c: Likewise. | |
9216 | * resource.c: Likewise. | |
9217 | * rtl-chkp.c: Likewise. | |
9218 | * rtl-error.c: Likewise. | |
9219 | * rtlanal.c: Likewise. | |
9220 | * rtlhooks.c: Likewise. | |
9221 | * sanopt.c: Likewise. | |
9222 | * sched-deps.c: Likewise. | |
9223 | * sched-ebb.c: Likewise. | |
9224 | * sched-rgn.c: Likewise. | |
9225 | * sdbout.c: Likewise. | |
9226 | * sel-sched-dump.c: Likewise. | |
9227 | * sel-sched-ir.c: Likewise. | |
9228 | * sel-sched.c: Likewise. | |
9229 | * sese.c: Likewise. | |
9230 | * shrink-wrap.c: Likewise. | |
9231 | * simplify-rtx.c: Likewise. | |
9232 | * stack-ptr-mod.c: Likewise. | |
9233 | * statistics.c: Likewise. | |
9234 | * stmt.c: Likewise. | |
9235 | * stor-layout.c: Likewise. | |
9236 | * store-motion.c: Likewise. | |
9237 | * stringpool.c: Likewise. | |
9238 | * symtab.c: Likewise. | |
9239 | * target-globals.c: Likewise. | |
9240 | * targhooks.c: Likewise. | |
9241 | * toplev.c: Likewise. | |
9242 | * tracer.c: Likewise. | |
9243 | * trans-mem.c: Likewise. | |
9244 | * tree-affine.c: Likewise. | |
9245 | * tree-call-cdce.c: Likewise. | |
9246 | * tree-cfg.c: Likewise. | |
9247 | * tree-cfgcleanup.c: Likewise. | |
9248 | * tree-chkp-opt.c: Likewise. | |
9249 | * tree-chkp.c: Likewise. | |
9250 | * tree-chrec.c: Likewise. | |
9251 | * tree-complex.c: Likewise. | |
9252 | * tree-data-ref.c: Likewise. | |
9253 | * tree-dfa.c: Likewise. | |
9254 | * tree-diagnostic.c: Likewise. | |
9255 | * tree-dump.c: Likewise. | |
9256 | * tree-eh.c: Likewise. | |
9257 | * tree-emutls.c: Likewise. | |
9258 | * tree-if-conv.c: Likewise. | |
9259 | * tree-inline.c: Likewise. | |
9260 | * tree-into-ssa.c: Likewise. | |
9261 | * tree-iterator.c: Likewise. | |
9262 | * tree-loop-distribution.c: Likewise. | |
9263 | * tree-nested.c: Likewise. | |
9264 | * tree-nrv.c: Likewise. | |
9265 | * tree-object-size.c: Likewise. | |
9266 | * tree-outof-ssa.c: Likewise. | |
9267 | * tree-parloops.c: Likewise. | |
9268 | * tree-phinodes.c: Likewise. | |
9269 | * tree-predcom.c: Likewise. | |
9270 | * tree-pretty-print.c: Likewise. | |
9271 | * tree-profile.c: Likewise. | |
9272 | * tree-scalar-evolution.c: Likewise. | |
9273 | * tree-sra.c: Likewise. | |
9274 | * tree-ssa-address.c: Likewise. | |
9275 | * tree-ssa-alias.c: Likewise. | |
9276 | * tree-ssa-ccp.c: Likewise. | |
9277 | * tree-ssa-coalesce.c: Likewise. | |
9278 | * tree-ssa-copy.c: Likewise. | |
9279 | * tree-ssa-dce.c: Likewise. | |
9280 | * tree-ssa-dse.c: Likewise. | |
9281 | * tree-ssa-forwprop.c: Likewise. | |
9282 | * tree-ssa-ifcombine.c: Likewise. | |
9283 | * tree-ssa-live.c: Likewise. | |
9284 | * tree-ssa-loop-ch.c: Likewise. | |
9285 | * tree-ssa-loop-im.c: Likewise. | |
9286 | * tree-ssa-loop-ivcanon.c: Likewise. | |
9287 | * tree-ssa-loop-ivopts.c: Likewise. | |
9288 | * tree-ssa-loop-manip.c: Likewise. | |
9289 | * tree-ssa-loop-niter.c: Likewise. | |
9290 | * tree-ssa-loop-prefetch.c: Likewise. | |
9291 | * tree-ssa-loop-unswitch.c: Likewise. | |
9292 | * tree-ssa-loop.c: Likewise. | |
9293 | * tree-ssa-math-opts.c: Likewise. | |
9294 | * tree-ssa-operands.c: Likewise. | |
9295 | * tree-ssa-phiopt.c: Likewise. | |
9296 | * tree-ssa-phiprop.c: Likewise. | |
9297 | * tree-ssa-pre.c: Likewise. | |
9298 | * tree-ssa-propagate.c: Likewise. | |
9299 | * tree-ssa-reassoc.c: Likewise. | |
9300 | * tree-ssa-scopedtables.c: Likewise. | |
9301 | * tree-ssa-sink.c: Likewise. | |
9302 | * tree-ssa-strlen.c: Likewise. | |
9303 | * tree-ssa-structalias.c: Likewise. | |
9304 | * tree-ssa-tail-merge.c: Likewise. | |
9305 | * tree-ssa-ter.c: Likewise. | |
9306 | * tree-ssa-threadupdate.c: Likewise. | |
9307 | * tree-ssa-uncprop.c: Likewise. | |
9308 | * tree-ssa-uninit.c: Likewise. | |
9309 | * tree-ssa.c: Likewise. | |
9310 | * tree-ssanames.c: Likewise. | |
9311 | * tree-stdarg.c: Likewise. | |
9312 | * tree-streamer-in.c: Likewise. | |
9313 | * tree-streamer-out.c: Likewise. | |
9314 | * tree-streamer.c: Likewise. | |
9315 | * tree-switch-conversion.c: Likewise. | |
9316 | * tree-tailcall.c: Likewise. | |
9317 | * tree-vect-data-refs.c: Likewise. | |
9318 | * tree-vect-generic.c: Likewise. | |
9319 | * tree-vect-loop-manip.c: Likewise. | |
9320 | * tree-vect-loop.c: Likewise. | |
9321 | * tree-vect-patterns.c: Likewise. | |
9322 | * tree-vect-slp.c: Likewise. | |
9323 | * tree-vect-stmts.c: Likewise. | |
9324 | * tree-vectorizer.c: Likewise. | |
9325 | * tree-vrp.c: Likewise. | |
9326 | * tree.c: Likewise. | |
9327 | * tsan.c: Likewise. | |
9328 | * ubsan.c: Likewise. | |
9329 | * value-prof.c: Likewise. | |
9330 | * var-tracking.c: Likewise. | |
9331 | * varasm.c: Likewise. | |
9332 | * varpool.c: Likewise. | |
9333 | * vmsdbgout.c: Likewise. | |
9334 | * vtable-verify.c: Likewise. | |
9335 | * web.c: Likewise. | |
9336 | * wide-int-print.cc: Likewise. | |
9337 | * wide-int.cc: Likewise. | |
9338 | * xcoffout.c: Likewise. | |
9339 | ||
9340 | 2015-10-30 James Greenhalgh <james.greenhalgh@arm.com> | |
9341 | ||
9342 | * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship | |
9343 | between pass numbering and execution order. | |
9344 | ||
9345 | 2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
9346 | ||
9347 | * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to | |
9348 | check for dependencies. | |
9349 | ||
9350 | 2015-10-30 Richard Sandiford <richard.sandiford@arm.com> | |
9351 | ||
9352 | * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free | |
9353 | CDI_DOMINATORS. | |
9354 | ||
9355 | 2015-10-30 Richard Sandiford <richard.sandiford@arm.com> | |
9356 | ||
9357 | * real.h (format_helper): New. | |
9358 | (real_convert, exact_real_truncate, real_from_string3, real_to_target) | |
9359 | (real_from_target, real_nan, real_2expN, real_value_truncate) | |
9360 | (significand_size, real_from_string2, exact_real_inverse) | |
9361 | (exact_real_inverse, real_powi, real_trunc, real_floor, real_ceil) | |
9362 | (real_round, real_isinteger, real_from_integer): Replace | |
9363 | machine_mode arguments with format_helper arguments. | |
9364 | * real.c (exact_real_inverse, real_from_string2, real_from_string3) | |
9365 | (real_from_integer, real_nan, real_2expN, real_convert) | |
9366 | (real_value_truncate, exact_real_truncate, real_to_target) | |
9367 | (real_from_target, significand_size, real_powi, real_trunc) | |
9368 | (real_floor, real_ceil, real_round, real_isinteger): Replace | |
9369 | machine_mode arguments with format_helper arguments. | |
9370 | (real_to_target_fmt, real_from_target_fmt): Delete. | |
9371 | * dfp.h (decimal_real_convert): Replace mode argument with real_format. | |
9372 | * dfp.c (decimal_to_binary, decimal_real_convert): Replace mode | |
9373 | argument with real_format. | |
9374 | * builtins.c (do_real_to_int_conversion): Update type of fn argument. | |
9375 | ||
9376 | 2015-10-30 Richard Sandiford <richard.sandiford@arm.com> | |
9377 | ||
9378 | * fixed-value.c (check_real_for_fixed_mode, fixed_from_string) | |
9379 | (fixed_to_decimal, fixed_convert_from_real) | |
9380 | (real_convert_from_fixed): Fix mode arguments to real_2expN. | |
9381 | ||
9382 | 2015-10-30 Richard Sandiford <richard.sandiford@arm.com> | |
9383 | ||
9384 | * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a | |
9385 | SCALAR_FLOAT_MODE_P. | |
9386 | ||
9387 | 2015-10-30 Alan Lawrence <alan.lawrence@arm.com> | |
9388 | ||
9389 | * tree-sra.c (scalarizable_type_p): Comment variable-length arrays. | |
9390 | (completely_scalarize): Comment zero-length arrays. | |
9391 | (get_access_replacement): Correct comment re. precondition. | |
9392 | ||
9393 | 2015-10-30 Venkataramanan Kumar <venkataramanan.kumar@amd.com> | |
9394 | ||
9395 | * config/i386/i386.c (get_builtin_code_for_version): Set priority | |
9396 | for PROCESSOR_ZNVER1. | |
9397 | (enum processor_model): Add M_AMDFAM17H_znver1. | |
9398 | (struct arch_names_table): Likewise. | |
9399 | * doc/extend.texi: ADD znver1. | |
9400 | ||
9401 | 2015-10-30 Richard Biener <rguenther@suse.de> | |
9402 | ||
9403 | * gimple-fold.c (fold_gimple_assign): Do not dispatch to | |
9404 | fold () on single RHSs. Allow CONSTRUCTORS with trailing | |
9405 | zeros to be folded to VECTOR_CSTs. | |
9406 | * tree.c (build_vector_from_ctor): Handle VECTOR_CST elements. | |
9407 | * fold-const.c (fold): Use build_vector_from_ctor. | |
9408 | ||
9409 | 2015-10-30 Evandro Menezes <e.menezes@samsung.com> | |
9410 | ||
9411 | * config/aarch64/aarch64.md (*movhf_aarch64): Change the type of | |
9412 | "mov %0.h[0], %1.h[0] to "neon_move". | |
9413 | (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr". | |
9414 | (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to | |
9415 | "mov_imm". | |
9416 | (*cmovsi_insn_uxtw): Likewise. | |
9417 | ||
9418 | 2015-10-30 Tom de Vries <tom@codesourcery.com> | |
9419 | ||
9420 | * tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as | |
9421 | unsigned, and initialize, and use initial value instead of hardcoded | |
9422 | constant. Add generic constraints dumping section. Don't dump global | |
9423 | initializers constraints dumping section if empty. Don't update | |
9424 | variable from if unused. | |
9425 | ||
9426 | 2015-10-29 Mikhail Maltsev <maltsevm@gmail.com> | |
9427 | ||
9428 | * config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert, | |
9429 | flag_checking and/or CHECKING_P to eliminate conditional compilation | |
9430 | on ENABLE_CHECKING. | |
9431 | * config/arm/arm.c (arm_unwind_emit_sequence): Likewise. | |
9432 | * config/bfin/bfin.c (hwloop_optimize): Likewise. | |
9433 | * config/i386/i386.c (ix86_print_operand_address): Likewise. | |
9434 | (output_387_binary_op): Likewise. | |
9435 | * config/ia64/ia64.c (ia64_sched_init, bundling): Likewise. | |
9436 | * config/m68k/m68k.c (m68k_sched_md_init_global): Likewise. | |
9437 | * config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue): | |
9438 | Likewise. | |
9439 | * config/rs6000/rs6000.h: Likewise. | |
9440 | * config/visium/visium.c (visium_setup_incoming_varargs): Likewise. | |
9441 | ||
9442 | 2015-10-29 Kaz Kojima <kkojima@gcc.gnu.org> | |
9443 | ||
9444 | * config/sh/sh.opt (mfdpic): Add missing period. | |
9445 | ||
9446 | 2015-08-29 Anatoly Sokolov <aesok@post.ru> | |
9447 | ||
9448 | * config/mcore/mcore.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, | |
9449 | BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P, | |
9450 | GO_IF_LEGITIMATE_ADDRESS): Remove macros. | |
9451 | * config/mcore/mcore.c (mcore_reg_ok_for_base_p, | |
9452 | mcore_base_register_rtx_p, mcore_legitimate_index_p, | |
9453 | mcore_legitimate_address_p): New functions. | |
9454 | (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define. | |
9455 | ||
9456 | 2015-10-29 Jeff Law <law@redhat.com> | |
9457 | ||
9458 | * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate | |
9459 | method. | |
9460 | * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove. | |
9461 | * tree-ssa-threadedge.c | |
9462 | (record_temporary_equivalences_from_stmts_at_dest): Remove | |
9463 | backedge_seen argument and associated code which invalidated | |
9464 | equivalences based on the value of that argument. | |
9465 | (thread_through_normal_block): Corresponding changes. | |
9466 | ||
9467 | 2015-10-29 Segher Boessenkool <segher@kernel.crashing.org> | |
9468 | ||
9469 | * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this | |
9470 | function earlier in the file. | |
9471 | (first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of | |
9472 | df_regs_ever_live_p. | |
9473 | ||
9474 | 2015-10-29 Segher Boessenkool <segher@kernel.crashing.org> | |
9475 | ||
9476 | * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch)) | |
9477 | by ignoring it. | |
9478 | ||
9479 | 2015-10-29 Richard Henderson <rth@redhat.com> | |
9480 | ||
9481 | PR target/68124 | |
9482 | PR rtl-opt/67609 | |
9483 | * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten | |
9484 | sse check to the exact conditions of PR 67609. | |
9485 | ||
9486 | 2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com> | |
9487 | ||
9488 | * config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc | |
9489 | setup into 3 functions: init_float128_ibm, init_float128_ieee, and | |
9490 | rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all | |
9491 | of the traditional names that TFmode uses for handling IEEE | |
9492 | extended double. If -mfloat128, add KFmode functions for all of | |
9493 | the emulation functions. If -mabi=ieeelongdouble and -mfloat128, | |
9494 | make TFmode use the same emulation functions as KFmode. | |
9495 | (init_float128_ibm): Likewise. | |
9496 | (init_float128_ieee): Likewise. | |
9497 | (rs6000_generate_compare): For IEEE 128-bit floating point | |
9498 | comparisons, call the unordered comparison function instead of the | |
9499 | ordered comparison function. | |
9500 | (rs6000_expand_float128_convert): Deal with operands that are | |
9501 | memory operands. Restructure the code to use a switch statement on | |
9502 | the mode. Add support for TFmode defaulting to either IBM extended | |
9503 | double or IEEE 128-bit floating point. If the underlying types are | |
9504 | the same, use a move instead of a conversion function. | |
9505 | (TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to | |
9506 | use for IEEE 128-bit floating point constants with -mfloat128. | |
9507 | (rs6000_c_mode_for_suffix): Likewise. | |
9508 | (TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE | |
9509 | 128-bit floating point with IBM extended double floating point. | |
9510 | (rs6000_invalid_binary_op): Likewise. | |
9511 | (rs6000_gen_le_vsx_permute): On little endian systems generate a | |
9512 | ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point | |
9513 | types that can go in vector registers. | |
9514 | (chain_contains_only_swaps): Properly swap IEEE 128-bit floating | |
9515 | point types that can go in vector registers on little endian | |
9516 | PowerPC systems. | |
9517 | (mark_swaps_for_removal): Likewise. | |
9518 | (rs6000_analyze_swaps): Likewise. | |
9519 | (rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point. | |
9520 | ||
9521 | * config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator, | |
9522 | rework IEEE 128-bit floating point insns to deal with TFmode being | |
9523 | either IBM extended double or IEEE 128-bit floating point. | |
9524 | (IFKF): Likewise. | |
9525 | (IBM128): Update iterator to add condition that the mode is IBM | |
9526 | extended double. | |
9527 | (IEEE128): New iterator for IEEE 128-bit floating point. | |
9528 | (TFIFKF): Rename TFIFKF iterator to FLOAT128. | |
9529 | (FLOAT128): Likewise. | |
9530 | (signbit<mode>2): FLOAT128_IBM_P condition test moved into IBM128 | |
9531 | iterator. | |
9532 | (neg<mode>2): Replace TFIFKF iterator with FLOAT128. Add support | |
9533 | for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator | |
9534 | instead of hard coding TFmode or KFmode. | |
9535 | (negtf2_internal): Likewise. | |
9536 | (neg<mode>2_internal): Likewise. | |
9537 | (abs<mode>2): Likewise. | |
9538 | (abstf2_internal): Likewise. | |
9539 | (abs<mode>2_internal): Likewise. | |
9540 | (ieee_128bit_neg<mode>2): Likewise. | |
9541 | (ieee_128bit_neg<mode>2_internal): Likewise. | |
9542 | (ieee_128bit_abs<mode>2): Likewise. | |
9543 | (ieee_128bit_abs<mode>2_internal): Likewise. | |
9544 | (ieee_128bit_nabs<mode>2): Likewise. | |
9545 | (ieee_128bit_nabs<mode>2_internal): Likewise. | |
9546 | (extendiftf2): Add explicit conversions between 128-bit floating | |
9547 | point types. Drop the old conversions that had become unwieldy. | |
9548 | (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise. | |
9549 | (extendifkf2): Likewise. | |
9550 | (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise. | |
9551 | (extendtfkf2): Likewise. | |
9552 | (fix_trunc<IFKF:mode><SDI:mode>2): Likewise. | |
9553 | (trunciftf2): Likewise. | |
9554 | (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise. | |
9555 | (truncifkf2): Likewise. | |
9556 | (float<SDI:mode><IFKF:mode>2): Likewise. | |
9557 | (trunckftf2): Likewise. | |
9558 | (floatuns<SDI:mode><IFKF:mode>2): Likewise. | |
9559 | (trunctfif2): Likewise. | |
9560 | (FP iterator): Allow TFmode to be IEEE 128-bit floating point. | |
9561 | (extenddftf2): Rework 128-bit floating point conversions to | |
9562 | properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and | |
9563 | KFmode expanders into one function. | |
9564 | (extenddf<mode>2): Likewise. | |
9565 | (extenddftf2_fprs): Likewise. | |
9566 | (extenddf<mode>2_fprs): Likewise. | |
9567 | (extenddftf2_vsx): Likewise. | |
9568 | (extenddf<mode>2_vsx): Likewise. | |
9569 | (extendsftf2): Likewise. | |
9570 | (extendsf<mode>2): Likewise. | |
9571 | (trunctfdf2): Likewise. | |
9572 | (trunc<mode>df2): Likewise. | |
9573 | (trunctfdf2_internal1): Likewise. | |
9574 | (trunc<mode>df2_internal1): Likewise. | |
9575 | (trunctfdf2_internal2): Likewise. | |
9576 | (trunc<mode>df2_internal2): Likewise. | |
9577 | (trunctfsf2): Likewise. | |
9578 | (trunc<mode>sf2): Likewise. | |
9579 | (trunctfsf2_fprs): Likewise. | |
9580 | (trunc<mode>sf2_fprs): Likewise. | |
9581 | (floatsit2f): Likewise. | |
9582 | (floatsi<mode>2): Likewise. | |
9583 | (fix_trunc_helper): Likewise. | |
9584 | (fix_trunc_helper<mode>): Likewise. | |
9585 | (fix_trunctfsi2): Likewise. | |
9586 | (fix_trunc<mode>si2): Likewise. | |
9587 | (fix_trunctfsi2_fprs): Likewise. | |
9588 | (fix_trunc<mode>si2_fprs): Likewise. | |
9589 | (fix_trunctfsi2_internal): Likewise. | |
9590 | (fix_trunc<mode>si2_internal): Likewise. | |
9591 | (fix_trunctfdi2): Likewise. | |
9592 | (fix_trunc<mode>di2): Likewise. | |
9593 | (fixuns_trunctf<mode>2): Likewise. | |
9594 | (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise. | |
9595 | (floatditf2): Likewise. | |
9596 | (floatdi<mode>2): Likewise. | |
9597 | (floatuns<mode>tf2): Likewise. | |
9598 | (floatuns<SDI:mode><IEEE128:mode>): Likewise. | |
9599 | (cmptf_internal1): Use a mode iterator to add support for both | |
9600 | types (IFmode, TFmode) that support IBM extended double. | |
9601 | (cmp<mode>_internal1): Likewise. | |
9602 | (cmptf_internal2): Likewise. | |
9603 | (cmp<mode>_internal2): Likewise. | |
9604 | ||
9605 | * doc/extend.texi (Floating Types): Document __ibm128 and | |
9606 | __float128 on PowerPC. | |
9607 | ||
9608 | * doc/invoke.texi (RS/6000 and PowerPC Options): Document | |
9609 | -mfloat128 and -mno-float128. | |
9610 | ||
9611 | 2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com> | |
9612 | ||
9613 | * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit | |
9614 | floating point modes that can go in vector registers. | |
9615 | (MODES_TIEABLE_P): Move tests for vector modes before tests for | |
9616 | scalar floating point, so that IEEE 128-bit floating point that | |
9617 | can go in vector registers bind with vectors and not FP. | |
9618 | (struct rs6000_args): Add libcall field. | |
9619 | ||
9620 | * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none | |
9621 | and -mfloat128-software switches. Replace them with a binary | |
9622 | -mfloat128 switch. | |
9623 | (-mfloat128): Likewise. | |
9624 | ||
9625 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow | |
9626 | 128-bit floating point types in GPRs, even if the appropriate | |
9627 | option enabling the type was not used. | |
9628 | (rs6000_debug_reg_global): Remove -mfloat128-{software,none} | |
9629 | debugging. | |
9630 | (rs6000_setup_reg_addr_masks): Do not allow pre-increment and | |
9631 | pre-decrement on IEEE 128-bit floating point values. | |
9632 | (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode | |
9633 | is IEEE 128-bit floating point. | |
9634 | (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE | |
9635 | 128-bit floating point types that can go in vector registers. | |
9636 | (rs6000_option_override_internal): Change -mfloat128-none and | |
9637 | -mfloat128-software to -mfloat128, and move code to be near other | |
9638 | VSX option handling. | |
9639 | (rs6000_option_override_internal): Disable -mfloat128 if we don't | |
9640 | have the Altivec ABI. | |
9641 | (rs6000_init_builtins): Don't make TFmode use either IFmode or | |
9642 | KFmode floating point nodes. Instead, have three separate nodes. | |
9643 | (rs6000_scalar_mode_supported_p): Add support for IFmode to allow | |
9644 | eventually moving the long double default to IEEE 128-bit floating | |
9645 | point. | |
9646 | (rs6000_opt_masks): Add -mfloat128. | |
9647 | (struct rs6000_opt_var): Fix typo in comment. | |
9648 | (init_cumulative_args): Initialize libcall field in | |
9649 | CUMULATIVE_ARGS. | |
9650 | (rs6000_function_arg): Treat library functions as if they had | |
9651 | prototypes to prevent IEEE 128-bit support functions from passing | |
9652 | arguments in both GPRs and vector registers. | |
9653 | (rs6000_arg_partial_bytes): Likewise. | |
9654 | ||
9655 | * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as | |
9656 | an option that can be turned on via -mcpu=<xxx>. | |
9657 | ||
9658 | * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no | |
9659 | longer used. | |
9660 | ||
9661 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
9662 | __FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long | |
9663 | double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long | |
9664 | double is IBM extended double. | |
9665 | ||
9666 | * config/rs6000/predicates.md (reg_or_indexed_operand): Allow | |
9667 | SUBREGs. | |
9668 | ||
9669 | 2015-10-29 Mikhail Maltsev <maltsevm@gmail.com> | |
9670 | ||
9671 | * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING. | |
9672 | * genconditions.c: Define CHECKING_P in the generated code. | |
9673 | * genextract.c: Use flag_checking in insn_extract. | |
9674 | * gengtype.c (main): Remove conditional compilation. | |
9675 | * gengtype.h: Likewise. | |
9676 | ||
9677 | 2015-10-29 Jeff Law <law@redhat.com> | |
9678 | ||
9679 | PR tree-optimization/67892 | |
9680 | * tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo | |
9681 | in comment. | |
9682 | (thread_through_normal_block): If we have seen a backedge, then | |
9683 | do nothing. No longer call find_jump_threads_backwards here. | |
9684 | (thread_across_edge): Use find_jump_threads_backwards to find | |
9685 | jump threads if the old style threader was not successful. | |
9686 | * tree-ssa-threadbackward.c (get_gimple_control_stmt): Use | |
9687 | gsi_last_nondebug_bb. Return NULL if the block does not end | |
9688 | with a control statement. | |
9689 | (find_jump_threads_backwards): Setup code moved here from | |
9690 | tree-ssa-threadedge.c::thread_through_normal_block. Accept | |
9691 | single edge argument instead of name & block. | |
9692 | * tree-ssa-threadbackward.h (find_jump_threads_backwards): Update | |
9693 | prototype. | |
9694 | ||
9695 | 2015-10-29 Tom de Vries <tom@codesourcery.com> | |
9696 | ||
9697 | * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict | |
9698 | types. | |
9699 | ||
9700 | 2015-10-29 Nathan Sidwell <nathan@codesourcery.com> | |
9701 | ||
9702 | * omp-low.c (lower_omp_target): Remove unreachable code & merge | |
9703 | ifs. | |
9704 | ||
9705 | 2015-10-29 Marc Glisse <marc.glisse@inria.fr> | |
9706 | ||
9707 | * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity. | |
9708 | ||
9709 | 2015-10-29 Richard Sandiford <richard.sandiford@arm.com> | |
9710 | ||
9711 | * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove | |
9712 | guard_bb0 and use guard_bb throughout. | |
9713 | ||
9714 | 2015-10-29 Richard Sandiford <richard.sandiford@arm.com> | |
9715 | ||
9716 | * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove | |
9717 | unnecessary label. | |
9718 | ||
9719 | 2015-10-29 Richard Biener <rguenther@suse.de> | |
9720 | ||
9721 | PR middle-end/68142 | |
9722 | * fold-const.c (extract_muldiv_1): Avoid introducing undefined | |
9723 | overflow. | |
9724 | ||
9725 | 2015-10-29 Andrew MacLeod <amacleod@redhat.com> | |
9726 | ||
9727 | * alias.c: Reorder #include statements and remove duplicates. | |
9728 | * asan.c: Likewise. | |
9729 | * attribs.c: Likewise. | |
9730 | * auto-inc-dec.c: Likewise. | |
9731 | * auto-profile.c: Likewise. | |
9732 | * bb-reorder.c: Likewise. | |
9733 | * bt-load.c: Likewise. | |
9734 | * builtins.c: Likewise. | |
9735 | * caller-save.c: Likewise. | |
9736 | * calls.c: Likewise. | |
9737 | * ccmp.c: Likewise. | |
9738 | * cfg.c: Likewise. | |
9739 | * cfganal.c: Likewise. | |
9740 | * cfgbuild.c: Likewise. | |
9741 | * cfgcleanup.c: Likewise. | |
9742 | * cfgexpand.c: Likewise. | |
9743 | * cfghooks.c: Likewise. | |
9744 | * cfgloop.c: Likewise. | |
9745 | * cfgloopanal.c: Likewise. | |
9746 | * cfgloopmanip.c: Likewise. | |
9747 | * cfgrtl.c: Likewise. | |
9748 | * cgraph.c: Likewise. | |
9749 | * cgraphbuild.c: Likewise. | |
9750 | * cgraphclones.c: Likewise. | |
9751 | * cgraphunit.c: Likewise. | |
9752 | * cilk-common.c: Likewise. | |
9753 | * combine-stack-adj.c: Likewise. | |
9754 | * combine.c: Likewise. | |
9755 | * compare-elim.c: Likewise. | |
9756 | * convert.c: Likewise. | |
9757 | * coverage.c: Likewise. | |
9758 | * cppbuiltin.c: Likewise. | |
9759 | * cprop.c: Likewise. | |
9760 | * cse.c: Likewise. | |
9761 | * cselib.c: Likewise. | |
9762 | * data-streamer-in.c: Likewise. | |
9763 | * data-streamer-out.c: Likewise. | |
9764 | * data-streamer.c: Likewise. | |
9765 | * dbxout.c: Likewise. | |
9766 | * dce.c: Likewise. | |
9767 | * ddg.c: Likewise. | |
9768 | * debug.c: Likewise. | |
9769 | * df-core.c: Likewise. | |
9770 | * df-problems.c: Likewise. | |
9771 | * df-scan.c: Likewise. | |
9772 | * dfp.c: Likewise. | |
9773 | * dojump.c: Likewise. | |
9774 | * dominance.c: Likewise. | |
9775 | * double-int.c: Likewise. | |
9776 | * dse.c: Likewise. | |
9777 | * dumpfile.c: Likewise. | |
9778 | * dwarf2asm.c: Likewise. | |
9779 | * dwarf2cfi.c: Likewise. | |
9780 | * dwarf2out.c: Likewise. | |
9781 | * emit-rtl.c: Likewise. | |
9782 | * except.c: Likewise. | |
9783 | * explow.c: Likewise. | |
9784 | * expmed.c: Likewise. | |
9785 | * expr.c: Likewise. | |
9786 | * final.c: Likewise. | |
9787 | * fixed-value.c: Likewise. | |
9788 | * fold-const.c: Likewise. | |
9789 | * function.c: Likewise. | |
9790 | * fwprop.c: Likewise. | |
9791 | * gcse.c: Likewise. | |
9792 | * generic-match-head.c: Likewise. | |
9793 | * ggc-common.c: Likewise. | |
9794 | * gimple-builder.c: Likewise. | |
9795 | * gimple-expr.c: Likewise. | |
9796 | * gimple-fold.c: Likewise. | |
9797 | * gimple-iterator.c: Likewise. | |
9798 | * gimple-low.c: Likewise. | |
9799 | * gimple-match-head.c: Likewise. | |
9800 | * gimple-pretty-print.c: Likewise. | |
9801 | * gimple-ssa-isolate-paths.c: Likewise. | |
9802 | * gimple-ssa-strength-reduction.c: Likewise. | |
9803 | * gimple-streamer-in.c: Likewise. | |
9804 | * gimple-streamer-out.c: Likewise. | |
9805 | * gimple-walk.c: Likewise. | |
9806 | * gimple.c: Likewise. | |
9807 | * gimplify-me.c: Likewise. | |
9808 | * gimplify.c: Likewise. | |
9809 | * godump.c: Likewise. | |
9810 | * graph.c: Likewise. | |
9811 | * graphite-poly.c: Likewise. | |
9812 | * haifa-sched.c: Likewise. | |
9813 | * hw-doloop.c: Likewise. | |
9814 | * ifcvt.c: Likewise. | |
9815 | * incpath.c: Likewise. | |
9816 | * init-regs.c: Likewise. | |
9817 | * internal-fn.c: Likewise. | |
9818 | * ipa-chkp.c: Likewise. | |
9819 | * ipa-comdats.c: Likewise. | |
9820 | * ipa-cp.c: Likewise. | |
9821 | * ipa-devirt.c: Likewise. | |
9822 | * ipa-icf-gimple.c: Likewise. | |
9823 | * ipa-icf.c: Likewise. | |
9824 | * ipa-inline-analysis.c: Likewise. | |
9825 | * ipa-inline-transform.c: Likewise. | |
9826 | * ipa-inline.c: Likewise. | |
9827 | * ipa-polymorphic-call.c: Likewise. | |
9828 | * ipa-profile.c: Likewise. | |
9829 | * ipa-prop.c: Likewise. | |
9830 | * ipa-pure-const.c: Likewise. | |
9831 | * ipa-ref.c: Likewise. | |
9832 | * ipa-reference.c: Likewise. | |
9833 | * ipa-split.c: Likewise. | |
9834 | * ipa-utils.c: Likewise. | |
9835 | * ipa-visibility.c: Likewise. | |
9836 | * ipa.c: Likewise. | |
9837 | * ira-build.c: Likewise. | |
9838 | * ira-color.c: Likewise. | |
9839 | * ira-conflicts.c: Likewise. | |
9840 | * ira-costs.c: Likewise. | |
9841 | * ira-emit.c: Likewise. | |
9842 | * ira-lives.c: Likewise. | |
9843 | * ira.c: Likewise. | |
9844 | * jump.c: Likewise. | |
9845 | * langhooks.c: Likewise. | |
9846 | * lcm.c: Likewise. | |
9847 | * lists.c: Likewise. | |
9848 | * loop-doloop.c: Likewise. | |
9849 | * loop-init.c: Likewise. | |
9850 | * loop-invariant.c: Likewise. | |
9851 | * loop-iv.c: Likewise. | |
9852 | * loop-unroll.c: Likewise. | |
9853 | * lower-subreg.c: Likewise. | |
9854 | * lra-assigns.c: Likewise. | |
9855 | * lra-coalesce.c: Likewise. | |
9856 | * lra-constraints.c: Likewise. | |
9857 | * lra-eliminations.c: Likewise. | |
9858 | * lra-lives.c: Likewise. | |
9859 | * lra-remat.c: Likewise. | |
9860 | * lra-spills.c: Likewise. | |
9861 | * lra.c: Likewise. | |
9862 | * lto-cgraph.c: Likewise. | |
9863 | * lto-compress.c: Likewise. | |
9864 | * lto-opts.c: Likewise. | |
9865 | * lto-section-in.c: Likewise. | |
9866 | * lto-section-out.c: Likewise. | |
9867 | * lto-streamer-in.c: Likewise. | |
9868 | * lto-streamer-out.c: Likewise. | |
9869 | * lto-streamer.c: Likewise. | |
9870 | * mode-switching.c: Likewise. | |
9871 | * modulo-sched.c: Likewise. | |
9872 | * omp-low.c: Likewise. | |
9873 | * optabs.c: Likewise. | |
9874 | * opts-global.c: Likewise. | |
9875 | * passes.c: Likewise. | |
9876 | * plugin.c: Likewise. | |
9877 | * postreload-gcse.c: Likewise. | |
9878 | * postreload.c: Likewise. | |
9879 | * predict.c: Likewise. | |
9880 | * print-tree.c: Likewise. | |
9881 | * profile.c: Likewise. | |
9882 | * real.c: Likewise. | |
9883 | * realmpfr.c: Likewise. | |
9884 | * recog.c: Likewise. | |
9885 | * ree.c: Likewise. | |
9886 | * reg-stack.c: Likewise. | |
9887 | * regcprop.c: Likewise. | |
9888 | * reginfo.c: Likewise. | |
9889 | * regrename.c: Likewise. | |
9890 | * regstat.c: Likewise. | |
9891 | * reload.c: Likewise. | |
9892 | * reload1.c: Likewise. | |
9893 | * reorg.c: Likewise. | |
9894 | * resource.c: Likewise. | |
9895 | * rtl-chkp.c: Likewise. | |
9896 | * rtl-error.c: Likewise. | |
9897 | * rtlanal.c: Likewise. | |
9898 | * rtlhooks.c: Likewise. | |
9899 | * sanopt.c: Likewise. | |
9900 | * sched-deps.c: Likewise. | |
9901 | * sched-ebb.c: Likewise. | |
9902 | * sched-rgn.c: Likewise. | |
9903 | * sese.c: Likewise. | |
9904 | * shrink-wrap.c: Likewise. | |
9905 | * simplify-rtx.c: Likewise. | |
9906 | * stack-ptr-mod.c: Likewise. | |
9907 | * statistics.c: Likewise. | |
9908 | * stmt.c: Likewise. | |
9909 | * stor-layout.c: Likewise. | |
9910 | * store-motion.c: Likewise. | |
9911 | * stringpool.c: Likewise. | |
9912 | * symtab.c: Likewise. | |
9913 | * target-globals.c: Likewise. | |
9914 | * targhooks.c: Likewise. | |
9915 | * toplev.c: Likewise. | |
9916 | * tracer.c: Likewise. | |
9917 | * trans-mem.c: Likewise. | |
9918 | * tree-affine.c: Likewise. | |
9919 | * tree-call-cdce.c: Likewise. | |
9920 | * tree-cfg.c: Likewise. | |
9921 | * tree-cfgcleanup.c: Likewise. | |
9922 | * tree-chkp-opt.c: Likewise. | |
9923 | * tree-chkp.c: Likewise. | |
9924 | * tree-chrec.c: Likewise. | |
9925 | * tree-complex.c: Likewise. | |
9926 | * tree-data-ref.c: Likewise. | |
9927 | * tree-dfa.c: Likewise. | |
9928 | * tree-diagnostic.c: Likewise. | |
9929 | * tree-dump.c: Likewise. | |
9930 | * tree-eh.c: Likewise. | |
9931 | * tree-emutls.c: Likewise. | |
9932 | * tree-if-conv.c: Likewise. | |
9933 | * tree-inline.c: Likewise. | |
9934 | * tree-into-ssa.c: Likewise. | |
9935 | * tree-iterator.c: Likewise. | |
9936 | * tree-loop-distribution.c: Likewise. | |
9937 | * tree-nested.c: Likewise. | |
9938 | * tree-nrv.c: Likewise. | |
9939 | * tree-object-size.c: Likewise. | |
9940 | * tree-outof-ssa.c: Likewise. | |
9941 | * tree-parloops.c: Likewise. | |
9942 | * tree-phinodes.c: Likewise. | |
9943 | * tree-predcom.c: Likewise. | |
9944 | * tree-pretty-print.c: Likewise. | |
9945 | * tree-profile.c: Likewise. | |
9946 | * tree-scalar-evolution.c: Likewise. | |
9947 | * tree-sra.c: Likewise. | |
9948 | * tree-ssa-address.c: Likewise. | |
9949 | * tree-ssa-alias.c: Likewise. | |
9950 | * tree-ssa-ccp.c: Likewise. | |
9951 | * tree-ssa-coalesce.c: Likewise. | |
9952 | * tree-ssa-copy.c: Likewise. | |
9953 | * tree-ssa-dce.c: Likewise. | |
9954 | * tree-ssa-dom.c: Likewise. | |
9955 | * tree-ssa-dse.c: Likewise. | |
9956 | * tree-ssa-forwprop.c: Likewise. | |
9957 | * tree-ssa-ifcombine.c: Likewise. | |
9958 | * tree-ssa-live.c: Likewise. | |
9959 | * tree-ssa-loop-ch.c: Likewise. | |
9960 | * tree-ssa-loop-im.c: Likewise. | |
9961 | * tree-ssa-loop-ivcanon.c: Likewise. | |
9962 | * tree-ssa-loop-ivopts.c: Likewise. | |
9963 | * tree-ssa-loop-manip.c: Likewise. | |
9964 | * tree-ssa-loop-niter.c: Likewise. | |
9965 | * tree-ssa-loop-prefetch.c: Likewise. | |
9966 | * tree-ssa-loop-unswitch.c: Likewise. | |
9967 | * tree-ssa-loop.c: Likewise. | |
9968 | * tree-ssa-math-opts.c: Likewise. | |
9969 | * tree-ssa-operands.c: Likewise. | |
9970 | * tree-ssa-phiopt.c: Likewise. | |
9971 | * tree-ssa-phiprop.c: Likewise. | |
9972 | * tree-ssa-pre.c: Likewise. | |
9973 | * tree-ssa-propagate.c: Likewise. | |
9974 | * tree-ssa-reassoc.c: Likewise. | |
9975 | * tree-ssa-sccvn.c: Likewise. | |
9976 | * tree-ssa-scopedtables.c: Likewise. | |
9977 | * tree-ssa-sink.c: Likewise. | |
9978 | * tree-ssa-strlen.c: Likewise. | |
9979 | * tree-ssa-structalias.c: Likewise. | |
9980 | * tree-ssa-tail-merge.c: Likewise. | |
9981 | * tree-ssa-ter.c: Likewise. | |
9982 | * tree-ssa-threadedge.c: Likewise. | |
9983 | * tree-ssa-threadupdate.c: Likewise. | |
9984 | * tree-ssa-uncprop.c: Likewise. | |
9985 | * tree-ssa-uninit.c: Likewise. | |
9986 | * tree-ssa.c: Likewise. | |
9987 | * tree-ssanames.c: Likewise. | |
9988 | * tree-stdarg.c: Likewise. | |
9989 | * tree-streamer-in.c: Likewise. | |
9990 | * tree-streamer-out.c: Likewise. | |
9991 | * tree-streamer.c: Likewise. | |
9992 | * tree-switch-conversion.c: Likewise. | |
9993 | * tree-tailcall.c: Likewise. | |
9994 | * tree-vect-data-refs.c: Likewise. | |
9995 | * tree-vect-generic.c: Likewise. | |
9996 | * tree-vect-loop-manip.c: Likewise. | |
9997 | * tree-vect-loop.c: Likewise. | |
9998 | * tree-vect-patterns.c: Likewise. | |
9999 | * tree-vect-slp.c: Likewise. | |
10000 | * tree-vect-stmts.c: Likewise. | |
10001 | * tree-vectorizer.c: Likewise. | |
10002 | * tree-vrp.c: Likewise. | |
10003 | * tree.c: Likewise. | |
10004 | * tsan.c: Likewise. | |
10005 | * ubsan.c: Likewise. | |
10006 | * value-prof.c: Likewise. | |
10007 | * var-tracking.c: Likewise. | |
10008 | * varasm.c: Likewise. | |
10009 | * varpool.c: Likewise. | |
10010 | * vtable-verify.c: Likewise. | |
10011 | * web.c: Likewise. | |
10012 | * wide-int-print.cc: Likewise. | |
10013 | * wide-int.cc: Likewise. | |
10014 | * xcoffout.c: Likewise. | |
10015 | ||
10016 | 2015-10-29 H.J. Lu <hongjiu.lu@intel.com> | |
10017 | ||
10018 | * Makefile.in (NO_PIE_CFLAGS): New. | |
10019 | (NO_PIE_FLAG): Likewise. | |
10020 | (NO_PIE_CFLAGS_FOR_BUILD): Likewise. | |
10021 | (NO_PIE_FLAG_FOR_BUILD): Likewise. | |
10022 | (BUILD_NO_PIE_CFLAGS): Likewise. | |
10023 | (BUILD_NO_PIE_FLAG): Likewise. | |
10024 | (COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS). | |
10025 | (LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG). | |
10026 | (BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with | |
10027 | $(BUILD_NO_PIE_CFLAGS). | |
10028 | (BUILD_CXXFLAGS): Likewise. | |
10029 | (BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with | |
10030 | $(BUILD_NO_PIE_FLAG). | |
10031 | * configure.ac (BUILD_NO_PIE_CFLAGS): New. AC_SUBST. | |
10032 | (BUILD_NO_PIE_FLAG): Likewise. | |
10033 | (NO_PIE_CFLAGS_FOR_BUILD): Likewise. | |
10034 | (NO_PIE_FLAG_FOR_BUILD): Likewise. | |
10035 | * configure: Regenerated. | |
10036 | ||
10037 | 2015-10-29 Richard Biener <rguenther@suse.de> | |
10038 | ||
10039 | PR middle-end/56956 | |
10040 | * fold-const.c (fold_cond_expr_with_comparison): Do not fold | |
10041 | unsigned conditonal negation to ABS_EXPR. | |
10042 | ||
10043 | 2015-10-29 Richard Biener <rguenther@suse.de> | |
10044 | ||
10045 | * gimple-match-head.c (gimple_simplify): Remove premature checking | |
10046 | of builtin_decl_implicit of function calls we simplify. | |
10047 | ||
10048 | 2015-10-29 Bin Cheng <bin.cheng@arm.com> | |
10049 | ||
10050 | * tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on. | |
10051 | (get_computation_cost_at): Ditto. | |
10052 | (determine_use_iv_cost_address): Pass NULL for arguments depends_on | |
10053 | and inv_expr_id. | |
10054 | ||
10055 | 2015-10-28 Tom de Vries <tom@codesourcery.com> | |
10056 | ||
10057 | * tree-ssa-structalias.c (intra_create_variable_infos): Remove | |
10058 | superfluous code. | |
10059 | ||
10060 | 2015-10-28 Jason Merrill <jason@redhat.com> | |
10061 | ||
10062 | * Makefile.in (TAGS): Include libcpp and libiberty. | |
10063 | ||
10064 | 2015-10-28 Nathan Sidwell <nathan@codesourcery.com> | |
10065 | ||
10066 | * omp-low.c (MASK_GANG, MASK_WORKER, MASK_VECTOR): Delete. | |
10067 | (extract_omp_for_data): Remove OpenACC special handling of | |
10068 | chunking. | |
10069 | ||
10070 | * config/nvptx/nvptx.c (nvptx_print_operand): Remove 'd' case. | |
10071 | (struct parallel): Update comment. | |
10072 | (nvptx_reorg): Likewise. | |
10073 | (nvptx_neuter): Cleanup whitespace. | |
10074 | ||
10075 | 2015-10-28 Richard Henderson <rth@redhat.com> | |
10076 | ||
10077 | * tree-eh.c (mark_reachable_handlers): Fix typo in assert. | |
10078 | ||
10079 | 2015-10-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> | |
10080 | ||
10081 | PR target/67839 | |
10082 | * config/avr/predicates.md (low_io_address_operand): Don't | |
10083 | consider MODE when computing upper bound. | |
10084 | (io_address_operand): Likewise. | |
10085 | ||
10086 | 2015-10-28 Jan Hubicka <hubicka@ucw.cz> | |
10087 | ||
10088 | * fold-const.c (operand_equal_p): Do not verify that types are | |
10089 | compatible for MEM_REFs. | |
10090 | ||
10091 | 2015-10-28 Richard Biener <rguenther@suse.de> | |
10092 | ||
10093 | * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs | |
10094 | in simplifying VEC_COND_EXPR conditions. | |
10095 | ||
10096 | 2015-10-28 Tom de Vries <tom@codesourcery.com> | |
10097 | ||
10098 | * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate | |
10099 | into vi_next of a full_var. | |
10100 | ||
10101 | 2015-10-28 Tom de Vries <tom@codesourcery.com> | |
10102 | ||
10103 | * tree-ssa-structalias.c (new_var_info, make_heapvar) | |
10104 | (make_constraint_from_restrict, make_constraint_from_global_restrict) | |
10105 | (create_function_info_for, create_variable_info_for_1) | |
10106 | (create_variable_info_for): Add and handle add_id parameter. | |
10107 | (get_call_vi, new_scalar_tmp_constraint_exp, handle_rhs_call) | |
10108 | (init_base_vars): Add extra argument to calls to new_var_info. | |
10109 | (get_vi_for_tree): Add extra argument to call to | |
10110 | create_variable_info_for. | |
10111 | (process_constraint, do_deref, process_all_all_constraints): Add extra | |
10112 | argument to calls to new_scalar_tmp_constraint_exp. | |
10113 | (handle_lhs_call, find_func_aliases_for_builtin_call): Add extra | |
10114 | argument to calls to make_heapvar. | |
10115 | (make_restrict_var_constraints): Add extra argument to call to | |
10116 | make_constraint_from_global_restrict. | |
10117 | (intra_create_variable_infos): Add extra argument to call to | |
10118 | create_variable_info_for_1. | |
10119 | (ipa_pta_execute): Add extra argument to call to | |
10120 | create_function_info_for. | |
10121 | ||
10122 | 2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
10123 | ||
10124 | * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt. | |
10125 | (sibcall_value): Likewise. | |
10126 | ||
10127 | 2015-10-28 Nathan Sidwell <nathan@codesourcery.com> | |
10128 | ||
10129 | * config/nvptx/nvptx.h (struct machine_function): Add | |
10130 | axis_predicate. | |
10131 | * config/nvptx/nvptx-protos.h (nvptx_expand_oacc_fork, | |
10132 | nvptx_expand_oacc_join): Declare. | |
10133 | * config/nvptx/nvptx.md (UNSPEC_NTID, UNSPEC_TID): Delete. | |
10134 | (UNSPEC_DIM_SIZE, UNSPEC_SHARED_DATA, UNSPEC_BIT_CONV, | |
10135 | UNSPEC_SHUFFLE, UNSPEC_BR_UNIFIED): New. | |
10136 | (UNSPECV_BARSYNC, UNSPECV_DIM_POS, UNSPECV_FORK, UNSPECV_FORKED, | |
10137 | UNSPECV_JOINING, UNSPECV_JOIN): New. | |
10138 | (BITS, BITD): New mode iterators. | |
10139 | (br_true_uni, br_false_uni): New. | |
10140 | (*oacc_ntid_insn, oacc_ntid, *oacc_tid_insn, oacc_tid): Delete. | |
10141 | (oacc_dim_size, oacc_dim_pos): New. | |
10142 | (nvptx_fork, nvptx_forked, nvptx_joining, nvptx_join): New. | |
10143 | (oacc_fork, oacc_join): New. | |
10144 | (nvptx_shuffle<mode>, unpack<mode>si2, packsi<mode>2): New. | |
10145 | (worker_load<mode>, worker_store<mode>): New. | |
10146 | (nvptx_barsync): New. | |
10147 | * config/nvptx/nvptx.c: Include gimple.h & dumpfile.h. | |
10148 | (SHUFFLE_UP, SHUFFLE_DOWN, SHUFFLE_BFLY, SHUFFLE_IDX): Define. | |
10149 | (worker_bcast_hwm, worker_bcast_align, worker_bcast_name, | |
10150 | worker_bcast_sym): New. | |
10151 | (nvptx_option_override): Initialize worker broadcast buffer. | |
10152 | (nvptx_emit_forking, nvptx_emit_joining): New. | |
10153 | (nvptx_init_axis_predicate): New. | |
10154 | (nvptx_declare_function_name): Init axis predicates. | |
10155 | (nvptx_expand_call): Add fork/join markers around routine call. | |
10156 | (nvptx_expand_oacc_fork, nvptx_expand_oacc_join): New. | |
10157 | (nvptx_gen_unpack, nvptx_gen_pack, nvptx_gen_shuffle): New. | |
10158 | (nvptx_gen_vcast): New. | |
10159 | (struct wcast_data_t): New. | |
10160 | (enum propagate_mask): New. | |
10161 | (nvptx_gen_wcast): New. | |
10162 | (nvptx_print_operand): Add 'S' case. | |
10163 | (struct parallel): New. | |
10164 | (parallel::parallel, parallel::~parallel): New. | |
10165 | (bb_insn_map_t, insn_bb_t, insn_bb_vec_t): New typedefs. | |
10166 | (nvptx_split_blocks, nvptx_discover_pre, nvptx_dump_pars, | |
10167 | nvptx_find_par, nvptx_discover_pars): New. | |
10168 | (nvptx_propagate): New. | |
10169 | (vprop_gen, nvptx_vpropagate): New. | |
10170 | (wprop_gen, nvptx_wpropagate): New. | |
10171 | (nvptx_wsync): New. | |
10172 | (nvptx_single, nvptx_skip_par): New. | |
10173 | (nvptx_process_pars, nvptx_neuter_pars): New. | |
10174 | (ntptx_reorg): Split blocks, generate parallel structure, apply | |
10175 | neutering. | |
10176 | (nvptx_cannot_copy_insn_p): New. | |
10177 | (nvptx_file_end): Emit worker broadcast decl. | |
10178 | (nvptx_goacc_fork_join): New. | |
10179 | (TARGET_CANNOT_COPY_INSN_P): Override. | |
10180 | (TARGET_GOACC_FORK_JOIN): Override. | |
10181 | ||
10182 | 2015-10-28 Richard Biener <rguenther@suse.de> | |
10183 | ||
10184 | * fold-const.c (negate_expr_p): Adjust the division case to | |
10185 | properly avoid introducing undefined overflow. | |
10186 | (fold_negate_expr): Likewise. | |
10187 | ||
10188 | 2015-10-28 Richard Biener <rguenther@suse.de> | |
10189 | ||
10190 | PR tree-optimization/65962 | |
10191 | * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): | |
10192 | Avoid creating loop carried dependences also for outer loops | |
10193 | of the loop a use to replace is in. | |
10194 | ||
10195 | 2015-10-28 Richard Biener <rguenther@suse.de> | |
10196 | ||
10197 | * common.opt (fchecking): New flag controlling flag_checking. | |
10198 | * passes.c (verify_curr_properties): Drop DEBUG_FUNCTION. | |
10199 | * timevar.c (timer::print): Adjust output. | |
10200 | * doc/invoke.texi (fchecking): Document. | |
10201 | ||
10202 | 2015-10-28 Richard Biener <rguenther@suse.de> | |
10203 | ||
10204 | PR middle-end/68067 | |
10205 | * fold-const.c (negate_expr_p): We cannot negate plus or minus | |
10206 | if overflow is not wrapping. Likewise multiplication unless | |
10207 | one operand is constant and not power of two. | |
10208 | (fold_negate_expr): Adjust accordingly. | |
10209 | ||
10210 | 2015-10-27 Nathan Sidwell <nathan@codesourcery.com> | |
10211 | ||
10212 | * omp-low.c (struct omp_context): Remove gwv_below, gwv_this | |
10213 | fields. | |
10214 | (is_oacc_parallel, is_oacc_kernels): New. | |
10215 | (enclosing_target_ctx): May return NULL. | |
10216 | (ctx_in_oacc_kernels_region): New. | |
10217 | (check_oacc_kernel_gwv): New. | |
10218 | (oacc_loop_or_target_p): Delete. | |
10219 | (scan_omp_for): Don't calculate gwv mask. Check parallel clause | |
10220 | operands. Strip reductions fro kernels. | |
10221 | (scan_omp_target): Don't calculate gwv mask. | |
10222 | (lower_oacc_head_mark, lower_oacc_loop_marker, | |
10223 | lower_oacc_head_tail): New. | |
10224 | (struct oacc_collapse): New. | |
10225 | (expand_oacc_collapse_init, expand_oacc_collapse_vars): New. | |
10226 | (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): | |
10227 | Remove OpenACC handling. | |
10228 | (expand_oacc_for): New. | |
10229 | (expand_omp_for): Call expand_oacc_for. | |
10230 | (lower_omp_for): Call lower_oacc_head_tail. | |
10231 | ||
10232 | 2015-10-27 Mikhail Maltsev <maltsevm@gmail.com> | |
10233 | ||
10234 | * attribs.c (check_attribute_tables): New function, broken out from... | |
10235 | (init_attributes): Use it. | |
10236 | * cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P | |
10237 | gcc_checking_assert and checking_* functions to eliminate | |
10238 | ENABLE_CHECKING conditionals. | |
10239 | * cfgexpand.c (expand_goto, expand_debug_expr): Likewise. | |
10240 | (pass_expand::execute): Likewise. | |
10241 | * cgraphclones.c (symbol_table::materialize_all_clones): Likewise. | |
10242 | * cgraphunit.c (mark_functions_to_output): Likewise. | |
10243 | (cgraph_node::expand_thunk): Likewise. | |
10244 | (symbol_table::compile): Likewise. | |
10245 | * ddg.c (add_cross_iteration_register_deps): Likewise. | |
10246 | (create_ddg_all_sccs): Likewise. | |
10247 | * df-core.c (df_finish_pass, df_analyze): Likewise. | |
10248 | * diagnostic-core.h: Likewise. | |
10249 | * diagnostic.c (diagnostic_report_diagnostic): Likewise. | |
10250 | * dominance.c (calculate_dominance_info): Likewise. | |
10251 | * dwarf2out.c (add_AT_die_ref): Likewise. | |
10252 | (const_ok_for_output_1, mem_loc_descriptor): Likewise. | |
10253 | (loc_list_from_tree, gen_lexical_block_die): Likewise. | |
10254 | gen_type_die_with_usage, gen_type_die): Likewise. | |
10255 | (dwarf2out_decl): Likewise. | |
10256 | * emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise. | |
10257 | * except.c (duplicate_eh_regions): Likewise. | |
10258 | * fwprop.c (register_active_defs, update_df_init): Likewise. | |
10259 | (fwprop_init, fwprop_done): Likewise. | |
10260 | (update_uses): Likewise. | |
10261 | * ggc-page.c (ggc_grow): Likewise. | |
10262 | * gimplify.c (gimplify_body): Likewise. | |
10263 | (gimplify_hasher::equal): Likewise. | |
10264 | * graphite-isl-ast-to-gimple.c (graphite_verify): Likewise. | |
10265 | * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): | |
10266 | Likewise. | |
10267 | * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise. | |
10268 | (rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise. | |
10269 | * hash-table.h (::find_empty_slot_for_expand): Likewise. | |
10270 | * ifcvt.c (if_convert): Likewise. | |
10271 | * ipa-cp.c (ipcp_propagate_stage): Likewise. | |
10272 | * ipa-devirt.c (type_in_anonymous_namespace_p): Likewise. | |
10273 | (odr_type_p, odr_types_equivalent_p): Likewise. | |
10274 | (add_type_duplicate, get_odr_type): Likewise. | |
10275 | * ipa-icf.c (sem_item_optimizer::execute): Likewise. | |
10276 | (sem_item_optimizer::subdivide_classes_by_equality): Likewise. | |
10277 | (sem_item_optimizer::verify_classes): Likewise. | |
10278 | (sem_item_optimizer::traverse_congruence_split): Likewise. | |
10279 | (sem_item_optimizer::checking_verify_classes): New. | |
10280 | * ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new | |
10281 | method. | |
10282 | * cfgrtl.c (commit_edge_insertions): Likewise. | |
10283 | (fixup_reorder_chain, cfg_layout_finalize): Likewise. | |
10284 | (rtl_flow_call_edges_add): Likewise. | |
10285 | * cgraph.c (symbol_table::create_edge): Likewise. | |
10286 | (cgraph_edge::redirect_call_stmt_to_callee): Likewise. | |
10287 | * cgraph.h (symtab_node): Likewise. | |
10288 | (symtab_node::checking_verify_symtab_nodes): Define. | |
10289 | (cgraph_node::checking_verify_cgraph_nodes): Define. | |
10290 | * cfghooks.h (checking_verify_flow_info): Define. | |
10291 | * cfgloop.h (checking_verify_loop_structure): Define. | |
10292 | * dominance.h (checking_verify_dominators): Define. | |
10293 | * et-forest.c: Fix comment. | |
10294 | * ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking, | |
10295 | CHECKING_P gcc_checking_assert and checking_* functions to eliminate | |
10296 | ENABLE_CHECKING conditionals. | |
10297 | * ipa-inline-transform.c (save_inline_function_body): Likewise. | |
10298 | * ipa-inline.c (inline_small_functions): Likewise. | |
10299 | (early_inliner): Likewise. | |
10300 | * ipa-inline.h (estimate_edge_growth): Likewise. | |
10301 | * ipa-visibility.c (function_and_variable_visibility): Likewise. | |
10302 | * ipa.c (symbol_table::remove_unreachable_nodes): Likewise. | |
10303 | (ipa_single_use): Likewise. | |
10304 | * ira-int.h: Likewise. | |
10305 | * ira.c (ira): Likewise. | |
10306 | * loop-doloop.c (doloop_optimize_loops): Likewise. | |
10307 | * loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise. | |
10308 | * loop-invariant.c (move_loop_invariants): Likewise. | |
10309 | * lra-assigns.c (lra_assign): Likewise. | |
10310 | * lra-constraints.c (lra_constraints): Likewise. | |
10311 | * lra-eliminations.c (lra_eliminate): Likewise. | |
10312 | * lra-int.h (struct lra_reg): Likewise. | |
10313 | * lra-lives.c (check_pseudos_live_through_calls): Likewise. | |
10314 | (lra_create_live_ranges_1): Likewise. | |
10315 | * lra-remat.c (create_remat_bb_data): Likewise. | |
10316 | * lra.c (lra_update_insn_recog_data, restore_scratches): Likewise. | |
10317 | (lra): Likewise. | |
10318 | (check_rtl): Always define. Remove incorrect guard around | |
10319 | extract_constrain_insn call. | |
10320 | * lto-cgraph.c (input_cgraph_1: Use flag_checking, | |
10321 | CHECKING_P gcc_checking_assert and checking_* functions to eliminate | |
10322 | ENABLE_CHECKING conditionals. | |
10323 | * lto-streamer-out.c (DFS::DFS): Likewise. | |
10324 | (lto_output): Likewise. | |
10325 | * lto-streamer.c (lto_streamer_init): Likewise. | |
10326 | * omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise. | |
10327 | expand_omp_target, execute_expand_omp): Likewise. | |
10328 | (lower_omp_target): Likewise. | |
10329 | * passes.c (execute_function_todo): Likewise. | |
10330 | (execute_todo, execute_one_pass): Likewise. | |
10331 | (verify_curr_properties): Always define. | |
10332 | * predict.c (tree_estimate_probability: Use flag_checking, | |
10333 | CHECKING_P gcc_checking_assert and checking_* functions to eliminate | |
10334 | ENABLE_CHECKING conditionals. | |
10335 | (propagate_freq): Likewise. | |
10336 | * pretty-print.c (pp_format): Likewise. | |
10337 | * real.c (real_to_decimal_for_mode): Likewise. | |
10338 | * recog.c (split_all_insns): Likewise. | |
10339 | * regcprop.c (kill_value_one_regno): Likewise. | |
10340 | (copy_value): Likewise. | |
10341 | (validate_value_data): Define unconditionally. | |
10342 | * reload.c: Fix comment. | |
10343 | * timevar.c: Include options.h | |
10344 | * tree-ssa.h (checking_verify_ssa): Define. | |
10345 | * tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define. | |
10346 | * sched-deps.c (CHECK): Remove unused macro. | |
10347 | (add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P | |
10348 | gcc_checking_assert and checking_* functions to eliminate | |
10349 | ENABLE_CHECKING conditionals. | |
10350 | * sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise. | |
10351 | * sel-sched.c (struct moveop_static_params): Likewise. | |
10352 | (find_best_reg_for_expr, move_cond_jump): Likewise. | |
10353 | (move_op_orig_expr_not_found): Likewise. | |
10354 | (code_motion_process_successors, move_op): Likewise. | |
10355 | * ssa-iterators.h (first_readonly_imm_use): Likewise. | |
10356 | (next_readonly_imm_use): Likewise. | |
10357 | * store-motion.c (compute_store_table): Likewise. | |
10358 | * symbol-summary.h (function_summary::function_summary): Likewise. | |
10359 | * target.h (cumulative_args_t): Likewise. | |
10360 | (get_cumulative_args, pack_cumulative_args): Likewise. | |
10361 | * timevar.c: (timer::print): Likewise. | |
10362 | * trans-mem.c (ipa_tm_execute): Likewise. | |
10363 | * tree-cfg.c (move_stmt_op): Likewise. | |
10364 | (move_sese_region_to_fn): Likewise. | |
10365 | (gimple_flow_call_edges_add): Likewise. | |
10366 | * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures): | |
10367 | Likewise. | |
10368 | * tree-eh.c (remove_unreachable_handlers): Likewise. | |
10369 | * tree-if-conv.c (pass_if_conversion::execute): Likewise. | |
10370 | * tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise. | |
10371 | * tree-into-ssa.c (update_ssa): Likewise. | |
10372 | * tree-loop-distribution.c (pass_loop_distribution::execute): Likewise. | |
10373 | * tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise. | |
10374 | * tree-parloops.c (pass_parallelize_loops::execute): Likewise. | |
10375 | * tree-predcom.c (suitable_component_p): Likewise. | |
10376 | * tree-profile.c (gimple_gen_const_delta_profiler): Likewise. | |
10377 | * tree-ssa-alias.c (refs_may_alias_p_1): Likewise. | |
10378 | * tree-ssa-live.c (verify_live_on_entry): Likewise. | |
10379 | * tree-ssa-live.h (register_ssa_partition): Likewise. | |
10380 | * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise. | |
10381 | * tree-ssa-loop-manip.c (add_exit_phi): Likewise. | |
10382 | (tree_transform_and_unroll_loop): Likewise. | |
10383 | * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise. | |
10384 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
10385 | * tree-ssa-propagate.c (replace_exp_1): Likewise. | |
10386 | * tree-ssa-structalias.c (rewrite_constraints): Likewise. | |
10387 | * tree-ssa-ter.c (free_temp_expr_table): Likewise. | |
10388 | * tree-ssa-threadupdate.c (duplicate_thread_path): Likewise. | |
10389 | * tree-ssanames.c (release_ssa_name_fn): Likewise. | |
10390 | * tree-stdarg.c (expand_ifn_va_arg): Likewise. | |
10391 | * tree-vect-loop-manip.c | |
10392 | (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise. | |
10393 | (slpeel_checking_verify_cfg_after_peeling): Likewise. | |
10394 | (vect_do_peeling_for_loop_bound): Likewise. | |
10395 | (vect_do_peeling_for_alignment): Likewise. | |
10396 | * tree-vrp.c (supports_overflow_infinity): Likewise. | |
10397 | (set_value_range): Likewise. | |
10398 | * tree.c (free_lang_data_in_cgraph): Likewise. | |
10399 | * value-prof.c (gimple_remove_histogram_value): Likewise. | |
10400 | (free_hist): Likewise. | |
10401 | * var-tracking.c (canonicalize_values_star): Likewise. | |
10402 | (compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise. | |
10403 | ||
10404 | 2015-10-27 Nathan Sidwell <nathan@codesourcery.com> | |
10405 | ||
10406 | * internal-fn.def (IFN_GOACC_DIM_SIZE, IFN_GOACC_DIM_POS, | |
10407 | IFN_GOACC_LOOP): New. | |
10408 | * internal-fn.h (enum ifn_unique_kind): Add IFN_UNIQUE_OACC_FORK, | |
10409 | IFN_UNIQUE_OACC_JOIN, IFN_UNIQUE_OACC_HEAD_MARK, | |
10410 | IFN_UNIQUE_OACC_TAIL_MARK. | |
10411 | (enum ifn_goacc_loop_kind): New. | |
10412 | * internal-fn.c (expand_UNIQUE): Add IFN_UNIQUE_OACC_FORK, | |
10413 | IFN_UNIQUE_OACC_JOIN cases. | |
10414 | (expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS): New. | |
10415 | (expand_GOACC_LOOP): New. | |
10416 | * target-insns.def (oacc_dim_pos, oacc_dim_size): New. | |
10417 | * omp-low.c: Include gimple-pretty-print.h. | |
10418 | (struct oacc_loop): New. | |
10419 | (enum oacc_loop_flags): New. | |
10420 | (oacc_thread_numbers): New. | |
10421 | (oacc_xform_loop): New. | |
10422 | (new_oacc_loop_raw, new_oacc_loop_outer, new_oacc_loop, | |
10423 | new_oacc_loop_routine, finish_oacc_loop, free_oacc_loop): New, | |
10424 | (dump_oacc_loop_part, dump_oacc_loop, debug_oacc_loop): New, | |
10425 | (oacc_loop_discover_walk, oacc_loop_sibling_nrevers, | |
10426 | oacc_loop_discovery): New. | |
10427 | (oacc_loop_xform_head_tail, oacc_loop_xform_loop, | |
10428 | oacc_loop_process): New. | |
10429 | (oacc_loop_fixed_partitions, oacc_loop_partition): New. | |
10430 | (execute_oacc_device_lower): Discover & process loops. Process | |
10431 | internal fns. | |
10432 | * target.def (goacc.fork_join): Change sense of hook, clarify | |
10433 | documentation. | |
10434 | * doc/tm.texi: Regenerated. | |
10435 | ||
10436 | 2015-10-27 Nathan Sidwell <nathan@codesourcery.com> | |
10437 | ||
10438 | * target-insns.def (oacc_fork, oacc_join): Define. | |
10439 | * target.def (goacc.validate_dims): Adjust doc to avoid warning. | |
10440 | (goacc.fork_join): New GOACC hook. | |
10441 | * targhooks.h (default_goacc_fork_join): Declare. | |
10442 | * omp-low.c (default_goacc_forkjoin): New. | |
10443 | * doc/tm.texi.in (TARGET_GOACC_FORK_JOIN): Add. | |
10444 | * doc/tm.texi: Regenerate. | |
10445 | ||
10446 | 2015-10-27 Nathan Sidwell <nathan@codesourcery.com> | |
10447 | ||
10448 | * omp-low.c (oacc_init_rediction_array): New. | |
10449 | (oacc_initialize_reduction_data): Initialize array. | |
10450 | ||
10451 | 2015-10-27 Nathan Sidwell <nathan@codesourcery.com> | |
10452 | ||
10453 | * omp-low.c (pass_oacc_device_lower::execute): Ignore errors. | |
10454 | ||
10455 | 2015-10-27 Nathan Sidwell <nathan@codesourcery.com> | |
10456 | ||
10457 | * internal-fn.c (expand_UNIQUE): New. | |
10458 | * internal-fn.h (enum ifn_unique_kind): New. | |
10459 | * internal-fn.def (IFN_UNIQUE): New. | |
10460 | * target-insns.def (unique): Define. | |
10461 | * gimple.h (gimple_call_internal_unique_p): New. | |
10462 | * gimple.c (gimple_call_same_target_p): Check internal fn | |
10463 | uniqueness. | |
10464 | * tracer.c (ignore_bb_p): Check for IFN_UNIQUE call. | |
10465 | * tree-ssa-threadedge.c | |
10466 | (record_temporary_equivalences_from_stmts): Likewise. | |
10467 | * tree-cfg.c (gmple_call_initialize_ctrl_altering): Likewise. | |
10468 | ||
10469 | 2015-10-27 Richard Henderson <rth@redhat.com> | |
10470 | ||
10471 | PR rtl-opt/67609 | |
10472 | * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow | |
10473 | narrowing subregs on SSE and MMX registers. | |
10474 | * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that | |
10475 | appear to be sub-words of multi-register pseudos must be rejected. | |
10476 | * doc/tm.texi: Regenerate. | |
10477 | ||
10478 | 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
10479 | ||
10480 | PR target/68102 | |
10481 | * config/aarch64/aarch64.md (*movsi_aarch64): Check that | |
10482 | operands[0] is a reg before taking its REGNO in split condition. | |
10483 | (*movdi_aarch64): Likewise. | |
10484 | ||
10485 | 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
10486 | ||
10487 | * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate): | |
10488 | Handle floating point inner modes properly. | |
10489 | ||
10490 | 2015-10-27 Alan Hayward <alan.hayward@arm.com> | |
10491 | ||
10492 | * tree-vect-looop.c | |
10493 | (vectorizable_live_operation): Change iterator. | |
10494 | ||
10495 | 2015-10-27 Abderrazek Zaafrani <a.zaafrani@samsung.com> | |
10496 | Aditya Kumar <aditya.k7@samsung.com> | |
10497 | ||
10498 | * graphite-optimize-isl.c (get_schedule_for_node_st): New callback | |
10499 | function to schedule based on isl_schedule_node. | |
10500 | (get_schedule_map_st): New schedule optimizer based on | |
10501 | isl_schedule_node. | |
10502 | (scop_get_domains): New. Return the isl_union_set containing the | |
10503 | domains of all the pbbs. | |
10504 | (optimize_isl): Call the new function get_schedule_map_st for isl-0.15 | |
10505 | ||
10506 | 2015-10-27 H.J. Lu <hongjiu.lu@intel.com> | |
10507 | ||
10508 | PR target/67215 | |
10509 | * calls.c (prepare_call_address): Don't handle -fno-plt here. | |
10510 | * config/i386/i386.c (ix86_expand_call): Generate indirect call | |
10511 | via GOT for -fno-plt. Support indirect call via GOT for x32. | |
10512 | * config/i386/predicates.md (sibcall_memory_operand): Allow | |
10513 | GOT memory operand. | |
10514 | ||
10515 | 2015-10-27 Richard Biener <rguenther@suse.de> | |
10516 | ||
10517 | PR tree-optimization/68104 | |
10518 | * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move | |
10519 | strided access check ... | |
10520 | (vect_compute_data_refs_alignment): ... here. | |
10521 | ||
10522 | 2015-10-27 Daniel Jacobowitz <dan@codesourcery.com> | |
10523 | Joseph Myers <joseph@codesourcery.com> | |
10524 | Mark Shinwell <shinwell@codesourcery.com> | |
10525 | Andrew Stubbs <ams@codesourcery.com> | |
dfb6d139 | 10526 | Rich Felker <dalias@libc.org> |
fb2c1edd | 10527 | |
10528 | * config.gcc: Handle --enable-fdpic. | |
10529 | * config/sh/constraints.md (Ccl): New constraint. | |
10530 | * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic. | |
10531 | * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and | |
10532 | __SH_FDPIC__. | |
10533 | * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to | |
10534 | library functions. | |
10535 | * config/sh/sh-protos.h (function_symbol_result): New struct. | |
10536 | (function_symbol): Return function_symbol_result. | |
10537 | (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New | |
10538 | declarations. | |
10539 | * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement | |
10540 | target hook. | |
10541 | (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise. | |
10542 | (sh_option_override): Force -fPIC if FDPIC is in effect. | |
10543 | (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and | |
10544 | UNSPEC_GOTOFFFUNCDESC cases. | |
10545 | (prepare_move_operands): Use FDPIC initial GOT register for | |
10546 | TLS-related GOT access; inhibit cross-section address offset constants | |
10547 | for FDPIC. | |
10548 | (sh_assemble_integer): New function. | |
10549 | (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC | |
10550 | PC-relative call sites. | |
10551 | (expand_ashiftrt): Adapt invocation of function_symbol. | |
10552 | (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC. | |
10553 | (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and | |
10554 | UNSPEC_GOTOFFFUNCDESC. | |
10555 | (legitimize_pic_address): Resolve function symbols to function | |
10556 | descriptors for FDPIC. Do not use GOT-relative addressing for local | |
10557 | data that may be read-only on FDPIC. | |
10558 | (sh_emit_storesi, sh_emit_storehi): New functions. | |
10559 | (sh_trampoline_init): Generate FDPIC trampolines. | |
10560 | (sh_function_ok_for_sibcall): Add TARGET_FDPIC check. | |
10561 | (sh_expand_sym_label2reg): Don't assume sibcalls are local. | |
10562 | (sh_output_mi_thunk): Generate FDPIC call. | |
10563 | (function_symbol): Return function_symbol_result. For SFUNC_STATIC on | |
10564 | FDPIC, generate call site labels to use PC-relative addressing rather | |
10565 | than GOT-relative addressing. | |
10566 | (sh_conditional_register_usage): Make PIC register fixed and call used | |
10567 | when FDPIC is in effect. | |
10568 | (sh_legitimate_constant_p): Impose FDPIC constant constraints. | |
10569 | (sh_cannot_force_const_mem_p, sh_load_function_descriptor, | |
10570 | sh_get_fdpic_reg_initial_val): New functions. | |
10571 | * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX): | |
10572 | Handle -mfdpic. | |
10573 | (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS, | |
10574 | PIC_OFFSET_TABLE_REG_CALL_CLOBBERED, | |
10575 | SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros. | |
10576 | (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and | |
10577 | FDPIC_SELF_SPECS. | |
10578 | (TRAMPOLINE_SIZE): Select trampoline size for FDPIC. | |
10579 | (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC. | |
10580 | (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case. | |
10581 | * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New | |
10582 | constants. | |
10583 | (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic, | |
10584 | sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic, | |
10585 | sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg, | |
10586 | sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns. | |
10587 | (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3, | |
10588 | *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3, | |
10589 | ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei, | |
10590 | call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall, | |
10591 | sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel, | |
10592 | sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg, | |
10593 | block_move_real, block_lump_real, block_move_real_i4, | |
10594 | block_lump_real_i4): Add support for FDPIC calls. | |
10595 | (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop, | |
10596 | call_value_pop): Adjust for new function_symbol signature. | |
10597 | * config/sh/sh.opt (-mfdpic): New option. | |
10598 | * doc/install.texi (Options specification): Document --enable-fdpic. | |
10599 | * doc/invoke.texi (SH Options): Document -mfdpic. | |
10600 | ||
10601 | ||
10602 | 2015-10-27 Alan Lawrence <alan.lawrence@arm.com> | |
10603 | ||
10604 | PR tree-optimization/65963 | |
10605 | * tree-scalar-evolution.c (interpret_rhs_expr): Handle some | |
10606 | LSHIFT_EXPRs as equivalent MULT_EXPRs. | |
10607 | ||
10608 | 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
10609 | ||
10610 | PR target/67929 | |
10611 | * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite. | |
10612 | * config/arm/constraints.md (Dp): Update callsite. | |
10613 | * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise. | |
10614 | ||
10615 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10616 | ||
10617 | * builtins.c (fold_builtin_load_exponent): Rename to... | |
10618 | (fold_const_builtin_load_exponent): ...this and only handle | |
10619 | constant arguments. | |
10620 | (fold_builtin_2): Update accordingly. | |
10621 | * match.pd: Add rules previously handled by fold_builtin_load_exponent. | |
10622 | ||
10623 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10624 | ||
10625 | * builtins.c (fold_builtin_logb): Rename to... | |
10626 | (fold_const_builtin_logb): ...this and remove STRIP_NOPS call. | |
10627 | (fold_builtin_significand): Rename to... | |
10628 | (fold_const_builtin_significand): ...this and remove STRIP_NOPS call. | |
10629 | (fold_builtin_1): Update accordingly. | |
10630 | ||
10631 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10632 | ||
10633 | * builtins.c (fold_builtin_fmin_fmax): Delete. | |
10634 | (fold_builtin_2): Handle constant fmin and fmax arguments here. | |
10635 | * match.pd: Add rules previously handled by fold_builtin_fmin_fmax. | |
10636 | ||
10637 | 2015-10-27 Evandro Menezes <e.menezes@samsung.com> | |
10638 | ||
10639 | * config/aarch64/aarch64-protos.h (cpu_addrcost_table): Split member | |
10640 | for register extension into sign and zero register extension. | |
10641 | * config/aarch64/aarch64.c (generic_addrcost_table): Infer values | |
10642 | for sign and zero register extension. | |
10643 | (cortexa57_addrcost_table): Likewise. | |
10644 | (xgene1_addrcost_table): Likewise. | |
10645 | ||
10646 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10647 | ||
10648 | * fold-const.c (fold_minmax): Delete. | |
10649 | (fold_binary_loc): Don't call it. | |
10650 | * match.pd: Add rules previously handled by fold_minmax. | |
10651 | ||
10652 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10653 | ||
10654 | * builtins.c (fold_builtin_fma): Remove constant handling. | |
10655 | (fold_builtin_3): Handle constant fma arguments here. | |
10656 | ||
10657 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10658 | ||
10659 | * builtins.c (fold_builtin_fabs): Remove constant handling. | |
10660 | (fold_builtin_abs): Likewise. | |
10661 | ||
10662 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10663 | ||
10664 | * builtins.c (fold_builtin_copysign): Delete. | |
10665 | (fold_builtin_2): Handle constant copysign arguments here. | |
10666 | * match.pd: Add rules previously handled by fold_builtin_copysign. | |
10667 | ||
10668 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10669 | ||
10670 | * builtins.c (fold_builtin_signbit): Delete. | |
10671 | (fold_builtin_2): Handle constant signbit arguments here. | |
10672 | * match.pd: Add rules previously handled by fold_builtin_signbit. | |
10673 | ||
10674 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10675 | ||
10676 | * match.pd: Handle sqrt(x) cmp 0 specially. | |
10677 | ||
10678 | 2015-10-27 Ilya Enkovich <enkovich.gnu@gmail.com> | |
10679 | ||
10680 | * tree-vect-generic.c (expand_vector_operations_1): Check | |
10681 | optab type before using it. | |
10682 | ||
10683 | 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
10684 | ||
10685 | * config/aarch64/aarch64-protos.h | |
10686 | (struct tune_params): Add autoprefetcher_model field. | |
10687 | * config/aarch64/aarch64.c: Include params.h | |
10688 | (generic_tunings): Specify autoprefetcher_model value. | |
10689 | (cortexa53_tunings): Likewise. | |
10690 | (cortexa57_tunings): Likewise. | |
10691 | (cortexa72_tunings): Likewise. | |
10692 | (thunderx_tunings): Likewise. | |
10693 | (xgene1_tunings): Likewise. | |
10694 | (aarch64_first_cycle_multipass_dfa_lookahead_guard): New function. | |
10695 | (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define. | |
10696 | (aarch64_override_options_internal): Set | |
10697 | PARAM_SCHED_AUTOPREF_QUEUE_DEPTH param. | |
10698 | ||
10699 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10700 | ||
10701 | * builtins.c (fold_builtin_exponent): Delete. | |
10702 | (fold_builtin_2): Handle constant expN arguments here. | |
10703 | * match.pd: Fold expN(logN(x)) -> x. | |
10704 | ||
10705 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10706 | ||
10707 | * builtins.c (fold_builtin_powi): Delete. | |
10708 | (fold_builtin_2): Handle constant powi arguments here. | |
10709 | * match.pd: Add rules previously handled by fold_builtin_powi. | |
10710 | ||
10711 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10712 | ||
10713 | * builtins.c (fold_builtin_pow): Delete in favor of... | |
10714 | (fold_const_builtin_pow): ...this new function. Only handle constant | |
10715 | arguments. | |
10716 | (fold_builtin_2): Update accordingly. | |
10717 | * match.pd: Add rules previously handled by fold_builtin_pow. | |
10718 | ||
10719 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10720 | ||
10721 | * builtins.c (fold_builtin_hypot): Delete. | |
10722 | (fold_builtin_2): Handle constant hypot arguments here. | |
10723 | * match.pd: Fold hypot(x, 0) and hypot(0, x) to x. Canonicalize | |
10724 | hypot(x, x) to fabs(x)*sqrt(2). | |
10725 | ||
10726 | 2015-10-27 Richard Sandiford <richard.sandiford@arm.com> | |
10727 | ||
10728 | * gimple-match-head.c (maybe_push_res_to_seq): Use create_tmp_reg | |
10729 | instead of make_ssa_name if not yet in SSA form. | |
10730 | ||
10731 | 2015-10-27 Richard Biener <rguenther@suse.de> | |
10732 | ||
10733 | * cfg.c (free_edge): Add function argument and use it instead of cfun. | |
10734 | (clear_edges): Likewise. | |
10735 | * cfg.h (clear_edges): Adjust prototype. | |
10736 | * cfgexpand.c (pass_expand::execute): Adjust. | |
10737 | * cfgloop.c (release_recorded_exits): Add function argument and use | |
10738 | it instead of cfun. | |
10739 | * cfgloop.h (release_recorded_exits): Adjust prototype. | |
10740 | (loops_state_satisfies_p): Add overload with function argument. | |
10741 | (loops_state_set): Likewise. | |
10742 | (loops_state_clear): Likewise. | |
10743 | (struct loop_iterator): Add function argument to constructor | |
10744 | and iterator and use it instead of cfun. | |
10745 | (FOR_EACH_LOOP_FN): New macro. | |
10746 | (loop_optimizer_finalize): Add overload with function argument. | |
10747 | * loop-init.c (loop_optimizer_init): Adjust. | |
10748 | (fix_loop_structure): Likewise. | |
10749 | (loop_optimizer_finaliz): Add function argument and use it | |
10750 | instead of cfun. | |
10751 | * tree-cfg.c (delete_tree_cfg_annotations): Likewise. | |
10752 | * tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype. | |
10753 | * cgraph.c (release_function_body): Do not push/pop cfun. | |
10754 | * final.c (rest_of_clean_state): Adjust. | |
10755 | * graphite.c (graphite_finalize): Likewise. | |
10756 | * tree-ssa-copy.c (fini_copy_prop): Likewise. | |
10757 | * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise. | |
10758 | * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise. | |
10759 | (tree_unroll_loops_completely): Likewise. | |
10760 | (pass_complete_unrolli::execute): Likewise. | |
10761 | * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates): | |
10762 | Add function argument and use it instead of cfun. | |
10763 | * tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates): | |
10764 | Adjust prototype. | |
10765 | * tree-ssa-loop.c (tree_ssa_loop_done): Adjust. | |
10766 | * tree-ssa.c (delete_tree_ssa): Add function argument and use it | |
10767 | instead of cfun. | |
10768 | * tree-ssa.h (delete_tree_ssa): Adjust prototype. | |
10769 | * tree-ssanames.c (fini_ssanames): Add function argument and use it | |
10770 | instead of cfun. | |
10771 | * tree-ssanames.c (fini_ssanames): Adjust prototype. | |
10772 | * tree-vrp.c (execute_vrp): Adjust. | |
10773 | * value-prof.c (free_histograms): Add function argument and use it | |
10774 | instead of cfun. | |
10775 | * value-prof.h (free_histograms): Adjust prototype. | |
10776 | ||
10777 | 2015-10-27 Thomas Schwinge <thomas@codesourcery.com> | |
10778 | ||
10779 | * tree.h (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES) | |
10780 | (OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_KERNELS_COMBINED) | |
10781 | (OACC_PARALLEL_COMBINED): Don't define macros. Adjust all users. | |
10782 | ||
10783 | 2015-10-27 Tom de Vries <tom@codesourcery.com> | |
10784 | ||
10785 | * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var | |
10786 | field_type. | |
10787 | ||
10788 | 2015-10-27 Bin Cheng <bin.cheng@arm.com> | |
10789 | ||
10790 | * loop-invariant.c (struct def): New field can_prop_to_addr_uses. | |
10791 | (inv_can_prop_to_addr_use): New function. | |
10792 | (record_use): Call can_prop_to_addr_uses, set the new field. | |
10793 | (get_inv_cost): Count cost if inv can't be propagated into its | |
10794 | address uses. | |
10795 | ||
10796 | 2015-10-26 Doug Evans <dje@google.com> | |
10797 | ||
10798 | * config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL. | |
10799 | ||
10800 | 2015-10-26 Eric Botcazou <ebotcazou@adacore.com> | |
10801 | ||
10802 | * match.pd (fold_widened_comparison): Apply simplifications to all | |
10803 | integral types. | |
10804 | ||
10805 | 2015-10-26 Simon Dardis <simon.dardis@imgtec.com> | |
10806 | ||
10807 | * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook. | |
10808 | * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document. | |
10809 | * doc/tm.texi: Regenerated. | |
10810 | * reorg.c (dbr_schedule): Use new hook. | |
10811 | * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New. | |
10812 | ||
10813 | 2015-10-26 Jeff Law <law@redhat.com> | |
10814 | ||
10815 | PR tree-optimization/68013 | |
10816 | * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): | |
10817 | Make sure the first block in the path is in VISITED_BBs. | |
10818 | ||
10819 | 2015-10-26 Richard Biener <rguenther@suse.de> | |
10820 | Dominik Vogt <vogt@linux.vnet.ibm.com> | |
10821 | ||
10822 | PR middle-end/67443 | |
10823 | * alias.c (ao_ref_from_mem): Remove promoted subreg handling. | |
10824 | Properly prune ref->ref for accesses outside of ref. | |
10825 | ||
10826 | 2015-10-26 Richard Sandiford <richard.sandiford@arm.com> | |
10827 | ||
10828 | * gimple-fold.c (replace_stmt_with_simplification): Don't allow | |
10829 | new statements to be inserted if inplace. Allow calls to have | |
10830 | nonempty sequences. | |
10831 | ||
10832 | 2015-10-26 Richard Biener <rguenther@suse.de> | |
10833 | ||
10834 | * tree-object-size.c: Remove builtins.h include, include tree-cfg.h. | |
10835 | (do_valueize): New function. | |
10836 | (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and | |
10837 | replace_uses_by. | |
10838 | * tree-ssa-threadedge.c: Remove builtins.h include, include | |
10839 | gimple-fold.h | |
10840 | (fold_assignment_stmt): Remove. | |
10841 | (threadedge_valueize): New function. | |
10842 | (record_temporary_equivalences_from_stmts): Use | |
10843 | gimple_fold_stmt_to_constant_1, note additional cleanup | |
10844 | opportunities. | |
10845 | ||
10846 | 2015-10-26 Richard Biener <rguenther@suse.de> | |
10847 | ||
10848 | * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c. | |
10849 | ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c. | |
10850 | ||
dfb6d139 | 10851 | 2015-10-26 Alan Hayward <alan.hayward@arm.com> |
fb2c1edd | 10852 | |
10853 | * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix | |
10854 | VEC_COND_EXPR types. | |
10855 | ||
10856 | 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
10857 | ||
10858 | * auto-inc-dec.c (insert_move_insn_before): Delete. | |
10859 | (attempt_change): Remember to cost the simple move in the | |
10860 | FORM_PRE_ADD and FORM_POST_ADD cases. | |
10861 | ||
10862 | 2015-10-26 Kaz Kojima <kkojima@gcc.gnu.org> | |
10863 | ||
10864 | PR target/68091 | |
10865 | * config/sh/sh.c (sh_vector_mode_supported_p): Use | |
10866 | TARGET_SHMEDIA_FPU instead of TARGET_FPU_ANY. | |
10867 | ||
10868 | 2015-10-26 Tom de Vries <tom@codesourcery.com> | |
10869 | ||
10870 | * tree-ssa-structalias.c (make_restrict_var_constraints): New function, | |
10871 | factored out of ... | |
10872 | (intra_create_variable_infos): ... here. | |
10873 | ||
10874 | 2015-10-26 Tom de Vries <tom@codesourcery.com> | |
10875 | ||
10876 | * tree-ssa-structalias.c (intra_create_variable_infos): Add | |
10877 | restrict_pointer_p and recursive_restrict_p variables. | |
10878 | ||
10879 | 2015-10-26 Tom de Vries <tom@codesourcery.com> | |
10880 | ||
10881 | * tree-ssa-structalias.c (intra_create_variable_infos): Inline | |
10882 | get_vi_for_tree call. | |
10883 | ||
10884 | 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
10885 | ||
10886 | PR middle-end/67989 | |
10887 | * optabs.c (expand_atomic_compare_and_swap): Handle case when | |
10888 | ptarget_oval or ptarget_bool are const0_rtx. | |
10889 | ||
10890 | 2015-10-26 Christian Bruel <christian.bruel@st.com> | |
10891 | ||
10892 | * function.h (MINIMUM_METHOD_BOUNDARY): New macro. | |
10893 | * cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY. | |
10894 | * cp/method.c (implicitly_declare_fn): Likewise. | |
10895 | * cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting. | |
10896 | * java/class.c (add_method_1): Likewise. | |
10897 | ||
10898 | 2015-10-26 Richard Biener <rguenther@suse.de> | |
10899 | ||
10900 | * alloc-pool.h (base_pool_allocator): Use placement new. | |
10901 | (base_pool_allocator::remove): Likewise. Compute size outside of | |
10902 | flag_checking. | |
10903 | ||
10904 | 2015-10-26 Richard Sandiford <richard.sandiford@arm.com> | |
10905 | ||
10906 | * builtins.c (do_real_to_int_conversion): New function. | |
10907 | (fold_fixed_mathfn, fold_builtin_int_roundingfn): Delete. | |
10908 | (fold_builtin_1): Handle constant {i,l,ll}{ceil,floor,round}{f,,l} | |
10909 | arguments here. | |
10910 | * match.pd: Add rules previously handled by fold_fixed_mathfn | |
10911 | and fold_builtin_int_roundingfn. | |
10912 | ||
10913 | 2015-10-26 Richard Sandiford <richard.sandiford@arm.com> | |
10914 | ||
10915 | * match.pd: Use macros to define built-in operator lists. | |
10916 | ||
10917 | 2015-10-20 Richard Sandiford <richard.sandiford@arm.com> | |
10918 | Richard Biener <rguenther@suse.de> | |
10919 | ||
10920 | * genmatch.c (dt_simplify::gen): Skip captures that are | |
10921 | part of the result. | |
10922 | (parser::parse_expr): Allow captures in results too. | |
10923 | * builtins.c (fold_builtin_cexp): Delete. | |
10924 | (fold_builtin_1): Handle constant cexp arguments here. | |
10925 | * match.pd: Fold cexp(x+yi) to exp(x) * cexpi(y). | |
10926 | ||
10927 | 2015-10-26 Mikhail Maltsev <maltsevm@gmail.com> | |
10928 | ||
10929 | * alloc-pool.h (base_pool_allocator::initialize, ::allocate): Remove | |
10930 | conditional compilation. | |
10931 | (base_pool_allocator::remove): Use flag_checking. | |
10932 | ||
10933 | 2015-10-25 John David Anglin <danglin@gcc.gnu.org> | |
10934 | ||
10935 | * config/pa/som.h (EH_FRAME_THROUGH_COLLECT2): Define. | |
10936 | ||
10937 | PR middle-end/68079 | |
10938 | * dojump.c (do_compare_and_jump): Canonicalize both function and | |
10939 | method types. | |
10940 | ||
10941 | 2015-10-25 Uros Bizjak <ubizjak@gmail.com> | |
10942 | ||
10943 | PR target/68084 | |
10944 | * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code | |
10945 | for =@ccae. | |
10946 | ||
10947 | 2015-10-23 Jan Hubicka <hubicka@ucw.cz> | |
10948 | ||
10949 | PR ipa/pr67600 | |
10950 | * ipa-polymorphic-call.c | |
10951 | (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse | |
10952 | instance offset with offset of outer type. | |
10953 | ||
10954 | 2015-10-23 Jan Hubicka <hubicka@ucw.cz> | |
10955 | ||
10956 | * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR. | |
10957 | ||
10958 | 2015-10-23 Caroline Tice <cmtice@google.com> | |
10959 | ||
10960 | (from Richard Biener | |
10961 | * tree.c (int_cst_hasher::hash): Replace XOR with more efficient | |
10962 | call to iterative_hash_host_wide_int. | |
10963 | ||
10964 | 2015-10-23 David Edelsohn <dje.gcc@gmail.com> | |
10965 | ||
10966 | * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]: | |
10967 | Define as yes. | |
10968 | ||
10969 | 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com> | |
10970 | ||
10971 | * tree-vect-generic.c (expand_vector_operations_1): Check | |
10972 | optab exists before use it. | |
10973 | ||
10974 | 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com> | |
10975 | ||
10976 | * tree-vect-generic.c (expand_vector_condition): Avoid | |
10977 | uninitialized variable warning. | |
10978 | ||
10979 | 2015-10-23 Jeff Law <law@redhat.com> | |
10980 | ||
10981 | * passes.c (execute_function_todo): Do not call flush_ssaname_freelist | |
10982 | here. Instead... | |
10983 | (execute_todo): Call it here. | |
10984 | * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse | |
10985 | statistics | |
10986 | (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist. | |
10987 | ||
10988 | 2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca> | |
10989 | Szabolcs Nagy <szabolcs.nagy@arm.com> | |
10990 | ||
10991 | * config.gcc (enable_secureplt): Add *-linux*-musl*. | |
10992 | ||
10993 | 2015-10-23 Jeff Law <law@redhat.com> | |
10994 | ||
10995 | PR tree-optimization/67830 | |
10996 | * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)): | |
10997 | Explicitly verify the mask has no bits outside the type of | |
10998 | the innermost operands. | |
10999 | ||
11000 | 2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca> | |
11001 | Szabolcs Nagy <szabolcs.nagy@arm.com> | |
11002 | ||
11003 | * config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define. | |
11004 | (MUSL_DYNAMIC_LINKER64): Define. | |
11005 | (GNU_USER_DYNAMIC_LINKER32): Update. | |
11006 | (GNU_USER_DYNAMIC_LINKER64): Update. | |
11007 | (CHOOSE_DYNAMIC_LINKER): Update. | |
11008 | ||
11009 | * config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update. | |
11010 | (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,) | |
11011 | (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) | |
11012 | (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) | |
11013 | (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. | |
11014 | (CHOOSE_DYNAMIC_LINKER): Update. | |
11015 | (INCLUDE_DEFAULTS): Redefine. | |
11016 | ||
11017 | * config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define. | |
11018 | ||
11019 | 2015-10-23 Jan Hubicka <hubicka@ucw.cz> | |
11020 | ||
11021 | * fold-const.c (operand_equal_p): Do not compare TYPE_MODE when | |
11022 | comparing addresses. | |
11023 | ||
11024 | 2015-10-23 Jan Hubicka <hubicka@ucw.cz> | |
11025 | ||
11026 | * fold-const.c (operand_equal_p): Handle matching of vector | |
11027 | constructors. | |
11028 | ||
11029 | 2015-10-23 David Edelsohn <dje.gcc@gmail.com> | |
11030 | ||
11031 | * doc/install.texi (*-ibm-aix*): Additional information for AIX 7.1. | |
11032 | ||
11033 | 2015-10-23 Steve Ellcey <sellcey@imgtec.com> | |
11034 | Andrew Pinski <apinski@cavium.com> | |
11035 | ||
11036 | PR rtl-optimization/67736 | |
11037 | * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead | |
11038 | of gen_lowpart. | |
11039 | ||
11040 | 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com> | |
11041 | ||
11042 | PR middle-end/68066 | |
11043 | * tree.c (build_truth_vector_type): Support BLK mode | |
11044 | returned for boolean vector. | |
11045 | ||
dfb6d139 | 11046 | 2015-10-23 Alan Hayward <alan.hayward@arm.com> |
fb2c1edd | 11047 | |
11048 | PR tree-optimization/65947 | |
11049 | * tree-vect-loop.c | |
11050 | (vect_is_simple_reduction_1): Find condition reductions. | |
11051 | (vect_model_reduction_cost): Add condition reduction costs. | |
11052 | (get_initial_def_for_reduction): Add condition reduction initial var. | |
11053 | (vect_create_epilog_for_reduction): Add condition reduction epilog. | |
11054 | (vectorizable_reduction): Condition reduction support. | |
11055 | * tree-vect-stmts.c (vectorizable_condition): Add vect reduction arg | |
11056 | * doc/sourcebuild.texi (Vector-specific attributes): Document | |
11057 | vect_max_reduc | |
11058 | ||
11059 | 2015-10-23 Richard Biener <rguenther@suse.de> | |
11060 | ||
11061 | * Makefile.in (build/genmatch.o): Properly depend on is-a.h, tree.def | |
11062 | and builtins.def. | |
11063 | ||
11064 | 2015-10-23 Richard Biener <rguenther@suse.de> | |
11065 | Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
11066 | ||
11067 | * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B) | |
11068 | into (A ^ B) - B to match.pd | |
11069 | Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd. | |
11070 | ||
11071 | * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)): | |
11072 | New simplifier. | |
11073 | (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)): | |
11074 | New simplifier. | |
11075 | (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))): | |
11076 | New simplifier. | |
11077 | (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)): | |
11078 | New simplifier. | |
11079 | (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0) | |
11080 | INTEGER_CST@1)): New simplifier. | |
11081 | ||
11082 | 2015-10-23 Richard Sandiford <richard.sandiford@arm.com> | |
11083 | ||
11084 | * builtins.c (integer_valued_real_p): Move to fold-const.c. | |
11085 | (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor) | |
11086 | (fold_builtin_ceil, fold_builtin_round): Delete. | |
11087 | (fold_builtin_1): Handle constant trunc, floor, ceil and round | |
11088 | arguments here. | |
11089 | * convert.c (convert_to_real): Remove narrowing of rounding | |
11090 | functions. | |
11091 | * fold-const.h (integer_valued_real_unary_p) | |
11092 | (integer_valued_real_binary_p, integer_valued_real_call_p) | |
11093 | (integer_valued_real_single_p, integer_valued_real_p): Declare. | |
11094 | * fold-const.c (tree_single_nonnegative_warnv_p): Move | |
11095 | name_registered_for_update_p check to SSA_NAME case statement. | |
11096 | Don't call tree_simple_nonnegative_warnv_p for SSA names. | |
11097 | (integer_valued_real_unary_p, integer_valued_real_binary_p) | |
11098 | (integer_valued_real_call_p, integer_valued_real_single_p) | |
11099 | (integer_valued_real_invalid_p): New functions. | |
11100 | (integer_valued_real_p): Move from fold-const.c and rework | |
11101 | to call the functions above. Handle SSA names. | |
11102 | * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare. | |
11103 | * gimple-fold.c (gimple_assign_integer_valued_real_p) | |
11104 | (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p) | |
11105 | (gimple_stmt_integer_valued_real_p): New functions. | |
11106 | * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f. | |
11107 | Fold f(x)->x for the same f if x is known to be integer-valued. | |
11108 | Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect | |
11109 | the result. Canonicalize floor(x) as trunc(x) if x is | |
11110 | nonnegative. | |
11111 | ||
11112 | 2015-10-23 Tom de Vries <tom@codesourcery.com> | |
11113 | ||
11114 | * tree-ssa-structalias.c (intra_create_variable_infos): Use | |
11115 | make_constraint_from. | |
11116 | ||
11117 | 2015-10-23 Tom de Vries <tom@codesourcery.com> | |
11118 | ||
11119 | * tree-ssa-structalias.c (create_variable_info_for_1): Add missing | |
11120 | setting of is_full_var in case of a single field. | |
11121 | ||
11122 | 2015-10-22 Martin Sebor <msebor@redhat.com> | |
11123 | ||
11124 | PR driver/68043 | |
11125 | * config/i386/i386.opt: Add missing periods to the ends of sentences. | |
11126 | * config/msp430/msp430.opt: Same. | |
11127 | ||
11128 | 2015-10-21 David Wohlferd <dw@LimeGreenSocks.com> | |
11129 | ||
11130 | * doc/extend.exp (Global Register Variables): Rewrite. | |
11131 | ||
11132 | 2015-10-22 Jeff Law <law@redhat.com> | |
11133 | ||
11134 | * genattrtab.c (main): If we do not have any annul-true or annul-false | |
11135 | slots, then write out a dummy eligible_for_annul_true or | |
11136 | eligible_for_annul_false as needed. | |
11137 | ||
11138 | 2015-10-22 Nick Clifton <nickc@redhat.com> | |
11139 | ||
11140 | * config/msp430/msp430.opt: Add -msilicon-errata and | |
11141 | -msilicon-errata-warn. | |
11142 | * config/msp430/msp430.h (ASM_SPEC): Pass new options on to | |
11143 | assembler. | |
11144 | * doc/invoke.texi: Document new options. | |
11145 | ||
11146 | 2015-10-22 Richard Biener <rguenther@suse.de> | |
11147 | ||
11148 | PR tree-optimization/58497 | |
11149 | * tree-vect-generic.c (ssa_uniform_vector_p): New helper. | |
11150 | (expand_vector_operations_1): Use it. Lower operations on | |
11151 | all uniform vectors to scalar operations if the HW supports it. | |
11152 | ||
11153 | 2015-10-22 Richard Biener <rguenther@suse.de> | |
11154 | ||
11155 | PR tree-optimization/19049 | |
11156 | PR tree-optimization/65962 | |
11157 | * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back | |
11158 | to strided accesses if single-element interleaving doesn't work. | |
11159 | ||
11160 | 2015-10-22 Richard Biener <rguenther@suse.de> | |
11161 | ||
11162 | PR middle-end/68046 | |
11163 | PR middle-end/61893 | |
11164 | * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv. | |
11165 | (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note. | |
11166 | (expand_unop): Likewise. | |
11167 | ||
11168 | 2015-10-22 Richard Biener <rguenther@suse.de> | |
11169 | ||
11170 | * fold-const.c (fold_addr_of_array_ref_difference): Properly | |
11171 | convert operands before folding a MINUS_EXPR. | |
11172 | (fold_binary_loc): Move simplification of MINUS_EXPR on | |
11173 | converted POINTER_PLUS_EXPRs ... | |
11174 | * match.pd: ... here. | |
11175 | ||
11176 | 2015-10-22 Richard Sandiford <richard.sandiford@arm.com> | |
11177 | ||
11178 | * builtins.c (fold_builtin_tan): Delete. | |
11179 | (fold_builtin_1): Handle constant tan arguments here. | |
11180 | * match.pd: Simplify (tan (atan x)) to x. | |
11181 | ||
11182 | 2015-10-22 Richard Sandiford <richard.sandiford@arm.com> | |
11183 | ||
11184 | * builtins.c (fold_builtin_cproj): Delete. | |
11185 | (fold_builtin_1): Handle constant arguments here. | |
11186 | (build_complex_cproj): Move and rename to... | |
11187 | * tree.c: (build_complex_inf): ...this. | |
11188 | * tree.h (build_complex_inf): Declare. | |
11189 | * match.pd: Fold cproj(x)->x if x has no infinity. | |
11190 | Use build_complex_inf for existing cproj rules. | |
11191 | ||
11192 | 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
11193 | ||
11194 | PR target/68015 | |
11195 | * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't | |
11196 | already have a comparison result. | |
11197 | ||
11198 | 2015-10-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
11199 | ||
11200 | PR target/63304 | |
11201 | * config/aarch64/aarch64.c (aarch64_nopcrelative_literal_loads): New. | |
11202 | (aarch64_expand_mov_immediate): Use aarch64_nopcrelative_literal_loads. | |
11203 | (aarch64_classify_address): Likewise. | |
11204 | (aarch64_secondary_reload): Likewise. | |
11205 | (aarch64_override_options_after_change_1): Adjust. | |
11206 | * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>): | |
11207 | Use aarch64_nopcrelative_literal_loads. | |
11208 | (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise. | |
11209 | * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads): | |
11210 | Declare. | |
11211 | ||
11212 | 2015-10-21 Martin Sebor <msebor@redhat.com> | |
11213 | ||
11214 | PR driver/68043 | |
11215 | * opts.c (undocumented_msg, use_diagnosed_msg): New globals. | |
11216 | (print_filtered_help): Reference aliased option's name and encourage | |
11217 | readers to use it in preference to the alias if the former is not | |
11218 | documented. Mention when using an option is diagnosed. | |
11219 | * gcc.c (display_help): End each sentence with a period. | |
11220 | ||
11221 | * common.opt: End each sentence that describes an option with | |
11222 | a period. | |
11223 | * config/aarch64/aarch64.opt: Same. | |
11224 | * config/alpha/alpha.opt: Same. | |
11225 | * config/arc/arc.opt: Same. | |
11226 | * config/arm/arm.opt: Same. | |
11227 | * config/avr/avr.opt: Same. | |
11228 | * config/bfin/bfin.opt: Same. | |
11229 | * config/c6x/c6x.opt: Same. | |
11230 | * config/cr16/cr16.opt: Same. | |
11231 | * config/cris/cris.opt: Same. | |
11232 | * config/cris/linux.opt: Same. | |
11233 | * config/darwin.opt: Same. | |
11234 | * config/epiphany/epiphany.opt: Same. | |
11235 | * config/fr30/fr30.opt: Same. | |
11236 | * config/frv/frv.opt: Same. | |
11237 | * config/ft32/ft32.opt: Same. | |
11238 | * config/g.opt: Same. | |
11239 | * config/h8300/h8300.opt: Same. | |
11240 | * config/i386/cygming.opt: Same. | |
11241 | * config/i386/djgpp.opt: Same. | |
11242 | * config/i386/i386.opt: Same. | |
11243 | * config/i386/interix.opt: Same. | |
11244 | * config/i386/mingw-w64.opt: Same. | |
11245 | * config/i386/mingw.opt: Same. | |
11246 | * config/ia64/ia64.opt: Same. | |
11247 | * config/ia64/ilp32.opt: Same. | |
11248 | * config/iq2000/iq2000.opt: Same. | |
11249 | * config/linux.opt: Same. | |
11250 | * config/lm32/lm32.opt: Same. | |
11251 | * config/lynx.opt: Same. | |
11252 | * config/m32c/m32c.opt: Same. | |
11253 | * config/m32r/m32r.opt: Same. | |
11254 | * config/m68k/ieee.opt: Same. | |
11255 | * config/m68k/m68k.opt: Same. | |
11256 | * config/mcore/mcore.opt: Same. | |
11257 | * config/mep/mep.opt: Same. | |
11258 | * config/microblaze/microblaze.opt: Same. | |
11259 | * config/mips/mips.opt: Same. | |
11260 | * config/mmix/mmix.opt: Same. | |
11261 | * config/mn10300/mn10300.opt: Same. | |
11262 | * config/moxie/moxie.opt: Same. | |
11263 | * config/msp430/msp430.opt: Same. | |
11264 | * config/nios2/elf.opt: Same. | |
11265 | * config/nios2/nios2.opt: Same. | |
11266 | * config/nvptx/nvptx.opt: Same. | |
11267 | * config/pa/pa-hpux.opt: Same. | |
11268 | * config/pa/pa-hpux1010.opt: Same. | |
11269 | * config/pa/pa-hpux1111.opt: Same. | |
11270 | * config/pa/pa-hpux1131.opt: Same. | |
11271 | * config/pa/pa.opt: Same. | |
11272 | * config/pa/pa64-hpux.opt: Same. | |
11273 | * config/pdp11/pdp11.opt: Same. | |
11274 | * config/rl78/rl78.opt: Same. | |
11275 | * config/rs6000/476.opt: Same. | |
11276 | * config/rs6000/aix64.opt: Same. | |
11277 | * config/rs6000/darwin.opt: Same. | |
11278 | * config/rs6000/linux64.opt: Same. | |
11279 | * config/rs6000/rs6000.opt: Same. | |
11280 | * config/rs6000/sysv4.opt: Same. | |
11281 | * config/s390/s390.opt: Same. | |
11282 | * config/s390/tpf.opt: Same. | |
11283 | * config/sh/sh.opt: Same. | |
11284 | * config/sol2.opt: Same. | |
11285 | * config/sparc/long-double-switch.opt: Same. | |
11286 | * config/sparc/sparc.opt: Same. | |
11287 | * config/spu/spu.opt: Same. | |
11288 | * config/stormy16/stormy16.opt: Same. | |
11289 | * config/tilegx/tilegx.opt: Same. | |
11290 | * config/tilepro/tilepro.opt: Same. | |
11291 | * config/v850/v850.opt: Same. | |
11292 | * config/vax/vax.opt: Same. | |
11293 | * config/visium/visium.opt: Same. | |
11294 | * config/vms/vms.opt: Same. | |
11295 | * config/vxworks.opt: Same. | |
11296 | * config/xtensa/xtensa.opt: Same. | |
11297 | ||
11298 | 2015-10-21 Aditya Kumar <aditya.k7@samsung.com> | |
11299 | Sebastian Pop <s.pop@samsung.com> | |
11300 | ||
11301 | * graphite-scop-detection.c (parameter_index_in_region): Update call to | |
11302 | invariant_in_sese_p_rec. | |
11303 | * graphite-sese-to-poly.c (extract_affine): Same. | |
11304 | * sese.c (invariant_in_sese_p_rec): Pass in an extra | |
11305 | parameter has_vdefs. | |
11306 | (scalar_evolution_in_region): Return chrec_dont_know when the scalar | |
11307 | variable depends on virtual definitions in the current region. | |
11308 | * sese.h (invariant_in_sese_p_rec): Update declaration. | |
11309 | ||
11310 | 2015-10-21 Aditya Kumar <aditya.k7@samsung.com> | |
11311 | Sebastian Pop <s.pop@samsung.com> | |
11312 | ||
11313 | * graphite-scop-detection.c (build_scops): Do not handle scops | |
11314 | with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays. | |
11315 | * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New. | |
11316 | ||
11317 | 2015-10-21 Mikhail Maltsev <maltsevm@gmail.com> | |
11318 | ||
11319 | * config.in: Regenerate. | |
11320 | * configure: Regenerate. | |
11321 | * configure.ac (CHECKING_P): Define. | |
11322 | * system.h: Use CHECKING_P. | |
11323 | ||
11324 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
11325 | ||
11326 | PR ipa/67056 | |
11327 | * ipa-polymorphic-call.c (possible_placement_new): If cur_offset | |
11328 | is negative we don't know the type. | |
11329 | (check_stmt_for_type_change): Skip constructors of non-polymorphic | |
11330 | types as those won't help devirutalization. | |
11331 | ||
11332 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
11333 | ||
11334 | * fold-const.c (operand_equal_p): Add code matching empty constructors. | |
11335 | ||
11336 | 2015-10-21 Eric Botcazou <ebotcazou@adacore.com> | |
11337 | ||
11338 | * tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak | |
11339 | comments. | |
11340 | (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR): | |
11341 | Add comments on sign of the result. | |
11342 | * fold-const.c (tree_binary_nonnegative_warnv_p) <FLOOR_MOD_EXPR>: | |
11343 | Recurse on operand #1 instead of operand #0. | |
11344 | <CEIL_MOD_EXPR>: Do not recurse. | |
11345 | <ROUND_MOD_EXPR>: Likewise. | |
11346 | ||
11347 | 2015-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
11348 | ||
11349 | * cfgrtl.c (pass_free_cfg::execute): Adjust. | |
11350 | * final.c (dbr_sequence_length): Always define. | |
11351 | (shorten_branches): Adjust. | |
11352 | * genattr-common.c (main): Always define DELAY_SLOTS. | |
11353 | * genattr.c (main): Unconditionally declare functions and define | |
11354 | macros related to delay slots. | |
11355 | * genattrtab.c (write_eligible_delay): Adjust. | |
11356 | (main): Always write out delay slot functions. | |
11357 | * opts.c (default_options_table): Adjust. | |
11358 | * reorg.c (redirect_with_delay_slots_safe_p): Likewise. | |
11359 | (redirect_with_delay_list_safe_p): Likewise. | |
11360 | (fill_simple_delay_slots): Likewise. | |
11361 | (fill_slots_from_thread): Likewise. | |
11362 | (make_return_insns): Likewise. | |
11363 | (dbr_schedule): Likewise. | |
11364 | (rest_of_handle_delay_slots): Likewise. | |
11365 | (pass_delay_slots::gate): Likewise. | |
11366 | * toplev.c (process_options): Likewise. | |
11367 | ||
11368 | 2015-10-21 Richard Henderson <rth@redhat.com> | |
11369 | ||
11370 | * targhooks.c (default_addr_space_pointer_mode): Remove check | |
11371 | for generic address space. | |
11372 | (default_addr_space_address_mode): Likewise. | |
11373 | (default_addr_space_valid_pointer_mode): Likewise. | |
11374 | (default_addr_space_legitimate_address_p): Likewise. | |
11375 | (default_addr_space_legitimize_address): Likewise. | |
11376 | * target.def (addr_space.pointer_mode): Update documentation | |
11377 | of default behavior. | |
11378 | (addr_space.address_mode): Likewise. | |
11379 | * tm.texi: Update. | |
11380 | ||
11381 | * expr.c (expand_expr_real_2): Use convert_modes on disjoint | |
11382 | address spaces. | |
11383 | ||
11384 | 2015-10-21 Richard Sandiford <richard.sandiford@arm.com> | |
11385 | ||
11386 | * builtins.c (fold_builtin_cabs): Delete. | |
11387 | (fold_builtin_1): Update accordingly. Handle constant arguments here. | |
11388 | * match.pd: Add rules previously handled by fold_builtin_cabs. | |
11389 | ||
11390 | 2015-10-21 Richard Sandiford <richard.sandiford@arm.com> | |
11391 | ||
11392 | * fold-const.h (fold_strip_sign_ops): Delete. | |
11393 | * fold-const.c (fold_strip_sign_ops): Likewise. | |
11394 | (fold_unary_loc, fold_binary_loc): Remove calls to it. | |
11395 | * builtins.c (fold_builtin_cos, fold_builtin_cosh) | |
11396 | (fold_builtin_ccos): Delete. | |
11397 | (fold_builtin_pow): Don't call fold_strip_sign_ops. | |
11398 | (fold_builtin_hypot, fold_builtin_copysign): Likewise. | |
11399 | Remove fndecl argument. | |
11400 | (fold_builtin_1): Update calls accordingly. Handle constant | |
11401 | cos, cosh, ccos and ccosh here. | |
11402 | ||
11403 | 2015-10-21 Richard Sandiford <richard.sandiford@arm.com> | |
11404 | ||
11405 | * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document. | |
11406 | * Makefile.in (OBJS): Add gimple-ssa-backprop.o. | |
11407 | * common.opt (fssa-backprop): New option. | |
11408 | * fold-const.h (negate_mathfn_p): Declare. | |
11409 | * fold-const.c (negate_mathfn_p): Make public. | |
11410 | * timevar.def (TV_TREE_BACKPROP): New. | |
11411 | * tree-pass.h (make_pass_backprop): Declare. | |
11412 | * passes.def (pass_backprop): Add. | |
11413 | * gimple-ssa-backprop.c: New file. | |
11414 | ||
11415 | 2015-10-21 Aditya Kumar <aditya.k7@samsung.com> | |
11416 | Sebastian Pop <s.pop@samsung.com> | |
11417 | ||
11418 | * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): | |
11419 | Do not call create_empty_if_region_on_edge when cond_expr is true. | |
11420 | (translate_isl_ast_node_for): Check whether a guard has been generated. | |
11421 | ||
11422 | 2015-10-21 Aditya Kumar <aditya.k7@samsung.com> | |
11423 | ||
11424 | * graphite-poly.h (struct dr_info): Added invalid_alias_set number. | |
11425 | (operator=): Removed. | |
11426 | (dr_info): Make alias_set number the last argument with default | |
11427 | value of invalid_alias_set. | |
11428 | * graphite-sese-to-poly.c (build_scop_drs): Update constructor | |
11429 | of dr_info. | |
11430 | (rewrite_reductions_out_of_ssa): Iterate only through the | |
11431 | basic blocks which are inside region. | |
11432 | (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. | |
11433 | * sese.h (struct sese_l): Removed assignment operator. | |
11434 | (split_region_for_bb): Removed dead code. | |
11435 | ||
11436 | 2015-10-21 Aditya Kumar <aditya.k7@samsung.com> | |
11437 | ||
11438 | * graphite-poly.h (struct dr_info): Removed conversion constructor. | |
11439 | (struct scop): Renamed scop::region to scop::scop_info | |
11440 | (scop_set_region): Same. | |
11441 | (SCOP_REGION): Removed | |
11442 | (SCOP_CONTEXT): Removed. | |
11443 | (POLY_SCOP_P): Removed. | |
11444 | * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): | |
11445 | Rename scop->region to scop->scop_info. | |
11446 | (add_parameters_to_ivs_params): Same. | |
11447 | (graphite_regenerate_ast_isl): Same. | |
11448 | * graphite-poly.c (new_scop): Same. | |
11449 | (free_scop): Same. | |
11450 | (print_scop_params): Same. | |
11451 | * graphite-scop-detection.c (scop_detection::remove_subscops): Same. | |
11452 | (scop_detection::remove_intersecting_scops): Use pointer to sese_l. | |
11453 | (dot_all_scops_1): Rename scop->region to scop->scop_info. | |
11454 | (scop_detection::nb_pbbs_in_loops): Same. | |
11455 | (find_scop_parameters): Same. | |
11456 | (try_generate_gimple_bb): Same. | |
11457 | (gather_bbs::before_dom_children): Same. | |
11458 | (gather_bbs::after_dom_children): Same. | |
11459 | (build_scops): Same. | |
11460 | * graphite-sese-to-poly.c (build_scop_scattering): Same. | |
11461 | (extract_affine_chrec): Same. | |
11462 | (extract_affine): Same. | |
11463 | (set_scop_parameter_dim): Same. | |
11464 | (build_loop_iteration_domains): Same. | |
11465 | (create_pw_aff_from_tree): Same. | |
11466 | (add_param_constraints): Same. | |
11467 | (build_scop_iteration_domain): Same. | |
11468 | (build_scop_drs): Same. | |
11469 | (analyze_drs_in_stmts): Same. | |
11470 | (insert_out_of_ssa_copy_on_edge): Same. | |
11471 | (rewrite_close_phi_out_of_ssa):Same. | |
11472 | (rewrite_reductions_out_of_ssa):Same. | |
11473 | (handle_scalar_deps_crossing_scop_limits):Same. | |
11474 | (rewrite_cross_bb_scalar_deps):Same. | |
11475 | (rewrite_cross_bb_scalar_deps_out_of_ssa):Same. | |
11476 | (build_poly_scop):Same. | |
11477 | (build_alias_set): Use pointer to dr_info. | |
11478 | * graphite.c (print_graphite_scop_statistics): | |
11479 | (graphite_transform_loops): | |
11480 | * sese.h (struct sese_l): Remove conversion constructor. | |
11481 | ||
11482 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
11483 | ||
11484 | PR middle-end/67966 | |
11485 | * tree.c (verify_type): Verify that TYPE_MODE match | |
11486 | between TYPE_CANONICAL and type. | |
11487 | * expr.c (store_expr_with_bounds): Revert my previous change. | |
11488 | * expmed.c (store_bit_field_1): Revert prevoius change. | |
11489 | * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE | |
11490 | to match for all types. | |
11491 | ||
11492 | 2015-10-21 Nathan Sidwell <nathan@codesourcery.com> | |
11493 | ||
11494 | * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop | |
11495 | nesting. | |
11496 | ||
11497 | 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com> | |
11498 | ||
11499 | * doc/tm.texi: Regenerated. | |
11500 | * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New. | |
11501 | * stor-layout.c (layout_type): Use mode to get vector mask size. | |
11502 | * target.def (get_mask_mode): New. | |
11503 | * targhooks.c (default_get_mask_mode): New. | |
11504 | * targhooks.h (default_get_mask_mode): New. | |
11505 | * tree-vect-stmts.c (get_same_sized_vectype): Add special case | |
11506 | for boolean vector. | |
11507 | * tree.c (MAX_BOOL_CACHED_PREC): New. | |
11508 | (nonstandard_boolean_type_cache): New. | |
11509 | (build_nonstandard_boolean_type): New. | |
11510 | (make_vector_type): Vector mask has no canonical type. | |
11511 | (build_truth_vector_type): New. | |
11512 | (build_same_sized_truth_vector_type): New. | |
11513 | (truth_type_for): Support vector masks. | |
11514 | * tree.h (VECTOR_BOOLEAN_TYPE_P): New. | |
11515 | (build_truth_vector_type): New. | |
11516 | (build_same_sized_truth_vector_type): New. | |
11517 | (build_nonstandard_boolean_type): New. | |
11518 | * tree-cfg.c (verify_gimple_comparison) Require boolean | |
11519 | vector type for vector comparison. | |
11520 | (verify_gimple_assign_ternary): Likewise. | |
11521 | * optabs.c (expand_vec_cond_expr): Accept boolean vector as | |
11522 | condition operand. | |
11523 | * tree-vect-stmts.c (vectorizable_condition): Use boolean | |
11524 | vector type for vector comparison. | |
11525 | * tree-vect-generic.c (elem_op_func): Add new operand to hold | |
11526 | vector type. | |
11527 | (do_unop): Adjust to modified function type. | |
11528 | (do_binop): Likewise. | |
11529 | (do_plus_minus): Likewise. | |
11530 | (do_negate); Likewise. | |
11531 | (expand_vector_piecewise): Likewise. | |
11532 | (do_cond): Likewise. | |
11533 | (do_compare): Use comparison instead of condition. | |
11534 | (expand_vector_divmod): Use boolean vector type for comparison. | |
11535 | (expand_vector_operations_1): Skip scalar mask operations. | |
11536 | ||
11537 | 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com> | |
11538 | ||
11539 | * omp-low.c (simd_clone_create): Set in_other_partition | |
11540 | for created clones. | |
11541 | ||
11542 | 2015-10-21 David Wohlferd <dw@LimeGreenSocks.com> | |
11543 | ||
11544 | * doc/extend.exp (Local Register Variables): Rewrite. | |
11545 | ||
11546 | 2015-10-21 Richard Sandiford <richard.sandiford@arm.com> | |
11547 | ||
11548 | * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign | |
11549 | and x*x in cases where the operands are sign ops. Extend these | |
11550 | rules to handle copysign as a sign op (including for cos, cosh | |
11551 | and pow, which already treated negate and abs as sign ops). | |
11552 | ||
11553 | 2015-10-21 Uros Bizjak <ubizjak@gmail.com> | |
11554 | ||
11555 | PR target/68018 | |
11556 | * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack | |
11557 | for 64-bit MS_ABI targets also when default incoming stack boundary | |
11558 | is overriden. | |
11559 | ||
11560 | 2015-10-21 Richard Biener <rguenther@suse.de> | |
11561 | ||
11562 | * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE | |
11563 | cond stmts, enhanced and split out from ... | |
11564 | (vn_phi_eq): ... here. | |
11565 | ||
11566 | 2015-10-21 Richard Biener <rguenther@suse.de> | |
11567 | ||
11568 | PR middle-end/68031 | |
11569 | * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h. | |
11570 | (tree_ssa_name_nonnegative_warnv_p): Fold into ... | |
11571 | (tree_single_nonnegative_warnv_p): ... here. For SSA names | |
11572 | make sure they are not registered for update. | |
11573 | ||
11574 | 2015-10-21 Richard Biener <rguenther@suse.de> | |
11575 | ||
11576 | PR tree-optimization/68026 | |
11577 | * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for | |
11578 | unsigned VARYING values. | |
11579 | ||
11580 | 2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com> | |
11581 | ||
11582 | * asan.c (asan_emit_stack_protection): Don't pass local stack to | |
11583 | asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned | |
11584 | NULL and use local stack than. | |
11585 | (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call | |
11586 | in addition to __asan_init. | |
11587 | * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init. | |
11588 | (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call. | |
11589 | * asan.h (asan_intercepted_p): Handle new string builtins. | |
11590 | * ubsan.c (ubsan_use_new_style_p): New function. | |
11591 | (ubsan_instrument_float_cast): If location is unknown, assign | |
11592 | input_location to loc. Propagate loc to ubsan_create_data if | |
11593 | ubsan_use_new_style_p returned true. | |
11594 | ||
11595 | 2015-10-21 Jeff Law <law@redhat.com> | |
11596 | ||
11597 | * Makefile.in (OBJS): Remove sched-vis.c | |
11598 | * sched-vis.c: Removed. Code moved into... | |
11599 | * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h. | |
11600 | * rtl.h: Remove prototypes for functions now living in print-rtl.c | |
11601 | * print-rtl.h Add prototypes for new functions in print-rtl.c. | |
11602 | * auto-inc-dec.c: Include print-rtl.h | |
11603 | * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise. | |
11604 | * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise. | |
11605 | ||
11606 | * varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with | |
11607 | ATTRIBUTE_UNUSED. | |
11608 | ||
11609 | 2015-10-21 Richard Biener <rguenther@suse.de> | |
11610 | Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
11611 | ||
11612 | * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B | |
11613 | to match.pd. | |
fb2c1edd | 11614 | Move (a * (1 << b)) is (a << b) to match.pd. |
11615 | Move convert (C1/X)*C2 into (C1*C2)/X to match.pd. | |
11616 | Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd. | |
11617 | Move X & ~X , X & (X == 0), and X & !X are zero to match.pd. | |
11618 | ||
11619 | * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))): | |
11620 | New simplifier. | |
11621 | (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier. | |
11622 | (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier. | |
11623 | (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1)) | |
11624 | : New simplifier. | |
11625 | (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)): | |
11626 | New simplifier. | |
11627 | (match (logical_inverted_value @0) (truth_not @0)) : New Predicate. | |
11628 | ||
11629 | 2015-10-21 Gregor Richards <gregor.richards@uwaterloo.ca> | |
11630 | Szabolcs Nagy <szabolcs.nagy@arm.com> | |
11631 | Alan Modra <amodra@gmail.com> | |
11632 | ||
11633 | * config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define. | |
11634 | * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define. | |
11635 | (LINK_SPEC): Add %(link_secure_plt). | |
11636 | (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt". | |
11637 | * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine. | |
11638 | ||
11639 | 2015-10-20 Gregor Richards <gregor.richards@uwaterloo.ca> | |
11640 | Szabolcs Nagy <szabolcs.nagy@arm.com> | |
11641 | ||
11642 | * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. | |
11643 | (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. | |
11644 | ||
11645 | 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
11646 | ||
11647 | * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p): | |
11648 | New function. | |
11649 | (fusion_load_store): Use it. | |
11650 | * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for | |
11651 | ldp and stp in VD modes. | |
11652 | * config/aarch64/aarch64-simd.md (load_pair<mode>, VD): New pattern. | |
11653 | (store_pair<mode>, VD): Likewise. | |
11654 | ||
11655 | 2015-10-20 Vladimir Makarov <vmakarov@redhat.com> | |
11656 | ||
11657 | PR rtl-optimization/67609 | |
11658 | * lra-splill.c (lra_final_code_change): Don't remove all | |
11659 | sub-registers. | |
11660 | ||
11661 | 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
11662 | ||
11663 | * simplify-rtx.c (simplify_binary_operation): If either operand was | |
11664 | a constant pool reference use them if all other simplifications failed. | |
11665 | ||
11666 | 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
11667 | ||
11668 | * config/aarch64/aarch64.md | |
11669 | (*aarch64_fcvt<su_optab><GPF:mode><GPI:mode>2_mult): New pattern. | |
11670 | * config/aarch64/aarch64-simd.md | |
11671 | (*aarch64_fcvt<su_optab><VDQF:mode><fcvt_target>2_mult): Likewise. | |
11672 | * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns. | |
11673 | (aarch64_fpconst_pow_of_2): New function. | |
11674 | (aarch64_vec_fpconst_pow_of_2): Likewise. | |
11675 | * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare | |
11676 | prototype. | |
11677 | (aarch64_vec_fpconst_pow_of_2): Likewise. | |
11678 | * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate. | |
11679 | (aarch64_fp_vec_pow2): Likewise. | |
11680 | ||
11681 | 2015-10-20 Uros Bizjak <ubizjak@gmail.com> | |
11682 | ||
11683 | * config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro. | |
11684 | (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument. | |
11685 | * config/alpha/alpha.c (alpha_function_arg_advance): Update | |
11686 | ALPHA_ARG_SIZE usage. | |
11687 | (alpha_arg_partial_bytes): Ditto. | |
11688 | ||
11689 | 2015-10-20 H.J. Lu <hongjiu.lu@intel.com> | |
11690 | ||
11691 | PR target/66810 | |
11692 | * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local | |
11693 | error_mark_node decls. | |
11694 | ||
11695 | 2015-10-20 H.J. Lu <hongjiu.lu@intel.com> | |
11696 | ||
11697 | PR target/67963 | |
11698 | PR target/67985 | |
11699 | * common/config/i386/i386-common.c (ix86_handle_option): Remove | |
11700 | OPT_miamcu handling. | |
11701 | * config/i386/i386.c (PTA_NO_80387): New macro. | |
11702 | (processor_alias_table): Add PTA_NO_80387 to lakemont. | |
11703 | (ix86_option_override_internal): Update MASK_80387 from | |
11704 | PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn | |
11705 | SSE math only if 80387 is supported. Don't change | |
11706 | MASK_FLOAT_RETURNS. | |
11707 | (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if | |
11708 | 80387 is supported. | |
11709 | * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only | |
11710 | if TARGET_80387 is true and TARGET_IAMCU is false. | |
11711 | (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P | |
11712 | is true and TARGET_IAMCU_P is false. | |
11713 | ||
11714 | 2015-10-20 Richard Biener <rguenther@suse.de> | |
11715 | ||
11716 | PR tree-optimization/68017 | |
11717 | * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards. | |
11718 | ||
11719 | 2015-10-20 Martin Liska <mliska@suse.cz> | |
11720 | ||
11721 | * cgraphclones.c (cgraph_node::create_virtual_clone): | |
11722 | Verify cgraph_node.local.versionable instead of calling | |
11723 | tree_versionable_function_p. | |
11724 | * ipa-cp.c (determine_versionability): Save the information | |
11725 | to ipa_node_params summary. | |
11726 | (ipcp_versionable_function_p): Use it. | |
11727 | (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function. | |
11728 | (ipcp_generate_summary): Do not compute cgraph_node | |
11729 | versionability. | |
11730 | * ipa-inline-analysis.c (inline_generate_summary): Compute | |
11731 | versionability for all cgraph nodes. | |
11732 | * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate | |
11733 | ipa_node_params::versionability. | |
11734 | * ipa-prop.h (struct ipa_node_params): Declare it. | |
11735 | ||
11736 | 2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
11737 | ||
11738 | PR other/67868 | |
11739 | * varasm.c (assemble_variable): Move special vtv handling to.. | |
11740 | (handle_vtv_comdat_sections): .. here. New function. | |
11741 | (output_object_block): Handle vtv sections. | |
11742 | ||
11743 | 2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
11744 | ||
11745 | PR target/66912 | |
11746 | * varasm.c (default_binds_local_p_2): Turn on extern_protected_data. | |
11747 | ||
11748 | 2015-10-20 Arkadiusz Drabczyk <arkadiusz@drabczyk.org> | |
11749 | ||
11750 | * doc/extend.texi: Update documentation WRT inline functions. | |
11751 | ||
11752 | 2015-10-20 Alan Modra <amodra@gmail.com> | |
11753 | ||
11754 | PR go/66870 | |
11755 | * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define. | |
11756 | * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define. | |
11757 | (TARGET_CAN_SPLIT_STACK_64BIT): Define. | |
11758 | ||
11759 | 2015-10-19 Pierre-Marie de Rodat <derodat@adacore.com> | |
11760 | ||
11761 | PR rtl-optimization/66790 | |
11762 | * df.h (DF_MIR): New macro. | |
11763 | (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR | |
11764 | (DF_MIR_INFO_BB): New macro. | |
11765 | (DF_MIR_IN, DF_MIR_OUT): New macros. | |
11766 | (struct df_mir_bb_info): New. | |
11767 | (df_mir): New macro. | |
11768 | (df_mir_add_problem, df_mir_simulate_one_insn): New forward | |
11769 | declarations. | |
11770 | (df_mir_get_bb_info): New. | |
11771 | * df-problems.c (struct df_mir_problem_data): New. | |
11772 | (df_mir_free_bb_info, df_mir_alloc, df_mir_reset, | |
11773 | df_mir_bb_local_compute, df_mir_local_compute, df_mir_init, | |
11774 | df_mir_confluence_0, df_mir_confluence_n, | |
11775 | df_mir_transfer_function, df_mir_free, df_mir_top_dump, | |
11776 | df_mir_bottom_dump, df_mir_verify_solution_start, | |
11777 | df_mir_verify_solution_end): New. | |
11778 | (problem_MIR): New. | |
11779 | (df_mir_add_problem, df_mir_simulate_one_insn): New. | |
11780 | * timevar.def (TV_DF_MIR): New. | |
11781 | * ree.c: Include bitmap.h | |
11782 | (add_removable_extension): Add an INIT_REGS parameter. Use it | |
11783 | to skip zero-extensions that may get an uninitialized register. | |
11784 | (find_removable_extensions): Compute must-initialized registers | |
11785 | using the MIR dataflow problem. Update the call to | |
11786 | add_removable_extension. | |
11787 | (find_and_remove_re): Call df_mir_add_problem. | |
11788 | ||
11789 | 2015-10-19 Segher Boessenkool <segher@kernel.crashing.org> | |
11790 | ||
11791 | * common/config/mn10300/mn10300-common.c | |
11792 | (mn10300_option_optimization_table) <OPT_freorder_blocks_algorithm_>: | |
11793 | Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up. | |
11794 | ||
11795 | 2015-10-19 David Wohlferd <dw@LimeGreenSocks.com> | |
11796 | ||
11797 | * doc/extend.texi (Explicit Register Variables): Simplify and | |
11798 | avoid unnecessary and confusion abbreviations. Update cross | |
11799 | references. | |
11800 | doc/implement-c.tex: Update cross reference. | |
11801 | ||
11802 | 2015-10-19 Jeff Law <law@redhat.com> | |
11803 | ||
11804 | * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths | |
11805 | that create irreducible loops unless the path elimiantes a multiway | |
11806 | branch. | |
11807 | ||
11808 | 2015-10-19 Richard Biener <rguenther@suse.de> | |
11809 | ||
11810 | PR tree-optimization/67975 | |
11811 | * tree-cfg.h (extract_true_false_controlled_edges): Declare. | |
11812 | * tree-cfg.c (extract_true_false_controlled_edges): Split out | |
11813 | core worker from ... | |
11814 | * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here. | |
11815 | * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args | |
11816 | instead of block number for PHIs with two or one args. | |
11817 | (vn_phi_eq): Compare edge predicates of PHIs that are in different | |
11818 | blocks. | |
11819 | ||
11820 | 2015-10-19 Richard Biener <rguenther@suse.de> | |
11821 | ||
11822 | * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function. | |
11823 | (gimple_stmt_nonnegative_warnv_p): Use it. | |
11824 | * match.pd (CPROJ): New operator list. | |
11825 | (cproj (complex ...)): Move simplifications from ... | |
11826 | * builtins.c (fold_builtin_cproj): ... here. | |
11827 | ||
11828 | 2015-10-19 H.J. Lu <hongjiu.lu@intel.com> | |
11829 | ||
11830 | * config/i386/i386.c (ix86_expand_vector_move): Use | |
11831 | GET_MODE_BITSIZE for IA MCU psABI to get vector natural | |
11832 | alignment. | |
11833 | ||
11834 | 2015-10-19 H.J. Lu <hongjiu.lu@intel.com> | |
11835 | ||
11836 | * doc/invoke.texi: Replace @optindex with @opindex. | |
11837 | ||
11838 | 2015-10-19 H.J. Lu <hongjiu.lu@intel.com> | |
11839 | ||
11840 | PR target/67995 | |
11841 | * config/i386/i386.c (ix86_valid_target_attribute_tree): If | |
11842 | arch= is set, clear all bits in x_ix86_isa_flags, except for | |
11843 | ISA_64BIT, ABI_64, ABI_X32, and CODE16. | |
11844 | ||
11845 | 2015-10-19 Joost VandeVondele <vondele@gnu.gcc.org> | |
11846 | ||
11847 | PR middle-end/68002 | |
11848 | * common.opt (fkeep-static-functions): New option. | |
11849 | * doc/invoke.texi: Document it. | |
11850 | * cgraphunit.c (cgraph_node::finalize_function): Use it. | |
11851 | ||
11852 | 2015-10-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
11853 | ||
11854 | * sched-int.h (struct autopref_multipass_data_): Remove offset | |
11855 | field. Add min_offset, max_offset, multi_mem_insn_p fields. | |
11856 | * haifa-sched.c (analyze_set_insn_for_autopref): New function. | |
11857 | (autopref_multipass_init): Use it. Handle PARALLEL sets. | |
11858 | (autopref_rank_data): New function. | |
11859 | (autopref_rank_for_schedule): Use it. | |
11860 | (autopref_multipass_dfa_lookahead_guard_1): Likewise. | |
11861 | ||
11862 | 2015-10-18 Mikhail Maltsev <maltsevm@gmail.com> | |
11863 | ||
11864 | PR other/65800 | |
11865 | * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly. | |
11866 | ||
11867 | 2015-10-18 Iain Sandoe <iain@codesourcery.com> | |
11868 | ||
11869 | * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here, | |
11870 | (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New. | |
11871 | (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot. | |
11872 | (STANDARD_STARTFILE_PREFIX_1): New. | |
11873 | (STANDARD_STARTFILE_PREFIX_2): New. | |
11874 | ||
11875 | 2015-10-18 Iain Sandoe <iain@codesourcery.com> | |
11876 | ||
11877 | * config/darwin-driver.c (darwin_default_min_version): Refactor code. | |
11878 | (darwin_driver_init): Note a version-min when provided on the c/l. | |
11879 | * config/darwin.h (%darwin_minversion): Remove. | |
11880 | * config/i386/darwin.h: Likewise. | |
11881 | * config/rs6000/darwin.h: Likewise. | |
11882 | * config/darwin.opt (mmacosx-version-min=): Use the configured default, | |
11883 | rather than an arbitrary constant. | |
11884 | ||
11885 | 2015-10-18 Iain Sandoe <iain@codesourcery.com> | |
11886 | ||
11887 | * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for | |
11888 | PPC, detect conflicts between -arch and multilib settings. Detect | |
11889 | and warn about conflicts between multiple -arch definitions. | |
11890 | ||
11891 | 2015-10-18 Iain Sandoe <iain@codesourcery.com> | |
11892 | ||
11893 | * config/darwin-driver.c: Adjust includes to add diagnostic-core. | |
11894 | ||
11895 | 2015-10-16 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
11896 | ||
11897 | * lra-constraints.c (add_next_usage_insn): Change argument type | |
11898 | from rtx to rtx_insn *. | |
11899 | ||
11900 | 2015-10-16 H.J. Lu <hongjiu.lu@intel.com> | |
11901 | ||
11902 | * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable | |
11903 | for Lakemont. | |
11904 | ||
11905 | 2015-10-16 Andrew MacLeod <amacleod@redhat.com> | |
11906 | ||
11907 | * config/tilepro/gen-mul-tables.cc: Adjust include files. | |
11908 | * config/tilegx/mul-tables.c: Regenerate. | |
11909 | * config/tilepro/mul-tables.c: Regenerate. | |
11910 | ||
11911 | * config/tilegx/tilegx-c.c: Adjust include files. | |
11912 | * config/tilegx/tilegx.c: Likewise. | |
11913 | * config/tilepro/tilepro-c.c: Likewise. | |
11914 | * config/tilepro/tilepro.c: Likewise. | |
11915 | * config/aarch64/aarch64-builtins.c: Likewise. | |
11916 | * config/aarch64/aarch64.c: Likewise. | |
11917 | * config/aarch64/cortex-a57-fma-steering.c: Likewise. | |
11918 | * config/alpha/alpha.c: Likewise. | |
11919 | * config/arc/arc.c: Likewise. | |
11920 | * config/arm/aarch-common.c: Likewise. | |
11921 | * config/arm/arm-builtins.c: Likewise. | |
11922 | * config/arm/arm-c.c: Likewise. | |
11923 | * config/arm/arm.c: Likewise. | |
11924 | * config/avr/avr-c.c: Likewise. | |
11925 | * config/avr/avr-devices.c: Likewise. | |
11926 | * config/avr/avr-log.c: Likewise. | |
11927 | * config/avr/avr.c: Likewise. | |
11928 | * config/bfin/bfin.c: Likewise. | |
11929 | * config/c6x/c6x.c: Likewise. | |
11930 | * config/cr16/cr16.c: Likewise. | |
11931 | * config/cris/cris.c: Likewise. | |
11932 | * config/darwin-c.c: Likewise. | |
11933 | * config/darwin-driver.c: Likewise. | |
11934 | * config/darwin.c: Likewise. | |
11935 | * config/default-c.c: Likewise. | |
11936 | * config/epiphany/epiphany.c: Likewise. | |
11937 | * config/epiphany/mode-switch-use.c: Likewise. | |
11938 | * config/epiphany/resolve-sw-modes.c: Likewise. | |
11939 | * config/fr30/fr30.c: Likewise. | |
11940 | * config/frv/frv.c: Likewise. | |
11941 | * config/ft32/ft32.c: Likewise. | |
11942 | * config/glibc-c.c: Likewise. | |
11943 | * config/h8300/h8300.c: Likewise. | |
11944 | * config/i386/host-cygwin.c: Likewise. | |
11945 | * config/i386/host-mingw32.c: Likewise. | |
11946 | * config/i386/i386-c.c: Likewise. | |
11947 | * config/i386/i386.c: Likewise. | |
11948 | * config/i386/msformat-c.c: Likewise. | |
11949 | * config/i386/winnt-cxx.c: Likewise. | |
11950 | * config/i386/winnt-stubs.c: Likewise. | |
11951 | * config/i386/winnt.c: Likewise. | |
11952 | * config/ia64/ia64-c.c: Likewise. | |
11953 | * config/ia64/ia64.c: Likewise. | |
11954 | * config/iq2000/iq2000.c: Likewise. | |
11955 | * config/lm32/lm32.c: Likewise. | |
11956 | * config/m32c/m32c-pragma.c: Likewise. | |
11957 | * config/m32c/m32c.c: Likewise. | |
11958 | * config/m32r/m32r.c: Likewise. | |
11959 | * config/mcore/mcore.c: Likewise. | |
11960 | * config/mep/mep-pragma.c: Likewise. | |
11961 | * config/mep/mep.c: Likewise. | |
11962 | * config/microblaze/microblaze-c.c: Likewise. | |
11963 | * config/microblaze/microblaze.c: Likewise. | |
11964 | * config/mips/mips-tables.opt | |
11965 | * config/mips/mips.c: Likewise. | |
11966 | * config/mmix/mmix.c: Likewise. | |
11967 | * config/mn10300/mn10300.c: Likewise. | |
11968 | * config/moxie/moxie.c: Likewise. | |
11969 | * config/msp430/msp430-c.c: Likewise. | |
11970 | * config/msp430/msp430.c: Likewise. | |
11971 | * config/nds32/nds32-cost.c: Likewise. | |
11972 | * config/nds32/nds32-fp-as-gp.c: Likewise. | |
11973 | * config/nds32/nds32-intrinsic.c: Likewise. | |
11974 | * config/nds32/nds32-isr.c: Likewise. | |
11975 | * config/nds32/nds32-md-auxiliary.c: Likewise. | |
11976 | * config/nds32/nds32-memory-manipulation.c: Likewise. | |
11977 | * config/nds32/nds32-pipelines-auxiliary.c: Likewise. | |
11978 | * config/nds32/nds32-predicates.c: Likewise. | |
11979 | * config/nds32/nds32.c: Likewise. | |
11980 | * config/nios2/nios2.c: Likewise. | |
11981 | * config/nvptx/mkoffload.c: Likewise. | |
11982 | * config/nvptx/nvptx.c: Likewise. | |
11983 | * config/pa/pa.c: Likewise. | |
11984 | * config/pdp11/pdp11.c: Likewise. | |
11985 | * config/rl78/rl78-c.c: Likewise. | |
11986 | * config/rl78/rl78.c: Likewise. | |
11987 | * config/rs6000/host-darwin.c: Likewise. | |
11988 | * config/rs6000/rs6000-c.c: Likewise. | |
11989 | * config/rs6000/rs6000-linux.c: Likewise. | |
11990 | * config/rs6000/rs6000.c: Likewise. | |
11991 | * config/rx/rx.c: Likewise. | |
11992 | * config/s390/s390-c.c: Likewise. | |
11993 | * config/s390/s390.c: Likewise. | |
11994 | * config/sh/sh-c.c: Likewise. | |
11995 | * config/sh/sh-mem.cc: Likewise. | |
11996 | * config/sh/sh.c: Likewise. | |
11997 | * config/sh/sh_optimize_sett_clrt.cc: Likewise. | |
11998 | * config/sh/sh_treg_combine.cc: Likewise. | |
11999 | * config/sol2-c.c: Likewise. | |
12000 | * config/sol2-cxx.c: Likewise. | |
12001 | * config/sol2-stubs.c: Likewise. | |
12002 | * config/sol2.c: Likewise. | |
12003 | * config/sparc/sparc-c.c: Likewise. | |
12004 | * config/sparc/sparc.c: Likewise. | |
12005 | * config/spu/spu-c.c: Likewise. | |
12006 | * config/spu/spu.c: Likewise. | |
12007 | * config/stormy16/stormy16.c: Likewise. | |
12008 | * config/v850/v850-c.c: Likewise. | |
12009 | * config/v850/v850.c: Likewise. | |
12010 | * config/vax/vax.c: Likewise. | |
12011 | * config/visium/visium.c: Likewise. | |
12012 | * config/vms/vms-c.c: Likewise. | |
12013 | * config/vms/vms.c: Likewise. | |
12014 | * config/vxworks.c: Likewise. | |
12015 | * config/winnt-c.c: Likewise. | |
12016 | * config/xtensa/xtensa.c: Likewise. | |
12017 | ||
12018 | 2015-10-16 Christian Bruel <christian.bruel@st.com> | |
12019 | ||
12020 | PR target/67745 | |
12021 | * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P. | |
12022 | (FUNCTION_BOUNDARY_P): New macro: | |
12023 | * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function): | |
12024 | New hook. | |
12025 | * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document. | |
12026 | * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook. | |
12027 | * target.def (TARGET_RELAYOUT_FUNCTION): Likewise. | |
12028 | * function.c (allocate_struct_function): Call | |
12029 | relayout_function hook. | |
12030 | * passes.c (rest_of_decl_compilation): Likewise. | |
12031 | ||
12032 | 2015-10-16 Christian Bruel <christian.bruel@st.com> | |
12033 | ||
12034 | PR target/67745 | |
12035 | * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to: | |
12036 | * config/arm/arm.c (arm_option_override_internal): Call | |
12037 | arm_override_options_after_change_1. | |
12038 | (arm_override_options_after_change): New function. | |
12039 | (arm_override_options_after_change_1): Likewise. | |
12040 | (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook. | |
12041 | ||
12042 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
12043 | ||
12044 | Revert: | |
12045 | * ipa-icf-gimple.c (func_checker::compare_operand): Compare only | |
12046 | empty constructors. | |
12047 | ||
12048 | 2015-10-16 Eric Botcazou <ebotcazou@adacore.com> | |
12049 | ||
12050 | * tree.c (recompute_tree_invariant_for_addr_expr): Assert that the | |
12051 | argument is an ADDR_EXPR. | |
12052 | ||
12053 | 2015-10-16 Richard Biener <rguenther@suse.de> | |
12054 | ||
12055 | * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build | |
12056 | and get rid of force_gimple_operand_gsi. | |
12057 | (gimple_fold_builtin_memory_chk): Likewise. | |
12058 | (gimple_fold_builtin_stxcpy_chk): Likewise. | |
12059 | (rewrite_to_defined_overflow): Likewise. | |
12060 | (gimple_convert_to_ptrofftype): New function. | |
12061 | * gimple-fold.h (gimple_convert_to_ptrofftype): New overload, declare. | |
12062 | ||
12063 | 2015-10-16 Richard Biener <rguenther@suse.de> | |
12064 | ||
12065 | * tree-nested.h (build_addr): Adjust prototype. | |
12066 | * tree-nested.c (build_addr): Remove context argument and use | |
12067 | mark_addressable. | |
12068 | (get_static_chain): Adjust calls to build_addr. | |
12069 | (convert_nl_goto_reference): Likewise. | |
12070 | (convert_tramp_reference_op): Likewise. | |
12071 | (finalize_nesting_tree_1): Likewise. | |
12072 | * value-prof.c (gimple_ic): Likewise. | |
12073 | * gimple-low.c (lower_builtin_setjmp): Likewise. | |
12074 | * tree-parloops.c (take_address_of): Likewise. | |
12075 | (create_call_for_reduction_1): Likewise. | |
12076 | * tree-profile.c (gimple_gen_interval_profiler): Likewise. | |
12077 | (gimple_gen_ic_func_profiler): Likewise. | |
12078 | ||
12079 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
12080 | ||
12081 | * ipa-icf-gimple.c (func_checker::compare_operand): Compare only | |
12082 | empty constructors. | |
12083 | ||
12084 | 2015-10-16 Michael Collison <michael.collison@linaro.org> | |
dfb6d139 | 12085 | Andrew Pinski <andrew.pinski@caviumnetworks.com> |
fb2c1edd | 12086 | |
12087 | * match.pd ((x < y) && (x < z) -> x < min (y,z), | |
12088 | (x > y) and (x > z) -> x > max (y,z)) | |
12089 | ||
12090 | 2015-10-15 Gregor Richards <gregor.richards@uwaterloo.ca> | |
12091 | Szabolcs Nagy <szabolcs.nagy@arm.com> | |
12092 | ||
12093 | * config/microblaze/linux.h (MUSL_DYNAMIC_LINKER): Define. | |
12094 | (DYNAMIC_LINKER): Renamed to ... | |
12095 | (GLIBC_DYNAMIC_LINKER): This. | |
12096 | (SUBTARGET_EXTRA_SPECS): Use GNU_USER_DYNAMIC_LINKER. | |
12097 | ||
12098 | 2015-10-15 Marek Polacek <polacek@redhat.com> | |
12099 | ||
12100 | * tree-ssa-reassoc.c (attempt_builtin_copysign): Call | |
12101 | gimple_call_builtin instead of is_gimple_call. | |
12102 | ||
12103 | 2015-10-15 Richard Biener <rguenther@suse.de> | |
12104 | ||
12105 | * tree-vect-stmts.c (vect_init_vector): Remove unused vars. | |
12106 | ||
12107 | 2015-10-15 Richard Biener <rguenther@suse.de> | |
12108 | ||
12109 | * tree-vectorizer.h (vect_get_new_ssa_name): Declare. | |
12110 | * tree-vect-data-refs.c (vect_get_new_ssa_name): New helper. | |
12111 | * tree-vect-loop.c (get_initial_def_for_induction): Drop | |
12112 | use of force_gimple_operand in favor of gimple_build. | |
12113 | Use vect_get_new_ssa_name. | |
12114 | * tree-vect-stmts.c (vect_init_vector): Use vect_get_new_ssa_name. | |
12115 | (vectorizable_mask_load_store): Likewise. | |
12116 | (vectorizable_call): Likewise. | |
12117 | (vectorizable_store): Likewise. | |
12118 | (vectorizable_load): Likewise. | |
12119 | (vect_get_vec_def_for_stmt_copy): Remove redundant stmt. | |
12120 | ||
12121 | 2015-10-15 Richard Sandiford <richard.sandiford@arm.com> | |
12122 | ||
12123 | PR tree-optimization/67945 | |
12124 | * tree-pass.h (PROP_gimple_opt_math): New property flag. | |
12125 | * generic-match-head.c (canonicalize_math_p): New function. | |
12126 | * gimple-match-head.c: Include tree-pass.h. | |
12127 | (canonicalize_math_p): New function. | |
12128 | * match.pd: Group math built-in rules into simplifications | |
12129 | and canonicalizations. Guard the latter with canonicalize_math_p. | |
12130 | * tree-ssa-math-opts.c (pass_data_cse_sincos): Provide the | |
12131 | PROP_gimple_opt_math property. | |
12132 | ||
12133 | 2015-10-15 Marek Polacek <polacek@redhat.com> | |
12134 | ||
12135 | PR tree-optimization/67953 | |
12136 | * match.pd (X - (X / Y) * Y): Don't change signedness of @0. | |
12137 | ||
12138 | 2015-10-15 Jiong Wang <jiong.wang@arm.com> | |
12139 | ||
12140 | * config.gcc: Recognize "." in architecture base name for AArch64. | |
12141 | ||
12142 | 2015-10-14 Uros Bizjak <ubizjak@gmail.com> | |
12143 | ||
12144 | * config/mips/mips.h (MIPS_STACK_ALIGN): Implement using | |
12145 | ROUND_UP macro. | |
12146 | * config/mips/mips.c (mips_setup_incoming_varargs): Use | |
12147 | ROUND_DOWN to calculate off. | |
12148 | (mips_gimplify_va_arg_expr): Use ROUND_UP to calculate rsize. | |
12149 | (mips_emit_probe_stack_range): Use ROUND_DOWN to calculate | |
12150 | rounded_size. | |
12151 | ||
12152 | 2015-10-14 Eric Botcazou <ebotcazou@adacore.com> | |
12153 | ||
12154 | * gimplify.c (gimplify_addr_expr) <MEM_REF>: New case. | |
12155 | ||
12156 | 2015-10-14 Peter Bergner <bergner@vnet.ibm.com> | |
12157 | Torvald Riegel <triegel@redhat.com> | |
12158 | ||
12159 | PR target/67281 | |
12160 | * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New. | |
12161 | (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend, | |
12162 | trechkpt, treclaim, tsr, ttest): Rename define_insns from this... | |
12163 | (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend, | |
12164 | *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier. | |
12165 | (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend, | |
12166 | trechkpt, treclaim, tsr, ttest): New define_expands. | |
12167 | * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define | |
12168 | __TM_FENCE__ for htm. | |
12169 | * doc/extend.texi: Update documentation for htm builtins. | |
12170 | ||
12171 | 2015-10-14 Uros Bizjak <ubizjak@gmail.com> | |
12172 | ||
12173 | PR target/67967 | |
12174 | * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add | |
12175 | REG_CFA_EXPRESSION to aligned SSE stores. | |
12176 | ||
12177 | 2015-10-14 Jeff Law <law@redhat.com> | |
12178 | ||
12179 | * tree-ssa-threadupdate.c (thread_through_all_blocks): Bump | |
12180 | num_threaded_edges for successful FSM threads too. | |
12181 | ||
12182 | 2015-10-14 Richard Biener <rguenther@suse.de> | |
12183 | ||
12184 | * tree-vectorizer.h (vect_is_simple_use): Remove unused parameters. | |
12185 | (vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use. | |
12186 | (vect_get_vec_def_for_operand): Remove unused parameter. | |
12187 | * tree-vect-loop.c (get_initial_def_for_induction): Adjust. | |
12188 | (vect_create_epilog_for_reduction): Likewise. | |
12189 | (vectorizable_reduction): Likewise. | |
12190 | (vectorizable_live_operation): Likewise. | |
12191 | * tree-vect-patterns.c (type_conversion_p): Likewise. | |
12192 | (vect_recog_vector_vector_shift_pattern): Likewise. | |
12193 | (check_bool_pattern): Likewise. | |
12194 | * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise. | |
12195 | (vect_analyze_slp_cost_1): Likewise. | |
12196 | * tree-vect-stmts.c (process_use): Likewise. | |
12197 | (vect_get_vec_def_for_operand): Do not handle reductions. | |
12198 | (vect_get_vec_defs): Adjust. | |
12199 | (vectorizable_mask_load_store): Likewise. | |
12200 | (vectorizable_call): Likewise. | |
12201 | (vectorizable_simd_clone_call): Likewise. | |
12202 | (vect_get_loop_based_defs): Likewise. | |
12203 | (vectorizable_conversion): Likewise. | |
12204 | (vectorizable_assignment): Likewise. | |
12205 | (vectorizable_shift): Likewise. | |
12206 | (vectorizable_operation): Likewise. | |
12207 | (vectorizable_store): Likewise. | |
12208 | (vectorizable_load): Likewise. | |
12209 | (vect_is_simple_cond): Likewise. | |
12210 | (vectorizable_condition): Likewise. | |
12211 | (vect_is_simple_use): Remove unused parameters. | |
12212 | (vect_is_simple_use_1): Adjust and rename. | |
12213 | ||
12214 | 2015-10-14 Richard Biener <rguenther@suse.de> | |
12215 | ||
12216 | PR tree-optimization/67915 | |
12217 | * match.pd: Handle comparisons of addresses of STRING_CSTs. | |
12218 | * gimplify.c (gimplify_cond_expr): Fold the GIMPLE conds we build. | |
12219 | * tree-cfgcleanup.c (cleanup_control_expr_graph): Remove GENERIC | |
12220 | stmt folding in favor of GIMPLE one. | |
12221 | ||
12222 | 2015-10-14 Marek Polacek <polacek@redhat.com> | |
12223 | ||
12224 | PR tree-optimization/67815 | |
12225 | * tree-ssa-reassoc.c (attempt_builtin_copysign): New function. | |
12226 | (reassociate_bb): Call it. | |
12227 | ||
12228 | 2015-10-14 Richard Biener <rguenther@suse.de> | |
12229 | ||
12230 | * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): | |
12231 | Reset info at start. | |
12232 | (vect_analyze_group_access_1): Add debug print. | |
12233 | * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): Rename ... | |
12234 | (vect_compute_single_scalar_iteration_cost): ... to this. | |
12235 | (vect_analyze_loop_2): Adjust. | |
12236 | * tree-vect-slp.c (struct _slp_oprnd_info): Move from ... | |
12237 | * tree-vectorizer.h: ... here. | |
12238 | (add_stmt_info_to_vec): Remove. | |
12239 | * tree-vect-stmts.c (record_stmt_cost): Inline add_stmt_info_to_vec. | |
12240 | ||
12241 | 2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
12242 | ||
12243 | * targhooks.c (default_target_option_pragma_parse): Do not warn if | |
12244 | called on behalf of "#pragma GCC pop_options". | |
12245 | ||
12246 | 2015-10-14 Tom de Vries <tom@codesourcery.com> | |
12247 | ||
12248 | * cfganal.c (verify_no_unreachable_blocks): New function. | |
12249 | (inverted_post_order_compute) [ENABLE_CHECKING]: Call | |
12250 | verify_no_unreachable_blocks. | |
12251 | cfganal.h (verify_no_unreachable_blocks): Declare. | |
12252 | ||
12253 | 2015-10-13 Mikhail Maltsev <maltsevm@gmail.com> | |
12254 | ||
12255 | * common.opt: Add flag_checking. | |
12256 | * system.h (CHECKING_P): Define. | |
12257 | ||
12258 | 2015-10-13 Jakub Jelinek <jakub@redhat.com> | |
12259 | Aldy Hernandez <aldyh@redhat.com> | |
12260 | Ilya Verbin <ilya.verbin@intel.com> | |
12261 | ||
12262 | * builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, | |
12263 | BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR, | |
12264 | BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, | |
12265 | BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, | |
12266 | BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, | |
12267 | BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR, | |
12268 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT, | |
12269 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG, | |
12270 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL, | |
12271 | BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New. | |
12272 | (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR, | |
12273 | BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR, | |
12274 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove. | |
12275 | * cgraph.h (enum cgraph_simd_clone_arg_type): Add | |
12276 | SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP, | |
12277 | SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and | |
12278 | SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP. | |
12279 | (struct cgraph_simd_clone_arg): Adjust comment. | |
12280 | * coretypes.h (struct gomp_ordered): New forward decl. | |
12281 | * gimple.c (gimple_build_omp_critical): Add CLAUSES argument, | |
12282 | set critical clauses to it. | |
12283 | (gimple_build_omp_ordered): Return gomp_ordered * instead of | |
12284 | gimple *. Add CLAUSES argument, set ordered clauses to it. | |
12285 | (gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and | |
12286 | GIMPLE_OMP_ORDERED. | |
12287 | * gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to | |
12288 | GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS. | |
12289 | * gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit | |
12290 | to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber | |
12291 | GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust | |
12292 | GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO. | |
12293 | Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add | |
12294 | GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA, | |
12295 | renumber | |
12296 | GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}. | |
12297 | (gomp_critical): Add clauses field. | |
12298 | (gomp_ordered): New struct. | |
12299 | (is_a_helper <gomp_ordered *>::test): New inline. | |
12300 | (gimple_build_omp_critical): Add CLAUSES argument. | |
12301 | (gimple_build_omp_ordered): Likewise. Return gomp_ordered * | |
12302 | instead of gimple *. | |
12303 | (gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr, | |
12304 | gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses, | |
12305 | gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses, | |
12306 | gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New | |
12307 | inline functions. | |
12308 | * gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop. | |
12309 | (dump_gimple_omp_target): Handle enter data and exit data. | |
12310 | (dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here. | |
12311 | (dump_gimple_omp_critical): Print clauses. | |
12312 | (dump_gimple_omp_ordered): New function. | |
12313 | (dump_gimple_omp_task): Handle taskloop. | |
12314 | (pp_gimple_stmt_1): Use dump_gimple_omp_ordered for | |
12315 | GIMPLE_OMP_ORDERED. | |
12316 | * gimple-walk.c (walk_gimple_op): Walk clauses on | |
12317 | GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED. | |
12318 | * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY. | |
12319 | (enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE. | |
12320 | (struct gimplify_omp_ctx): Add loop_iter_var, | |
12321 | target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays | |
12322 | and target_firstprivatize_array_bases fields. | |
12323 | (delete_omp_context): Release loop_iter_var. | |
12324 | (gimplify_bind_expr): Handle ORT_NONE. | |
12325 | (maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of | |
12326 | ORT_COMBINED_TARGET. | |
12327 | (is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and | |
12328 | OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}. | |
12329 | (omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for | |
12330 | ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle | |
12331 | ctx->target_map_scalars_firstprivate. | |
12332 | (omp_add_variable): Handle ORT_NONE. Allow map clause together with | |
12333 | data sharing clauses. For data sharing clause with VLA decl | |
12334 | on omp target/target data don't add firstprivate for the pointer. | |
12335 | Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P. | |
12336 | (omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for | |
12337 | the addition of ORT_COMBINED_TARGET. | |
12338 | (omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET | |
12339 | for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of | |
12340 | pointers as zero length array sections and | |
12341 | ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate | |
12342 | data sharing. | |
12343 | (omp_check_private): Handle omp_member_access_dummy_var vars. | |
12344 | (find_decl_expr): New function. | |
12345 | (gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF | |
12346 | complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code. | |
12347 | Handle OMP_CLAUSE_GANG separately. Handle | |
12348 | OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN} | |
12349 | clauses. Diagnose linear clause on combined | |
12350 | distribute {, parallel for} simd construct, unless it is the loop | |
12351 | iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER. | |
12352 | Handle map clauses with COMPONENT_REF. Initialize | |
12353 | ctx->target_map_scalars_firstprivate, | |
12354 | ctx->target_firstprivatize_array_bases and | |
12355 | ctx->target_map_pointers_as_0len_arrays. Add firstprivate for | |
12356 | linear clause even to target region if combined. Remove | |
12357 | map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from | |
12358 | OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER | |
12359 | map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias. | |
12360 | Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle | |
12361 | OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. | |
12362 | For linear clause on worksharing loop combined with parallel add | |
12363 | shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION | |
12364 | with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on | |
12365 | omp_member_access_dummy_var vars. Add lastprivate clause to outer | |
12366 | taskloop if needed. | |
12367 | (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY. | |
12368 | If gimplify_omp_ctxp->target_firstprivatize_array_bases, use | |
12369 | GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of | |
12370 | GOMP_MAP_POINTER. | |
12371 | (gimplify_adjust_omp_clauses): Add CODE argument. Handle removal | |
12372 | of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen | |
12373 | in target body. Handle removal of struct mapping if struct is not | |
12374 | seen in target body. Remove GOMP_MAP_STRUCT map clause on | |
12375 | OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the | |
12376 | addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER | |
12377 | instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases | |
12378 | for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map | |
12379 | clause appear together. Handle | |
12380 | OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map | |
12381 | clause if it has map-type-modifier always. Handle | |
12382 | OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN} | |
12383 | clauses. | |
12384 | (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task): | |
12385 | Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses | |
12386 | callers. | |
12387 | (gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize | |
12388 | loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate | |
12389 | iterators in doacross loops. | |
12390 | (gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and | |
12391 | gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET | |
12392 | for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET | |
12393 | for the addition of ORT_COMBINED_TARGET. | |
12394 | (gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and | |
12395 | gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA | |
12396 | and OMP_TARGET_EXIT_DATA. | |
12397 | (gimplify_omp_ordered): New function. | |
12398 | (gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and | |
12399 | OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED. | |
12400 | Gimplify clauses on OMP_CRITICAL. | |
12401 | * internal-fn.c (expand_GOMP_SIMD_ORDERED_START, | |
12402 | expand_GOMP_SIMD_ORDERED_END): New functions. | |
12403 | * internal-fn.def (GOMP_SIMD_ORDERED_START, | |
12404 | GOMP_SIMD_ORDERED_END): New internal functions. | |
12405 | * omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START, | |
12406 | BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START, | |
12407 | BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START, | |
12408 | BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START, | |
12409 | BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START, | |
12410 | BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START, | |
12411 | BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START, | |
12412 | BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START, | |
12413 | BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT, | |
12414 | BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT, | |
12415 | BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP, | |
12416 | BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins. | |
12417 | (BUILT_IN_GOMP_TASK): Add INT argument to the end. | |
12418 | (BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41, | |
12419 | adjust type. | |
12420 | (BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to | |
12421 | GOMP_target_data_41, adjust type. | |
12422 | (BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to | |
12423 | GOMP_target_update_41, adjust type. | |
12424 | * omp-low.c (struct omp_region): Adjust comments, add ord_stmt | |
12425 | field. | |
12426 | (struct omp_for_data): Add ordered and simd_schedule fields. | |
12427 | (omp_member_access_dummy_var, unshare_and_remap_1, | |
12428 | unshare_and_remap, is_taskloop_ctx): New functions. | |
12429 | (is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx. | |
12430 | (extract_omp_for_data): Handle taskloops and doacross loops | |
12431 | and simd schedule modifier. | |
12432 | (omp_adjust_chunk_size): New function. | |
12433 | (get_ws_args_for): Use it. | |
12434 | (lookup_sfield): Change first argument to splay_tree_key, | |
12435 | add overload with first argument tree. | |
12436 | (maybe_lookup_field): Likewise. | |
12437 | (use_pointer_for_field): Handle omp_member_access_dummy_var. | |
12438 | (omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in | |
12439 | task_shared_vars, clear TREE_ADDRESSABLE on the copy. | |
12440 | (build_outer_var_ref): Add LASTPRIVATE argument, handle | |
12441 | taskloops and omp_member_access_dummy_var vars. | |
12442 | (build_sender_ref): Change first argument to splay_tree_key, | |
12443 | add overload with first argument tree. | |
12444 | (install_var_field): For mask & 8 use &DECL_UID as key instead | |
12445 | of the tree itself. | |
12446 | (fixup_child_record_type): Const qualify *.omp_data_i. | |
12447 | (scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE, | |
12448 | C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses, | |
12449 | OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and | |
12450 | OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause | |
12451 | on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE. | |
12452 | (create_omp_child_function): Set TREE_READONLY on .omp_data_i. | |
12453 | (find_combined_for): Allow searching for different GIMPLE_OMP_FOR | |
12454 | kinds. | |
12455 | (add_taskreg_looptemp_clauses): New function. | |
12456 | (scan_omp_parallel): Use it. | |
12457 | (scan_omp_task): Likewise. | |
12458 | (finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. | |
12459 | For taskloop, move fields for the first two _LOOPTEMP_ clauses first. | |
12460 | (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA | |
12461 | and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the | |
12462 | sandwiched taskloop constructs. Type check | |
12463 | OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd | |
12464 | region. Diagnose depend(source) or depend(sink:...) on | |
12465 | target constructs or task/taskloop. | |
12466 | (handle_simd_reference): Use get_name. | |
12467 | (lower_rec_input_clauses): Likewise. Ignore all | |
12468 | OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct. | |
12469 | Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var | |
12470 | before passing it to omp_clause_{default,copy}_ctor. Handle | |
12471 | OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set | |
12472 | lastprivate_firstprivate flag for linear that needs copyin and | |
12473 | copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA. | |
12474 | (lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE | |
12475 | on taskloop lookup decl in outer context. Pass true to | |
12476 | build_outer_var_ref lastprivate argument. Handle | |
12477 | OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global | |
12478 | outside of outer taskloop for. | |
12479 | (lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF | |
12480 | OMP_CLAUSE_DECL. | |
12481 | (lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop | |
12482 | GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle | |
12483 | omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION | |
12484 | with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload. | |
12485 | (lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL | |
12486 | abstract origin. Handle omp_member_access_dummy_var vars. | |
12487 | (expand_parallel_call): Use expand_omp_build_assign. | |
12488 | (expand_task_call): Handle taskloop construct expansion. Add | |
12489 | REGION argument. Use GOMP_TASK_* defines instead of hardcoded | |
12490 | integers. Add priority argument to GOMP_task* calls. Or in | |
12491 | GOMP_TASK_FLAG_PRIORITY into flags if priority is present for | |
12492 | GOMP_task call. | |
12493 | (expand_omp_build_assign): Add prototype. Add AFTER | |
12494 | argument, if true emit statements after *GSI_P and continue linking. | |
12495 | (expand_omp_taskreg): Adjust expand_task_call caller. | |
12496 | (expand_omp_for_init_counts): Rename zero_iter_bb argument to | |
12497 | zero_iter1_bb and first_zero_iter to first_zero_iter1, add | |
12498 | zero_iter2_bb and first_zero_iter2 arguments, handle computation | |
12499 | of counts even for ordered loops. | |
12500 | (expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt. | |
12501 | (expand_omp_ordered_source, expand_omp_ordered_sink, | |
12502 | expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New | |
12503 | functions. | |
12504 | (expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear | |
12505 | clauses on worksharing loop. Handle DOACROSS loop expansion. | |
12506 | (expand_omp_for_static_nochunk): Handle linear clauses on | |
12507 | worksharing loop. Adjust expand_omp_for_init_counts | |
12508 | callers. | |
12509 | (expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size. | |
12510 | (expand_omp_simd): Handle addressable fd->loop.v. Adjust | |
12511 | expand_omp_for_init_counts callers. | |
12512 | (expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New | |
12513 | functions. | |
12514 | (expand_omp_for): Call expand_omp_taskloop_for_* for taskloop. | |
12515 | Handle doacross loops. | |
12516 | (expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and | |
12517 | GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to | |
12518 | GOMP_target_{41,update_41,enter_exit_data} libcalls. | |
12519 | (expand_omp): Don't expand ordered depend constructs here, record | |
12520 | ord_stmt instead for later expand_omp_for_generic. | |
12521 | (build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and | |
12522 | GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend | |
12523 | clause as stand-alone directive. | |
12524 | (lower_omp_ordered_clauses): New function. | |
12525 | (lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND | |
12526 | don't lower anything. | |
12527 | (lower_omp_for_lastprivate): Use last _looptemp_ clause | |
12528 | on taskloop for comparison. | |
12529 | (lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL | |
12530 | and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during | |
12531 | expansion for linear adjustments. | |
12532 | (create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. | |
12533 | (lower_depend_clauses): Assert not seeing sink/source depend kinds. | |
12534 | Set TREE_ADDRESSABLE on array. Change first argument from gimple * | |
12535 | to tree * pointing to the stmt's clauses. | |
12536 | (lower_omp_taskreg): Adjust lower_depend_clauses caller. | |
12537 | (lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA | |
12538 | and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses, | |
12539 | GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT} | |
12540 | map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR | |
12541 | clauses. Always use short kind and 8-bit align shift. | |
12542 | (lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro. | |
12543 | (struct lower_omp_regimplify_operands_data): New type. | |
12544 | (lower_omp_regimplify_operands_p, lower_omp_regimplify_operands): | |
12545 | New functions. | |
12546 | (lower_omp_1): Use lower_omp_regimplify_operands instead of | |
12547 | gimple_regimplify_operands. | |
12548 | (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and | |
12549 | GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend | |
12550 | clause as stand-alone directive. | |
12551 | (simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND. | |
12552 | (simd_clone_mangle): Mangle the various linear kinds | |
12553 | per the new ABI. | |
12554 | (simd_clone_adjust_argument_types): Handle | |
12555 | SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP. | |
12556 | (simd_clone_init_simd_arrays): Don't do anything for uval. | |
12557 | (simd_clone_adjust): Handle | |
12558 | SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like | |
12559 | SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP. | |
12560 | Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP. | |
12561 | * omp-low.h (omp_member_access_dummy_var): New prototype. | |
12562 | * passes.def (pass_simduid_cleanup): Schedule another copy of the | |
12563 | pass after all optimizations. | |
12564 | * tree.c (omp_clause_code_name): Add entries for | |
12565 | OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} | |
12566 | and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}. | |
12567 | (omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION | |
12568 | arguments to 5 and for OMP_CLAUSE_ORDERED to 1. | |
12569 | (walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and | |
12570 | OMP_CLAUSE_REDUCTION 5 arguments. Handle | |
12571 | OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} | |
12572 | and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD} | |
12573 | clauses. | |
12574 | * tree-core.h (enum omp_clause_linear_kind): New. | |
12575 | (struct tree_omp_clause): Change type of map_kind | |
12576 | from unsigned char to unsigned int. Add subcode.if_modifier | |
12577 | and subcode.linear_kind fields. | |
12578 | (enum omp_clause_code): Add | |
12579 | OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT} | |
12580 | and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}. | |
12581 | (OMP_CLAUSE_REDUCTION): Document | |
12582 | OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER. | |
12583 | (enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}. | |
12584 | * tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand. | |
12585 | (OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES | |
12586 | operand. | |
12587 | (OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES | |
12588 | operand. | |
12589 | (OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree | |
12590 | codes. | |
12591 | * tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP. | |
12592 | (OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned | |
12593 | char. | |
12594 | (OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd. | |
12595 | (OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix. | |
12596 | (OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA. | |
12597 | (OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED, | |
12598 | OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER, | |
12599 | OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES, | |
12600 | OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV, | |
12601 | OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD, | |
12602 | OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER, | |
12603 | OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES, | |
12604 | OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES, | |
12605 | OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR, | |
12606 | OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define. | |
12607 | * tree-inline.c (remap_gimple_stmt): Handle clauses on | |
12608 | GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For | |
12609 | IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops. | |
12610 | * tree-nested.c (convert_nonlocal_omp_clauses): Handle | |
12611 | OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD} | |
12612 | and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP} | |
12613 | clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER. | |
12614 | (convert_local_omp_clauses): Likewise. | |
12615 | * tree-pretty-print.c (dump_omp_clause): Handle | |
12616 | OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD} | |
12617 | and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP} | |
12618 | clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR, | |
12619 | OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND, | |
12620 | OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for | |
12621 | GOMP_MAP_FORCE_DEALLOC. Handle | |
12622 | GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}. | |
12623 | (dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA | |
12624 | and clauses on OMP_ORDERED and OMP_CRITICAL. | |
12625 | * tree-vectorizer.c (adjust_simduid_builtins): Adjust comment. | |
12626 | Remove IFN_GOMP_SIMD_ORDERED_{START,END}. | |
12627 | (vectorize_loops): Adjust comments. | |
12628 | (pass_simduid_cleanup::execute): Likewise. | |
12629 | * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle | |
12630 | SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP. | |
12631 | * wide-int.h (wi::gcd): New. | |
12632 | ||
12633 | 2015-10-13 Uros Bizjak <ubizjak@gmail.com> | |
12634 | ||
12635 | * config/i386/i386.c (classify_argument): Use CEIL where applicable. | |
12636 | (ix86_function_arg_advance): Ditto. | |
12637 | (ix86_function_arg): Ditto. | |
12638 | (ix86_gimplify_va_arg): Ditto. | |
12639 | (ix86_class_max_nregs): Ditto. | |
12640 | (inline_memory_move_cost): Ditto. | |
12641 | (ix86_set_reg_reg_cost): Ditto. | |
12642 | * config/i386/i386.h (HARD_REGNO_NREGS): Ditto. | |
12643 | ||
dfb6d139 | 12644 | 2015-10-13 Alexandre Oliva <aoliva@redhat.com> |
fb2c1edd | 12645 | |
12646 | PR middle-end/67912 | |
12647 | * expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs. | |
12648 | ||
12649 | 2015-10-13 Uros Bizjak <ubizjak@gmail.com> | |
12650 | ||
12651 | * config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using | |
12652 | ROUND_UP macro and UNITS_PER_WORD * 2. | |
12653 | * config/sparc/sparc.c (sparc_compute_frame_size): | |
12654 | Use ROUND_UP and ROUND_DOWN macros where applicable. | |
12655 | (function_arg_record_value, function_arg_record_value_1) | |
12656 | (function_arg_record_value_1): Ditto. | |
12657 | (emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset | |
12658 | alignment to double-word. | |
12659 | (sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize. | |
12660 | (sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate | |
12661 | rounded_size. | |
12662 | ||
12663 | 2015-10-13 Nikolai Bozhenov <n.bozhenov@samsung.com> | |
12664 | ||
12665 | * rtl.h (print_insn): Fix prototype. | |
12666 | ||
12667 | 2015-10-13 Tom de Vries <tom@codesourcery.com> | |
12668 | ||
12669 | * tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or | |
12670 | -1. Add assert that returned entry matches phi argument. | |
12671 | (parallelize_loops): Move calls to init_stmt_vec_info_vec and | |
12672 | free_stmt_vec_info_vec ... | |
12673 | (gather_scalar_reductions): ... here. Initialize gimple_uids of phis | |
12674 | with -1. | |
12675 | ||
12676 | 2014-10-13 Yuri Rumyantsev <ysrumyan@gmail.com> | |
12677 | ||
12678 | PR tree-optimization/67909, 67947 | |
12679 | * tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE | |
12680 | really skip the inner loop. | |
12681 | ||
12682 | 2015-10-13 Jeff Law <law@redhat.com> | |
12683 | ||
12684 | * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): | |
12685 | Allow single block jump threading paths. | |
12686 | ||
12687 | 2015-10-13 Tom de Vries <tom@codesourcery.com> | |
12688 | ||
12689 | PR tree-optimization/67476 | |
12690 | * doc/invoke.texi (@item parloops-schedule): New item. | |
12691 | * params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5. | |
12692 | * tree-parloops.c: Include params-enum.h. | |
12693 | (create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE. | |
12694 | ||
12695 | 2015-10-13 Tom de Vries <tom@codesourcery.com> | |
12696 | ||
12697 | * Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h. | |
12698 | * params-enum.h: New file. | |
12699 | * opts.c (handle_param): Handle case that param arg is a string. | |
12700 | * params-list.h: Handle DEFPARAMENUM5 in params.def. | |
12701 | * params.c (find_param): New function, factored out of ... | |
12702 | (set_param_value): ... here. | |
12703 | (param_string_value_p): New function. | |
12704 | * params.h (struct param_info): Add value_names field. | |
12705 | (find_param, param_string_value_p): Declare. | |
12706 | ||
12707 | 2015-10-13 Tom de Vries <tom@codesourcery.com> | |
12708 | ||
12709 | PR tree-optimization/67476 | |
12710 | * omp-low.c (expand_omp_for_generic): Handle original loop tree. | |
12711 | ||
12712 | 2015-10-13 Richard Biener <rguenther@suse.de> | |
12713 | ||
12714 | * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate | |
12715 | the data dependence vector. | |
12716 | (vect_peeling_hash_insert): Get the peeling hash table as argument. | |
12717 | (vect_peeling_hash_get_lowest_cost): Likewise. | |
12718 | (vect_enhance_data_refs_alignment): Adjust. | |
12719 | (struct _vect_peel_info, struct _vect_peel_extended_info, | |
12720 | struct peel_info_hasher): Move from ... | |
12721 | * tree-vectorizer.h: ... here. | |
12722 | (LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove. | |
12723 | (LOOP_VINFO_PEELING_HTAB): Likewise. | |
12724 | (struct _loop_vec_info): Remove min_profitable_iters and | |
12725 | peeling_htab members. | |
12726 | * tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors | |
12727 | here. | |
12728 | (destroy_loop_vec_info): Adjust. | |
12729 | (vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS. | |
12730 | (vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS | |
12731 | to estimate alias versioning cost. | |
12732 | * tree-vect-slp.c (vect_analyze_slp_cost): Dump header. | |
12733 | ||
12734 | 2015-10-13 Richard Sandiford <richard.sandiford@arm.com> | |
12735 | ||
12736 | * real.h (real_isinteger): Declare. | |
12737 | * real.c (real_isinteger): New function. | |
12738 | * match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y) | |
12739 | if y is an even integer. | |
12740 | ||
12741 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
12742 | ||
12743 | revert: | |
12744 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
12745 | * cgraphbuild.c (compute_call_stmt_bb_frequency): Use | |
12746 | counts when these are more informative. | |
12747 | ||
12748 | 2015-10-12 Jeff Law <law@redhat.com> | |
12749 | ||
12750 | * tree-ssa-threadbackward.c (get_gimple_control_stmt): New function. | |
12751 | (fsm_find_control_stmt_paths): Change name of first argument to | |
12752 | more accurately relfect what it really is. Handle simplification | |
12753 | of GIMPLE_COND after finding a thread path for NAME. | |
12754 | * tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow | |
12755 | nontrivial conditions to be handled by FSM threader. | |
12756 | (thread_through_normal_block): Extract the name to looup via | |
12757 | FSM threader from COND_EXPR. | |
12758 | ||
12759 | * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove | |
12760 | restriction that traced SSA_NAME is a user variable. | |
12761 | ||
12762 | 2015-10-12 Tom de Vries <tom@codesourcery.com> | |
12763 | ||
12764 | PR tree-optimization/67476 | |
12765 | * omp-low.c (expand_omp_for_generic): Add missing phis. | |
12766 | ||
12767 | 2015-10-12 Tom de Vries <tom@codesourcery.com> | |
12768 | ||
12769 | PR tree-optimization/67476 | |
12770 | * omp-low.c (expand_omp_for_generic): Handle simple latch. | |
12771 | ||
12772 | 2015-10-12 Christophe Lyon <christophe.lyon@linaro.org> | |
12773 | ||
12774 | * config/aarch64/aarch64-simd-builtins.def: Update builtins | |
12775 | tables: add tbl3 and tbx4. | |
12776 | * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New. | |
12777 | (aarch64_tbx4v8qi): New. | |
12778 | * config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8) | |
12779 | (vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8): | |
12780 | Rewrite using builtin functions. | |
12781 | * config/aarch64/iterators.md (UNSPEC_TBX): New. | |
12782 | ||
12783 | 2015-10-12 Uros Bizjak <ubizjak@gmail.com> | |
12784 | ||
12785 | * config/rs6000/rs6000.h (RS6000_ALIGN): Implement using | |
12786 | ROUND_UP macro. | |
12787 | * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush): | |
12788 | Use ROUND_UP and ROUND_DOWN macros where applicable. | |
12789 | (rs6000_darwin64_record_arg_flush): Ditto. | |
12790 | (rs6000_function_arg): Use ROUND_UP to calculate align_words. | |
12791 | (rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate | |
12792 | rounded_size. | |
12793 | ||
12794 | 2015-10-12 Uros Bizjak <ubizjak@gmail.com> | |
12795 | ||
12796 | * config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove. | |
12797 | (AARCH64_ROUND_DOWN): Ditto. | |
12798 | * config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP. | |
12799 | ||
12800 | 2015-10-12 Richard Biener <rguenther@suse.de> | |
12801 | ||
12802 | PR ipa/67783 | |
12803 | * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add | |
12804 | code that analyzes IVs on each stmt but in a cheaper way avoiding | |
12805 | quadratic behavior. | |
12806 | ||
12807 | 2015-10-12 Nick Clifton <nickc@redhat.com> | |
12808 | ||
12809 | * config/msp430/msp430.c (msp430_mcu_names): Rename to | |
12810 | msp430_mcu_data, add fields for ISA and hardware multiply | |
12811 | support. Import latest data from the devices.csv file. | |
12812 | (msp430_override_option): Use the data from the new array. | |
12813 | (msp430_use_f5_series_hwmult): Likewise. | |
12814 | (use_32bit_hwmult): Likewise. | |
12815 | (msp430_no_hwmult): Likewise. | |
12816 | * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new | |
12817 | MCU names. | |
12818 | * doc/invoke.texi (MSP430 Options): Note that if the MCU name is | |
12819 | not recognised then no hardware multiply support is assumed and | |
12820 | that only the MSP430 ISA is allowed. | |
12821 | ||
12822 | 2015-10-12 Richard Biener <rguenther@suse.de> | |
12823 | ||
12824 | * tree-vect-loop.c (vect_analyze_loop_operations): Move cost | |
12825 | related code ... | |
12826 | (vect_analyze_loop_2): ... here. | |
12827 | ||
12828 | 2015-10-11 Jason Merrill <jason@redhat.com> | |
12829 | ||
12830 | PR c++/67557 | |
12831 | * expr.c (store_field): Call store_constructor directly when | |
12832 | storing a CONSTRUCTOR into a target smaller than its type. | |
12833 | Guard against unsafe bitwise copy. | |
12834 | ||
12835 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
12836 | ||
12837 | * cgraphbuild.c (compute_call_stmt_bb_frequency): Use | |
12838 | counts when these are more informative. | |
12839 | ||
12840 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
12841 | ||
12842 | * tree-profile.c (tree_profiling): Do not clear | |
12843 | pure/const when not instrumenting. | |
12844 | (pass tree_profile): Add dump of symtab. | |
12845 | ||
12846 | 2015-10-11 Jan Hubicka <hubicka@ucw.cz> | |
12847 | ||
12848 | * fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing | |
12849 | addresses. | |
12850 | (fold_addr_of_array_ref_difference): Likewise. | |
12851 | ||
12852 | 2015-10-11 Jeff Law <law@redhat.com> | |
12853 | ||
12854 | * tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into | |
12855 | tree-ssa-threadbackward.c. | |
12856 | (fsm_find_control_statement_thread_paths): Likewise. | |
12857 | (thread_through_normal_block): Break out FSM bits and move them | |
12858 | into a new function in tree-ssa-threadbackward.c. Call new function | |
12859 | instead. | |
12860 | Minimize header file usage. | |
12861 | * tree-ssa-threadbackward.h: New file. | |
12862 | * tree-ssa-threadbackward.c: Likewise. | |
12863 | * Makefile.in (OBJS): Add tree-ssa-threadbackward.o | |
12864 | ||
12865 | 2015-10-11 Uros Bizjak <ubizjak@gmail.com> | |
12866 | ||
12867 | * config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro. | |
12868 | ||
12869 | 2015-10-11 Segher Boessenkool <segher@kernel.crashing.org> | |
12870 | ||
12871 | PR rtl-optimization/67864 | |
12872 | * bb-reorder (reorder_basic_blocks_simple): Prefer existing | |
12873 | fallthrough edges for conditional jumps. Don't sort candidate | |
12874 | edges if not optimizing for speed. | |
12875 | ||
12876 | 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
12877 | ||
12878 | * defaults.h (REVERSE_CONDITION): New default definition. | |
12879 | * jump.c (reversed_comparison_code_parts): Adjust. | |
12880 | ||
12881 | 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
12882 | ||
12883 | * builtins.c (expand_builtin_setjmp_receiver): Don't use #if to | |
12884 | check HARD_FRAME_POINTER_IS_ARG_POINTER. | |
12885 | ||
12886 | 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
12887 | ||
12888 | * defaults.h (FRAME_ADDR_RTX): New default definition. | |
12889 | * builtins.c (expand_builtin_return_addr): Adjust. | |
12890 | ||
12891 | 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
12892 | ||
12893 | * defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition. | |
12894 | * builtins.c (expand_builtin_return_addr): Adjust. | |
12895 | ||
12896 | 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
12897 | ||
12898 | * defaults.h (SETUP_FRAME_ADDRESSES): New default definition. | |
12899 | * builtins.c (expand_builtin_return_addr): Adjust. | |
12900 | * doc/tm.texi: Likewise. | |
12901 | * doc/tm.texi.in: Likewise. | |
12902 | * except.c (expand_builtin_unwind_init): Likewise. | |
12903 | ||
12904 | 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
12905 | ||
12906 | * builtins.c (expand_builtin_return_addr): Adjust. | |
12907 | * defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition. | |
12908 | ||
12909 | 2015-10-10 Jan Hubicka <hubicka@ucw.cz> | |
12910 | ||
12911 | * tree.c (type_with_interoperable_signedness): New. | |
12912 | (gimple_canonical_types_compatible_p): Use it. | |
12913 | * tree.h (type_with_interoperable_signedness): Declare | |
12914 | ||
12915 | 2015-10-10 Jan Hubicka <hubicka@ucw.cz> | |
12916 | ||
12917 | * fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF | |
12918 | and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks | |
12919 | when OEP_ADDRESS_OF is se. | |
12920 | ||
12921 | 2015-10-10 Aditya Kumar <aditya.k7@samsung.com> | |
12922 | Sebastian Pop <s.pop@samsung.com> | |
12923 | ||
12924 | * graphite-dependences.c (scop_get_dependences): Add dump of the | |
12925 | data dependence graph. | |
12926 | * graphite-poly.c (print_isl_union_map): New. | |
12927 | (debug_isl_union_map): New. | |
12928 | * graphite-poly.h (print_isl_union_map): Declare. | |
12929 | (debug_isl_union_map): Declare. | |
12930 | ||
12931 | 2015-10-10 Aditya Kumar <aditya.k7@samsung.com> | |
12932 | Sebastian Pop <s.pop@samsung.com> | |
12933 | ||
12934 | * graphite-poly.c (print_iteration_domain): Remove verbosity. | |
12935 | Remove OpenScop formatting. | |
12936 | (print_iteration_domains): Same. | |
12937 | (debug_iteration_domain): Same. | |
12938 | (debug_iteration_domains): Same. | |
12939 | (print_pdr): Same. | |
12940 | (debug_pdr): Same. | |
12941 | (dump_gbb_cases): Same. | |
12942 | (dump_gbb_conditions): Same. | |
12943 | (print_pdrs): Same. | |
12944 | (debug_pdrs): Same. | |
12945 | (print_pbb_body): Same. | |
12946 | (print_pbb): Same. | |
12947 | (print_scop_params): Same. | |
12948 | (print_scop_context): Same. | |
12949 | (print_scop): Same. | |
12950 | (debug_pbb_domain): Same. | |
12951 | (debug_pbb): Same. | |
12952 | (debug_scop_context): Same. | |
12953 | (debug_scop): Same. | |
12954 | (debug_scop_params): Same. | |
12955 | * graphite-poly.h: Same. | |
12956 | * graphite.c (graphite_transform_loops): Same. | |
12957 | ||
12958 | 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
12959 | ||
12960 | * function.c (stack_protect_epilogue): Remove as_a<rtx_insn *> () | |
12961 | call that isn't needed. | |
12962 | ||
12963 | 2015-10-09 Jeff Law <law@redhat.com> | |
12964 | ||
12965 | * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate | |
12966 | rather than moving each name to the freelist individually. | |
12967 | ||
12968 | 2015-10-09 Steve Ellcey <sellcey@imgtec.com> | |
12969 | ||
12970 | * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs. | |
12971 | * frame-header-opt.c: New file. | |
12972 | * config/mips/mips-proto.h (mips_register_frame_header_opt): | |
12973 | Add prototype. | |
12974 | * config/mips/mips.c (mips_compute_frame_info): Check | |
12975 | optimize_call_stack flag. | |
12976 | (mips_option_override): Register new frame_header_opt pass. | |
12977 | (mips_frame_info, mips_int_mask, mips_shadow_set, | |
12978 | machine_function): Move these types to... | |
12979 | * config/mips/mips.h: here. | |
12980 | (machine_function): Add does_not_use_frame_header and | |
12981 | optimize_call_stack fields. | |
12982 | * config/mips/t-mips (frame-header-opt.o): Add new make rule. | |
12983 | * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt): | |
12984 | Document new flags. | |
12985 | * config/mips/mips.opt (mframe-header-opt): Add new option. | |
12986 | ||
12987 | 2015-10-09 Uros Bizjak <ubizjak@gmail.com> | |
12988 | ||
12989 | * config/i386/i386.c | |
12990 | (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use | |
12991 | ROUND_DOWN where applicable. | |
12992 | ||
12993 | 2015-10-09 Jeff Law <law@redhat.com> | |
12994 | ||
12995 | * tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the | |
12996 | correct statement. | |
12997 | ||
12998 | 2015-10-09 Renlin Li <renlin.li@arm.com> | |
12999 | ||
13000 | * config/arm/neon.md (neon_vuzp<mode>_insn): Add & modifier for | |
13001 | operands[0] and operands[2]. | |
13002 | (neon_vtrn<mode>_insn): Likewise. | |
13003 | (neon_vzip<mode>_insn): Likewise. | |
13004 | ||
13005 | 2015-10-09 Andre Vieira <andre.simoesdiasvieira@arm.com> | |
13006 | ||
13007 | * match.pd: ((X inner_op C0) outer_op C1) New pattern. | |
13008 | ((X & C2) << C1): Expand to... | |
13009 | (X {&,^,|} C2 << C1): ...This. | |
13010 | ((X & C2) >> C1): Expand to... | |
13011 | (X {&,^,|} C2 >> C1): ...This. | |
13012 | ||
13013 | 2015-10-09 Alexander Fomin <alexander.fomin@intel.com> | |
13014 | ||
13015 | PR target/67895 | |
13016 | * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"): | |
13017 | Adjust embedded rounding/SAE specifier position. | |
13018 | (define_insn "sse_cvtsi2ssq<round_name>"): Likewise. | |
13019 | (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise. | |
13020 | (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise. | |
13021 | (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise. | |
13022 | (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"): | |
13023 | Likewise. | |
13024 | (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise. | |
13025 | ||
13026 | 2015-10-09 Martin Jambor <mjambor@suse.cz> | |
13027 | ||
13028 | tree-optimization/67794 | |
13029 | * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish | |
13030 | between types of state,ents but accept original definitions as a | |
13031 | parameter. | |
13032 | (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to | |
13033 | iterate over definitions. | |
13034 | ||
13035 | 2015-10-09 James Norris <jnorris@codesourcery.com> | |
13036 | ||
13037 | * config/rs6000/rs6000.c (rs6000_offload_options): New. | |
13038 | (TARGET_OFFLOAD_OPTIONS): New. | |
13039 | ||
dfb6d139 | 13040 | 2015-10-09 Alexandre Oliva <aoliva@redhat.com> |
fb2c1edd | 13041 | |
13042 | PR middle-end/67891 | |
13043 | * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test. | |
13044 | ||
13045 | PR middle-end/67766 | |
13046 | * function.c (expand_function_end): Move return value | |
13047 | promotion past the handling of PARALLELs and CONCATs. | |
13048 | ||
13049 | PR rtl-optimization/67828 | |
13050 | * tree-ssa-loop-unswitch.c: Include tree-ssa.h. | |
13051 | (tree_may_unswitch_on): Don't unswitch on expressions | |
13052 | involving undefined values. | |
13053 | ||
13054 | 2015-10-09 Richard Biener <rguenther@suse.de> | |
13055 | ||
13056 | * genmatch.c (print_operand): Fix formatting. | |
13057 | (dt_node::append_simplify): Warn for multiple simplifiers | |
13058 | that match the same pattern. | |
13059 | * match.pd (log (exp @0)): Remove duplicates. | |
13060 | ||
13061 | 2015-10-09 Richard Biener <rguenth@suse.de> | |
13062 | ||
13063 | PR target/67366 | |
13064 | * gimple-fold.c (optabs-query.h): Include | |
13065 | (gimple_fold_builtin_memory_op): Allow unaligned stores | |
13066 | when movmisalign_optabs are available. | |
13067 | ||
13068 | 2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
13069 | ||
13070 | PR target/67366 | |
13071 | * config/arm/arm.md (movmisalign<mode>): New. | |
13072 | * config/arm/iterators.md (HSI): New. | |
13073 | ||
13074 | 2015-10-09 Richard Biener <rguenther@suse.de> | |
13075 | ||
13076 | PR tree-optimization/67891 | |
13077 | * gimple-match.h (gimple_simplified_result_is_gimple_val): | |
13078 | New helper. | |
13079 | (gimple_resimplify1): Declare. | |
13080 | (gimple_resimplify2): Likewise. | |
13081 | (gimple_resimplify3): Likewise. | |
13082 | * gimple-match-head.c (gimple_resimplify1): Export. | |
13083 | (gimple_resimplify2): Likewise. | |
13084 | (gimple_resimplify3): Likewise. | |
13085 | (maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val. | |
13086 | * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise. | |
13087 | * tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1 | |
13088 | to avoid creating stmts without VN info. | |
13089 | ||
13090 | 2015-10-08 Jan Hubicka <hubicka@ucw.cz> | |
13091 | ||
13092 | * ipa-icf.c (sem_item::compare_symbol_references): Fix use | |
13093 | of availability. | |
13094 | ||
13095 | 2015-10-08 Jeff Law <law@redhat.com> | |
13096 | ||
13097 | * value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef | |
13098 | and release_ssa_name in two places. | |
13099 | (gimple_stringop_fixed_value): Similarly. | |
13100 | ||
13101 | * tree-ssa-loop-im.c (rewrite_bittest): Add missing call to | |
13102 | release_defs. | |
13103 | ||
13104 | * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to | |
13105 | unlink_stmt_vdef and release_ssa_name_fn. | |
13106 | ||
13107 | * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to | |
13108 | release_defs. | |
13109 | ||
13110 | 2015-10-08 H.J. Lu <hongjiu.lu@intel.com> | |
13111 | ||
13112 | * config/i386/i386.c (ix86_compute_frame_layout): Round up the | |
13113 | SSE register save area to 16 bytes only if the incoming stack | |
13114 | boundary is no less than 16 bytes. | |
13115 | ||
13116 | 2015-10-08 Jeff Law <law@redhat.com> | |
13117 | ||
13118 | * tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to | |
13119 | release_ssa_name. Fix typo in comment. | |
13120 | ||
13121 | 2015-10-08 Nathan Sidwell <nathan@acm.org> | |
13122 | ||
13123 | * config/nvptx/nvptx.h (struct machine_function): Add comment. | |
13124 | * config/nvptx/nvptx.c (nvptx_declare_function_name): Functions | |
13125 | may return pointer as well as in memory. | |
13126 | (nvptx_output_return): Likewise. | |
13127 | ||
13128 | 2015-10-08 Richard Sandiford <richard.sandiford@arm.com> | |
13129 | ||
13130 | * builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete. | |
13131 | (fold_builtin_1): Update accordingly. Handle constant arguments here. | |
13132 | * match.pd: Add rules previously handled by fold_builtin_sqrt | |
13133 | and fold_builtin_cbrt. | |
13134 | ||
13135 | 2015-10-08 Richard Sandiford <richard.sandiford@arm.com> | |
13136 | ||
13137 | * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param. | |
13138 | * doc/invoke.texi (--param max-ssa-name-query-depth): Document. | |
13139 | * fold-const.h (tree_unary_nonnegative_warnv_p) | |
13140 | (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p) | |
13141 | (tree_expr_nonnegative_warnv_p): Add depth parameters. | |
13142 | * fold-const.c: Include gimple-fold.h and params.h. | |
13143 | (tree_ssa_name_nonnegative_warnv_p): New function. | |
13144 | (tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p) | |
13145 | (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p) | |
13146 | (tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p): | |
13147 | Add a depth parameter and increment it for recursive calls to | |
13148 | tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p | |
13149 | to handle SSA names. | |
13150 | * gimple-fold.h (gimple_val_nonnegative_real_p): Delete. | |
13151 | (gimple_stmt_nonnegative_warnv_p): Declare. | |
13152 | * tree-vrp.c (remove_range_assertions): Remove assert that condition | |
13153 | cannot be proven false. | |
13154 | (gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p) | |
13155 | (gimple_stmt_nonnegative_warnv_p): Move to... | |
13156 | * gimple-fold.c: ...here. Add depth parameters and pass them | |
13157 | down to the tree routines. Accept statements that aren't | |
13158 | assignments or calls but just return false for them. | |
13159 | (gimple_val_nonnegative_real_p): Delete. | |
13160 | * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use | |
13161 | tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p. | |
13162 | Check HONOR_NANs first. | |
13163 | ||
13164 | 2015-10-08 Martin Jambor <mjambor@suse.cz> | |
13165 | ||
13166 | * ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove | |
13167 | unnecessary MIN. | |
13168 | ||
13169 | 2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com> | |
13170 | ||
13171 | * tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi | |
13172 | in the tail of outer-loop. | |
13173 | ||
13174 | 2015-10-08 David Edelsohn <dje.gcc@gmail.com> | |
13175 | ||
13176 | * config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always | |
13177 | return UI_NONE. | |
13178 | ||
13179 | 2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com> | |
13180 | ||
13181 | * tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and | |
13182 | "cfghooks.h", add prototypes for introduced new functions. | |
13183 | (tree_ssa_unswitch_loops): Use from innermost loop iterator, move all | |
13184 | checks on ability of loop unswitching to tree_unswitch_single_loop; | |
13185 | invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending | |
13186 | on innermost loop check. | |
13187 | (tree_unswitch_single_loop): Add all required checks on ability of | |
13188 | loop unswitching under zero recursive level guard. | |
13189 | (tree_unswitch_outer_loop): New function. | |
13190 | (find_loop_guard): Likewise. | |
13191 | (empty_bb_without_guard_p): Likewise. | |
13192 | (used_outside_loop_p): Likewise. | |
13193 | (get_vop_from_header): Likewise. | |
13194 | (hoist_guard): Likewise. | |
13195 | (check_exit_phi): Likewise. | |
13196 | ||
13197 | 2015-10-08 Marek Polacek <polacek@redhat.com> | |
13198 | ||
13199 | * tree-ssa-reassoc.c (dump_ops_vector): Print newline after each | |
13200 | ops element. | |
13201 | ||
13202 | 2015-10-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
13203 | ||
13204 | PR c/65345 | |
13205 | * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use | |
13206 | create_tmp_var_raw instead of create_tmp_var. | |
13207 | ||
13208 | 2015-10-07 Jan Hubicka <hubicka@ucw.cz> | |
13209 | ||
13210 | * expr.c (store_expr_with_bounds): Handle aggregate moves from | |
13211 | BLKmode. | |
13212 | * gimple-expr.c (useless_type_conversion_p): Do not use TYPE_CANONICAL | |
13213 | to define gimple type system; compare aggregates only by size. | |
13214 | ||
13215 | 2015-10-07 Jeff Law <law@redhat.com> | |
13216 | ||
13217 | * tree-ssa-dom.c (optimize_stmt): Don't set LOOPS_NEED_FIXUP here. | |
13218 | * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Do it | |
13219 | here instead. Tighten test to avoid setting LOOPS_NEED_FIXUP | |
13220 | unnecessarily. | |
13221 | ||
13222 | 2015-10-07 Aditya Kumar <aditya.k7@samsung.com> | |
13223 | Sebastian Pop <s.pop@samsung.com> | |
13224 | ||
13225 | * graphite-dependences.c (scop_get_dependences): Do not use SCOP_BBS. | |
13226 | * graphite-isl-ast-to-gimple.c (get_max_schedule_dimensions): Same. | |
13227 | (generate_isl_schedule): Same. | |
13228 | * graphite-optimize-isl.c (scop_get_domains): Same. | |
13229 | (apply_schedule_map_to_scop): Same. | |
13230 | * graphite-poly.c (print_iteration_domains): Same. | |
13231 | (remove_gbbs_in_scop): Same. | |
13232 | (new_scop): Same. | |
13233 | (free_scop): Same. | |
13234 | (print_scop): Same. | |
13235 | * graphite-poly.h (struct scop): Rename bbs to pbbs. | |
13236 | (SCOP_BBS): Remove. | |
13237 | * graphite-scop-detection.c (compare_bb_depths): Remove. | |
13238 | (graphite_sort_dominated_info): Remove. | |
13239 | (try_generate_gimple_bb): Move out of scop_detection. | |
13240 | (all_non_dominated_preds_marked_p): Remove. | |
13241 | (build_scop_bbs_1): Remove. | |
13242 | (build_scop_bbs): Remove. | |
13243 | (nb_pbbs_in_loops): Do not use SCOP_BBS. | |
13244 | (find_scop_parameters): Same. | |
13245 | (sese_dom_walker): Rename gather_bbs. | |
13246 | (before_dom_children): Call try_generate_gimple_bb and collect gbb | |
13247 | and pbb. | |
13248 | (build_scops): Call gather_bbs. | |
13249 | * graphite-sese-to-poly.c (build_scop_scattering): Do not use SCOP_BBS. | |
13250 | (add_conditions_to_constraints): Same. | |
13251 | (build_scop_iteration_domain): Same. | |
13252 | (build_scop_drs): Same. | |
13253 | (new_pbb_from_pbb): Same. | |
13254 | * sese.c (new_sese_info): Create bbs. | |
13255 | * sese.h (struct sese_info_t): Add bbs. | |
13256 | ||
13257 | 2015-10-07 David Edelsohn <dje.gcc@gmail.com> | |
13258 | ||
13259 | * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit | |
13260 | encoding in 64-bit mode. | |
13261 | ||
13262 | 2015-10-07 Uros Bizjak <ubizjak@gmail.com> | |
13263 | ||
13264 | PR target/66697 | |
13265 | * config/i386/i386.c (ix86_option_override_internal): Always use | |
13266 | 8-byte minimum stack boundary in 64-bit mode. | |
13267 | (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY. | |
13268 | (ix86_emit_save_reg_using_mov): Support unaligned SSE store. | |
13269 | Add a REG_CFA_EXPRESSION note if needed. | |
13270 | (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load. | |
13271 | (ix86_handle_force_align_arg_pointer_attribute): New. | |
13272 | (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check. | |
13273 | (ix86_attribute_table): Set ix86_force_align_arg_pointer_string | |
13274 | with ix86_handle_force_align_arg_pointer_attribute. | |
13275 | * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD. | |
13276 | ||
13277 | 2015-10-07 Aditya Kumar <aditya.k7@samsung.com> | |
13278 | Sebastian Pop <s.pop@samsung.com> | |
13279 | ||
13280 | * graphite-scop-detection.c (parameter_index_in_region): Remove | |
13281 | use of SESE_ADD_PARAMS. | |
13282 | (find_scop_parameters): Same. | |
13283 | * sese.c (new_sese_info): Same. | |
13284 | * sese.h (struct sese_info_t): Remove add_params. | |
13285 | (SESE_ADD_PARAMS): Remove. | |
13286 | ||
13287 | 2015-10-07 Aditya Kumar <aditya.k7@samsung.com> | |
13288 | Sebastian Pop <s.pop@samsung.com> | |
13289 | ||
13290 | * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use | |
13291 | an sese_info_p. | |
13292 | (copy_def): Same. | |
13293 | (copy_internal_parameters): Same. | |
13294 | (translate_isl_ast_to_gimple): Use an sese_l. | |
13295 | (build_iv_mapping): Same. | |
13296 | * graphite-poly.c (new_sese): Rename new_sese_info. | |
13297 | (free_sese): Rename free_sese_info. | |
13298 | * graphite-poly.h (struct scop): Use an sese_info_p. | |
13299 | (scop_set_region): Same. | |
13300 | * graphite-scop-detection.c (struct sese_l): Moved... | |
13301 | (get_entry_bb): Moved... | |
13302 | (get_exit_bb): Moved... | |
13303 | (parameter_index_in_region_1): Use an sese_info_p. | |
13304 | (parameter_index_in_region): Same. | |
13305 | (scan_tree_for_params): Same. | |
13306 | (find_params_in_bb): Same. | |
13307 | (sese_dom_walker): Use an sese_l. | |
13308 | * graphite-sese-to-poly.c (remove_invariant_phi): Same. | |
13309 | (reduction_phi_p): Same. | |
13310 | (parameter_index_in_region_1): Use an sese_info_p. | |
13311 | (propagate_expr_outside_region): Use an sese_l. | |
13312 | * graphite.c: Replace uses of SCOP_REGION. | |
13313 | * sese.c (sese_record_loop): Use an sese_info_p. | |
13314 | (build_sese_loop_nests): Same. | |
13315 | (sese_build_liveouts_use): Same. | |
13316 | (sese_build_liveouts_bb): Same. | |
13317 | (sese_build_liveouts_bb): Same. | |
13318 | (sese_bad_liveouts_use): Same. | |
13319 | (sese_reset_debug_liveouts_bb): Same. | |
13320 | (sese_build_liveouts): Same. | |
13321 | (new_sese): Renamed new_sese_info. | |
13322 | (free_sese): Renamed free_sese_info. | |
13323 | (set_rename): Use an sese_info_p. | |
13324 | (graphite_copy_stmts_from_block): Same. | |
13325 | (copy_bb_and_scalar_dependences): Same. | |
13326 | (outermost_loop_in_sese_1): Use an sese_l. | |
13327 | (outermost_loop_in_sese): Same. | |
13328 | (if_region_set_false_region): Use an sese_info_p. | |
13329 | (move_sese_in_condition): Same. | |
13330 | (scalar_evolution_in_region): Use an sese_l. | |
13331 | * sese.h (struct sese_l): ... here. | |
13332 | (SESE_ENTRY): Remove. | |
13333 | (SESE_ENTRY_BB): Remove. | |
13334 | (SESE_EXIT): Remove. | |
13335 | (SESE_EXIT_BB): Remove. | |
13336 | (sese_contains_loop): Use an sese_info_p. | |
13337 | (sese_nb_params): Same. | |
13338 | (bb_in_sese_p): Use an sese_l. | |
13339 | (stmt_in_sese_p): Same. | |
13340 | (defined_in_sese_p): Same. | |
13341 | (loop_in_sese_p): Same. | |
13342 | (sese_loop_depth): Same. | |
13343 | (struct ifsese_s): Use an sese_info_p. | |
13344 | (gbb_loop_at_index): Use an sese_l. | |
13345 | (nb_common_loops): Same. | |
13346 | (scev_analyzable_p): Same. | |
13347 | ||
13348 | 2015-10-07 H.J. Lu <hongjiu.lu@intel.com> | |
13349 | ||
13350 | * config/i386/i386.c (ix86_conditional_register_usage): Use | |
13351 | CALL_USED_REGISTERS_MASK. | |
13352 | * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro. | |
13353 | ||
13354 | 2015-10-07 H.J. Lu <hongjiu.lu@intel.com> | |
13355 | ||
13356 | PR bootstrap/67385 | |
13357 | * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET. | |
13358 | * configure: Regenerated. | |
13359 | ||
13360 | 2015-10-07 H.J. Lu <hongjiu.lu@intel.com> | |
13361 | ||
13362 | PR target/67850 | |
13363 | * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ... | |
13364 | (ix86_set_current_function): This. | |
13365 | (TARGET_EXPAND_TO_RTL_HOOK): Removed. | |
13366 | ||
13367 | 2015-10-07 Richard Biener <rguenther@suse.de> | |
13368 | ||
13369 | * tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>. | |
13370 | (vinfo_for_stmt): Adjust. | |
13371 | (set_vinfo_for_stmt): Likewise. | |
13372 | * tree-vectorizer.c (stmt_vec_info_vec): Likewise. | |
13373 | * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise. | |
13374 | * tree-vect-loop.c (new_loop_vec_info): Remove special-casing | |
13375 | of inner loop. | |
13376 | (vect_analyze_loop_1): Remove. | |
13377 | (vect_analyze_loop_form_1): Avoid building a loop_vec_info for | |
13378 | inner loop when vectorizing an outer loop by splitting out from ... | |
13379 | (vect_analyze_loop_form): ... here. | |
13380 | ||
13381 | 2015-10-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
13382 | ||
13383 | PR c/65345 | |
13384 | * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): | |
13385 | Use create_tmp_var_raw instead of create_tmp_var. | |
13386 | ||
13387 | 2015-10-07 Richard Sandiford <richard.sandiford@arm.com> | |
13388 | ||
13389 | * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros. | |
13390 | (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare. | |
13391 | * real.c (CACHED_FRACTION): New helper macro. | |
13392 | (dconst_third_ptr): Use it. | |
13393 | (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New. | |
13394 | * builtins.c (fold_builtin_sqrt): Use dconst_quarter and | |
13395 | dconst_sixth. | |
13396 | (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth. | |
13397 | ||
13398 | 2015-10-06 Jeff Law <law@redhat.com> | |
13399 | ||
13400 | PR tree-optimization/67816 | |
13401 | * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed | |
13402 | from remove_jump_threads_starting_at. Accept an edge rather than | |
13403 | a basic block. | |
13404 | * tree-ssa-threadupdate.c (removed_edges): New hash table. | |
13405 | (remove_jump_threads_including): Note edges that get removed from | |
13406 | the CFG for later pruning of jump threading paths including them. | |
13407 | (thread_through_all_blocks): Remove paths which include edges that | |
13408 | have been removed. | |
13409 | * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including | |
13410 | on each outgoing edges when optimizing away a control statement. | |
13411 | ||
13412 | 2015-10-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
13413 | ||
13414 | * reorg.c (emit_delay_sequence): Store list of delay slot insns | |
13415 | in a vector instead of rtx_insn_list. | |
13416 | (add_to_delay_list): Likewise. | |
13417 | (delete_from_delay_slot): Likewise. | |
13418 | (optimize_skip): Likewise. | |
13419 | (redirect_with_delay_list_safe_p): Likewise. | |
13420 | (check_annul_list_true_false): Likewise. | |
13421 | (steal_delay_list_from_target): Likewise. | |
13422 | (steal_delay_list_from_fallthrough): Likewise. | |
13423 | (redundant_insn): Likewise. | |
13424 | (fill_simple_delay_slots): Likewise. | |
13425 | (fill_slots_from_thread): Likewise. | |
13426 | (fill_eager_delay_slots): Likewise. | |
13427 | (relax_delay_slots): Likewise. | |
13428 | ||
13429 | 2015-10-06 Sandra Loosemore <sandra@codesourcery.com> | |
13430 | ||
13431 | * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p): | |
13432 | For -mgpopt=local, also exclude unintialized common symbols. | |
13433 | * doc/invoke.texi (Nios II Options): Document the change. | |
13434 | ||
13435 | 2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org> | |
13436 | ||
13437 | * config/aarch64/iterators.md (vwcore): Add missing cases for | |
13438 | V4HF/V8HF modes. | |
13439 | ||
13440 | 2015-10-06 Aditya Kumar <aditya.k7@samsung.com> | |
13441 | Sebastian Pop <s.pop@samsung.com> | |
13442 | ||
13443 | * graphite-poly.c (new_scop): Initialize drs. | |
13444 | * graphite-poly.h (struct dr_info): New. | |
13445 | (struct scop): Add drs. | |
13446 | * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info. | |
13447 | (pdr_add_memory_accesses): Same. | |
13448 | (build_poly_dr): Same. | |
13449 | (build_alias_set): Same. | |
13450 | (build_scop_drs): Same. | |
13451 | (build_pbb_drs): Remove. | |
13452 | * tree-data-ref.c (create_data_ref): Do not initialize alias_set. | |
13453 | * tree-data-ref.h (data_reference): Remove alias_set. | |
13454 | ||
13455 | 2015-10-06 Aditya Kumar <aditya.k7@samsung.com> | |
13456 | Sebastian Pop <s.pop@samsung.com> | |
13457 | ||
13458 | * graphite-poly.c (free_data_refs_aux): Remove. | |
13459 | (free_gimple_poly_bb): Do not call free_data_refs_aux. | |
13460 | * graphite-poly.h (struct base_alias_pair): Remove. | |
13461 | * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of | |
13462 | base_alias_pair and dr->aux. | |
13463 | (build_alias_set): Same. | |
13464 | * tree-data-ref.c (create_data_ref): Initialize alias_set. | |
13465 | * tree-data-ref.h (data_reference): Add alias_set. | |
13466 | ||
13467 | 2015-10-06 Aditya Kumar <aditya.k7@samsung.com> | |
13468 | Sebastian Pop <s.pop@samsung.com> | |
13469 | ||
13470 | * graphite-poly.c (new_poly_dr): Remove dr_base_object_set. | |
13471 | Do not set PDR_BASE_OBJECT_SET. | |
13472 | * graphite-poly.h (poly_dr): Same. | |
13473 | (PDR_BASE_OBJECT_SET): Remove. | |
13474 | (new_poly_dr): Update decl. | |
13475 | * graphite-sese-to-poly.c (build_poly_dr): Update call to | |
13476 | new_poly_dr. | |
13477 | (write_alias_graph_to_ascii_dimacs): Remove. | |
13478 | (write_alias_graph_to_ascii_dot): Remove. | |
13479 | (write_alias_graph_to_ascii_ecc): Remove. | |
13480 | (dr_same_base_object_p): Remove. | |
13481 | (build_alias_set_optimal_p): Rename build_alias_set. Remove dead | |
13482 | code. | |
13483 | (build_base_obj_set_for_drs): Remove. | |
13484 | (dump_alias_graphs): Remove. | |
13485 | (build_scop_drs): Remove dead code. | |
13486 | ||
13487 | 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com> | |
13488 | Peter Bergner <bergner@vnet.ibm.com> | |
13489 | ||
13490 | PR target/67808 | |
13491 | * config/rs6000/rs6000.md (extenddftf2): In the expander, only | |
13492 | allow registers, but provide insns for the combiner to create for | |
13493 | loads from memory. Separate VSX code from non-VSX code. For | |
13494 | non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename | |
13495 | externaldftf2_internal to externaldftf2_fprs. Reorder constraints | |
13496 | so that registers come before memory operations. Drop support from | |
13497 | converting DFmode to TFmode, if the DFmode value is in a GPR | |
13498 | register. | |
13499 | (extenddftf2_fprs): Likewise. | |
13500 | (extenddftf2_internal): Likewise. | |
13501 | (extenddftf2_vsx): Likewise. | |
13502 | (extendsftf2): In the expander, only allow registers, but provide | |
13503 | insns for the combiner to create for stores and loads. | |
13504 | ||
13505 | 2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
13506 | ||
13507 | * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED | |
13508 | from the decl parameter. | |
13509 | ||
13510 | 2015-10-06 Nathan Sidwell <nathan@codesourcery.com> | |
13511 | ||
13512 | PR 67861 | |
13513 | * gimple-fold.c (gimple_fold_builtin): Add break after | |
13514 | BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding. | |
13515 | ||
13516 | 2015-10-06 H.J. Lu <hongjiu.lu@intel.com> | |
13517 | ||
13518 | * graphite-optimize-isl.c (optimize_isl): Rename scop->ctx | |
13519 | to scop->isl_context. | |
13520 | ||
13521 | 2015-10-06 Eric Botcazou <ebotcazou@adacore.com> | |
13522 | ||
13523 | * config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment. | |
13524 | (output_probe_stack_range): Rotate the loop and simplify. | |
13525 | (thumb1_expand_prologue): Tweak sorry message. | |
13526 | * config/arm/arm.md (probe_stack): Use bare string. | |
13527 | ||
13528 | 2015-10-06 Nick Clifton <nickc@redhat.com> | |
13529 | ||
13530 | * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file. | |
13531 | ||
13532 | 2015-10-06 Nick Clifton <nickc@redhat.com> | |
13533 | ||
13534 | * config/msp430/msp430.c (ATTR_NOINIT): New constant. | |
13535 | (ATTR_PERSIST): New constant. | |
13536 | (msp430_data_attr): New function - verifies an attribute that only | |
13537 | applies to variables. | |
13538 | (msp430_attributes): Add noinit and persistent attributes. | |
13539 | (noinit_section): New variable. | |
13540 | (presis_section): New variable. | |
13541 | (TARGET_ASM_INIT_SECTIONS): Define. | |
13542 | (msp430_init_sections): New function - initialises the noinit and | |
13543 | persist section variables. | |
13544 | (msp430_select_section): Add support for noinit and persist | |
13545 | attributes. | |
13546 | (msp430_section_type_flags): Likewise. | |
13547 | * doc/extend.texi: Document the reent, critical, wakeup, noinit | |
13548 | and persistent attributes. | |
13549 | ||
13550 | 2015-10-05 Aditya Kumar <aditya.k7@samsung.com> | |
13551 | Sebastian Pop <s.pop@samsung.com> | |
13552 | ||
13553 | * graphite-dependences.c (scop_get_transformed_schedule): Remove. | |
13554 | (no_violations): Remove. | |
13555 | (subtract_commutative_associative_deps): Remove. | |
13556 | (compute_deps): Do not call subtract_commutative_associative_deps. | |
13557 | (transform_is_safe): Remove. | |
13558 | (graphite_legal_transform): Remove. | |
13559 | * graphite-poly.h (graphite_legal_transform): Remove. | |
13560 | ||
13561 | 2015-10-05 Aditya Kumar <hiraditya@msn.com> | |
13562 | ||
13563 | * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops | |
13564 | which are in this region are passed so gcc_assert and remove redundant | |
13565 | computation. | |
13566 | * sese.c (sese_build_liveouts): Pass only those bbs which are not | |
13567 | in region. | |
13568 | (sese_bad_liveouts_use): Only BBs which are not in region are passed so | |
13569 | gcc_assert on that and remove unnecessary computation. | |
13570 | (sese_build_liveouts_use): Same. | |
13571 | ||
13572 | 2015-10-05 Aditya Kumar <aditya.k7@samsung.com> | |
13573 | ||
13574 | * graphite-dependences.c (scop_get_reads): Renamed scop->context | |
13575 | to scop->param_context. | |
13576 | (scop_get_must_writes): Same. | |
13577 | (scop_get_may_writes): Same. | |
13578 | (scop_get_original_schedule): Same. | |
13579 | (scop_get_transformed_schedule): Same. | |
13580 | (subtract_commutative_associative_deps): Same. | |
13581 | * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same. | |
13582 | (generate_isl_context): Same. | |
13583 | (generate_isl_schedule): Same. | |
13584 | (scop_to_isl_ast): Same. | |
13585 | (graphite_regenerate_ast_isl): Same. | |
13586 | * graphite-optimize-isl.c (scop_get_domains): Same. | |
13587 | (optimize_isl): Renamed scop->context to scop->param_context. | |
13588 | * graphite-poly.c (new_poly_bb): Change the type of argument to | |
13589 | gimple_poly_bb_p. | |
13590 | (new_scop): Renamed scop->context to scop->param_context. | |
13591 | (free_scop): Same. | |
13592 | (print_scop_context): Same. | |
13593 | * graphite-poly.h (new_poly_dr): Change the type of argument from | |
13594 | void* to data_reference_p. | |
13595 | (struct poly_bb): Change the type of black_box to gimple_poly_bb_p. | |
13596 | (new_poly_bb): Change the type of argument from void* to | |
13597 | gimple_poly_bb_p. | |
13598 | (pbb_set_black_box): Same. | |
13599 | (struct scop): Rename context to param_context, ctx to isl_context. | |
13600 | * graphite-scop-detection.c (scop_detection::build_scop_bbs_1): | |
13601 | Move declarations closer to assignment. | |
13602 | (find_params_in_bb): Same. | |
13603 | (find_scop_parameters): Same. | |
13604 | * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize): | |
13605 | Global to be used for statement IDs. | |
13606 | (isl_id_for_pbb): Use ssa_name_version_typesize. | |
13607 | (simple_copy_phi_p): Move declarations closer to assignment. | |
13608 | (build_pbb_scattering_polyhedrons): Same. | |
13609 | (build_scop_scattering): Same. | |
13610 | (isl_id_for_ssa_name): Same. | |
13611 | (extract_affine_name): Same. | |
13612 | (extract_affine_int): Same. | |
13613 | (extract_affine): Same. | |
13614 | (set_scop_parameter_dim): Use renamed member. | |
13615 | (build_loop_iteration_domains): Same. | |
13616 | (add_param_constraints): Same. | |
13617 | (build_scop_iteration_domain): Same. | |
13618 | (pdr_add_data_dimensions): Same. | |
13619 | (build_poly_dr): Same. | |
13620 | (build_scop_drs): Move declarations closer to assignment. | |
13621 | (analyze_drs_in_stmts): Same. | |
13622 | (insert_out_of_ssa_copy): Same. | |
13623 | (insert_out_of_ssa_copy_on_edge): Same. | |
13624 | (propagate_expr_outside_region): Same. | |
13625 | (rewrite_phi_out_of_ssa): Same. | |
13626 | (rewrite_degenerate_phi): Same. | |
13627 | (rewrite_reductions_out_of_ssa): Same. | |
13628 | (rewrite_cross_bb_scalar_dependence): Same. | |
13629 | (handle_scalar_deps_crossing_scop_limits): Same. | |
13630 | (rewrite_cross_bb_scalar_deps): Same. | |
13631 | * graphite.c (graphite_transform_loops): Use renamed member. | |
13632 | ||
13633 | 2015-10-06 Uros Bizjak <ubizjak@gmail.com> | |
13634 | ||
13635 | PR c/65345 | |
13636 | * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use | |
13637 | create_tmp_var_raw instead of create_tmp_var. | |
13638 | ||
13639 | 2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
13640 | ||
13641 | PR c/65345 | |
13642 | * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv): | |
13643 | Use create_tmp_var_raw instead of create_tmp_var. | |
13644 | ||
13645 | 2015-10-06 Alexander Fomin <alexander.fomin@intel.com> | |
13646 | ||
13647 | PR target/67849 | |
13648 | * config/i386/sse.md (define_split vec_select/V8FI): Restrict | |
13649 | split for upper-bank registers when target does not support | |
13650 | AVX512VL. | |
13651 | (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict | |
13652 | split when target does not support AVX512VL. | |
13653 | ||
13654 | 2015-10-06 David Edelsohn <dje.gcc@gmail.com> | |
13655 | ||
13656 | PR c/65345 | |
13657 | * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): | |
13658 | Adjust to use create_tmp_var_raw instead of create_tmp_var. | |
13659 | ||
13660 | 2015-10-06 Nick Clifton <nickc@redhat.com> | |
13661 | ||
13662 | * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for | |
13663 | multiplication. | |
13664 | ||
13665 | 2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> | |
13666 | ||
13667 | * config.gcc (i[34567]86-*-linux* | ...): Add znver1. | |
13668 | (case ${target}): Add znver1. | |
13669 | * config/i386/cpuid.h(bit_CLZERO): Define. | |
13670 | * config/i386/driver-i386.c: (host_detect_local_cpu): Let | |
13671 | -march=native recognize znver1 processors. | |
13672 | * config/i386/i386-c.c (ix86_target_macros_internal): Add | |
13673 | znver1, clzero def_and_undef. | |
13674 | * config/i386/i386.c (struct processor_costs znver1_cost): New. | |
13675 | (m_znver1): New definition. | |
13676 | (m_AMD_MULTIPLE): Includes m_znver1. | |
13677 | (processor_target_table): Add znver1 entry. | |
13678 | (ix86_target_string) : Add clzero entry. | |
13679 | (static const char *const cpu_names): Add znver1 entry. | |
13680 | (ix86_option_override_internal): Add znver1 instruction sets. | |
13681 | (PTA_CLZERO) : New definition. | |
13682 | (ix86_option_override_internal): Handle new clzerooption. | |
13683 | (ix86_issue_rate): Add znver1. | |
13684 | (ix86_adjust_cost): Add znver1. | |
13685 | (ia32_multipass_dfa_lookahead): Add znver1. | |
13686 | (has_dispatch): Add znver1. | |
13687 | * config/i386/i386.h (TARGET_znver1): New definition. | |
13688 | (TARGET_CLZERO): Define. | |
13689 | (TARGET_CLZERO_P): Define. | |
13690 | (struct ix86_size_cost): Add TARGET_ZNVER1. | |
13691 | (enum processor_type): Add PROCESSOR_znver1. | |
13692 | * config/i386/i386.md (define_attr "cpu"): Add znver1. | |
13693 | (set_attr znver1_decode): New definitions for znver1. | |
13694 | * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1. | |
13695 | (mclzero): New. | |
13696 | * config/i386/mmx.md (set_attr znver1_decode): New definitions | |
13697 | for znver1. | |
13698 | * config/i386/sse.md (set_attr znver1_decode): Likewise. | |
13699 | * config/i386/x86-tune.def: Add znver1 tunings. | |
13700 | * config/i386/znver1.md: Introduce znver1 cpu and include new md file. | |
13701 | * doc/invoke.texi: Add details about znver1 | |
13702 | ||
13703 | 2015-10-06 Richard Biener <rguenther@suse.de> | |
13704 | ||
13705 | PR tree-optimization/67859 | |
13706 | * tree-ssa-pre.c (create_expression_by_pieces): Properly | |
13707 | discard not inserted stmts. | |
13708 | ||
13709 | 2015-10-06 Jonathan Wakely <jwakely@redhat.com> | |
13710 | ||
13711 | * doc/extend.texi (Template Instantiation): Reorder options and | |
13712 | de-emphasize -frepo. | |
13713 | * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in | |
13714 | example instead of -frepo. | |
13715 | ||
13716 | 2015-10-06 Eric Botcazou <ebotcazou@adacore.com> | |
13717 | ||
13718 | PR c/65345 | |
13719 | * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to | |
13720 | use create_tmp_var_raw rather than create_tmp_var. | |
13721 | ||
13722 | 2015-10-06 Richard Biener <rguenther@suse.de> | |
13723 | ||
13724 | * tree-vectorizer.h (vec_info): New base class for... | |
13725 | (_loop_vec_info): ... this and ... | |
13726 | (_bb_vec_info): ... this. | |
13727 | (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info, | |
13728 | vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment, | |
13729 | vect_analyze_data_ref_accesses, vect_analyze_data_refs, | |
13730 | vect_schedule_slp, vect_analyze_slp, vect_pattern_recog, | |
13731 | vect_destroy_datarefs): Adjust interface to take a vec_info * | |
13732 | rather than both a loop_vec_info and a bb_vec_info argument. | |
13733 | * tree-vect-data-refs.c (vect_compute_data_refs_alignment, | |
13734 | vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment, | |
13735 | vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses, | |
13736 | vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust | |
13737 | accordingly. | |
13738 | * tree-vect-loop.c (new_loop_vec_info): Initialize base class. | |
13739 | (destroy_loop_vec_info, vect_analyze_loop_2, | |
13740 | vect_is_simple_reduction_1, get_initial_def_for_induction, | |
13741 | vect_create_epilog_for_reduction, vectorizable_reduction, | |
13742 | vectorizable_live_operation, vect_transform_loop): Adjust. | |
13743 | * tree-vect-patterns.c (type_conversion_p, | |
13744 | vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern, | |
13745 | vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern, | |
13746 | vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern, | |
13747 | check_bool_pattern, vect_recog_bool_pattern, | |
13748 | vect_mark_pattern_stmts, vect_pattern_recog): Likewise. | |
13749 | * tree-vect-slp.c (vect_get_and_check_slp_defs, | |
13750 | vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1, | |
13751 | vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info, | |
13752 | vect_slp_analyze_bb_1, vect_schedule_slp): Likewise. | |
13753 | (new_bb_vec_info): Initialize base classs. | |
13754 | * tree-vect-stmts.c (record_stmt_cost, process_use, | |
13755 | vect_get_vec_def_for_operand, vect_finish_stmt_generation, | |
13756 | vectorizable_mask_load_store, vectorizable_call, | |
13757 | vectorizable_simd_clone_call, vectorizable_conversion, | |
13758 | vectorizable_assignment, vectorizable_shift, | |
13759 | vectorizable_operation, vectorizable_store, | |
13760 | vectorizable_load, vect_is_simple_cond, vectorizable_condition, | |
13761 | new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise. | |
13762 | * tree-vectorizer.c (vect_destroy_datarefs): Likewise. | |
13763 | ||
13764 | 2015-10-05 Kaz Kojima <kkojima@gcc.gnu.org> | |
13765 | ||
13766 | PR c/65345 | |
13767 | * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use | |
13768 | create_tmp_var_raw rather than create_tmp_var. | |
13769 | ||
13770 | 2015-10-05 Marek Polacek <polacek@redhat.com> | |
13771 | ||
13772 | * tree-ssa-loop-im.c | |
13773 | (move_computations_dom_walker::before_dom_children): Don't set | |
13774 | SSA_NAME_ANTI_RANGE_P. | |
13775 | * tree-ssa-phiopt.c (value_replacement): Likewise. | |
13776 | ||
13777 | 2015-10-05 Aditya Kumar <aditya.k7@samsung.com> | |
13778 | Sebastian Pop <s.pop@samsung.com> | |
13779 | ||
13780 | * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7. | |
13781 | ||
13782 | 2015-10-05 Aditya Kumar <aditya.k7@samsung.com> | |
13783 | Sebastian Pop <s.pop@samsung.com> | |
13784 | ||
13785 | * graphite-poly.c (new_gimple_poly_bb): ... here. | |
13786 | (free_data_refs_aux): ... here. | |
13787 | (free_gimple_poly_bb): ... here. | |
13788 | (remove_gbbs_in_scop): ... here. | |
13789 | (new_scop): Call new_sese. | |
13790 | (free_scop): Call remove_gbbs_in_scop and free_sese. | |
13791 | * graphite-poly.h (base_alias_pair): ... here. | |
13792 | (new_gimple_poly_bb): Declare. | |
13793 | (free_gimple_poly_bb): Declare. | |
13794 | * graphite-scop-detection.c (parameter_index_in_region_1): | |
13795 | (parameter_index_in_region): ... here. | |
13796 | (scan_tree_for_params): ... here. | |
13797 | (find_params_in_bb): ... here. | |
13798 | (find_scop_parameters): ... here. | |
13799 | (build_scops): Call find_scop_parameters. | |
13800 | * graphite-sese-to-poly.c (free_gimple_poly_bb): Move... | |
13801 | (free_scops): Move... | |
13802 | (single_pred_cond_non_loop_exit): Move... | |
13803 | (sese_dom_walker::before_dom_children): Move... | |
13804 | (sese_dom_walker::after_dom_children): Move... | |
13805 | (build_poly_scop): Move... | |
13806 | * graphite-sese-to-poly.h (base_alias_pair): Move... | |
13807 | * graphite.c (free_scops): ... here. | |
13808 | ||
13809 | 2015-10-05 Aditya Kumar <aditya.k7@samsung.com> | |
13810 | Sebastian Pop <s.pop@samsung.com> | |
13811 | ||
13812 | * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h. | |
13813 | (trivially_empty_bb_p): Move... | |
13814 | (same_close_phi_node): Move... | |
13815 | (new_gimple_poly_bb): Move... | |
13816 | (compare_bb_depths): Move... | |
13817 | (graphite_sort_dominated_info): Move... | |
13818 | (remove_duplicate_close_phi): Move... | |
13819 | (make_close_phi_nodes_unique): Move... | |
13820 | (canonicalize_loop_closed_ssa): Move... | |
13821 | (canonicalize_loop_closed_ssa_form): Move... | |
13822 | (loop_ivs_can_be_represented): Move... | |
13823 | (single_pred_cond_non_loop_exit): Move... | |
13824 | (graphite_can_represent_init): Move... | |
13825 | (graphite_can_represent_scev): Move... | |
13826 | (stmt_has_simple_data_refs_p): Move... | |
13827 | (stmt_has_side_effects): Move... | |
13828 | (graphite_can_represent_stmt): Move... | |
13829 | (scop_detection): ... here. | |
13830 | (sese_dom_walker): ... and here. | |
13831 | (build_scops): Call all moved functions. | |
13832 | * graphite-sese-to-poly.c (try_generate_gimple_bb): Move... | |
13833 | (all_non_dominated_preds_marked_p): Move... | |
13834 | (build_scop_bbs_1): Move... | |
13835 | (build_scop_bbs): Move... | |
13836 | (set_scop_parameter_dim): Move... | |
13837 | (nb_pbbs_in_loops): Move... | |
13838 | (build_poly_scop): Do not call all the moved functions. | |
13839 | ||
13840 | 2015-10-05 Martin Jambor <mjambor@suse.cz> | |
13841 | Jan Hubicka <hubicka@ucw.cz> | |
13842 | ||
13843 | * ipa-cp.c (ipcp_alignment_lattice): New type. | |
13844 | (ipcp_param_lattices): Use the above to represent alignment. | |
13845 | (ipcp_alignment_lattice::print): New function. | |
13846 | (print_all_lattices): Use it to print alignment information. | |
13847 | (ipcp_alignment_lattice::top_p): New function. | |
13848 | (ipcp_alignment_lattice::bottom_p): Likewise. | |
13849 | (ipcp_alignment_lattice::set_to_bottom): Likewise. | |
13850 | (ipcp_alignment_lattice::meet_with_1): Likewise. | |
13851 | (ipcp_alignment_lattice::meet_with): Two new overloaded functions. | |
13852 | (set_all_contains_variable): Use set_to_bottom of alignment lattice. | |
13853 | (initialize_node_lattices): Likewise. | |
13854 | (propagate_alignment_accross_jump_function): Work with the new class | |
13855 | for alignment lattices. | |
13856 | (propagate_constants_accross_call): Pass only the alignment lattice to | |
13857 | propagate_alignment_accross_jump_function. | |
13858 | (ipcp_store_alignment_results): Work with the new class for alignment | |
13859 | lattices. | |
13860 | ||
13861 | 2015-10-05 Marek Polacek <polacek@redhat.com> | |
13862 | ||
13863 | PR tree-optimization/67821 | |
13864 | * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert. | |
13865 | ||
13866 | 2015-10-05 Thomas Schwinge <thomas@codesourcery.com> | |
13867 | ||
13868 | PR other/65021 | |
13869 | * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename | |
13870 | function to... | |
13871 | (mkoffload_cleanup): ... this. Adjust all users. | |
13872 | (maybe_unlink): Look at save_temps and verbose flags instead of | |
13873 | debug flag. | |
13874 | (main): Parse "-save-temps" flag. | |
13875 | (generate_target_descr_file, generate_target_offloadend_file) | |
13876 | (generate_host_descr_file, prepare_target_image): Pass it on. | |
13877 | * config/nvptx/mkoffload.c (tool_cleanup): Implement. | |
13878 | (mkoffload_cleanup): New function. | |
13879 | (maybe_unlink): Look at save_temps and verbose flags instead of | |
13880 | debug flag. | |
13881 | (main): Instead of calling utils_cleanup, register atexit handler | |
13882 | for mkoffload_cleanup. | |
13883 | (main): Parse "-save-temps" flag. | |
13884 | (compile_native, main): Pass it on. | |
13885 | * lto-wrapper.c (compile_offload_image): Likewise. | |
13886 | ||
13887 | 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
13888 | ||
13889 | * gimple.h (gimple_op_ptr): Require a non const gimple *. | |
13890 | (gimple_assign_lhs_ptr): Likewise. | |
13891 | (gimple_assign_rhs1_ptr): Likewise. | |
13892 | (gimple_assign_rhs2_ptr): Likewise. | |
13893 | (gimple_assign_rhs3_ptr): Likewise. | |
13894 | (gimple_call_lhs_ptr): Likewise. | |
13895 | (gimple_call_fn_ptr): Likewise. | |
13896 | (gimple_call_chain_ptr): Likewise. | |
13897 | (gimple_call_arg_ptr): Likewise. | |
13898 | (gimple_cond_lhs_ptr): Likewise. | |
13899 | (gimple_cond_rhs_ptr): Likewise. | |
13900 | (gimple_switch_index_ptr): Likewise. | |
13901 | (gimple_return_retval_ptr): Likewise. | |
13902 | ||
13903 | 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
13904 | ||
13905 | * gimple.h (gimple_asm_input_op_ptr): Remove. | |
13906 | (gimple_asm_output_op_ptr): Likewise. | |
13907 | ||
13908 | 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
13909 | ||
13910 | * gimple.h (gimple_location_ptr): Remove. | |
13911 | * tree-vrp.c (check_all_array_refs): Adjust. | |
13912 | ||
13913 | 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
13914 | ||
13915 | * tree-ssa-operands.c (build_uses): store tree * instead of | |
13916 | tree. | |
13917 | (finalize_ssa_uses): Adjust. | |
13918 | (append_use): Likewise. | |
13919 | (verify_ssa_operands): Likewise. | |
13920 | ||
13921 | 2015-10-05 Richard Sandiford <richard.sandiford@arm.com> | |
13922 | ||
13923 | * real.h (build_real_truncate): Declare. | |
13924 | * tree.c (build_real_truncate): New function. | |
13925 | (strip_float_extensions): Use it. | |
13926 | * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt) | |
13927 | (fold_builtin_hypot, fold_builtin_pow): Likewise. | |
13928 | * match.pd: Likewise. | |
13929 | ||
dfb6d139 | 13930 | 2015-10-05 James Greenhalgh <james.greenhalgh@arm.com> |
13931 | Jiong Wang <jiong.wang@arm.com> | |
fb2c1edd | 13932 | |
13933 | * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w". | |
13934 | ||
13935 | 2015-10-05 Richard Sandiford <richard.sandiford@arm.com> | |
13936 | ||
13937 | * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete. | |
13938 | * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p) | |
13939 | (aarch64_print_operand, aarch64_float_const_representable_p) | |
13940 | (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE | |
13941 | instead of REAL_VALUE_FROM_CONST_DOUBLE. | |
13942 | * config/arc/arc.c (arc_print_operand): Likewise. | |
13943 | * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index) | |
13944 | (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const) | |
13945 | (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits): | |
13946 | Likewise. | |
13947 | * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8) | |
13948 | (consttable_16): Likewise. | |
13949 | * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise. | |
13950 | * config/avr/avr.c (avr_print_operand): Likewise. | |
13951 | * config/bfin/bfin.md: Likewise (in a define_split). | |
13952 | * config/c6x/c6x.md: Likewise (in a define_split). | |
13953 | * config/cr16/cr16.c (cr16_const_double_ok): Likewise. | |
13954 | (cr16_print_operand): Likewise. | |
13955 | * config/cris/cris.c (cris_print_operand): Likewise. | |
13956 | * config/epiphany/epiphany.c (epiphany_print_operand): Likewise. | |
13957 | * config/fr30/fr30.c (fr30_print_operand): Likewise. | |
13958 | (fr30_const_double_is_zero): Likewise. | |
13959 | * config/frv/frv.c (frv_print_operand, output_move_single): Likewise. | |
13960 | * config/frv/frv.md: Likewise (in a define_split). | |
13961 | * config/frv/predicates.md (int_2word_operand): Likewise. | |
13962 | * config/h8300/h8300.c (h8300_print_operand): Likewise. | |
13963 | * config/i386/i386.c (standard_80387_constant_p): Likewise. | |
13964 | (ix86_print_operand, ix86_split_to_parts): Likewise. | |
13965 | * config/i386/i386.md: Likewise (in a define_split). | |
13966 | * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise. | |
13967 | * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise. | |
13968 | * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise. | |
13969 | * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p) | |
13970 | (print_operand): Likewise. | |
13971 | * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise. | |
13972 | * config/mep/mep.md: Likewise (in define_split). | |
13973 | * config/microblaze/microblaze.c (microblaze_const_double_ok) | |
13974 | (print_operand): Likewise. | |
13975 | * config/mips/mips.md (consttable_float): Likewise. | |
13976 | * config/mmix/mmix.c (mmix_intval): Likewise. | |
13977 | * config/mn10300/mn10300.c (mn10300_print_operand): Likewise. | |
13978 | * config/nvptx/nvptx.c (nvptx_print_operand): Likewise. | |
13979 | * config/pa/pa.c (pa_singlemove_string): Likewise. | |
13980 | * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise. | |
13981 | (pdp11_asm_print_operand, legitimate_const_double_p): Likewise. | |
13982 | * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove) | |
13983 | (output_toc): Likewise. | |
13984 | * config/rs6000/rs6000.md: Likewise (in define_splits). | |
13985 | * config/rx/rx.c (rx_print_operand): Likewise. | |
13986 | * config/s390/s390.c (s390_output_pool_entry): Likewise. | |
13987 | * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise. | |
13988 | * config/sh/sh.md (consttable_sf, consttable_df): Likewise | |
13989 | (and also in define_splits). | |
13990 | * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise. | |
13991 | (fp_high_losum_p): Likewise. | |
13992 | * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise. | |
13993 | (*movsf_high): Likewise. | |
13994 | * config/spu/spu.c (const_double_to_hwint): Likewise. | |
13995 | * config/v850/v850.c (const_double_split): Likewise. | |
13996 | * config/vax/vax.c (vax_float_literal): Likewise. | |
13997 | * config/visium/visium.c (visium_expand_copysign): Likewise. | |
13998 | * config/visium/visium.md: Likewise (in define_split). | |
13999 | * config/xtensa/predicates.md (const_float_1_operand): Likewise. | |
14000 | * config/xtensa/xtensa.c (print_operand): Likewise. | |
14001 | (xtensa_output_literal): Likewise. | |
14002 | * cprop.c (implicit_set_cond_p): Likewise. | |
14003 | * dwarf2out.c (insert_float): Likewise. | |
14004 | * expmed.c (expand_mult, make_tree): Likewise. | |
14005 | * expr.c (compress_float_constant): Likewise. | |
14006 | * rtlanal.c (split_double): Likewise. | |
14007 | * simplify-rtx.c (avoid_constant_pool_reference): Likewise. | |
14008 | (simplify_const_unary_operation, simplify_binary_operation_1) | |
14009 | (simplify_const_binary_operation): Likewise. | |
14010 | (simplify_const_relational_operation): Likewise. | |
14011 | * varasm.c (output_constant_pool_2): Likewise. | |
14012 | ||
14013 | 2015-10-05 Richard Sandiford <richard.sandiford@arm.com> | |
14014 | ||
14015 | * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value | |
14016 | instead of CONST_DOUBLE_FROM_REAL_VALUE. | |
14017 | (CONST_DOUBLE_FROM_REAL_VALUE): Delete. | |
14018 | * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value | |
14019 | instead of CONST_DOUBLE_FROM_REAL_VALUE. | |
14020 | * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise. | |
14021 | * config/i386/i386.c (standard_80387_constant_rtx): Likewise. | |
14022 | (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round) | |
14023 | (ix86_emit_swsqrtsf): Likewise. | |
14024 | * config/ia64/ia64.c (ia64_expand_builtin): Likewise. | |
14025 | * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2) | |
14026 | (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise. | |
14027 | * config/pa/pa.c (pa_expand_builtin): Likewise. | |
14028 | * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise. | |
14029 | (rs6000_scale_v2df): Likewise. | |
14030 | * config/rs6000/rs6000.md (*cmptf_internal2): Likewise. | |
14031 | * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2) | |
14032 | (fixuns_trunc<BFP:mode><GPR:mode>2): Likewise. | |
14033 | * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl) | |
14034 | (vec_ctul): Likewise. | |
14035 | * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise. | |
14036 | * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise. | |
14037 | * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise. | |
14038 | * cse.c (fold_rtx): Likewise. | |
14039 | * emit-rtl.c (immed_double_const): Likewise (in comments). | |
14040 | (init_emit_once): Likewise. | |
14041 | * expr.c (compress_float_constant, expand_expr_real_1) | |
14042 | (const_vector_from_tree): Likewise. | |
14043 | * optabs.c (expand_float, expand_fix): Likewise. | |
14044 | * reg-stack.c (reg_to_stack): Likewise. | |
14045 | * simplify-rtx.c (avoid_constant_pool_reference): Likewise. | |
14046 | (simplify_const_unary_operation, simplify_binary_operation_1) | |
14047 | (simplify_const_binary_operation, simplify_relational_operation) | |
14048 | (simplify_immed_subreg): Likewise. | |
14049 | ||
14050 | 2015-10-05 Richard Sandiford <richard.sandiford@arm.com> | |
14051 | ||
14052 | * doc/tm.texi.in (REAL_ARITHMETIC): Delete. | |
14053 | * doc/tm.texi: Regenerate. | |
14054 | * real.h (REAL_ARITHMETIC): Delete. | |
14055 | * config/i386/i386.c (ix86_expand_lround, ix86_expand_round) | |
14056 | (ix86_expand_round_sse4): Use real_arithmetic instead of | |
14057 | REAL_ARITHMETIC. | |
14058 | * config/i386/sse.md (round<mode>2): Likewise. | |
14059 | * rtl.h (rtx_to_tree_code): Likewise (in comment). | |
14060 | * explow.c (rtx_to_tree_code): Likewise (in comment). | |
14061 | * match.pd: Likewise. | |
14062 | * simplify-rtx.c (simplify_binary_operation_1): Likewise. | |
14063 | * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise. | |
14064 | (expand_pow_as_sqrts): Likewise. | |
14065 | * tree-pretty-print.c (dump_generic_node): Remove code that | |
14066 | was conditional on REAL_ARITHMETIC being undefined. | |
14067 | ||
14068 | 2015-10-05 Richard Sandiford <richard.sandiford@arm.com> | |
14069 | ||
14070 | * doc/tm.texi.in (REAL_VALUES_LESS): Delete. | |
14071 | * doc/tm.texi: Regenerate. | |
14072 | * real.h (real_less): Declare. | |
14073 | (REAL_VALUES_LESS): Delete. | |
14074 | * real.c (real_less): New function. | |
14075 | (real_compare): Use it. | |
14076 | * config/m68k/m68k.c (floating_exact_log2): Use real_less instead | |
14077 | of REAL_VALUES_LESS. | |
14078 | * config/microblaze/microblaze.c (microblaze_const_double_ok): | |
14079 | Likewise. | |
14080 | * fold-const.c (fold_convert_const_int_from_real): Likewise. | |
14081 | * simplify-rtx.c (simplify_const_unary_operation): Likewise. | |
14082 | (simplify_const_relational_operation): Likewise. | |
14083 | * tree-call-cdce.c (check_pow): Likewise. | |
14084 | (gen_conditions_for_pow_cst_base): Likewise. | |
14085 | ||
14086 | 2015-10-05 Richard Sandiford <richard.sandiford@arm.com> | |
14087 | ||
14088 | * real.h (REAL_VALUES_IDENTICAL): Delete. | |
14089 | * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical | |
14090 | instead of REAL_VALUES_IDENTICAL. | |
14091 | * fold-const.c (operand_equal_p): Likewise. | |
14092 | * ipa-icf.c (sem_variable::equals): Likewise. | |
14093 | * tree-complex.c (some_nonzerop): Likewise. | |
14094 | (expand_complex_multiplication): Likewise. | |
14095 | * tree.c (simple_cst_equal): Likewise. | |
14096 | * varasm.c (compare_constant): Likewise. | |
14097 | ||
14098 | 2015-10-05 Richard Sandiford <richard.sandiford@arm.com> | |
14099 | ||
14100 | * real.h (real_equal): Declare. | |
14101 | (REAL_VALUES_EQUAL): Delete. | |
14102 | * real.c (real_equal): New function. | |
14103 | (real_compare): Use it. | |
14104 | * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete. | |
14105 | * doc/tm.texi: Regenerate. | |
14106 | * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use | |
14107 | real_equal instead of REAL_VALUES_EQUAL. | |
14108 | * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise. | |
14109 | * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate) | |
14110 | (fp_const_from_val): Likewise. | |
14111 | * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise. | |
14112 | * config/m68k/m68k.c (standard_68881_constant_p): Likewise. | |
14113 | (floating_exact_log2): Likewise. | |
14114 | * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise. | |
14115 | * config/vax/vax.c (vax_float_literal): Likewise. | |
14116 | * config/xtensa/predicates.md (const_float_1_operand): Likewise. | |
14117 | * cprop.c (implicit_set_cond_p): Likewise. | |
14118 | * expmed.c (expand_mult): Likewise. | |
14119 | * fold-const.c (const_binop): Likewise. | |
14120 | * simplify-rtx.c (simplify_binary_operation_1): Likewise. | |
14121 | (simplify_const_binary_operation): Likewise. | |
14122 | (simplify_const_relational_operation): Likewise. | |
14123 | * tree-call-cdce.c (check_pow): Likewise. | |
14124 | (gen_conditions_for_pow_cst_base): Likewise. | |
14125 | * tree-inline.c (estimate_num_insns): Likewise. | |
14126 | * tree-ssa-dom.c (record_equality): Likewise. | |
14127 | * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise. | |
14128 | (gimple_expand_builtin_pow): Likewise. | |
14129 | (pass_optimize_widening_mul::execute): Likewise. | |
14130 | * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise. | |
14131 | * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise. | |
14132 | * tree.c (real_zerop, real_onep, real_minus_onep): Likewise. | |
14133 | ||
14134 | 2015-10-05 Richard Biener <rguenther@suse.de> | |
14135 | ||
14136 | PR ipa/67783 | |
14137 | * ipa-inline-analysis.c (estimate_function_body_sizes): Only | |
14138 | consider loop header PHI defs as IVs. | |
14139 | ||
14140 | 2015-10-05 Richard Biener <rguenther@suse.de> | |
14141 | ||
14142 | * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move | |
14143 | call handling ... | |
14144 | (create_expression_by_pieces): ... here and build GIMPLE | |
14145 | calls directly. Use gimple_build API and avoid force_gimple_operand. | |
14146 | (insert_into_preds_of_block): Simplify. | |
14147 | (do_regular_insertion): Add comment. | |
14148 | ||
14149 | 2015-10-04 Jason Merrill <jason@redhat.com> | |
14150 | ||
14151 | * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute. | |
14152 | ||
14153 | 2015-10-04 Uros Bizjak <ubizjak@gmail.com> | |
14154 | ||
14155 | * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to | |
14156 | check for general register. | |
14157 | (ix86_emit_save_regs): Ditto. | |
14158 | (ix86_emit_save_regs_using_mov): Ditto. | |
14159 | (ix86_emit_restore_regs_using_pop): Ditto. | |
14160 | (ix86_emit_restore_regs_using_mov): Ditto. | |
14161 | ||
14162 | 2015-10-03 Marek Polacek <polacek@redhat.com> | |
14163 | ||
14164 | * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond. | |
14165 | (insn-dfatab.o): Likewise. | |
14166 | ||
14167 | 2015-10-03 Max Filippov <jcmvbkbc@gmail.com> | |
14168 | ||
14169 | * config.gcc (xtensa*-*-uclinux*): New configuration. | |
14170 | * config/xtensa/uclinux.h: New file. | |
14171 | * config/xtensa/uclinux.opt: New file. | |
14172 | ||
14173 | 2015-10-03 Jonathan Wakely <jwakely@redhat.com> | |
14174 | ||
14175 | * doc/cpp.texi (Standard Predefined Macros): Document value of | |
14176 | __cplusplus for C++14. | |
14177 | ||
14178 | 2015-10-02 Bernd Schmidt <bernds@codesourcery.com> | |
14179 | ||
14180 | * gcc.c (process_command): Use spec_machine rather than | |
14181 | spec_host_machine to build tooldir_prefix2. | |
14182 | ||
14183 | 2015-10-02 Thomas Schwinge <thomas@codesourcery.com> | |
14184 | Bernd Schmidt <bernds@codesourcery.com> | |
14185 | ||
14186 | * config/nvptx/mkoffload.c (Kind, Vis): Remove enums. | |
14187 | (Token, Stmt): Remove structs. | |
14188 | (decls, vars, fns): Remove variables. | |
14189 | (alloc_comment, append_stmt, is_keyword): Remove macros. | |
14190 | (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts) | |
14191 | (write_stmt, write_stmts, parse_insn, parse_list_nosemi) | |
14192 | (parse_init, parse_file): Remove functions. | |
14193 | (read_file): Accept a pointer to a length and store into it. | |
14194 | (process): Don't try to parse the input file, just write it out as | |
14195 | a string, but looking for maps. Also write out the length. | |
14196 | (main): Don't use "-S" to compile PTX code. | |
14197 | ||
14198 | 2015-10-02 Jeff Law <law@redhat.com> | |
14199 | ||
14200 | * tree-ssa-dom.c (optimize_stmt): Note when loop structures need | |
14201 | fixups. | |
14202 | ||
14203 | 2015-10-02 Thomas Schwinge <thomas@codesourcery.com> | |
14204 | ||
14205 | PR target/67822 | |
14206 | * config/nvptx/mkoffload.c (main): Scan the argument vector for | |
14207 | -fopenmp, and skip generating an offloading image if specified. | |
14208 | ||
14209 | 2015-10-02 Uros Bizjak <ubizjak@gmail.com> | |
14210 | ||
14211 | * system.h (ROUND_UP): New macro definition. | |
14212 | (ROUND_DOWN): Ditto. | |
14213 | * ggc-page.c (ROUND_UP): Remove local macro definition. | |
14214 | (PAGE_ALIGN): Implement using ROUND_UP macro. | |
14215 | ||
14216 | * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro. | |
14217 | * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro | |
14218 | to align values. | |
14219 | (ix86_compute_frame_layout): Ditto. | |
14220 | (ix86_expand_prologue): Ditto. | |
14221 | (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro | |
14222 | to round down values. | |
14223 | (expand_set_or_movmem_via_rep): Ditto. | |
14224 | ||
14225 | 2015-10-02 Marek Polacek <polacek@redhat.com> | |
14226 | ||
14227 | * genemit.c (gen_exp): Remove -Wduplicated-cond hack. | |
14228 | ||
14229 | 2015-10-02 Aditya Kumar <aditya.k7@samsung.com> | |
14230 | ||
14231 | * graphite-scop-detection.c (loop_ivs_can_be_represented): New. | |
14232 | (loop_body_is_valid_scop): Call loop_ivs_can_be_represented. | |
14233 | * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb. | |
14234 | (free_gimple_bb): Renamed free_gimple_poly_bb. | |
14235 | (try_generate_gimple_bb): Hoist loop invariant code. | |
14236 | (analyze_drs_in_stmts): Same. | |
14237 | (build_scop_drs): Call renamed functions. | |
14238 | (new_pbb_from_pbb): Same. | |
14239 | (scop_ivs_can_be_represented): Delete as functionality now moved to | |
14240 | graphite-scop-detection.c | |
14241 | (build_poly_scop): Remove call to scop_ivs_can_be_represented. | |
14242 | ||
14243 | 2015-10-02 Aditya Kumar <hiraditya@msn.com> | |
14244 | ||
14245 | * graphite-scop-detection.c (stmt_has_side_effects): New function | |
14246 | outlined from stmt_simple_for_scop_p. | |
14247 | (graphite_can_represent_stmt): Same. | |
14248 | (stmt_simple_for_scop_p): Moved code out of this function for better | |
14249 | readability. | |
14250 | ||
14251 | 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com> | |
14252 | ||
14253 | * config/i386/i386.c (processor_features): Add F_AVX512VBMI, | |
14254 | F_AVX512IFMA. | |
14255 | (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA. | |
14256 | ||
14257 | 2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
14258 | ||
14259 | * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete. | |
14260 | ||
14261 | 2015-10-02 Vladimir Makarov <vmakarov@redhat.com> | |
14262 | ||
14263 | PR rtl-optimization/67756 | |
14264 | * lra-constraints.c (match_reload): Add a new parameter. Use it | |
14265 | for creating a pseudo with the same value. | |
14266 | (curr_insn_transform): Pass a new argument to match_reload. | |
14267 | ||
14268 | 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com> | |
14269 | ||
14270 | * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New. | |
14271 | (expand_vec_perm_even_odd_1): Handle V64QImode. | |
14272 | (ix86_expand_vec_perm_const_1): Try expansion with | |
14273 | expand_vec_perm_even_odd_trunc as well. | |
14274 | * config/i386/sse.md (VI124_AVX512F): Rename to ... | |
14275 | (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend | |
14276 | to V54QI. | |
14277 | (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ... | |
14278 | (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend | |
14279 | to V32HI and V16SI. | |
14280 | (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name. | |
14281 | (define_expand "vec_pack_trunc_<mode>"): Update iterator name. | |
14282 | (define_expand "vec_unpacks_lo_<mode>"): Ditto. | |
14283 | (define_expand "vec_unpacks_hi_<mode>"): Ditto. | |
14284 | (define_expand "vec_unpacku_lo_<mode>"): Ditto. | |
14285 | (define_expand "vec_unpacku_hi_<mode>"): Ditto. | |
14286 | ||
14287 | 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com> | |
14288 | ||
14289 | * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq, | |
14290 | -mavx521vbmi, -mavx512ifma. Add missing opindex-es. | |
14291 | ||
14292 | 2015-10-02 Jason Merrill <jason@redhat.com> | |
14293 | ||
14294 | PR c/59218 | |
14295 | * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p. | |
14296 | (diagnose_tm_1_op): Also diagnose volatile accesses in | |
14297 | transaction_safe function. | |
14298 | ||
14299 | 2015-10-02 Jonathan Wakely <jwakely@redhat.com> | |
14300 | ||
14301 | * system.h (malloc.h): Don't include obsolete header. | |
14302 | ||
14303 | 2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
14304 | ||
14305 | * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete. | |
14306 | (TLS_SECTION_ASM_FLAG): Delete. | |
14307 | ||
14308 | 2015-10-02 Marek Polacek <polacek@redhat.com> | |
14309 | ||
14310 | PR c/64249 | |
14311 | * doc/invoke.texi: Document -Wduplicated-cond. | |
14312 | * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond. | |
14313 | (insn-dfatab.o): Likewise. | |
14314 | * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond | |
14315 | warning. | |
14316 | ||
14317 | 2015-10-02 Oleg Endo <olegendo@gcc.gnu.org> | |
14318 | ||
14319 | * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt | |
14320 | sequences. | |
14321 | ||
14322 | 2015-10-02 Renlin Li <renlin.li@arm.com> | |
14323 | ||
14324 | * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern. | |
14325 | ||
14326 | 2015-10-02 Renlin Li <renlin.li@arm.com> | |
14327 | ||
14328 | PR target/66776 | |
14329 | * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern. | |
14330 | ||
14331 | 2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
14332 | ||
14333 | PR rtl-optimization/67786 | |
14334 | PR rtl-optimization/67787 | |
14335 | * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if | |
14336 | it modifies a reg used in the condition calculation. | |
14337 | ||
14338 | 2015-10-02 James Greenhalgh <james.greenhalgh@arm.com> | |
14339 | ||
14340 | * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add | |
14341 | alternatives for reads from memory and moves from general-purpose | |
14342 | registers. | |
14343 | (*aarch64_combinez_be<mode>): Likewise. | |
14344 | ||
14345 | 2015-10-02 Kai Tietz <ktietz70@googlemail.com> | |
14346 | ||
14347 | PR target/51726 | |
14348 | * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle | |
14349 | selectany within this function without need to keep attribute. | |
14350 | (i386_pe_encode_section_info): Remove selectany-code. | |
14351 | ||
14352 | 2015-10-02 Richard Biener <rguenther@suse.de> | |
14353 | ||
14354 | * tree-ssa-sccvn.c (has_VN_INFO): New function. | |
14355 | (free_scc_vn): Use it. | |
14356 | (visit_use): Remove dead code and refactor to use gassign | |
14357 | and use less indentation. | |
14358 | ||
14359 | 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org> | |
14360 | ||
14361 | PR target/67788 | |
14362 | PR target/67789 | |
14363 | * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New. | |
14364 | (rs6000_cannot_copy_insn_p): New function. | |
14365 | * config/rs6000/rs6000.md (cannot_copy): New attribute. | |
14366 | (load_toc_v4_PIC_1_normal): Set cannot_copy. | |
14367 | (load_toc_v4_PIC_1_476): Ditto. | |
14368 | ||
14369 | 2015-10-01 Aditya Kumar <aditya.k7@samsung.com> | |
14370 | ||
14371 | * graphite-scop-detection.c (struct sese_l): New conversion constructor | |
14372 | so that this type can be pushed into a vec. | |
14373 | (class scop_builder): use sese_l to collect scops. | |
14374 | (get_scops): New getter function. | |
14375 | (remove_intersecting_scops): Use sese_l instead of scops_p. | |
14376 | (intersects): Same. | |
14377 | (add_scop): Same. | |
14378 | (subsumes): Same. | |
14379 | (remove_subscops): Same. | |
14380 | (build_scops): Add scops to vec<scops_p> once all the scops have been | |
14381 | detected. | |
14382 | ||
14383 | 2015-10-01 Aditya Kumar <aditya.k7@samsung.com> | |
14384 | ||
14385 | * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): | |
14386 | Renamed type from gimple_bb_p to gimple_poly_bb_p. | |
14387 | (translate_isl_ast_node_user): Same. | |
14388 | * graphite-poly.c (new_poly_bb): Same. | |
14389 | * graphite-poly.h (gbb_from_bb): Same. | |
14390 | * sese.h: Same. | |
14391 | * graphite-sese-to-poly.c (new_gimple_bb): | |
14392 | gimple_bb_p -> gimple_poly_bb_p | |
14393 | (build_scop_scattering): Same. | |
14394 | (find_params_in_bb): Same. | |
14395 | (add_conditions_to_domain): Same. | |
14396 | (sese_dom_walker::before_dom_children): Same. | |
14397 | (analyze_drs_in_stmts): Same. | |
14398 | (new_pbb_from_pbb): Same. | |
14399 | (free_data_refs_aux): New pointer to type base_alias_pair. | |
14400 | * graphite-sese-to-poly.h: Same. | |
14401 | * sese.c (if_region_set_false_region): Fixed Indentation. | |
14402 | (move_sese_in_condition): Same. | |
14403 | ||
14404 | 2015-10-01 Sebastian Pop <s.pop@samsung.com> | |
14405 | Aditya Kumar <aditya.k7@samsung.com> | |
14406 | ||
14407 | PR tree-optimization/66980 | |
14408 | * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false | |
14409 | when data reference analysis has failed. | |
14410 | ||
14411 | 2015-10-01 Sebastian Pop <s.pop@samsung.com> | |
14412 | Aditya Kumar <aditya.k7@samsung.com> | |
14413 | ||
14414 | PR tree-optimization/67754 | |
14415 | * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call | |
14416 | scev analysis on the same loop nest as analyze_drs_in_stmts. | |
14417 | * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and | |
14418 | renamed... | |
14419 | (try_generate_gimple_bb): Call outermost_loop_in_sese. | |
14420 | (analyze_drs_in_stmts): Same. | |
14421 | * sese.c (outermost_loop_in_sese): ...here. | |
14422 | ||
14423 | 2015-10-01 Sebastian Pop <s.pop@samsung.com> | |
14424 | Aditya Kumar <aditya.k7@samsung.com> | |
14425 | ||
14426 | PR tree-optimization/67754 | |
14427 | * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing | |
14428 | recursion on the inner loops. | |
14429 | ||
14430 | 2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
14431 | ||
14432 | * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c, | |
14433 | function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c, | |
14434 | tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c, | |
14435 | tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c, | |
14436 | tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove | |
14437 | ||
14438 | 2015-10-01 Marek Polacek <polacek@redhat.com> | |
14439 | ||
14440 | PR c/65345 | |
14441 | * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use | |
14442 | create_tmp_var_raw rather than create_tmp_var. | |
14443 | ||
14444 | 2015-10-01 Marek Polacek <polacek@redhat.com> | |
14445 | ||
14446 | PR tree-optimization/67769 | |
14447 | * tree-ssa-phiopt.c (conditional_replacement): Call | |
14448 | reset_flow_sensitive_info_in_bb. | |
14449 | (minmax_replacement): Likewise. | |
14450 | (abs_replacement): Likewise. | |
14451 | ||
14452 | 2015-10-01 Nathan Sidwell <nathan@codesourcery.com> | |
14453 | ||
14454 | * builtins.c: Don't include gomp-constants.h. | |
14455 | (fold_builtin_1): Don't fold acc_on_device here. | |
14456 | * gimple-fold.c: Include gomp-constants.h. | |
14457 | (gimple_fold_builtin_acc_on_device): New. | |
14458 | (gimple_fold_builtin): Call it. | |
14459 | ||
14460 | 2015-10-01 H.J. Lu <hongjiu.lu@intel.com> | |
14461 | ||
14462 | * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont. | |
14463 | (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont. | |
14464 | ||
14465 | 2015-10-01 James Greenhalgh <james.greenhalgh@arm.com> | |
14466 | ||
14467 | * config/arm/aarch-common-protos.h | |
14468 | (aarch_accumulator_forwarding): New. | |
14469 | (aarch_forward_to_shift_is_not_shifted_reg): Likewise. | |
14470 | * config/arm/aarch-common.c (aarch_accumulator_forwarding): New. | |
14471 | (aarch_forward_to_shift_is_not_shifted_reg): Likewise. | |
14472 | * config/arm/cortex-a53.md: Rewrite. | |
14473 | ||
14474 | 2015-10-01 Richard Biener <rguenther@suse.de> | |
14475 | ||
14476 | * gimple-match.h (mprts_hook): Declare. | |
14477 | * gimple-match.head.c (mprts_hook): Define. | |
14478 | (maybe_push_res_to_seq): Use new hook. | |
14479 | * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise. | |
14480 | * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq. | |
14481 | (vn_ssa_aux::has_constants): Remove. | |
14482 | * tree-ssa-sccvn.c: Include gimple-match.h. | |
14483 | (VN_INFO_GET): Assert we don't re-use SSA names. | |
14484 | (vn_get_expr_for): Remove. | |
14485 | (expr_has_constants): Likewise. | |
14486 | (stmt_has_constants): Likewise. | |
14487 | (simplify_binary_expression): Likewise. | |
14488 | (simplify_unary_expression): Likewise. | |
14489 | (vn_lookup_simplify_result): New hook. | |
14490 | (visit_copy): Adjust. | |
14491 | (visit_reference_op_call): Likewise. | |
14492 | (visit_phi): Likewise. | |
14493 | (visit_use): Likewise. | |
14494 | (process_scc): Likewise. | |
14495 | (init_scc_vn): Likewise. | |
14496 | (visit_reference_op_load): Likewise. Use match-and-simplify and | |
14497 | a gimple seq for inserted expressions. | |
14498 | (try_to_simplify): Remove GENERIC stmt combining code. | |
14499 | (sccvn_dom_walker::before_dom_children): Use match-and-simplify. | |
14500 | * tree-ssa-pre.c (eliminate_insert): Adjust. | |
14501 | (eliminate_dom_walker::before_dom_children): Likewise. | |
14502 | ||
14503 | 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org> | |
14504 | ||
14505 | * doc/invoke.texi (Optimization Options): Add | |
14506 | -freorder-blocks-algorithm=. | |
14507 | (Optimize Options) <-O>: Add -freorder-blocks. | |
14508 | <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc. | |
14509 | <-Os>: Add -freorder-blocks-algorithm=stc as not enabled. | |
14510 | <-freorder-blocks>: Also enabled at levels -O and -Os. | |
14511 | <-freorder-blocks-algorithm=>: Document new option. | |
14512 | ||
14513 | 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org> | |
14514 | ||
14515 | * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected | |
14516 | with flag_reorder_blocks_algorithm. | |
14517 | * common.opt (freorder-blocks-algorithm=): New flag. | |
14518 | (reorder_blocks_algorithm): New enum. | |
14519 | * flag-types.h (reorder_blocks_algorithm): New enum. | |
14520 | * opts.c (default_options_table): Use -freorder-blocks at -O1 and up, | |
14521 | and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os). | |
14522 | ||
14523 | 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org> | |
14524 | ||
14525 | * bb-reorder.c: Add intro comment. | |
14526 | (reorder_basic_blocks_software_trace_cache): Print a header to | |
14527 | the dump file. | |
14528 | (edge_order): New function. | |
14529 | (reorder_basic_blocks_simple): New function. | |
14530 | (reorder_basic_blocks): Choose between the STC and the simple | |
14531 | algorithms (always choose the former). | |
14532 | ||
14533 | 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org> | |
14534 | ||
14535 | * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New | |
14536 | function, factored out from ... | |
14537 | (reorder_basic_blocks): ... here. | |
14538 | ||
14539 | 2015-10-01 Tom de Vries <tom@codesourcery.com> | |
14540 | ||
14541 | * tree-cfg.c (dump_function_to_file): Dump function attributes using | |
14542 | __attribute__(()) string. Move dumping of function attributes to before | |
14543 | function name. | |
14544 | ||
14545 | 2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com> | |
14546 | ||
14547 | PR target/66870 | |
14548 | * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define. | |
14549 | * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power | |
14550 | based on gold linker version. | |
14551 | * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if | |
14552 | HAVE_GOLD_ALTERNATE_SPLIT_STACK defined. | |
14553 | * configure, config.in: Regenerate. | |
14554 | ||
14555 | 2015-10-01 Alan Modra <amodra@gmail.com> | |
14556 | ||
14557 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set | |
14558 | r2_setup_needed when TARGET_SINGLE_PIC_BASE. | |
14559 | (rs6000_output_mi_thunk): Likewise. | |
14560 | ||
14561 | 2015-09-30 Nathan Sidwell <nathan@codesourcery.com> | |
14562 | ||
14563 | * config/nvptx/mkoffload.c (process): Change offload data format. | |
14564 | ||
14565 | 2015-09-30 Jeff Law <law@redhat.com> | |
14566 | ||
14567 | * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements | |
14568 | with constant conditions. | |
14569 | * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New. | |
14570 | (remove_ctrl_stmt_and_useless_edges): No longer static. | |
14571 | * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype. | |
14572 | (remove_ctrl_stmt_and_useless_edges): Likewise. | |
14573 | ||
14574 | 2015-09-30 Nathan Sidwell <nathan@codesourcery.com> | |
14575 | Cesar Philippidis <cesar@codesourcery.com> | |
14576 | ||
14577 | * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New. | |
14578 | (TARGET_GOACC_VALIDATE_DIMS): Override. | |
14579 | * target.def (TARGET_GOACC): New target hook prefix. | |
14580 | (validate_dims): New hook. | |
14581 | * targhooks.h (default_goacc_validate_dims): New. | |
14582 | * omp-low.c (oacc_validate_dims): New. | |
14583 | (execute_oacc_device_lower): New. | |
14584 | (default_goacc_validate_dims): New. | |
14585 | (pass_data_oacc_device_lower): New. | |
14586 | (pass_oacc_device_lower): New pass. | |
14587 | (make_pass_oacc_device_lower): New. | |
14588 | * tree-pass.h (make_pass_oacc_device_lower): Declare. | |
14589 | * passes.def (pass_oacc_device_lower): Add it. | |
14590 | * doc/tm.texi: Rebuilt. | |
14591 | * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook. | |
14592 | * doc/invoke.texi (oaccdevlow): Document tree dump flag. | |
14593 | ||
14594 | 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
14595 | ||
14596 | PR rtl-optimization/67037 | |
14597 | * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary. | |
14598 | ||
14599 | 2015-09-30 Bernd Schmidt <bernds@redhat.com> | |
14600 | ||
14601 | * gimple-ssa.h (gimple_df): Add free_ssanames_queue field. | |
14602 | * passes.c: Include tree-ssanames.h. | |
14603 | (execute_function_todo): Flush the pending free SSA_NAMEs after | |
14604 | eliminating unreachable basic blocks. | |
14605 | * tree-ssanames.c (FREE_SSANAMES_QUEUE): new. | |
14606 | (init_ssanames): Initialize FREE_SSANAMES_QUEUE. | |
14607 | (fini_ssanames): Finalize FREE_SSANAMES_QUEUE. | |
14608 | (flush_ssanames_freelist): New function. | |
14609 | (release_ssaname_fn): Put released names on the queue. | |
14610 | (pass_release_ssa_names::execute): Call flush_ssanames_freelist. | |
14611 | * tree-ssanames.h (flush_ssanames_freelist): Declare. | |
14612 | ||
14613 | 2015-09-30 Thomas Schwinge <thomas@codesourcery.com> | |
14614 | ||
14615 | * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag. | |
14616 | (generate_target_descr_file, generate_target_offloadend_file) | |
14617 | (generate_host_descr_file, prepare_target_image): Pass it on. | |
14618 | * config/nvptx/mkoffload.c (main): Parse "-v" flag. | |
14619 | (compile_native, main): Pass it on. | |
14620 | * lto-wrapper.c (compile_offload_image): Likewise. | |
14621 | ||
14622 | 2015-09-30 Thomas Schwinge <thomas@codesourcery.com> | |
14623 | Ilya Verbin <ilya.verbin@intel.com> | |
14624 | Andrey Turetskiy <andrey.turetskiy@intel.com> | |
14625 | ||
14626 | * config/i386/intelmic-mkoffload.c (generate_host_descr_file) | |
14627 | (prepare_target_image, main): Refactor argv building to use | |
14628 | obstacks. | |
14629 | ||
14630 | 2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> | |
14631 | ||
14632 | * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype. | |
14633 | * config/spu/spu.c (spu_expand_atomic_op): New function. | |
14634 | * config/spu/spu.md (AINT): New mode iterator. | |
14635 | (ATOMIC): New code iterator. | |
14636 | (atomic_name, atomic_pred): New code predicates. | |
14637 | ("atomic_load<mode>", "atomic_store<mode>"): New expanders. | |
14638 | ("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise. | |
14639 | (""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>", | |
14640 | "atomic_<atomic_name>_fetch<mode>"): Likewise. | |
14641 | ||
14642 | 2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com> | |
14643 | ||
14644 | * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore | |
14645 | debug insns. | |
14646 | (scalar_chain::convert_reg): Likewise. | |
14647 | ||
14648 | 2015-09-30 Richard Biener <rguenther@suse.de> | |
14649 | ||
14650 | * builtins.c: Add comment that no new simplifications should | |
14651 | be added here. | |
14652 | ||
14653 | 2015-09-30 Marek Polacek <polacek@redhat.com> | |
14654 | ||
14655 | PR tree-optimization/67690 | |
14656 | * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call | |
14657 | reset_flow_sensitive_info_in_bb. | |
14658 | * tree-ssa-tail-merge.c (replace_block_by): Likewise. | |
14659 | * tree-ssanames.c: Include "gimple-iterator.h". | |
14660 | (reset_flow_sensitive_info_in_bb): New function. | |
14661 | * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare. | |
14662 | ||
14663 | 2015-09-30 Thomas Schwinge <thomas@codesourcery.com> | |
14664 | ||
14665 | * config/i386/intelmic-mkoffload.c (target_ilp32): Remove | |
14666 | variable, replacing it with... | |
14667 | (offload_abi): ... this new variable. Adjust all users. | |
14668 | * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise. | |
14669 | ||
14670 | 2015-09-30 Matthias Klose <doko@ubuntu.com> | |
14671 | ||
14672 | * configure.ac: Remove extraneous ;;. | |
14673 | * configure: Regenerate. | |
14674 | ||
14675 | 2015-09-29 James Bowman <james.bowman@ftdichip.com> | |
14676 | ||
14677 | * config/ft32/predicates.md (ft32_imm_operand): New predicate. | |
14678 | * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand | |
14679 | predicate, disallow register for operand 2. | |
14680 | ||
14681 | 2015-09-29 Aditya Kumar <aditya.k7@samsung.com> | |
14682 | ||
14683 | * graphite-dependences.c (scop_get_dependences): Moved in down | |
14684 | in order to be visible to its caller. | |
14685 | * graphite-poly.h: Removed compute_deps, and extend_schedule. | |
14686 | ||
14687 | 2015-09-29 Sebastian Pop <s.pop@samsung.com> | |
14688 | Aditya Kumar <aditya.k7@samsung.com> | |
14689 | ||
14690 | PR tree-optimization/67754 | |
14691 | * graphite-optimize-isl.c (optimize_isl): Call | |
14692 | isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14. | |
14693 | ||
14694 | 2015-09-29 Nathan Sidwell <nathan@codesourcery.com> | |
14695 | ||
14696 | * builtins.c (expand_builtin_acc_on_device): Delete. | |
14697 | (expand_builtin): Don't call it. | |
14698 | (fold_builtin_1): Fold acc_on_device. | |
14699 | ||
14700 | 2015-09-29 H.J. Lu <hongjiu.lu@intel.com> | |
14701 | ||
14702 | * config/i386/i386.c (ix86_function_arg): Fix typo in comments. | |
14703 | (ix86_nsaved_sseregs): Likewise. | |
14704 | ||
14705 | 2015-09-29 Jeff Law <law@redhat.com> | |
14706 | ||
14707 | * config/microblaze/microblaze.c (microblaze_version_to_int): Remove | |
14708 | computation of unused value. | |
14709 | ||
14710 | * config/pdp11/pdp11.c (pdp11_branch_cost): New function. | |
14711 | * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than | |
14712 | inline macro expansion. | |
14713 | ||
14714 | * config/i386/t-interix (winnt-stubs.o): Fix compilation rule. | |
14715 | ||
14716 | * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour. | |
14717 | (gen_shl_sext): Likewise. | |
14718 | * config/sh/sh.md (divsi3): Likewise. | |
14719 | (imm->ext_dest_operand splitter): Likewise. | |
14720 | ||
14721 | 2015-09-29 Sebastian Pop <s.pop@samsung.com> | |
14722 | Aditya Kumar <aditya.k7@samsung.com> | |
14723 | ||
14724 | * graphite-sese-to-poly.c (gsi_for_phi_node): Remove. | |
14725 | (nb_data_writes_in_bb): Remove. | |
14726 | (split_pbb): Remove. | |
14727 | (split_reduction_stmt): Remove. | |
14728 | (is_reduction_operation_p): Remove. | |
14729 | (phi_contains_arg): Remove. | |
14730 | (follow_ssa_with_commutative_ops): Remove. | |
14731 | (detect_commutative_reduction_arg): Remove. | |
14732 | (detect_commutative_reduction_assign): Remove. | |
14733 | (follow_inital_value_to_phi): Remove. | |
14734 | (edge_initial_value_for_loop_phi): Remove. | |
14735 | (initial_value_for_loop_phi): Remove. | |
14736 | (used_outside_reduction): Remove. | |
14737 | (detect_commutative_reduction): Remove. | |
14738 | (translate_scalar_reduction_to_array_for_stmt): Remove. | |
14739 | (remove_phi): Remove. | |
14740 | (dr_indices_valid_in_loop): Remove. | |
14741 | (close_phi_written_to_memory): Remove. | |
14742 | (translate_scalar_reduction_to_array): Remove. | |
14743 | (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove. | |
14744 | (rewrite_commutative_reductions_out_of_ssa_loop): Remove. | |
14745 | (rewrite_commutative_reductions_out_of_ssa): Remove. | |
14746 | (build_poly_scop): Remove call to | |
14747 | rewrite_commutative_reductions_out_of_ssa. | |
14748 | ||
14749 | 2015-09-29 Evandro Menezes <e.menezes@samsung.com> | |
14750 | ||
14751 | * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q): | |
14752 | Add new insn types for vector load and store pairs. | |
14753 | * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn | |
14754 | types "neon_ldp{,_q}". | |
14755 | * config/arm/cortex-a57.md (neon_load_c): Add insn types | |
14756 | "neon_ldp{,_q}". | |
14757 | (neon_store_complex): Add insn types "neon_stp{,_q}". | |
14758 | * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types | |
14759 | "neon_{ldp,stp}_q". | |
14760 | ||
14761 | 2015-09-29 Jeff Law <law@redhat.com> | |
14762 | ||
14763 | * config/rx/constraints.md (Int08): Fix undefined left shift | |
14764 | behaviour. | |
14765 | (Sint08, Sint16, Sint24): Likewise. | |
14766 | * config/rx/rx.c (rx_get_stack_layout): Likewise. | |
14767 | ||
14768 | * config/rl78/rl78-expand.md (movqi): Fix undefined left shift | |
14769 | behaviour. | |
14770 | ||
14771 | * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined | |
14772 | left shift behaviour. | |
14773 | * config/msp430/constraints.md ('L' constraint): Similarly. | |
14774 | ('Ys' constraint): Similarly. | |
14775 | ||
14776 | 2015-09-29 Richard Biener <rguenther@suse.de> | |
14777 | ||
14778 | PR tree-optimization/67170 | |
14779 | * tree-ssa-alias.h (get_continuation_for_phi): Adjust | |
14780 | the translate function pointer parameter to get the | |
14781 | bool whether to disambiguate only by reference. | |
14782 | (walk_non_aliased_vuses): Likewise. | |
14783 | * tree-ssa-alias.c (maybe_skip_until): Adjust. | |
14784 | (get_continuation_for_phi_1): Likewise. | |
14785 | (get_continuation_for_phi): Likewise. | |
14786 | (walk_non_aliased_vuses): Likewise. | |
14787 | * tree-ssa-sccvn.c (const_parms): New bitmap. | |
14788 | (vn_reference_lookup_3): Adjust for interface change. | |
14789 | Disambiguate parameters pointing to readonly memory. | |
14790 | (free_scc_vn): Free const_parms. | |
14791 | (run_scc_vn): Initialize const_parms from a fn spec attribute. | |
14792 | ||
14793 | 2015-09-29 Richard Biener <rguenther@suse.de> | |
14794 | ||
14795 | PR tree-optimization/67741 | |
14796 | * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize | |
14797 | builtin calls with correct signature. | |
14798 | ||
14799 | 2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com> | |
14800 | ||
14801 | PR target/65105 | |
14802 | * config/i386/i386.c: Include dbgcnt.h. | |
14803 | (has_non_address_hard_reg): New. | |
14804 | (convertible_comparison_p): New. | |
14805 | (scalar_to_vector_candidate_p): New. | |
14806 | (remove_non_convertible_regs): New. | |
14807 | (scalar_chain): New. | |
14808 | (scalar_chain::scalar_chain): New. | |
14809 | (scalar_chain::~scalar_chain): New. | |
14810 | (scalar_chain::add_to_queue): New. | |
14811 | (scalar_chain::mark_dual_mode_def): New. | |
14812 | (scalar_chain::analyze_register_chain): New. | |
14813 | (scalar_chain::add_insn): New. | |
14814 | (scalar_chain::build): New. | |
14815 | (scalar_chain::compute_convert_gain): New. | |
14816 | (scalar_chain::replace_with_subreg): New. | |
14817 | (scalar_chain::replace_with_subreg_in_insn): New. | |
14818 | (scalar_chain::emit_conversion_insns): New. | |
14819 | (scalar_chain::make_vector_copies): New. | |
14820 | (scalar_chain::convert_reg): New. | |
14821 | (scalar_chain::convert_op): New. | |
14822 | (scalar_chain::convert_insn): New. | |
14823 | (scalar_chain::convert): New. | |
14824 | (convert_scalars_to_vector): New. | |
14825 | (pass_data_stv): New. | |
14826 | (pass_stv): New. | |
14827 | (make_pass_stv): New. | |
14828 | (ix86_option_override): Created and register stv pass. | |
14829 | (flag_opts): Add -mstv. | |
14830 | (ix86_option_override_internal): Likewise. | |
14831 | * config/i386/i386.md (SWIM1248x): New. | |
14832 | (*movdi_internal): Add xmm to mem alternative for TARGET_STV. | |
14833 | (and<mode>3): Use SWIM1248x iterator instead of SWIM. | |
14834 | (*anddi3_doubleword): New. | |
14835 | (*zext<mode>_doubleword): New. | |
14836 | (*zextsi_doubleword): New. | |
14837 | (<code><mode>3): Use SWIM1248x iterator instead of SWIM. | |
14838 | (*<code>di3_doubleword): New. | |
14839 | * config/i386/i386.opt (mstv): New. | |
14840 | * dbgcnt.def (stv_conversion): New. | |
14841 | ||
14842 | 2015-09-29 Tom de Vries <tom@codesourcery.com> | |
14843 | ||
14844 | * tree-cfg.c (dump_function_to_file): Dump function attributes. | |
14845 | ||
14846 | 2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org> | |
14847 | ||
14848 | PR target/67716 | |
14849 | * config/sh/sh.c (sh_override_options_after_change): New. | |
14850 | (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define. | |
14851 | (sh_option_override): Move align_loops, align_jumps and | |
14852 | align_functions handling into sh_override_options_after_change. | |
14853 | ||
14854 | 2015-09-28 Nathan Sidwell <nathan@codesourcery.com> | |
14855 | ||
14856 | * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h. | |
14857 | (nvptx_record_offload_symbol): Record function execution geometry. | |
14858 | * config/nvptx/mkoffload.c (process): Include launch geometry in | |
14859 | function data. | |
14860 | * omp-low.c (oacc_launch_pack): New. | |
14861 | (replace_oacc_fn_attrib): New. | |
14862 | (set_oacc_fn_attrib): New. | |
14863 | (get_oacc_fn_attrib): New. | |
14864 | (expand_omp_target): Create keyed varargs for GOACC_parallel call | |
14865 | generation. | |
14866 | * omp-low.h (get_oacc_fn_attrib): Declare. | |
14867 | * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New. | |
14868 | (DEF_FUNCTION_TYPE_VAR_11): Delete. | |
14869 | * tree.h (OMP_CLAUSE_EXPR): New. | |
14870 | * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name. | |
14871 | ||
14872 | 2015-09-28 Aditya Kumar <aditya.k7@samsung.com> | |
14873 | Sebastian Pop <s.pop@samsung.com> | |
14874 | ||
14875 | * sese.c (invariant_in_sese_p_rec): Remove unused variable. | |
14876 | ||
14877 | 2015-09-28 Aditya Kumar <aditya.k7@samsung.com> | |
14878 | Sebastian Pop <s.pop@samsung.com> | |
14879 | ||
14880 | * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX. | |
14881 | * graphite-scop-detection.c (struct sese_l): New type. | |
14882 | (get_entry_bb): API for getting entry bb of SESE. | |
14883 | (get_exit_bb): API for getting exit bb of SESE. | |
14884 | (class debug_printer): New type. Simple printer in debug mode. | |
14885 | (trivially_empty_bb_p): New. Return true when BB is empty or | |
14886 | contains only debug instructions. | |
14887 | (graphite_can_represent_expr): Call scalar_evoution_in_region | |
14888 | instead of analyze_scalar_evolution. Pass in scop instead of only | |
14889 | the scop entry. | |
14890 | (stmt_has_simple_data_refs_p): Pass in scop instead of only the | |
14891 | scop entry. | |
14892 | (stmt_simple_for_scop_p): Same. | |
14893 | (harmful_stmt_in_bb): Same. | |
14894 | (graphite_can_represent_loop): Deleted. | |
14895 | (struct scopdet_info): Deleted. | |
14896 | (scopdet_basic_block_info): Deleted. | |
14897 | (build_scops_1): Deleted. | |
14898 | (bb_in_sd_region): Deleted. | |
14899 | (find_single_entry_edge): Deleted. | |
14900 | (find_single_exit_edge): Deleted. | |
14901 | (create_single_entry_edge): Deleted. | |
14902 | (sd_region_without_exit): Deleted. | |
14903 | (create_single_exit_edge): Deleted. | |
14904 | (unmark_exit_edges): Deleted. | |
14905 | (mark_exit_edges): Deleted. | |
14906 | (create_sese_edges): Deleted. | |
14907 | (build_graphite_scops): Deleted. | |
14908 | (canonicalize_loop_closed_ssa): Recompute all dominators at the end. | |
14909 | (build_scops): Use the new scop_builder to build scops. | |
14910 | (dot_all_scops_1): Use the new pretty printer. Print loop father | |
14911 | as well. | |
14912 | (loop_body_is_valid_scop): New. Return true if loop body is a | |
14913 | valid scop. | |
14914 | (class scop_builder): New. Builds SCoPs for polyhedral | |
14915 | optimizations. | |
14916 | (scop_builder): New constructor. | |
14917 | (static sese_l invalid_sese): sese_l with invalid edges. | |
14918 | (get_sese): Get an sese (from a loop) if possible, invalid_sese | |
14919 | otherwise. | |
14920 | (get_nearest_dom_with_single_entry): Get nearest dominator of a | |
14921 | basic_block with single entry. Return NULL if we get to the | |
14922 | beginning of a function. | |
14923 | (get_nearest_pdom_with_single_exit): Get nearest post-dominator of | |
14924 | a basic_block with single exit. Return NULL if we get to the | |
14925 | beginning of a function. | |
14926 | (print_sese): Pretty-print SESE. | |
14927 | (merge_sese): Merge two SESEs if possible and return the new SESE. | |
14928 | (build_scop_depth): Start building the SCoP within a loop nest. | |
14929 | (build_scop_breadth): Start building the SCoP at a single loop | |
14930 | depth. Merge adjacent SESEs if valid. | |
14931 | (can_represent_loop_1): Returns true if Graphite can represent | |
14932 | loop inside SCoP. Helper for can_represent_loop. | |
14933 | (can_represent_loop): Returns true if Graphite can represent LOOP | |
14934 | and all its nested loops in SCoP. | |
14935 | (loop_is_valid_scop): Returns true if LOOP and all its nests | |
14936 | constitute a valid SCoP. | |
14937 | (region_has_one_loop): Returns true of a region has only one loop. | |
14938 | (add_scop): Add SCoP to the list of valid scops. Removes an | |
14939 | already existing scop if it intersects with or subsumed by this one. | |
14940 | (harmful_stmt_in_region): Returns true if SCoP has any statment | |
14941 | which cannot be represented by Graphite. | |
14942 | (subsumes): Returns true of SCoP S1 subsumes SCoP S2. | |
14943 | (remove_subscops): Remove any SCoP from the list of already found | |
14944 | SCoPs, if subsumed by S1. | |
14945 | (intersects): Return true if region bounded by SCoPs S1 and S2 | |
14946 | intersect. | |
14947 | (remove_intersecting_scops): Remove any SCoP which intersects with S1. | |
14948 | * graphite.c (print_graphite_scop_statistics): | |
14949 | (print_graphite_statistics): Print SCoP info while debugging. | |
14950 | (graphite_initialize): Early exit in case number of loops in a | |
14951 | function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or | |
14952 | basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION. | |
14953 | (graphite_finalize): | |
14954 | * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION. | |
14955 | * sese.h (sese_loop_depth): Remove unnecessary gcc_assert. | |
14956 | (recompute_all_dominators): Recalculate POST_DOMINATORS. | |
14957 | * tree-cfg.c (print_loops): Print the function name while printing | |
14958 | loops. | |
14959 | ||
14960 | 2015-09-28 Aditya Kumar <aditya.k7@samsung.com> | |
14961 | Sebastian Pop <s.pop@samsung.com> | |
14962 | ||
14963 | PR tree-optimization/67700 | |
14964 | * graphite-sese-to-poly.c (parameter_index_in_region): Call | |
14965 | invariant_in_sese_p_rec. | |
14966 | (extract_affine): Same. | |
14967 | (rewrite_cross_bb_scalar_deps): Call update_ssa. | |
14968 | * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses. | |
14969 | * sese.h (invariant_in_sese_p_rec): Declare. | |
14970 | ||
14971 | 2015-09-28 David Wohlferd <dw@LimeGreenSocks.com> | |
14972 | ||
14973 | * doc/extend.texi (Asm Labels): Break out text for data vs functions. | |
14974 | ||
14975 | 2015-09-28 Jiong Wang <jiong.wang@arm.com> | |
14976 | ||
14977 | Revert: | |
14978 | 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
14979 | Jiong Wang <jiong.wang@arm.com> | |
14980 | ||
14981 | * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern. | |
14982 | * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. | |
14983 | (REG_CLASS_NAMES): Likewise. | |
14984 | (REG_CLASS_CONTENTS): Likewise. | |
14985 | * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. | |
14986 | (aarch64_register_move_cost): Likewise. | |
14987 | (aarch64_load_symref_appropriately): Invoke the new added pattern if | |
14988 | possible. | |
14989 | * config/aarch64/constraints.md (Uc0): New constraint. | |
14990 | ||
14991 | 2015-09-28 Daniel Hellstrom <daniel@gaisler.com> | |
14992 | ||
14993 | * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon. | |
14994 | ||
14995 | 2015-09-28 David Edelsohn <dje.gcc@gmail.com> | |
14996 | ||
14997 | * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place | |
14998 | SECTION_EXCLUDE in XO mapping class. | |
14999 | ||
15000 | 2015-09-28 Oleg Endo <olegendo@gcc.gnu.org> | |
15001 | ||
15002 | PR target/54236 | |
15003 | * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow | |
15004 | and handle ne and eq codes. | |
15005 | * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn. | |
15006 | (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject | |
15007 | CONST_INT_P. Use reverse_condition. | |
15008 | (sh_split_treg_set_expr): Likewise. | |
15009 | ||
15010 | 2015-09-28 James Greenhalgh <james.greenhalgh@arm.com> | |
15011 | ||
15012 | * config/arm/types.md (type): Add rotate_imm. | |
15013 | * config/aarch64/aarch64.md (*ror<mode>3_insn): Split out the | |
15014 | ROR immediate case. | |
15015 | (*rorsi3_insn_uxtw): Likewise. | |
15016 | * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm. | |
15017 | * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm. | |
15018 | * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm. | |
15019 | ||
15020 | 2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
15021 | ||
15022 | PR rtl-optimization/67481 | |
15023 | * ifcvt.c (contains_ccmode_rtx_p): New function. | |
15024 | (insn_valid_noce_process_p): Use it. | |
15025 | ||
15026 | 2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
15027 | ||
15028 | PR rtl-optimization/67456 | |
15029 | PR rtl-optimization/67464 | |
15030 | PR rtl-optimization/67465 | |
15031 | * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally | |
15032 | move in the mode of x. Handle combination of complex and simple | |
15033 | block pairs as well as the case when one is empty. | |
15034 | ||
15035 | 2015-09-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
15036 | ||
15037 | * doc/gimple.texi: Update references to gimple_statement_base. | |
15038 | * gdbhooks.py: Likewise. | |
15039 | * gimple.h: Likewise. | |
15040 | ||
15041 | 2015-09-28 Daniel Cederman <cederman@gaisler.com> | |
15042 | ||
15043 | * config/sparc/driver-sparc.c: map LEON to leon3 | |
15044 | ||
15045 | 2015-09-28 Daniel Cederman <cederman@gaisler.com> | |
15046 | ||
15047 | * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE | |
15048 | and make it inverse to change default | |
15049 | * config/sparc/sync.md: Only use supervisor ASI for CASA when in | |
15050 | supervisor mode | |
15051 | * doc/invoke.texi: Document change of default | |
15052 | ||
15053 | 2015-09-28 Daniel Cederman <cederman@gaisler.com> | |
15054 | ||
15055 | * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return | |
15056 | true on %f0 for a target without FPU. | |
15057 | * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target | |
15058 | without FPU. | |
15059 | (untyped_return): Do not load %f0 for a target without FPU. | |
15060 | ||
15061 | 2015-09-28 Andrew Pinski <apinski@cavium.com> | |
15062 | ||
15063 | * config/aarch64/aarch64.md (prefetch): | |
15064 | Change the predicate of operand 0 to register_operand. | |
15065 | ||
15066 | 2015-09-27 Uros Bizjak <ubizjak@gmail.com> | |
15067 | ||
15068 | * config/i386/predicates.md (register_sse4nonimm_operand): New | |
15069 | predicate. | |
15070 | * config/i386/sse.md (PEXTR_MODE12): New mode iterator. | |
15071 | (*vec_extract<mode>): Use PEXTR_MODE12 instead of VI12_128 mode. | |
15072 | Use register_sse4nonimm_operand as operand 0 predicate. | |
15073 | (*vec_extractv8hi_sse2): Remove insn pattern. | |
15074 | (*vec_extract<PEXTR_MODE12:mode>_zext): Merge insn pattern from | |
15075 | *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns. | |
15076 | ||
15077 | 2015-09-27 Oleg Endo <olegendo@gcc.gnu.org> | |
15078 | Kaz Kojima <kkojima@gcc.gnu.org> | |
15079 | ||
15080 | PR target/67391 | |
15081 | * config/sh/sh-protos.h (sh_lra_p): Declare. | |
15082 | * config/sh/sh.c (sh_lra_p): Make non-static. | |
15083 | * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and | |
15084 | arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case. | |
15085 | Expand into addsi3_scr if operands[2] if needed. | |
15086 | (*addsi3_compact): Rename to *addsi3_compact_lra. Use | |
15087 | arith_reg_operand for operands[1]. Allow it only when LRA is enabled. | |
15088 | (addsi3_scr, *addsi3): New insn_and_split patterns. | |
15089 | ||
dfb6d139 | 15090 | 2015-09-27 Alexandre Oliva <aoliva@redhat.com> |
fb2c1edd | 15091 | |
15092 | PR rtl-optimization/64164 | |
15093 | PR tree-optimization/67312 | |
15094 | PR middle-end/67340 | |
15095 | PR middle-end/67490 | |
15096 | PR bootstrap/67597 | |
15097 | * cfgexpand.c (parm_in_stack_slot_p): Remove. | |
15098 | (ssa_default_def_partition): Remove. | |
15099 | (get_rtl_for_parm_ssa_default_def): Remove. | |
15100 | (set_rtl): Check that RTL assignments match expectations. | |
15101 | Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the | |
15102 | default def location for params and results. Record SSA names | |
15103 | or types in REG and MEM attrs, respectively. | |
15104 | (set_parm_rtl): New. | |
15105 | (expand_one_ssa_partition): Drop logic that assigned MEMs with | |
15106 | unassigned addresses. | |
15107 | (adjust_one_expanded_partition_var): Don't accept NULL RTL on | |
15108 | deferred stack alloc vars. | |
15109 | (expand_used_vars): Skip partitions holding parm default defs. | |
15110 | Move adjust_one_expanded_partition_var loop... | |
15111 | (pass_expand::execute): ... here. Drop redundant assert. | |
15112 | Adjust comments before the final loop over all ssa names. | |
15113 | Require assigned rtl of parms and results to match exactly. | |
15114 | Reset its attributes to match them, not any other variables in | |
15115 | the same partition. | |
15116 | (expand_debug_expr): Use entry value for PARM's default defs | |
15117 | only iff they have zero nondebug uses. | |
15118 | * cfgexpand.h (parm_in_stack_slot_p): Remove. | |
15119 | (get_rtl_for_parm_ssa_default_def): Remove. | |
15120 | (set_parm_rtl): Declare. | |
15121 | * doc/invoke.texi: Improve wording. | |
15122 | * explow.c (promote_decl_mode): Fix promote_function_mode for | |
15123 | result decls not by reference. | |
15124 | (promote_ssa_mode): Disregard BLKmode from promote_decl, and | |
15125 | bypass TYPE_MODE to get the actual vector mode. | |
15126 | * function.c: Include tree-dfa.h. Revert 2015-08-14's and | |
15127 | 2015-08-19's changes as follows. Drop include of | |
15128 | basic-block.h and df.h. | |
15129 | (rtl_for_parm): Remove. | |
15130 | (maybe_reset_rtl_for_parm): Remove. | |
15131 | (parm_in_unassigned_mem_p): Remove. | |
15132 | (use_register_for_decl): Add logic for RESULT_DECLs matching | |
15133 | assign_parms' behavior. | |
15134 | (split_complex_args): Revert. | |
15135 | (assign_parms_augmented_arg_list): Revert. Add comment | |
15136 | referencing the logic above. | |
15137 | (assign_parm_adjust_stack_rtl): Revert. | |
15138 | (assign_parm_setup_block): Revert. Use set_parm_rtl instead | |
15139 | of SET_DECL_RTL. Set up a REG if the parm demands so. | |
15140 | (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL | |
15141 | calls into a single set_parm_rtl. Set up a temporary RTL | |
15142 | temporarily for expand_assignment. | |
15143 | (assign_parm_setup_stack): Revert. Use set_parm_rtl. | |
15144 | (assign_parms_unsplit_complex): Revert. Use set_parm_rtl. | |
15145 | (assign_bounds): Revert. | |
15146 | (assign_parms): Revert. Use set_parm_rtl. | |
15147 | (allocate_struct_function): Relayout result and parms of | |
15148 | non-abstruct functions. | |
15149 | (expand_function_start): Revert. Use set_parm_rtl. If the | |
15150 | result is not a hard reg, create a pseudo from the promoted | |
15151 | mode of the default def. Promote static chain mode. | |
15152 | * tree-outof-ssa.c (remove_ssa_form): Drop unused | |
15153 | partition_has_default_def. Set up | |
15154 | partitions_for_parm_default_defs. | |
15155 | (finish_out_of_ssa): Remove partition_has_default_def. | |
15156 | Release partitions_for_parm_default_defs. | |
15157 | * tree-outof-ssa.h (struct ssaexpand): Remove | |
15158 | partition_has_default_def. Add | |
15159 | partitions_for_parm_default_defs. | |
15160 | * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and | |
15161 | stor-layout.h. | |
15162 | (build_ssa_conflict_graph): Fix conflict-detection of default | |
15163 | defs of even unused default defs of params and results. | |
15164 | (for_all_parms): New. | |
15165 | (create_default_def): New. | |
15166 | (register_default_def): New. | |
15167 | (coalesce_with_default): New. | |
15168 | (create_outofssa_var_map): Create default defs for all parms | |
15169 | and results, and register their partitions. Add GIMPLE_RETURN | |
15170 | operands as coalesce candidates with results. Add default | |
15171 | defs of each parm or result as coalesce candidates with its | |
15172 | other defs. Mark each result def, and each default def of | |
15173 | parms, as used_in_copy. | |
15174 | (gimple_can_coalesce_p): Call it. Call use_register_for_decl | |
15175 | with the ssa names, even anonymous ones. Drop | |
15176 | parm_in_stack_slot_p calls. Require same signedness and | |
15177 | alignment. | |
15178 | (coalesce_ssa_name): Add coalesce candidates for all defs of | |
15179 | each parm and result, even unused ones. | |
15180 | (parm_default_def_partition_arg): New type. | |
15181 | (set_parm_default_def_partition): New. | |
15182 | (get_parm_default_def_partitions): New. | |
15183 | * tree-ssa-coalesce.h (get_parm_default_def_partitions): New. | |
15184 | * tree-ssa-live.c (partition_view_init): Regard unused defs of | |
15185 | parms and results as used. | |
15186 | (verify_live_on_entry): Don't error out just because they're | |
15187 | not live. | |
15188 | ||
15189 | 2015-09-26 David Edelsohn <dje.gcc@gmail.com> | |
15190 | ||
15191 | * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition. | |
15192 | (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition. | |
15193 | (output_fde): Don't output length for debug_frame on AIX. | |
15194 | (output_call_frame_info): Don't output length for debug_frame on AIX. | |
15195 | (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not | |
15196 | HAVE_XCOFF_DWARF_EXTRAS. | |
15197 | (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not | |
15198 | HAVE_XCOFF_DWARF_EXTRAS. | |
15199 | (output_compilation_unit_header): Don't output length on AIX. | |
15200 | (output_pubnames): Don't output length on AIX. | |
15201 | (output_aranges): Delete argument. Compute length locally. Don't | |
15202 | output length on AIX. | |
15203 | (output_line_info): Don't output length on AIX. | |
15204 | (dwarf2out_finish): Don't compute aranges_length. | |
15205 | * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition. | |
15206 | (dw2_asm_output_nstring): Emit .byte not .ascii on AIX. | |
15207 | * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct | |
15208 | symbol decoration for AIX. | |
15209 | (rs6000_xcoff_debug_unwind_info): New. | |
15210 | (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op | |
15211 | for SECTION_DEBUG. | |
15212 | (rs6000_xcoff_declare_function_name): Emit different | |
15213 | .function pseudo-op when DWARF2_DEBUG. Don't call | |
15214 | xcoffout_declare_function for DWARF2_DEBUG. | |
15215 | * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO): | |
15216 | Redefine. | |
15217 | * config/rs6000/aix71.h: New. | |
15218 | * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF | |
15219 | locations support. | |
15220 | * configure: Regenerate. | |
15221 | * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with | |
15222 | DWARF support. | |
15223 | ||
15224 | 2015-09-26 Jeff Law <law@redhat.com> | |
15225 | ||
15226 | * config/arc/arc.c (arc_output_addsi): Fix left shift undefined | |
15227 | behaviour. | |
15228 | * config/arc/constraints.md (Cca, C2a): Fix left shift undefined | |
15229 | behaviour. | |
15230 | ||
15231 | * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined | |
15232 | behaviour | |
15233 | ||
15234 | * config/mips/mips.c (mips_compute_frame_info): Fix left shift | |
15235 | undefined behaviour. | |
15236 | ||
15237 | * config/cris/cris.md (asrandb): Fix left shift undefined | |
15238 | behaviour. | |
15239 | (asrandw): Likewise. | |
15240 | ||
15241 | 2015-09-25 Vladimir Makarov <vmakarov@redhat.com> | |
15242 | ||
15243 | PR target/61578 | |
15244 | * lra-constarints.c (match_reload): Check presence of the input pseudo | |
15245 | in the output operand. | |
15246 | ||
15247 | 2015-09-25 Tobias Burnus <burnus@net-b.de> | |
15248 | ||
15249 | * doc/invoke.texi (-fsanitize): Minor wording tweak. | |
15250 | ||
15251 | 2015-09-25 Tobias Burnus <burnus@net-b.de> | |
15252 | ||
15253 | * doc/invoke.texi (-fsanitize): Update URLs. | |
15254 | ||
15255 | 2015-09-25 Teresa Johnson <tejohnson@google.com> | |
15256 | ||
15257 | * opts.c (finish_options): Unset -freorder-blocks-and-partition | |
15258 | if not using profile. | |
15259 | ||
15260 | 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
15261 | ||
15262 | PR pretty-print/67567 | |
15263 | * pretty-print.c (pp_string): Add gcc_checking_assert. | |
15264 | * pretty-print.h (output_buffer_append_r): Likewise. | |
15265 | ||
15266 | 2015-09-25 Oleg Endo <olegendo@gcc.gnu.org> | |
15267 | ||
15268 | PR target/67675 | |
15269 | * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and | |
15270 | addr2 individually. Don't emit logical or insn if one is known to | |
15271 | be aligned approriately. | |
15272 | (sh_expand_cmpnstr): Likewise. | |
15273 | ||
15274 | 2015-09-25 Richard Sandiford <richard.sandiford@arm.com> | |
15275 | ||
15276 | * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force | |
15277 | __builtin_aarch64_fp[sc]r arguments into a register. | |
15278 | ||
15279 | 2015-09-25 H.J. Lu <hongjiu.lu@intel.com> | |
15280 | ||
15281 | * config.gcc (x86_archs): Replace lakemount with lakemont. | |
15282 | (with_cpu): Likewise. | |
15283 | (with_arch): Likewise. | |
15284 | * config/i386/i386-c.c (ix86_target_macros_internal): Replace | |
15285 | PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace | |
15286 | __tune_lakemount__ with __tune_lakemont__. | |
15287 | * config/i386/i386.c (lakemount_cost): Renamed to ... | |
15288 | (lakemont_cost): This. | |
15289 | (m_LAKEMOUNT): Renamed to ... | |
15290 | (m_LAKEMONT): This. | |
15291 | (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT. | |
15292 | (processor_target_table): Replace "lakemount" with "lakemont". | |
15293 | (processor_alias_table): Likewise. | |
15294 | (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with | |
15295 | PROCESSOR_LAKEMONT. | |
15296 | (ix86_adjust_cost): Likewise. | |
15297 | (ia32_multipass_dfa_lookahead): Likewise. | |
15298 | * config/i386/i386.h (processor_type): Likewise. | |
15299 | * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT. | |
15300 | * doc/invoke.texi: Replace lakemount with lakemont. Replace | |
15301 | Lakemount with Lakemont. | |
15302 | ||
15303 | 2015-09-24 H.J. Lu <hongjiu.lu@intel.com> | |
15304 | ||
15305 | * config.gcc (x86_archs): Replace iamcu with lakemount. | |
15306 | (with_cpu): Likewise. | |
15307 | (with_arch): Likewise. | |
15308 | * doc/invoke.texi: Likewise. | |
15309 | * config/i386/i386-c.c (ix86_target_macros_internal): Replace | |
15310 | PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace | |
15311 | __tune_iamcu__ with __tune_lakemount__. | |
15312 | * config/i386/i386.c (iamcu_cost): Renamed to ... | |
15313 | (lakemount_cost): This. | |
15314 | (m_IAMCU): Renamed to ... | |
15315 | (m_LAKEMOUNT): This. | |
15316 | (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT. | |
15317 | (processor_target_table): Replace "iamcu" with "lakemount". | |
15318 | (processor_alias_table): Likewise. | |
15319 | (ix86_issue_rate): Replace PROCESSOR_IAMCU with | |
15320 | PROCESSOR_LAKEMOUNT. | |
15321 | (ix86_adjust_cost): Likewise. | |
15322 | (ia32_multipass_dfa_lookahead): Likewise. | |
15323 | * config/i386/i386.h (processor_type): Likewise. | |
15324 | * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT. | |
15325 | ||
15326 | 2015-09-24 John David Anglin <danglin@gcc.gnu.org> | |
15327 | ||
15328 | * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define. | |
15329 | * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop): | |
15330 | Declare. | |
15331 | * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes. | |
15332 | (pa_expand_compare_and_swap_loop): New. | |
15333 | (pa_maybe_emit_compare_and_swap_exchange_loop): New. | |
15334 | * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi, | |
15335 | atomic_storesf, atomic_loaddf, atomic_storedf): New expanders. | |
15336 | (atomic_loaddf_1, atomic_storedf_1): New insn patterns. | |
15337 | (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1): | |
15338 | Revise. | |
15339 | ||
15340 | 2015-09-24 Michael Collison <michael.collison@linaro.org> | |
15341 | ||
15342 | PR other/57195 | |
15343 | * read-md.c (read_name): Allow mode iterators inside angle | |
15344 | brackets in rtl expressions. | |
15345 | ||
15346 | 2015-09-24 Vladimir Makarov <vmakarov@redhat.com> | |
15347 | ||
15348 | PR target/61578 | |
15349 | * ira-color.c (update_allocno_cost): Add parameter. | |
15350 | (update_costs_from_allocno): Decrease conflict cost. Pass the new | |
15351 | parameter. | |
15352 | ||
15353 | 2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
15354 | ||
15355 | PR driver/67640 | |
15356 | * opts-common.c (prune_options): Discard all -fdiagnostics-color | |
15357 | but the last one, which is moved to the front to be processed | |
15358 | first. | |
15359 | * opts.c (enable_warning_as_error): Reject options that do not | |
15360 | control warnings. | |
15361 | ||
15362 | 2015-09-24 Jiong Wang <jiong.wang@arm.com> | |
15363 | ||
15364 | * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support. | |
15365 | ||
15366 | 2015-09-24 Jiong Wang <jiong.wang@arm.com> | |
15367 | ||
15368 | * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete. | |
15369 | * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise. | |
15370 | (aarch64_cannot_force_const_mem): Likewise. | |
15371 | (aarch64_classify_address): Likewise. | |
15372 | (aarch64_classify_symbolic_expression): Likewise. | |
15373 | (aarch64_print_operand): Likewise. | |
15374 | (aarch64_classify_symbol): Likewise. | |
15375 | (aarch64_mov_operand_p): Likewise. | |
15376 | * config/aarch64/predicates.md (aarch64_valid_symref): Likewise. | |
15377 | (aarch64_mov_operand): Likewise. | |
15378 | ||
15379 | 2015-09-24 Segher Boessenkool <segher@kernel.crashing.org> | |
15380 | ||
15381 | * config/rs6000/rs6000.c (debug_stack_info): Invert the test | |
15382 | for info->spe_gp_size. | |
15383 | ||
15384 | 2015-09-24 Richard Biener <rguenther@suse.de> | |
15385 | ||
15386 | PR lto/67699 | |
15387 | * lto-cgraph.c (compute_ltrans_boundary): Do not stream | |
15388 | abstract origins. | |
15389 | ||
15390 | 2015-09-24 Thomas Schwinge <thomas@codesourcery.com> | |
15391 | ||
15392 | * tree-object-size.c (plus_stmt_object_size) | |
15393 | (cond_expr_object_size): Change the formal parameters from gimple | |
15394 | to gimple *. | |
15395 | * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise. | |
15396 | * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static. | |
15397 | * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare. | |
15398 | ||
15399 | 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
15400 | ||
15401 | * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris. | |
15402 | Check for ld -type pie on Solaris 11.x and 12. | |
15403 | * configure: Regenerate. | |
15404 | * config.in: Regenerate. | |
15405 | ||
15406 | * gcc.c (LD_PIE_SPEC): Allow redefinition. | |
15407 | ||
15408 | * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define. | |
15409 | (STARTFILE_SPEC): Use it. | |
15410 | (ENDFILE_CRTEND_SPEC): Define. | |
15411 | (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC. | |
15412 | (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC, | |
15413 | ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC. | |
15414 | [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define. | |
15415 | (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define. | |
15416 | * config/i386/sol2.h (ENDFILE_SPEC): Remove. | |
15417 | (ENDFILE_ARCH_SPEC): Define. | |
15418 | * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define. | |
15419 | ||
15420 | 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
15421 | ||
15422 | * configure.ac (gcc_cv_solaris_crts): New test. | |
15423 | * configure. Regenerate. | |
15424 | * config.in: Regenerate. | |
15425 | * config/sol2.h (STARTFILE_SPEC): Simplify, provide | |
15426 | HAVE_SOLARIS_CRTS variant. | |
15427 | ||
15428 | 2015-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
15429 | ||
15430 | * tree-inline.h (count_insns_seq): Delete prototype. | |
15431 | (estimate_num_insns_seq): Define prototype. | |
15432 | * tree-inline.c (count_insns_seq): Delete. | |
15433 | (estimate_num_insns_seq): Remove static qualifier. | |
15434 | * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq | |
15435 | with estimate_num_insns_seq. | |
15436 | ||
15437 | 2015-09-24 Richard Biener <rguenther@suse.de> | |
15438 | ||
15439 | * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base | |
15440 | members. | |
15441 | * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique | |
15442 | and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF | |
15443 | offset. | |
15444 | (ao_ref_init_from_vn_reference): Record clique and base in the | |
15445 | built base. | |
15446 | * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise | |
15447 | ||
15448 | 2015-09-24 Richard Biener <rguenther@suse.de> | |
15449 | ||
15450 | PR tree-optimization/48885 | |
15451 | * tree-ssa-structalias.c (visit_loadstore): Handle default defs | |
15452 | as not including any restrict tags from other pointers. | |
15453 | ||
15454 | 2015-09-23 Thomas Schwinge <thomas@codesourcery.com> | |
15455 | ||
15456 | * gcc.c (handle_foffload_option): Don't lose the trailing NUL | |
15457 | character when appending to offload_targets. | |
15458 | ||
15459 | * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate | |
15460 | offload targets by commas, not colons. | |
15461 | * config.in: Regenerate. | |
15462 | * configure: Likewise. | |
15463 | * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that, | |
15464 | instead of setting up the default offload targets here... | |
15465 | (process_command): ..., do it here. | |
15466 | libgomp/ | |
15467 | * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload | |
15468 | targets are separated by commas. | |
15469 | * config.h.in: Regenerate. | |
15470 | ||
15471 | 2015-09-23 Thomas Schwinge <thomas@codesourcery.com> | |
15472 | Nathan Sidwell <nathan@codesourcery.com> | |
15473 | ||
15474 | * omp-low.h (omp_reduction_init_op): Declare. | |
15475 | * omp-low.c (omp_reduction_init_op): New, broken out of ... | |
15476 | (omp_reduction_init): ... here. Call it. | |
15477 | * tree-parloops.c (initialize_reductions): Use | |
15478 | omp_reduction_init_op. | |
15479 | ||
15480 | 2015-09-23 Richard Biener <rguenther@suse.de> | |
15481 | ||
15482 | PR middle-end/67662 | |
15483 | * fold-const.c (fold_binary_loc): Do not reassociate two vars with | |
15484 | undefined overflow unless they will cancel out. | |
15485 | ||
15486 | 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com> | |
15487 | ||
15488 | * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix | |
15489 | insn emit. | |
15490 | ||
15491 | 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
15492 | ||
15493 | PR c/49655 | |
15494 | * opts.h (write_langs): Declare. | |
15495 | * opts-global.c (write_langs): Make it extern. | |
15496 | ||
15497 | 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org> | |
15498 | ||
15499 | PR target/67391 | |
15500 | * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for | |
15501 | overlapping regs when matching the pattern. | |
15502 | ||
15503 | 2015-09-23 James Greenhalgh <james.greenhalgh@arm.com> | |
15504 | ||
15505 | * config/aarch64/aarch64-simd.md | |
15506 | (aarch64_float_truncate_hi_v4sf): Rewrite as an expand. | |
15507 | (aarch64_float_truncate_hi_v4sf_le): New. | |
15508 | (aarch64_float_truncate_hi_v4sf_be): Likewise. | |
15509 | ||
15510 | 2015-09-23 Richard Biener <rguenther@suse.de> | |
15511 | ||
15512 | * tree-ssa-structalias.c (intra_create_variable_infos): Build | |
15513 | representatives for all restrict qualified pointer destinations. | |
15514 | ||
15515 | 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com> | |
15516 | ||
15517 | * config/i386/i386.md (define_code_attr mshift): New. | |
15518 | (define_mode_iterator SWI1248_AVX512BW): Rename ... | |
15519 | (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ | |
15520 | only. | |
15521 | (define_insn "*k<logic><mode>"): Use new iterator name. | |
15522 | (define_insn "*<mshift><mode>3"): New. | |
15523 | ||
15524 | 2015-09-23 Mikhail Maltsev <maltsevm@gmail.com> | |
15525 | ||
15526 | PR middle-end/67649 | |
15527 | * memory-block.h (memory_block_pool::allocate): Use valgrind API to | |
15528 | mark the block as accessible. | |
15529 | ||
15530 | 2015-09-22 Segher Boessenkool <segher@kernel.crashing.org> | |
15531 | ||
15532 | * function.c (thread_prologue_and_epilogue_insns): Delete | |
15533 | orig_entry_edge argument to try_shrink_wrapping. | |
15534 | * shrink-wrap.c (can_get_prologue): New function. | |
15535 | (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING. | |
15536 | (try_shrink_wrapping): Delete orig_entry_edge argument. Use | |
15537 | can_get_prologue where needed. Remove code that finds a single | |
15538 | edge for the prologue. Remove code that tests if any reg clobbered | |
15539 | by the prologue is live on the prologue edge. Remove code that finds | |
15540 | the new prologue edge after duplicating blocks. Make a new prologue | |
15541 | block and edge. | |
15542 | * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument. | |
15543 | ||
15544 | 2015-09-22 Jeff Law <law@redhat.com> | |
15545 | ||
15546 | * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined | |
15547 | behavior. | |
15548 | ||
15549 | 2015-09-22 Nathan Sidwell <nathan@codesourcery.com> | |
15550 | ||
15551 | * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance, | |
15552 | -Wtemplates, -Wnamespaces): Document. | |
15553 | ||
15554 | 2015-09-22 Tom de Vries <tom@codesourcery.com> | |
15555 | ||
15556 | PR tree-optimization/67671 | |
15557 | * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict | |
15558 | pointer references as restrict. | |
15559 | ||
15560 | 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com> | |
15561 | ||
15562 | * config/nios2/nios2.c (nios2_legitimize_address): When handling | |
15563 | 'reg + reloc' cases, allow first operand to be non-REG, and use | |
15564 | force_reg() to enforce address pattern. | |
15565 | ||
dfb6d139 | 15566 | 2015-09-22 Alexander Fomin <alexander.fomin@intel.com> |
fb2c1edd | 15567 | |
15568 | PR target/67480 | |
15569 | * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New. | |
15570 | (define_mode_iterator VI12_AVX_AVX512F): New. | |
15571 | (define_insn "<mask_codefor><code><mode>3<mask_name>"): Change | |
15572 | all iterators to VI48_AVX_AVX512F. Extract remaining modes ... | |
15573 | (define_insn "*<code><mode>3"): ... Into new pattern using | |
15574 | VI12_AVX_AVX512F iterators without masking. | |
15575 | ||
15576 | 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> | |
15577 | ||
15578 | * config.gcc: Support "skylake-avx512". | |
15579 | * config/i386/i386-c.c (ix86_target_macros_internal): Handle | |
15580 | PROCESSOR_SKYLAKE_AVX512. | |
15581 | * config/i386/i386.c (m_SKYLAKE_AVX512): Define. | |
15582 | (processor_target_table): Add "skylake-avx512". | |
15583 | (PTA_SKYLAKE_AVX512): Define. | |
15584 | (ix86_option_override_internal): Add "skylake_avx512". | |
15585 | (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL | |
15586 | F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD. | |
15587 | * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define. | |
15588 | (processor_type): Add PROCESSOR_SKYLAKE_AVX512. | |
15589 | * doc/invoke.texi (skylake-avx512): New. | |
15590 | ||
15591 | 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> | |
15592 | ||
15593 | * config/i386/i386.md (define_insn "kunpckhi"): Fix | |
15594 | operand in pattern. | |
15595 | (define_insn "kunpcksi"): Ditto. | |
15596 | (define_insn "kunpckdi"): Ditto. | |
15597 | ||
15598 | 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com> | |
15599 | ||
15600 | * config/i386/i386.md (define_split not/xor SWI1248x): Use | |
15601 | iterator instead of fixed modes. | |
15602 | ||
15603 | 2015-09-22 Matthew Wahab <matthew.wahab@arm.com> | |
15604 | ||
15605 | * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop): | |
15606 | Adjust declaration. | |
15607 | * config/aarch64/aarch64.c (aarch64_emit_bic): New. | |
15608 | (aarch64_gen_atomic_ldop): Adjust comment. Add parameter | |
15609 | out_result. Update to support update-fetch operations. | |
15610 | * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse): | |
15611 | Adjust for change to aarch64_gen_atomic_ldop. | |
15612 | (aarch64_atomic_<atomic_optab><mode>_lse): Likewise. | |
15613 | (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise. | |
15614 | (atomic_<atomic_optab>_fetch<mode>): Change to an expander. | |
15615 | (aarch64_atomic_<atomic_optab>_fetch<mode>): New. | |
15616 | (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New. | |
15617 | ||
15618 | 2015-09-22 Matthew Wahab <matthew.wahab@arm.com> | |
15619 | ||
15620 | * config/aarch64/aarch64-protos.h | |
15621 | (aarch64_atomic_ldop_supported_p): Declare. | |
15622 | * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New. | |
15623 | (enum aarch64_atomic_load_op_code): New. | |
15624 | (aarch64_emit_atomic_load_op): New. | |
15625 | (aarch64_gen_atomic_ldop): Update to support load-operate | |
15626 | patterns. | |
15627 | * config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change | |
15628 | to an expander. | |
15629 | (aarch64_atomic_<atomic_optab><mode>): New. | |
15630 | (aarch64_atomic_<atomic_optab><mode>_lse): New. | |
15631 | (atomic_fetch_<atomic_optab><mode>): Change to an expander. | |
15632 | (aarch64_atomic_fetch_<atomic_optab><mode>): New. | |
15633 | (aarch64_atomic_fetch_<atomic_optab><mode>_lse): New. | |
15634 | ||
15635 | 2015-09-22 Matthew Wahab <matthew.wahab@arm.com> | |
15636 | ||
15637 | * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New. | |
15638 | (UNSPECV_ATOMIC_LDOP_OR): New. | |
15639 | (UNSPECV_ATOMIC_LDOP_BIC): New. | |
15640 | (UNSPECV_ATOMIC_LDOP_XOR): New. | |
15641 | (UNSPECV_ATOMIC_LDOP_PLUS): New. | |
15642 | (ATOMIC_LDOP): New. | |
15643 | (atomic_ldop): New. | |
15644 | (aarch64_atomic_load<atomic_ldop><mode>): New. | |
15645 | ||
15646 | 2015-09-22 Matthew Wahab <matthew.wahab@arm.com> | |
15647 | ||
15648 | * config/aarch64/aarch64.md | |
15649 | (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named | |
15650 | pattern. | |
15651 | ||
15652 | 2015-09-22 Matthew Wahab <matthew.wahab@arm.com> | |
15653 | ||
15654 | * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop): | |
15655 | Declare. | |
15656 | * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New. | |
15657 | (aarch64_gen_atomic_ldop): New. | |
15658 | (aarch64_split_atomic_op): Fix whitespace and add a comment. | |
15659 | * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New. | |
15660 | (aarch64_compare_and_swap<mode>_lse): Fix some whitespace. | |
15661 | (atomic_exchange<mode>): Replace with an expander. | |
15662 | (aarch64_atomic_exchange<mode>): New. | |
15663 | (aarch64_atomic_exchange<mode>_lse): New. | |
15664 | (aarch64_atomic_<atomic_optab><mode>): Fix some whitespace. | |
15665 | (aarch64_atomic_swp<mode>): New. | |
15666 | ||
15667 | 2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
15668 | ||
15669 | * tree-inline.c (expand_call_inline): Use inform for extra note. | |
15670 | Do not give a note with UNKNOWN_LOCATION. | |
15671 | Replace input_location with gimple_location (stmt). | |
15672 | Use true/false instead of TRUE/FALSE. | |
15673 | ||
15674 | 2015-09-22 Tom de Vries <tom@codesourcery.com> | |
15675 | ||
15676 | PR tree-optimization/67666 | |
15677 | * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct | |
15678 | with single field non-conservative. | |
15679 | ||
15680 | 2015-09-21 David S. Miller <davem@davemloft.net> | |
15681 | ||
15682 | PR/67622 | |
15683 | Revert: | |
15684 | 2015-09-11 David S. Miller <davem@davemloft.net> | |
15685 | ||
15686 | * config/sparc/constraints.md: Make "U" constraint a real register | |
15687 | constraint. | |
15688 | * config/sparc/sparc.c (TARGET_LRA_P): Define. | |
15689 | (D_MODES, DF_MODES): Add missing cast. | |
15690 | (TF_MODES, TF_MODES_NO_S): Include T_MODE. | |
15691 | (OF_MODES, OF_MODES_NO_S): Include O_MODE. | |
15692 | (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory | |
15693 | cost to 8. | |
15694 | * config/sparc/sparc.h (PROMOTE_MODE): Define. | |
15695 | * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not | |
15696 | provide these insn when flag_pic. | |
15697 | ||
15698 | 2015-09-17 David S. Miller <davem@davemloft.net> | |
15699 | ||
15700 | * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): | |
15701 | Declare. | |
15702 | * config/sparc/sparc.c (sparc_secondary_memory_needed): New | |
15703 | function. | |
15704 | * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it. | |
15705 | (HARD_REGNO_CALLER_SAVE_MODE): Define. | |
15706 | * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44) | |
15707 | (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi) | |
15708 | (embmedany_losum, embmedany_brsum, embmedany_textuhi) | |
15709 | (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not | |
15710 | provide when flag_pic. | |
15711 | ||
15712 | 2015-09-21 Jeff Law <law@redhat.com> | |
15713 | ||
15714 | * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined | |
15715 | behavior. | |
15716 | ||
15717 | 2015-09-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> | |
15718 | ||
15719 | * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior. | |
15720 | ||
15721 | 2015-09-21 Richard Biener <rguenther@suse.de> | |
15722 | ||
15723 | * passes.c (rest_of_decl_compilation): Do not call | |
15724 | dwarf2out_early_global_decl for aliases. | |
15725 | ||
15726 | 2015-09-21 Richard Biener <rguenther@suse.de> | |
15727 | ||
15728 | PR debug/67664 | |
15729 | * dwarf2out.c (add_location_or_const_value_attribute): Remove | |
15730 | attribute parameter. Early exit if either DW_AT_const_value | |
15731 | or DW_AT_location are present already. | |
15732 | (gen_variable_die): Adjust caller. | |
15733 | (dwarf2out_late_global_decl): Likewise. | |
15734 | ||
15735 | 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org> | |
15736 | ||
15737 | PR target/67657 | |
15738 | * config/sh/sh.c (sh_remove_overlapping_post_inc, | |
15739 | sh_peephole_emit_move_insn): Add new functions. | |
15740 | * config/sh/sh-protos.h (sh_remove_overlapping_post_inc, | |
15741 | sh_peephole_emit_move_insn): Declere them. | |
15742 | * config/sh/sh.md: Use them in various peephole2 patterns. | |
15743 | ||
15744 | 2015-09-21 Richard Biener <rguenther@suse.de> | |
15745 | ||
15746 | PR middle-end/67651 | |
15747 | * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero | |
15748 | address with -fno-delete-null-pointer-checks. | |
15749 | ||
15750 | 2015-09-21 Alan Lawrence <alan.lawrence@arm.com> | |
15751 | ||
15752 | * config/rs6000/altivec.md (reduc_splus_<mode>): Rename to... | |
15753 | (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract. | |
15754 | (reduc_uplus_v16qi): Remove. | |
15755 | ||
15756 | * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus". | |
15757 | (reduc_<VEC_reduc_name>_v2df): Remove. | |
15758 | (reduc_<VEC_reduc_name>_v4sf): Remove. | |
15759 | (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New. | |
15760 | ||
15761 | * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare | |
15762 | gen_ function by removing * prefix. | |
15763 | (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise. | |
15764 | ||
15765 | 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
15766 | ||
15767 | PR middle-end/60832 | |
15768 | * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations): | |
15769 | Print i_bound without converting it to a tree. | |
15770 | ||
15771 | 2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com> | |
15772 | ||
15773 | * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced | |
15774 | operands[4] operands[5] swap with std::swap, removed tmp variable. | |
15775 | (arm_evpc_neon_vzip): Replaced in0/in1 and | |
15776 | out0/out1 swaps with std::swap, removed x variable. | |
15777 | (arm_evpc_neon_vtrn): Replaced in0/int1 and | |
15778 | out0/out1 swaos with std::swap, removed x variable. | |
15779 | (arm_expand_vec_perm_const_1): Replaced | |
15780 | d->op0/d->op1 swap with std::swap, removed x variable. | |
15781 | (arm_evpc_neon_vuzp): Replaced in0/in1 and | |
15782 | out0/out1 swaps with std::swap, removed x variable. | |
15783 | ||
15784 | 2015-09-21 Jonathan Yong <10walls@gmail.com> | |
15785 | ||
15786 | * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search | |
15787 | sysroot/usr/lib/32api for additional win32 libraries, | |
15788 | fixes failing Cygwin bootstrapping. | |
15789 | ||
15790 | 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org> | |
15791 | ||
15792 | * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options. | |
15793 | ||
15794 | 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org> | |
15795 | ||
15796 | PR target/67126 | |
15797 | * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A. | |
15798 | (*mov_t_msb_neg): Rewrite negc pattern. | |
15799 | ||
15800 | 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> | |
15801 | ||
15802 | * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup | |
15803 | immediate generation code. | |
15804 | ||
15805 | 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> | |
15806 | ||
15807 | * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove | |
15808 | redundant immediate generation code. | |
15809 | ||
15810 | 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> | |
15811 | ||
15812 | * config/aarch64/aarch64.c (aarch64_bitmasks): Remove. | |
15813 | (AARCH64_NUM_BITMASKS): Remove. | |
15814 | (aarch64_bitmasks_cmp): Remove. | |
15815 | (aarch64_build_bitmask_table): Remove. | |
15816 | ||
15817 | 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> | |
15818 | ||
15819 | * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace | |
15820 | slow immediate matching loops with a faster algorithm. | |
15821 | ||
15822 | 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com> | |
15823 | ||
15824 | * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using | |
15825 | faster algorithm. | |
15826 | ||
15827 | 2015-09-20 Jeff Law <law@redhat.com> | |
15828 | ||
15829 | PR tree-optimization/47679 | |
15830 | * tree-ssa-dom.c (record_temporary_equivalences): No longer static. | |
15831 | * tree-ssa-dom.h (record_temporary_equivalences): Add prototype. | |
15832 | * tree-ssa-threadedge.c: Include tree-ssa-dom.h. | |
15833 | (thread_through_normal_block): Use record_temporary_equivalences. | |
15834 | ||
15835 | 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org> | |
15836 | ||
15837 | * coretypes.h (gimple): Change typedef to be a forward declaration. | |
15838 | * gimple.h (gimple_statement_base): rename to gimple. | |
15839 | * (all functions and types using gimple): Adjust. | |
15840 | * *.[ch]: Likewise. | |
15841 | ||
15842 | 2015-09-19 Andrew Dixie <andrewd@gentrack.com> | |
15843 | David Edelsohn <dje.gcc@gmail.com> | |
15844 | ||
15845 | * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete. | |
15846 | (ASM_PREFERRED_EH_DATA_FORMAT): Define. | |
15847 | (EH_FRAME_THROUGH_COLLECT2): Define. | |
15848 | (EH_TABLES_CAN_BE_READ_ONLY): Define. | |
15849 | (ASM_OUTPUT_DWARF_PCREL): Define. | |
15850 | (ASM_OUTPUT_DWARF_DATAREL): Define. | |
15851 | ||
15852 | 2015-09-19 John David Anglin <danglin@gcc.gnu.org> | |
15853 | ||
15854 | * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment | |
15855 | of TARGET_ELF32. | |
15856 | ||
15857 | 2015-09-18 Jeff Law <law@redhat.com> | |
15858 | ||
15859 | PR tree-optimization/47679 | |
15860 | * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move | |
15861 | it here ... | |
15862 | (dom_opt_dom_walker): New private member holding the avail_exprs_stack | |
15863 | object. Update constructor. | |
15864 | (pass_dominator::execute): Corresponding chagnes to declaration | |
15865 | and initialization of avail_exprs_stack. Update constructor call | |
15866 | for dom_opt_dom_walker object. | |
15867 | (lookup_avail_expr, record_cond): Accept additional argument. Pass | |
15868 | it down to children as needed. | |
15869 | (record_equivalences_from_incoming_edge): Likewise. | |
15870 | (eliminate_redundant_computations): Likewise. | |
15871 | (record_equivalences_from_stmt): Likewise. | |
15872 | (simplify_stmt_for_jump_threading): Likewise. | |
15873 | (record_temporary_equivalences): Likewise. | |
15874 | (optimize_stmt): Likewise. | |
15875 | (dom_opt_dom_walker::thread_across_edge): Update access to | |
15876 | avail_exprs_stack object and pass it to children as needed. | |
15877 | (dom_opt_dom_walker::before_dom_children): Similarly. | |
15878 | (dom_opt_dom_walker::after_dom_children): Similarly. | |
15879 | * tree-ssa-threadedge.c (pfn_simplify): New typedef. | |
15880 | (record_temporary_equivalences_from_stmts_at_dest): Use new typedef. | |
15881 | Add avail_expr_stack argument. Pass it to children as needed. | |
15882 | (dummy_simplify): Likewise. | |
15883 | (simplify_control_stmt_condition): Likewise. | |
15884 | (thread_around_empty_blocks): Likewise. | |
15885 | (thread_through_normal_block): Likewise. | |
15886 | (thread_across_edge): Likewise. | |
15887 | * tree-ssa-threadedge.h (thread_across_edge): Update prototype. | |
15888 | * tree-vrp.c (simplify_stmt_for_jump_threading): Update. | |
15889 | ||
15890 | PR tree-optimization/47679 | |
15891 | * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move | |
15892 | it here ... | |
15893 | (dom_opt_dom_walker): New private member holding the const_and_copies | |
15894 | object. Update constructor. | |
15895 | (pass_dominator::execute): Corresponding changes to declaration | |
15896 | and initialization of const_and_copies. Update constructor call | |
15897 | for the dom_opt_dom_walker object. | |
15898 | (record_temporary_equivalences): Accept const_and_copies argument | |
15899 | pass it down to children as needed. | |
15900 | (record_equality): Likewise. | |
15901 | (record_equivalences_from_incoming_edge): Likewise. | |
15902 | (cprop_into_successor_phis, optimize_stmt): Likewise. | |
15903 | (eliminate_redundant_computations): Likewise. | |
15904 | (dom_opt_dom_walker::thread_across_edge): Update access to | |
15905 | const_and_copies object and pass it to children as needed. | |
15906 | (dom_opt_dom_walker::before_dom_children): Similarly. | |
15907 | (dom_opt_dom_walker::after_dom_children): Similarly. | |
15908 | ||
15909 | PR tree-optimization/47679 | |
15910 | * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury | |
15911 | it into the avail_exprs_stack class. | |
15912 | (pass_dominator::execute): Corresponding changes to declaration | |
15913 | and initialization of avail_exprs. Pass avail_exprs to | |
15914 | dump_dominator_optimization_stats. | |
15915 | (record_cond): Extract avail_exprs from avail_exprs_stack. | |
15916 | (lookup_avail_expr): Similarly. | |
15917 | (htab_staticstics): Remove unnecessary prototype. Move to earlier | |
15918 | position in file. | |
15919 | (dump_dominator_optimization_stats): Make static and prototype. | |
15920 | Add argument for the hash table to dump. | |
15921 | (debug_dominator_optimization_stats): Remove. | |
15922 | * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove | |
15923 | prototype. | |
15924 | (debug_dominator_optimization_stats): Similarly. | |
15925 | * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing | |
15926 | "void" in prototype for pop_to_marker method. Add accessor method | |
15927 | for the underlying avail_exprs table. | |
15928 | ||
15929 | * tree-ssa-threadedge.c: Remove trailing whitespace. | |
15930 | ||
15931 | 2014-09-18 John David Anglin <danglin@gcc.gnu.org> | |
15932 | ||
15933 | * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to | |
15934 | unsigned. | |
15935 | (pa_ldil_cint_p): Likewise. | |
15936 | * config/pa/pa.c (pa_cint_ok_for_move): likewise. | |
15937 | (pa_ldil_cint_p): Likewise. Change signed casts to unsigned. | |
15938 | Update callers. | |
15939 | * config/pa/pa.md: Likewise. | |
15940 | ||
15941 | 2015-09-18 David Malcolm <dmalcolm@redhat.com> | |
15942 | ||
15943 | * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o. | |
15944 | * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c. | |
15945 | (diagnostic_show_locus): Likewise. | |
15946 | (diagnostic_print_caret_line): Likewise. | |
15947 | * diagnostic-show-locus.c: New file. | |
15948 | ||
15949 | 2015-09-18 David Edelsohn <dje.gcc@gmail.com> | |
15950 | ||
15951 | * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to | |
15952 | "back" parameter. Declare label in #if block. | |
15953 | ||
15954 | 2015-09-18 Uros Bizjak <ubizjak@gmail.com> | |
15955 | ||
15956 | PR middle-end/67619 | |
15957 | * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy | |
15958 | the address to a register. | |
15959 | ||
15960 | 2015-09-18 Jeff Law <law@redhat.com> | |
15961 | ||
15962 | PR tree-optimization/47679 | |
15963 | * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o | |
15964 | * tree-ssa-dom.c: Remove unnecessary header includes. | |
15965 | (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c | |
15966 | (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise. | |
15967 | (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise. | |
15968 | (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise. | |
15969 | (pass_phi_only_cprop::execute): Likewise. | |
15970 | (make_pass_phi_only_cprop): Likewise. | |
15971 | * tree-ssa-phionlycprop.c: New file with moved code. Eliminate | |
15972 | uses of file scoped statics by passing the required objects | |
15973 | as parameters wherever needed. | |
15974 | ||
15975 | 2015-09-18 Andrew Dixie <andrewd@gentrack.com> | |
15976 | David Edelsohn <dje.gcc@gmail.com> | |
15977 | ||
15978 | * defaults.h (EH_FRAME_SECTION_NAME): Depend on | |
15979 | EH_FRAME_THROUGH_COLLECT2. | |
15980 | * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for | |
15981 | DW_EH_PE_datarel. | |
15982 | * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section | |
15983 | even if EH_FRAME_SECTION_NAME is undefined. Restrict special | |
15984 | collect2 labels to EH_FRAME_THROUGH_COLLECT2. | |
15985 | * except.c (switch_to_exception_section): Use a read-only section | |
15986 | even if EH_FRAME_SECTION_NAME is undefined. | |
15987 | * system.h (EH_FRAME_IN_DATA_SECTION): Poison. | |
15988 | * collect2.c (write_c_file_stat): Provide dbase on AIX. | |
15989 | (scan_prog_file): Don't export __dso_handle nor | |
15990 | __gcc_unwind_dbase. | |
15991 | * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. | |
15992 | (EH_TABLES_CAN_BE_READ_ONLY): Define. | |
15993 | (ASM_OUTPUT_DWARF_PCREL): Define. | |
15994 | (ASM_OUTPUT_DWARF_DATAREL): Define. | |
15995 | (EH_FRAME_THROUGH_COLLECT2): Define. | |
15996 | (EH_FRAME_IN_DATA_SECTION): Delete. | |
15997 | * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o. | |
15998 | * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel): | |
15999 | Declare. | |
16000 | (rs6000_asm_output_dwarf_datarel): Declare. | |
16001 | * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New. | |
16002 | (rs6000_aix_asm_output_dwarf_datarel): New. | |
16003 | (rs6000_xcoff_asm_init_sections): Don't set exception_section. | |
16004 | * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete. | |
16005 | (EH_FRAME_THROUGH_COLLECT2): Define. | |
16006 | * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete. | |
16007 | (EH_FRAME_THROUGH_COLLECT2): Define. | |
16008 | (EH_TABLES_CAN_BE_READ_ONLY): Define. | |
16009 | * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete. | |
16010 | (EH_FRAME_THROUGH_COLLECT2): New. | |
16011 | (ASM_OUTPUT_DWARF_DATAREL): New. | |
16012 | * doc/tm.texi: Regenerate. | |
16013 | ||
16014 | 2015-09-18 Richard Biener <rguenther@suse.de> | |
16015 | ||
16016 | * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert | |
16017 | we're in early phase. | |
16018 | (schedule_generic_params_dies_gen): Likewise. | |
16019 | (gen_remaining_tmpl_value_param_die_attribute): Do only as much | |
16020 | work as possible, retaining unhandled cases. | |
16021 | (gen_scheduled_generic_parms_dies): Set early-dwarf flag and | |
16022 | clear out generic_type_instances at the end. | |
16023 | (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies... | |
16024 | (dwarf2out_early_finish): ... here. Do most of | |
16025 | gen_remaining_tmpl_value_param_die_attribute here. | |
16026 | ||
16027 | 2015-09-18 Alan Lawrence <alan.lawrence@arm.com> | |
16028 | ||
16029 | PR tree-optimization/67283 | |
16030 | * tree-sra.c (type_consists_of_records_p): Rename to... | |
16031 | (scalarizable_type_p): ...this, add case for ARRAY_TYPE. | |
16032 | (completely_scalarize_record): Rename to... | |
16033 | (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to: | |
16034 | (scalarize_elem): New. | |
16035 | (analyze_all_variable_accesses): Follow renamings. | |
16036 | ||
16037 | 2015-09-18 Richard Biener <rguenther@suse.de> | |
16038 | ||
16039 | * dwarf2out.c (add_location_or_const_value_attribute): Do nothing | |
16040 | in early-dwarf. | |
16041 | ||
16042 | 2015-09-18 Richard Biener <rguenther@suse.de> | |
16043 | ||
16044 | PR tree-optimization/66142 | |
16045 | * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF | |
16046 | treat MEM[&x] and x the same. | |
16047 | * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove. | |
16048 | * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true | |
16049 | when we simplified sth. | |
16050 | (vn_reference_maybe_forwprop_address): Likewise. | |
16051 | (valueize_refs_1): When we simplified through | |
16052 | vn_reference_fold_indirect or vn_reference_maybe_forwprop_address | |
16053 | set valueized_anything to true. | |
16054 | (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether | |
16055 | one ref kills the other instead of just a offset-based test. | |
16056 | * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF | |
16057 | for the operand_equal_p test to compare bases and also compare | |
16058 | sizes. | |
16059 | ||
16060 | 2015-09-17 Christian Bruel <christian.bruel@st.com> | |
16061 | ||
16062 | * config/arm/arm.md (*call_value_symbol): Fix operand for interworking. | |
16063 | ||
16064 | 2015-09-17 Richard Henderson <rth@redhat.com> | |
16065 | ||
16066 | PR libstdc++/65913 | |
16067 | * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake | |
16068 | pointers that encode the alignment of the object. | |
16069 | ||
16070 | 2015-09-17 Eric Botcazou <ebotcazou@adacore.com> | |
16071 | ||
16072 | PR rtl-optimization/66790 | |
16073 | * df-problems.c (LIVE): Amend documentation. | |
16074 | ||
16075 | 2015-09-17 Richard Sandiford <richard.sandiford@arm.com> | |
16076 | ||
16077 | * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o | |
16078 | and optabs-tree.o. | |
16079 | (GTFILES): Replace optabs.c with optabs-libfunc.c. | |
16080 | * genopinit.c (main): Add an include guard to insn-opinit.h. | |
16081 | Protect the rtx_code parts with NUM_RTX_CODE. | |
16082 | * optabs.h: Split parts out to... | |
16083 | * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files. | |
16084 | * optabs.c: Split parts out to... | |
16085 | * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files. | |
16086 | * cilk-common.c: Include optabs-query.h rather than optabs.h. | |
16087 | * fold-const.c: Likewise. | |
16088 | * target-globals.c: Likewise. | |
16089 | * tree-if-conv.c: Likewise. | |
16090 | * tree-ssa-forwprop.c: Likewise. | |
16091 | * tree-ssa-loop-prefetch.c: Likewise. | |
16092 | * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h. | |
16093 | Remove unncessary include files. | |
16094 | * tree-ssa-phiopt.c: Likewise. | |
16095 | * tree-ssa-reassoc.c: Likewise. | |
16096 | * tree-switch-conversion.c: Likewise. | |
16097 | * tree-vect-data-refs.c: Likewise. | |
16098 | * tree-vect-generic.c: Likewise. | |
16099 | * tree-vect-loop.c: Likewise. | |
16100 | * tree-vect-patterns.c: Likewise. | |
16101 | * tree-vect-slp.c: Likewise. | |
16102 | * tree-vect-stmts.c: Likewise. | |
16103 | * tree-vrp.c: Likewise. | |
16104 | * toplev.c: Include optabs-query.h and optabs-libfuncs.h | |
16105 | rather than optabs.h. | |
16106 | * expr.c: Include optabs-tree.h. | |
16107 | * function.c: Likewise. | |
16108 | ||
16109 | 2015-09-17 Eric Botcazou <ebotcazou@adacore.com> | |
16110 | ||
16111 | PR middle-end/65958 | |
16112 | * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define. | |
16113 | * config/arm/arm-protos.h (output_probe_stack_range): Declare. | |
16114 | * config/arm/arm.c: Include common/common-target.h. | |
16115 | (use_return_insn): Return 0 if the static chain register was saved | |
16116 | above a non-APCS frame. | |
16117 | (arm_compute_static_chain_stack_bytes): Adjust for stack checking. | |
16118 | (struct scratch_reg): New. | |
16119 | (get_scratch_register_on_entry): New function. | |
16120 | (release_scratch_register_on_entry): Likewise. | |
16121 | (arm_emit_probe_stack_range): Likewise. | |
16122 | (output_probe_stack_range): Likewise. | |
16123 | (arm_expand_prologue): Factor out code dealing with the IP register | |
16124 | for nested function and adjust it for stack checking. | |
16125 | Invoke arm_emit_probe_stack_range if static builtin stack checking | |
16126 | is enabled. | |
16127 | (thumb1_expand_prologue): Sorry out if static builtin stack checking | |
16128 | is enabled. | |
16129 | (arm_expand_epilogue): Add the saved static chain register, if any, to | |
16130 | the amount of pre-pushed registers to pop. | |
16131 | (arm_frame_pointer_required): Return true if static stack checking is | |
16132 | enabled and we want to catch the exception with the EABI unwinder. | |
16133 | * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant. | |
16134 | (UNSPEC_PROBE_STACK_RANGE): Likewise. | |
16135 | * config/arm/arm.md (probe_stack): New insn. | |
16136 | (probe_stack_range): Likewise. | |
16137 | ||
16138 | 2015-09-17 Richard Biener <rguenther@suse.de> | |
16139 | ||
16140 | * genmatch.c (parser::parse_expr): Improve error message | |
16141 | for mis-placed flags. | |
16142 | ||
16143 | 2015-09-17 Richard Biener <rguenther@suse.de> | |
16144 | ||
16145 | * passes.c (rest_of_decl_compilation): Always call early_global_decl | |
16146 | debug hook when we created a varpool node. | |
16147 | * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call | |
16148 | dwarf2out_early_global_decl, when not just add location or | |
16149 | value attributes to existing DIEs. | |
16150 | ||
16151 | 2015-09-17 James Greenhalgh <james.greenhalgh@arm.com> | |
16152 | ||
16153 | * config/aarch64/aarch64.md (copysigndf3): New. | |
16154 | (copysignsf3): Likewise. | |
16155 | ||
16156 | 2015-09-17 David S. Miller <davem@davemloft.net> | |
16157 | ||
16158 | * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare. | |
16159 | * config/sparc/sparc.c (sparc_secondary_memory_needed): New function. | |
16160 | * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it. | |
16161 | (HARD_REGNO_CALLER_SAVE_MODE): Define. | |
16162 | * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44) | |
16163 | (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi) | |
16164 | (embmedany_losum, embmedany_brsum, embmedany_textuhi) | |
16165 | (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not | |
16166 | provide when flag_pic. | |
16167 | ||
16168 | 2015-09-17 Kaz Kojima <kkojima@gcc.gnu.org> | |
16169 | ||
16170 | * config/sh/sh.c (label_ref_list_d_pool): Adjust to | |
16171 | object_allocator change. | |
16172 | ||
16173 | 2015-09-17 Bin Cheng <bin.cheng@arm.com> | |
16174 | ||
16175 | PR tree-optimization/66388 | |
16176 | * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields. | |
16177 | (dump_iv): Dump no_overflow information. | |
16178 | (alloc_iv): Initialize new field for struct iv. | |
16179 | (mark_bivs): Count number of no_overflow bivs. | |
16180 | (find_deriving_biv_for_expr, record_biv_for_address_use): New | |
16181 | functions. | |
16182 | (idx_find_step): Call new functions above. | |
16183 | (add_candidate_1, add_candidate): New paramter. | |
16184 | (add_iv_candidate_for_biv): Add sizetype cand for BIV. | |
16185 | (get_computation_aff): Simplify convertion of cand for BIV. | |
16186 | (get_computation_cost_at): Step cand's base if necessary. | |
16187 | ||
16188 | 2015-09-17 Bin Cheng <bin.cheng@arm.com> | |
16189 | ||
16190 | * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New | |
16191 | parameter. | |
16192 | (tree_simplify_using_condition): Ditto. | |
16193 | (simplify_using_initial_conditions): Ditto. | |
16194 | (loop_exits_before_overflow): Pass new argument to function | |
16195 | simplify_using_initial_conditions. Remove case for type conversions | |
16196 | simplification. | |
16197 | * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New | |
16198 | parameter. | |
16199 | * tree-scalar-evolution.c (simple_iv): Simplify type conversions | |
16200 | in iv base using loop initial conditions. | |
16201 | ||
16202 | 2015-09-16 Jeff Law <law@redhat.com> | |
16203 | ||
16204 | PR tree-optimization/47679 | |
16205 | * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos. | |
16206 | (free_all_edge_infos): Use it. | |
16207 | (allocate_edge_info): Free preexisting edge info data. | |
16208 | (pass_dominator::execute): Set up initial edge info structures. | |
16209 | (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to | |
16210 | thread_across_edge. | |
16211 | * tree-ssa-threadedge.c (thread_across_edge): Accept new argument. | |
16212 | If non-null, then push/pop markers appropriately. | |
16213 | * tree-ssa-threadedge.h (thread_across_edge): Update prototype. | |
16214 | * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to | |
16215 | thread-across_edge. | |
16216 | ||
16217 | 2015-09-16 James Bowman <james.bowman@ftdichip.com> | |
16218 | ||
16219 | * config/ft32/ft32.c: Fix the memory address space predicate. | |
16220 | ||
16221 | 2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org> | |
16222 | ||
16223 | PR target/67573 | |
16224 | * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand. | |
16225 | (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. | |
16226 | ||
16227 | 2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
16228 | ||
16229 | * toplev.h (check_global_declaration): Remove declaration. | |
16230 | * toplev.c (check_global_declaration): Move to ... | |
16231 | * cgraphunit.c: ... here. Make it static and pass a symtab_node *. | |
16232 | (analyze_functions): Update call. | |
16233 | ||
16234 | 2015-09-16 David S. Miller <davem@davemloft.net> | |
16235 | ||
16236 | * lra-constraints.c (simplify_operand_subreg): Do not assume that | |
16237 | lowpart of a SUBREG has offset zero. | |
16238 | ||
16239 | 2015-09-16 Jeff Law <law@redhat.com> | |
16240 | ||
16241 | PR tree-optimization/47679 | |
16242 | * tree-ssa-dom.c (enum expr_kind): Moved from here to | |
16243 | tree-ssa-scopedtables.h. | |
16244 | (struct hashable_expr, class expr_hash_elt): Likewise. | |
16245 | (struct expr_elt_hasher, class avail_exprs_stack): Likewise. | |
16246 | Move associated methods into tree-ssa-scopedtables.c. | |
16247 | (avail_expr_hash, initialize_expr_from_cond): Similarly. | |
16248 | (hashable_expr_equal_p, add_expr_commutative): Likewise. | |
16249 | (add_hashable_expr): Likewise. | |
16250 | (record_cond): Delete element directly. | |
16251 | * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add | |
16252 | private copy ctor and assignment operator methods. | |
16253 | (expr_elt_hasher): Inline trivial methods. | |
16254 | (initialize_expr_from_cond): Prototype. | |
16255 | * tree-ssa-scopedtables.c: Add necessary includes, functions and | |
16256 | methods that were previously in tree-ssa-dom.c. Improve various | |
16257 | comments. | |
16258 | ||
16259 | 2015-09-16 Paolo Carlini <paolo.carlini@oracle.com> | |
16260 | ||
16261 | * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation. | |
16262 | ||
16263 | 2015-09-16 Segher Boessenkool <segher@kernel.crashing.org> | |
16264 | ||
16265 | PR bootstrap/67587 | |
16266 | * function.c (rest_of_handle_thread_prologue_and_epilogue): Call | |
16267 | fixup_partitions. | |
16268 | ||
16269 | 2015-09-16 Richard Biener <rguenther@suse.de> | |
16270 | ||
16271 | PR middle-end/67253 | |
16272 | * cfgexpand.c (expand_gimple_stmt_1): Do not clobber | |
16273 | location of possibly shared trees. | |
16274 | ||
16275 | 2015-09-16 Richard Biener <rguenther@suse.de> | |
16276 | ||
16277 | PR middle-end/67271 | |
16278 | * fold-const.c (native_encode_expr): Bail out on bogus offsets. | |
16279 | ||
16280 | 2015-09-16 Eric Botcazou <ebotcazou@adacore.com> | |
16281 | ||
16282 | * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for | |
16283 | offset and size computations instead of HOST_WIDE_INT. | |
16284 | ||
16285 | 2015-09-16 Richard Biener <rguenther@suse.de> | |
16286 | ||
16287 | PR middle-end/67442 | |
16288 | * fold-const.c (extract_muldiv_1): Properly extend multiplication | |
16289 | result before builting a tree via wide_int_to_tree. | |
16290 | ||
16291 | 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com> | |
16292 | ||
16293 | * Makefile.in: Add memory-block.cc | |
16294 | (pool_allocator::initialize): Use fixed block size. | |
16295 | (pool_allocator::release): Use memory_block_pool. | |
16296 | (pool_allocator::allocate): Likewise. | |
16297 | * asan.c (asan_mem_ref_pool): Adjust to use common block size in all | |
16298 | object pools. | |
16299 | * cfg.c (initialize_original_copy_tables): Likewise. | |
16300 | * cselib.c (elt_list_pool, elt_loc_list_pool, | |
16301 | cselib_val_pool): Likewise. | |
16302 | * df-problems.c (df_chain_alloc): Likewise. | |
16303 | * df-scan.c (df_scan_alloc): Likewise. | |
16304 | * dse.c (cse_store_info_pool, rtx_store_info_pool, | |
16305 | read_info_type_pool, insn_info_type_pool, bb_info_pool, | |
16306 | group_info_pool, deferred_change_pool): Likewise. | |
16307 | * et-forest.c (et_nodes, et_occurrences): Likewise. | |
16308 | * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool, | |
16309 | ipcp_agg_lattice_pool): Likewise. | |
16310 | * ipa-inline-analysis.c (edge_predicate_pool): Likewise. | |
16311 | * ipa-profile.c (histogram_pool): Likewise. | |
16312 | * ipa-prop.c (ipa_refdesc_pool): Likewise. | |
16313 | * ira-build.c (live_range_pool, allocno_pool, object_pool, | |
16314 | initiate_cost_vectors, pref_pool, copy_pool): Likewise. | |
16315 | * ira-color.c (update_cost_record_pool): Likewise. | |
16316 | * lra-lives.c (lra_live_range_pool): Likewise. | |
16317 | * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise. | |
16318 | * memory-block.cc: New file. | |
16319 | * memory-block.h: New file. | |
16320 | * regcprop.c (queued_debug_insn_change_pool): Use common block size. | |
16321 | * sched-deps.c (sched_deps_init): Likewise. | |
16322 | * sel-sched-ir.c (sched_lists_pool): Likewise. | |
16323 | * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise. | |
16324 | * tree-sra.c (access_pool): Likewise. | |
16325 | * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise. | |
16326 | * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise. | |
16327 | * tree-ssa-reassoc.c (operand_entry_pool): Likewise. | |
16328 | * tree-ssa-sccvn.c (allocate_vn_table): Likewise. | |
16329 | * tree-ssa-strlen.c (strinfo_pool): Likewise. | |
16330 | * tree-ssa-structalias.c (variable_info_pool): Likewise. | |
16331 | * var-tracking.c (attrs_def_pool, var_pool, valvar_pool, | |
16332 | location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise. | |
16333 | ||
16334 | 2015-09-15 Max Filippov <jcmvbkbc@gmail.com> | |
16335 | ||
16336 | * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New | |
16337 | definition. | |
16338 | (DWARF_FRAME_REGISTERS): Reserve space for one extra register in | |
16339 | call0 ABI. | |
16340 | ||
16341 | 2015-09-15 Max Filippov <jcmvbkbc@gmail.com> | |
16342 | ||
16343 | * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2 | |
16344 | to pass TLS call argument, according to current ABI. | |
16345 | * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or | |
16346 | callx0 for TLS call, according to current ABI. | |
16347 | ||
16348 | 2015-09-15 Eric Botcazou <ebotcazou@adacore.com> | |
16349 | ||
16350 | * tree-eh.c (lower_try_finally_dup_block): Clear location information | |
16351 | on stack restore statements. | |
16352 | (decide_copy_try_finally): Do not consider a stack restore statement as | |
16353 | coming from sources. | |
16354 | ||
16355 | 2015-09-15 Uros Bizjak <ubizjak@gmail.com> | |
16356 | ||
16357 | * config/alpha/alpha.c (alpha_expand_block_clear): Use | |
16358 | HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting. | |
16359 | ||
16360 | 2015-09-15 Jeff Law <law@redhat.com> | |
16361 | ||
16362 | PR tree-optimization/47679 | |
16363 | * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors, | |
16364 | methods and private members. | |
16365 | (avail_exprs_stack): Similarly. Change type of global | |
16366 | from a pair of expr_hash_elt_t to the new class. | |
16367 | (expr_elt_hasher::hash): Corresponding changes. | |
16368 | (expr_elt_hasher::equal): Similarly. | |
16369 | (avail_expr_hash): Similarly. | |
16370 | (pass_dominator::execute): Similarly. | |
16371 | (dom_opt_dom_walker::thread_across_edge): Similarly. | |
16372 | (record_cond): Similarly. | |
16373 | (dom_opt_dom_walker::before_dom_children): Similarly. | |
16374 | (dom_opt_dom_walker::after_dom_children): Similarly. | |
16375 | (lookup_avail_expr): Likewise. | |
16376 | (initialize_hash_element): Now a expr_hash_elt constructor. | |
16377 | (initialize_hash_element_from_expr): Similarly. | |
16378 | (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt. | |
16379 | (free_expr_hash_elt): Call dtor for the element. | |
16380 | (remove_local_expressions_from_table): Now the "pop_to_marker" | |
16381 | method in the available_exprs_stack class. | |
16382 | (avail_expr_stack::record_expr): Method factored out. | |
16383 | (print_expr_hash_elt): Now a method in the expr_hash_elt class. | |
16384 | Fix formatting. | |
16385 | (hashable_expr_equal_p): Fix formatting. | |
16386 | ||
16387 | 2015-09-15 David Malcolm <dmalcolm@redhat.com> | |
16388 | ||
16389 | * input.h (location_get_source_line): Drop "expanded_location" | |
16390 | param in favor of a file and line number. | |
16391 | * input.c (location_get_source_line): Likewise. | |
16392 | (dump_location_info): Update for change in signature of | |
16393 | location_get_source_line. | |
16394 | * diagnostic.c (diagnostic_print_caret_line): Likewise. | |
16395 | ||
16396 | 2015-09-15 Eric Botcazou <ebotcazou@adacore.com> | |
16397 | ||
16398 | * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions. | |
16399 | Bump to 4KB for SJLJ exceptions. | |
16400 | (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions. | |
16401 | * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust. | |
16402 | * doc/tm.texi: Regenerate. | |
16403 | ||
16404 | 2015-09-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
16405 | ||
16406 | * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead | |
16407 | of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT. | |
16408 | Update prototype. | |
16409 | ||
16410 | 2015-09-15 Richard Biener <rguenther@suse.de> | |
16411 | ||
16412 | PR tree-optimization/67470 | |
16413 | * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI | |
16414 | structure for PHI hoisting by inserting a forwarder block | |
16415 | if appropriate. | |
16416 | ||
16417 | 2015-09-15 Christian Bruel <christian.bruel@st.com> | |
16418 | ||
16419 | * config/arm/arm.c (TARGET_OPTION_PRINT): Define. | |
16420 | (arm_option_print): New function. | |
16421 | ||
16422 | 2015-09-15 Christian Bruel <christian.bruel@st.com> | |
16423 | ||
16424 | PR target/52144 | |
16425 | * config/arm/arm.c (arm_option_params_internal): Remove opts parameter. | |
16426 | * config/arm/arm-c.c (arm_cpu_builtins): Declare static. | |
16427 | Remove flags parameter. | |
16428 | * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P) | |
16429 | (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P) | |
16430 | (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P) | |
16431 | (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with... | |
16432 | (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX) | |
16433 | (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX) | |
16434 | (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros. | |
16435 | * config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration. | |
16436 | ||
16437 | 2015-09-15 Alan Lawrence <alan.lawrence@arm.com> | |
16438 | ||
16439 | * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New. | |
16440 | ||
16441 | * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add | |
16442 | AARCH64_VALID_SIMD_DREG_MODE. | |
16443 | ||
16444 | 2015-09-15 Alan Lawrence <alan.lawrence@arm.com> | |
16445 | ||
16446 | * config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>, | |
16447 | aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making... | |
16448 | (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this. | |
16449 | (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>, | |
16450 | aarch64_ld4_lane<mode>): Combine together, making... | |
16451 | (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this. | |
16452 | (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>, | |
16453 | aarch64_st4_lane<mode>): Combine together, making... | |
16454 | (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this. | |
16455 | * config/aarch64/iterators.md (nregs): Add comment. | |
16456 | ||
16457 | 2015-09-15 Alan Lawrence <alan.lawrence@arm.com> | |
16458 | ||
16459 | * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>): | |
16460 | Change operand mode from <V_TWO_ELEM> to BLK. | |
16461 | (aarch64_vec_load_lanesoi_lane<mode>): Likewise. | |
16462 | (aarch64_vec_store_lanesoi_lane<mode): Likewise | |
16463 | (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size. | |
16464 | (aarch64_ld2_lane<mode>): Likewise. | |
16465 | (aarch64_st2_lane<VQ:mode>): Likewise. | |
16466 | * config/aarch64/iterators.md (V_TWO_ELEM): Remove. | |
16467 | ||
16468 | 2015-09-15 Alan Lawrence <alan.lawrence@arm.com> | |
16469 | ||
16470 | * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>): | |
16471 | Change operand mode from <V_FOUR_ELEM> to BLK. | |
16472 | (aarch64_vec_load_lanesxi_lane<mode>): Likewise. | |
16473 | (aarch64_vec_store_lanesxi_lane<mode): Likewise. | |
16474 | (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size. | |
16475 | (aarch64_ld4_lane<mode>): Likewise. | |
16476 | (aarch64_st4_lane<mode>): Likewise. | |
16477 | * config/aarch64/iterators.md (V_FOUR_ELEM): Remove. | |
16478 | ||
16479 | 2015-09-15 Richard Biener <rguenther@suse.de> | |
16480 | ||
16481 | PR middle-end/67563 | |
16482 | * gimple-fold.c (gimplify_and_update_call_from_tree): Do not | |
16483 | transfer EH info from old to new stmt. | |
16484 | (replace_call_with_value): Likewise. | |
16485 | (replace_call_with_call_and_fold): Likewise. | |
16486 | (gimple_fold_builtin_memory_op): Likewise. | |
16487 | (gimple_fold_builtin_memset): Likewise. | |
16488 | (gimple_fold_builtin_stpcpy): Likewise. | |
16489 | (gimple_fold_call): Likewise. | |
16490 | ||
16491 | 2015-09-15 Alan Lawrence <alan.lawrence@arm.com> | |
16492 | ||
16493 | * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update | |
16494 | comment. | |
16495 | * config/aarch64/aarch64-builtins.c (ei_UP): Remove. | |
16496 | (aarch64_simd_intEI_type_node): Likewise. | |
16497 | (aarch64_simd_builtin_std_type): Remove EImode case. | |
16498 | (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node. | |
16499 | * config/aarch64/aarch64-modes.def: Remove EImode. | |
16500 | ||
16501 | 2015-09-15 Alan Lawrence <alan.lawrence@arm.com> | |
16502 | ||
16503 | * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>): | |
16504 | Change operand mode from <V_THREE_ELEM> to BLK. | |
16505 | (aarch64_vec_load_lanesci_lane<mode>): Likewise. | |
16506 | (aarch64_vec_store_lanesci_lane<mode>): Likewise. | |
16507 | (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size. | |
16508 | (aarch64_ld3_lane<mode>): Likewise. | |
16509 | (aarch64_st3_lane<mode>): Likewise. | |
16510 | * config/aarch64/iterators.md (V_THREE_ELEM): Remove. | |
16511 | ||
16512 | 2015-09-15 Alan Lawrence <alan.lawrence@arm.com> | |
16513 | ||
16514 | * config/aarch64/aarch64-simd.md | |
16515 | (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ): | |
16516 | Change all TImode operands to BLKmode. | |
16517 | (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX): | |
16518 | Change all EImode operands to BLKmode. | |
16519 | (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX): | |
16520 | Change all OImode operands to BLKmode. | |
16521 | ||
16522 | (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode | |
16523 | and call set_mem_size. | |
16524 | (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise. | |
16525 | ||
16526 | * config/aarch64/iterators.md (VSTRUCT_DREG): Remove. | |
16527 | ||
16528 | 2015-09-15 Alan Lawrence <alan.lawrence@arm.com> | |
16529 | ||
16530 | * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename | |
16531 | to... | |
16532 | (aarch64_vec_store_lanesoi_lane<mode>): ...this. | |
16533 | ||
16534 | (vec_store_lanesci_lane<mode>): Rename to... | |
16535 | (aarch64_vec_store_lanesci_lane<mode>): ...this. | |
16536 | ||
16537 | (vec_store_lanesxi_lane<mode>): Rename to... | |
16538 | (aarch64_vec_store_lanesxi_lane<mode>): ...this. | |
16539 | ||
16540 | (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>, | |
16541 | aarch64_st4_lane<mode>): Follow renaming. | |
16542 | ||
16543 | 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
16544 | ||
16545 | * config/s390/s390.c (s390_const_operand_ok): Add missing | |
16546 | brackets. | |
16547 | ||
16548 | 2015-09-15 Richard Biener <rguenther@suse.de> | |
16549 | ||
16550 | PR lto/67568 | |
16551 | * lto-streamer.h (lto_location_cache::current_sysp): Properly | |
16552 | initialize. | |
16553 | * lto-streamer-out.c (clear_line_info): Likewise. | |
16554 | ||
16555 | 2015-09-15 Richard Biener <rguenther@suse.de> | |
16556 | ||
16557 | * doc/match-and-simplify.texi: Fix wording. | |
16558 | ||
16559 | 2015-09-15 Bin Cheng <bin.cheng@arm.com> | |
16560 | ||
16561 | * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip | |
16562 | unnecessary type conversion in op1. | |
16563 | ||
16564 | 2015-09-14 Segher Boessenkool <segher@kernel.crashing.org> | |
16565 | ||
16566 | * shrink-wrap.c (requires_stack_frame_p): Fix formatting. | |
16567 | (dup_block_and_redirect): Delete function. | |
16568 | (can_dup_for_shrink_wrapping): New function. | |
16569 | (fix_fake_fallthrough_edge): New function. | |
16570 | (try_shrink_wrapping): Rewrite function. | |
16571 | (convert_to_simple_return): Call fix_fake_fallthrough_edge. | |
16572 | ||
16573 | 2015-09-14 Rich Felker <dalias@libc.org> | |
16574 | ||
16575 | * configure.ac: Change target pattern for sh TLS support | |
16576 | test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*". | |
16577 | * configure: Regenerate. | |
16578 | ||
16579 | 2015-09-14 Jeff Law <law@redhat.com> | |
16580 | ||
16581 | PR tree-optimization/47679 | |
16582 | * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real | |
16583 | type rather than void *. | |
16584 | ||
16585 | 2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
16586 | ||
16587 | PR fortran/67460 | |
16588 | * diagnostic.c (diagnostic_initialize): Do not set | |
16589 | some_warnings_are_errors. | |
16590 | (diagnostic_finish): Use DK_WERROR count instead. | |
16591 | (diagnostic_report_diagnostic): Do not set | |
16592 | some_warnings_are_errors. | |
16593 | * diagnostic.h (struct diagnostic_context): Remove | |
16594 | some_warnings_are_errors. | |
16595 | ||
16596 | 2015-09-14 Richard Sandiford <richard.sandiford@arm.com> | |
16597 | ||
16598 | * config/sparc/predicates.md (const_all_ones_operand): Use | |
16599 | CONSTM1_RTX to simplify definition. | |
16600 | ||
16601 | 2015-09-14 Oleg Endo <olegendo@gcc.gnu.org> | |
16602 | ||
16603 | PR target/67061 | |
16604 | * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop. | |
16605 | Handle call insns. | |
16606 | ||
16607 | 2015-09-14 Chung-Lin Tang <cltang@codesourcery.com> | |
16608 | ||
16609 | * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret, | |
16610 | OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and | |
16611 | OPT_fshow_column to handled saved option cases. | |
16612 | (append_compiler_options): Do not skip the above added options. | |
16613 | ||
16614 | 2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
16615 | ||
16616 | PR target/63304 | |
16617 | * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle | |
16618 | nopcrelative_literal_loads. | |
16619 | (aarch64_classify_address): Likewise. | |
16620 | (aarch64_constant_pool_reload_icode): Define. | |
16621 | (aarch64_secondary_reload): Handle secondary reloads for | |
16622 | literal pools. | |
16623 | (aarch64_override_options): Handle nopcrelative_literal_loads. | |
16624 | (aarch64_classify_symbol): Handle nopcrelative_literal_loads. | |
16625 | * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>): | |
16626 | Define. | |
16627 | (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise. | |
16628 | * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option. | |
16629 | * config/aarch64/predicates.md (aarch64_constant_pool_symref): New | |
16630 | predicate. | |
16631 | * doc/invoke.texi (mpc-relative-literal-loads): Document. | |
16632 | ||
16633 | 2015-09-14 John David Anglin <danglin@gcc.gnu.org> | |
16634 | ||
16635 | PR middle-end/67401 | |
16636 | * optabs.c (expand_atomic_compare_and_swap): Move result of emitting | |
16637 | sync_compare_and_swap_optab libcall to target_oval. | |
16638 | ||
16639 | 2015-09-14 Marek Polacek <polacek@redhat.com> | |
16640 | ||
16641 | * rtlanal.c (split_double): Cast to unsigned when shifting a negative | |
16642 | value. | |
16643 | * sched-int.h (UNKNOWN_DEP_COST): Likewise. | |
16644 | ||
16645 | 2015-09-11 Mark Wielaard <mjw@redhat.com> | |
16646 | ||
16647 | PR c/28901 | |
16648 | * toplev.c (check_global_declaration): Check and use | |
16649 | warn_unused_const_variable. | |
16650 | * doc/invoke.texi (Warning Options): Add -Wunused-const-variable. | |
16651 | (-Wunused-variable): Remove non-constant. For C implies | |
16652 | -Wunused-const-variable. | |
16653 | (-Wunused-const-variable): New. | |
16654 | ||
16655 | 2015-09-14 Richard Biener <rguenther@suse.de> | |
16656 | ||
16657 | * doc/match-and-simplify.texi: Update for changed syntax | |
16658 | of inner ifs and the new switch expression. | |
16659 | ||
16660 | 2015-09-14 Yuri Rumyantsev <ysrumyan@gmail.com> | |
16661 | ||
16662 | * config/i386/haswell.md: New file describing Haswell pipeline. | |
16663 | * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for | |
16664 | haswell-like processors. | |
16665 | (ix86_reassociation_width): Increase reassociation width for 64-bit | |
16666 | Haswell processor family. | |
16667 | * config/i386/i386.md: Introduce haswell cpu and include new md file. | |
16668 | ||
16669 | 2015-09-14 Richard Biener <rguenther@suse.de> | |
16670 | ||
16671 | * doc/match-and-simplify.texi: Fixup some formatting issues | |
16672 | and document the 's' flag. | |
16673 | ||
16674 | 2015-09-13 Olivier Hainque <hainque@adacore.com> | |
16675 | Eric Botcazou <ebotcazou@adacore.com> | |
16676 | ||
16677 | * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and | |
16678 | gr6 as possible values, defaulting to gr5. Set target_cpu_default2. | |
16679 | * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define. | |
16680 | (TARGET_CPU_gr5): Likewise. | |
16681 | (TARGET_CPU_gr6): Likewise. | |
16682 | (MULTILIB_DEFAULTS): Likewise. | |
16683 | * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants | |
16684 | for mcpu=gr5 and mcpu=gr6. | |
16685 | (MULTILIB_DIRNAMES): Adjust accordingly. | |
16686 | ||
16687 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16688 | ||
16689 | * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef. | |
16690 | (mem_ref_p): Likewise. | |
16691 | (outermost_indep_loop): Adjust. | |
16692 | (mem_ref_in_stmt): Likewise. | |
16693 | (determine_max_movement): Likewise. | |
16694 | (mem_ref_alloc): Likewise. | |
16695 | (record_mem_ref_loc): Likewise. | |
16696 | (set_ref_stored_in_loop): Likewise. | |
16697 | (mark_ref_stored): Likewise. | |
16698 | (gather_mem_refs_stmt): Likewise. | |
16699 | (mem_refs_may_alias_p): Likewise. | |
16700 | (for_all_locs_in_loop): Likewise. | |
16701 | (struct rewrite_mem_ref_loc): Likewise. | |
16702 | (rewrite_mem_refs): Likewise. | |
16703 | (struct first_mem_ref_loc_1): Likewise. | |
16704 | (first_mem_ref_loc): Likewise. | |
16705 | (struct sm_set_flag_if_changed): Likewise. | |
16706 | (execute_sm_if_changed_flag_set): Likewise. | |
16707 | (execute_sm): Likewise. | |
16708 | (hoist_memory_references): | |
16709 | (struct ref_always_accessed): Likewise. | |
16710 | (ref_always_accessed_p): Likewise. | |
16711 | (refs_independent_p): Likewise. | |
16712 | (record_dep_loop): Likewise. | |
16713 | (ref_indep_loop_p_1): Likewise. | |
16714 | (ref_indep_loop_p_2): Likewise. | |
16715 | (ref_indep_loop_p): Likewise. | |
16716 | (can_sm_ref_p): Likewise. | |
16717 | (find_refs_for_sm): Likewise. | |
16718 | (tree_ssa_lim_finalize): Likewise. | |
16719 | ||
16720 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16721 | ||
16722 | * dwarf2out.c (dw_attr_ref): Remove typedef. | |
16723 | (dw_line_info_ref): Likewise. | |
16724 | (pubname_ref): Likewise. | |
16725 | (dw_ranges_ref): Likewise. | |
16726 | (dw_ranges_by_label_ref): Likewise. | |
16727 | (comdat_type_node_ref): Likewise. | |
16728 | (get_AT): Adjust. | |
16729 | (get_AT_low_pc): Likewise. | |
16730 | (get_AT_hi_pc): Likewise. | |
16731 | (get_AT_string): Likewise. | |
16732 | (get_AT_flag): Likewise. | |
16733 | (get_AT_unsigned): Likewise. | |
16734 | (get_AT_ref): Likewise. | |
16735 | (get_AT_file): Likewise. | |
16736 | (remove_AT): Likewise. | |
16737 | (print_die): Likewise. | |
16738 | (check_die): Likewise. | |
16739 | (die_checksum): Likewise. | |
16740 | (attr_checksum_ordered): Likewise. | |
16741 | (struct checksum_attributes): Likewise. | |
16742 | (collect_checksum_attributes): Likewise. | |
16743 | (die_checksum_ordered): Likewise. | |
16744 | (same_die_p): Likewise. | |
16745 | (is_declaration_die): Likewise. | |
16746 | (clone_die): Likewise. | |
16747 | (clone_as_declaration): Likewise. | |
16748 | (copy_declaration_context): Likewise. | |
16749 | (break_out_comdat_types): Likewise. | |
16750 | (copy_decls_walk): Likewise. | |
16751 | (output_location_lists): Likewise. | |
16752 | (external_ref_hasher::hash): Likewise. | |
16753 | (optimize_external_refs_1): Likewise. | |
16754 | (build_abbrev_table): Likewise. | |
16755 | (size_of_die): Likewise. | |
16756 | (unmark_all_dies): Likewise. | |
16757 | (size_of_pubnames): Likewise. | |
16758 | (output_die_abbrevs): Likewise. | |
16759 | (output_die): Likewise. | |
16760 | (output_pubnames): Likewise. | |
16761 | (add_ranges_num): Likewise. | |
16762 | (add_ranges_by_labels): Likewise. | |
16763 | (add_high_low_attributes): Likewise. | |
16764 | (gen_producer_string): Likewise. | |
16765 | (dwarf2out_set_name): Likewise. | |
16766 | (new_line_info_table): Likewise. | |
16767 | (prune_unused_types_walk_attribs): Likewise. | |
16768 | (prune_unused_types_update_strings): Likewise. | |
16769 | (prune_unused_types): Likewise. | |
16770 | (resolve_addr): Likewise. | |
16771 | (optimize_location_lists_1): Likewise. | |
16772 | (index_location_lists): Likewise. | |
16773 | (dwarf2out_finish): Likewise. | |
16774 | ||
16775 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16776 | ||
16777 | * dwarf2cfi.c (dw_trace_info_ref): Remove typedef. | |
16778 | ||
16779 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16780 | ||
16781 | * tree-vrp.c (struct assert_locus_d): Rename to assert_locus. | |
16782 | (dump_asserts_for): Adjust. | |
16783 | (register_new_assert_for): Likewise. | |
16784 | (process_assert_insertions): Likewise. | |
16785 | (insert_range_assertions): Likewise. | |
16786 | ||
16787 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16788 | ||
16789 | * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table | |
16790 | and remove typedef. | |
16791 | (new_temp_expr_table): Adjust. | |
16792 | (free_temp_expr_table): Likewise. | |
16793 | (version_to_be_replaced_p): Likewise. | |
16794 | (make_dependent_on_partition): Likewise. | |
16795 | (add_to_partition_kill_list): Likewise. | |
16796 | (remove_from_partition_kill_list): Likewise. | |
16797 | (add_dependence): Likewise. | |
16798 | (finished_with_expr): Likewise. | |
16799 | (process_replaceable): Likewise. | |
16800 | (kill_expr): Likewise. | |
16801 | (kill_virtual_exprs): Likewise. | |
16802 | (mark_replaceable): Likewise. | |
16803 | (find_replaceable_in_bb): Likewise. | |
16804 | (find_replaceable_exprs): Likewise. | |
16805 | (debug_ter): Likewise. | |
16806 | ||
16807 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16808 | ||
16809 | * bt-load.c (struct btr_def_group): Rename from btr_def_group_s. | |
16810 | (struct btr_user): Rename from btr_user_s. | |
16811 | (struct btr_def): Rename from btr_def_s. | |
16812 | (find_btr_def_group): Adjust. | |
16813 | (add_btr_def): Likewise. | |
16814 | (new_btr_user): Likewise. | |
16815 | (note_other_use_this_block): Likewise. | |
16816 | (compute_defs_uses_and_gen): Likewise. | |
16817 | (link_btr_uses): Likewise. | |
16818 | (build_btr_def_use_webs): Likewise. | |
16819 | (block_at_edge_of_live_range_p): Likewise. | |
16820 | (btr_def_live_range): Likewise. | |
16821 | (combine_btr_defs): Likewise. | |
16822 | (move_btr_def): Likewise. | |
16823 | (migrate_btr_def): Likewise. | |
16824 | (migrate_btr_defs): Likewise. | |
16825 | ||
16826 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16827 | ||
16828 | * var-tracking.c (shared_hash_def): Rename to shared_hash. | |
16829 | (shared_hash): Remove typedef. | |
16830 | (struct dataflow_set): Adjust. | |
16831 | (shared_hash_unshare): Likewise. | |
16832 | (dataflow_set_merge): Likewise. | |
16833 | (vt_initialize): Likewise. | |
16834 | (vt_finalize): Likewise. | |
16835 | ||
16836 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16837 | ||
16838 | * var-tracking.c (struct location_chain): Rename from | |
16839 | location_chain_def. | |
16840 | (struct variable_part): Adjust. | |
16841 | (variable_htab_free): Likewise. | |
16842 | (unshare_variable): Likewise. | |
16843 | (get_init_value): Likewise. | |
16844 | (get_addr_from_local_cache): Likewise. | |
16845 | (drop_overlapping_mem_locs): Likewise. | |
16846 | (val_reset): Likewise. | |
16847 | (struct variable_union_info): Likewise. | |
16848 | (variable_union): Likewise. | |
16849 | (find_loc_in_1pdv): Likewise. | |
16850 | (insert_into_intersection): Likewise. | |
16851 | (intersect_loc_chains): Likewise. | |
16852 | (canonicalize_loc_order_check): Likewise. | |
16853 | (canonicalize_values_mark): Likewise. | |
16854 | (canonicalize_values_star): Likewise. | |
16855 | (canonicalize_vars_star): Likewise. | |
16856 | (variable_merge_over_cur): Likewise. | |
16857 | (remove_duplicate_values): Likewise. | |
16858 | (variable_post_merge_new_vals): Likewise. | |
16859 | (variable_post_merge_perm_vals): Likewise. | |
16860 | (find_mem_expr_in_1pdv): Likewise. | |
16861 | (dataflow_set_preserve_mem_locs): Likewise. | |
16862 | (dataflow_set_remove_mem_locs): Likewise. | |
16863 | (variable_part_different_p): Likewise. | |
16864 | (onepart_variable_different_p): Likewise. | |
16865 | (find_src_set_src): Likewise. | |
16866 | (dump_var): Likewise. | |
16867 | (set_slot_part): Likewise. | |
16868 | (clobber_slot_part): Likewise. | |
16869 | (delete_slot_part): Likewise. | |
16870 | (vt_expand_var_loc_chain): Likewise. | |
16871 | (emit_note_insn_var_location): Likewise. | |
16872 | (vt_finalize): Likewise. | |
16873 | ||
16874 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16875 | ||
16876 | * dse.c (store_info_t): Remove typedef. | |
16877 | (group_info_t): Likewise. | |
16878 | (const_group_info_t): Likewise. | |
16879 | (deferred_change_t): Likewise. | |
16880 | (get_group_info): Adjust. | |
16881 | (free_store_info): Likewise. | |
16882 | (canon_address): Likewise. | |
16883 | (clear_rhs_from_active_local_stores): Likewise. | |
16884 | (record_store): Likewise. | |
16885 | (replace_read): Likewise. | |
16886 | (check_mem_read_rtx): Likewise. | |
16887 | (scan_insn): Likewise. | |
16888 | (remove_useless_values): Likewise. | |
16889 | (dse_step1): Likewise. | |
16890 | (dse_step2_init): Likewise. | |
16891 | (dse_step2_nospill): Likewise. | |
16892 | (scan_stores_nospill): Likewise. | |
16893 | (scan_reads_nospill): Likewise. | |
16894 | (dse_step3_exit_block_scan): Likewise. | |
16895 | (dse_step3): Likewise. | |
16896 | (dse_step5_nospill): Likewise. | |
16897 | (dse_step6): Likewise. | |
16898 | ||
16899 | 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16900 | ||
16901 | * alias.c (alias_set_entry_d): Rename to alias_set_entry. | |
16902 | (alias_set_entry): Remove typedef. | |
16903 | (alias_set_subset_of): Adjust. | |
16904 | (alias_sets_conflict_p): Likewise. | |
16905 | (init_alias_set_entry): Likewise. | |
16906 | (get_alias_set): Likewise. | |
16907 | (new_alias_set): Likewise. | |
16908 | (record_alias_subset): Likewise. | |
16909 | ||
16910 | 2015-09-13 Gerald Pfeifer <gerald@pfeifer.com> | |
16911 | ||
16912 | * doc/install.texi (Downloading the source): Mark up | |
16913 | contrib/download_prerequisites properly and drop leading "./". | |
16914 | ||
16915 | 2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
16916 | ||
16917 | * config/arc/arc.h: Remove define of STRUCT_VALUE. | |
16918 | * config/lm32/lm32.h: Likewise. | |
16919 | * config/mep/mep.h: Likewise. | |
16920 | * config/visium/visium.h: Likewise. | |
16921 | * system.h: Poison STRUCT_VALUE macro. | |
16922 | ||
16923 | 2015-09-12 John David Anglin <danglin@gcc.gnu.org> | |
16924 | ||
16925 | * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH | |
16926 | CONSTANT_P operands. | |
16927 | ||
16928 | 2015-09-11 David S. Miller <davem@davemloft.net> | |
16929 | ||
16930 | * config/sparc/constraints.md: Make "U" constraint a real register | |
16931 | constraint. | |
16932 | * config/sparc/sparc.c (TARGET_LRA_P): Define. | |
16933 | (D_MODES, DF_MODES): Add missing cast. | |
16934 | (TF_MODES, TF_MODES_NO_S): Include T_MODE. | |
16935 | (OF_MODES, OF_MODES_NO_S): Include O_MODE. | |
16936 | (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory | |
16937 | cost to 8. | |
16938 | * config/sparc/sparc.h (PROMOTE_MODE): Define. | |
16939 | * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not | |
16940 | provide these insn when flag_pic. | |
16941 | ||
16942 | 2015-09-11 Jeff Law <law@redhat.com> | |
16943 | ||
16944 | PR tree-optimization/47679 | |
16945 | * tree-ssa-dom.c (struct cond_equivalence): Update comment. | |
16946 | * tree-ssa-scopedtables.h (class const_and_copies): Prefix data | |
16947 | member with m_. Update inline member functions as necessary. Add | |
16948 | toplevel comment. | |
16949 | * tree-ssa-scopedtables.c: Update const_and_copies's member | |
16950 | functions to use m_ prefix to access the stack. | |
16951 | ||
16952 | 2015-09-11 Aditya Kumar <aditya.k7@samsung.com> | |
16953 | ||
16954 | * graphite-optimize-isl.c (disable_tiling): Remove. | |
16955 | (get_schedule_for_band): Do not use disable_tiling. | |
16956 | (get_prevector_map): Delete function. | |
16957 | (enable_polly_vector): Remove. | |
16958 | (get_schedule_for_band_list): Remove dead code. | |
16959 | ||
16960 | 2015-09-11 Aditya Kumar <aditya.k7@samsung.com> | |
16961 | ||
16962 | * graphite-optimize-isl.c (get_tile_map): Refactor. | |
16963 | (get_schedule_for_band): Same. | |
16964 | (getScheduleForBand): Same. | |
16965 | (get_prevector_map): Same. | |
16966 | (get_schedule_for_band_list): Same. | |
16967 | (get_schedule_map): Same. | |
16968 | (get_single_map): Same. | |
16969 | (apply_schedule_map_to_scop): Same. | |
16970 | (optimize_isl): Same. | |
16971 | ||
16972 | 2015-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
16973 | ||
16974 | PR target/63304 | |
16975 | * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16. | |
16976 | (movtf): Delete. | |
16977 | * config/aarch64/iterators.md (GPF_TF_F16): New. | |
16978 | (GPF_F16): Delete. | |
16979 | ||
16980 | 2015-09-10 Nathan Sidwell <nathan@acm.org> | |
16981 | ||
16982 | * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing. | |
16983 | (nvptx_reorg): Adjust comments. | |
16984 | ||
16985 | 2015-09-15 John David Anglin <danglin@gcc.gnu.org> | |
16986 | ||
16987 | PR bootstrap/67363 | |
16988 | * configure.ac: Check if setenv and unsetenv are declared. | |
16989 | * configure: Rebuild. | |
16990 | * config.in: Rebuild. | |
16991 | * system.h: Declare setenv and unsetenv if not declared. | |
16992 | ||
16993 | 2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
16994 | ||
16995 | * config/rs6000/rs6000.c (swap_web_entry): Update preceding | |
16996 | commentary to simplify permute mask adjustment equation. | |
16997 | (special_handling_values): Add SH_VPERM. | |
16998 | (const_load_sequence_p): New function. | |
16999 | (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with | |
17000 | the mask loaded from the constant pool. | |
17001 | (adjust_vperm): New function. | |
17002 | (handle_special_swappables): Call adjust_vperm. | |
17003 | (dump_swap_insn_table): Handle SH_VPERM. | |
17004 | ||
17005 | 2015-09-10 H.J. Lu <hongjiu.lu@intel.com> | |
17006 | ||
17007 | * shrink-wrap.c (requires_stack_frame_p): Remove static. | |
17008 | * shrink-wrap.h (requires_stack_frame_p): Put back. | |
17009 | ||
17010 | 2015-09-10 Richard Sandiford <richard.sandiford@arm.com> | |
17011 | ||
17012 | * reload1.c (elimination_costs_in_insn): Locally turn | |
17013 | -Wmaybe-uninitialized into a warning. | |
17014 | ||
17015 | 2015-09-10 Segher Boessenkool <segher@kernel.crashing.org> | |
17016 | ||
17017 | * shrink-wrap.c (requires_stack_frame_p): Make static. | |
17018 | (prepare_shrink_wrap): Likewise. | |
17019 | (dup_block_and_redirect): Likewise. | |
17020 | * shrink-wrap.h: Remove declarations of those functions. | |
17021 | ||
17022 | 2015-09-10 Mark Wielaard <mjw@redhat.com> | |
17023 | ||
17024 | * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL. | |
17025 | ||
17026 | 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org> | |
17027 | ||
17028 | PR target/67506 | |
17029 | * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add | |
17030 | missing simplify_gen_subreg. | |
17031 | ||
17032 | 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
17033 | ||
17034 | * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if | |
17035 | the vector element is bigger than 64 bit. | |
17036 | ||
17037 | 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
17038 | ||
17039 | * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>") | |
17040 | ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS. | |
17041 | ||
17042 | 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
17043 | ||
17044 | * config/s390/s390.c: Add V1TImode to constant pool modes. | |
17045 | ||
17046 | 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
17047 | ||
17048 | PR target/67439 | |
17049 | * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from | |
17050 | predicate. Set predicable_short_it attr to "no". | |
17051 | ||
17052 | 2015-09-10 Jiong Wang <jiong.wang@arm.com> | |
17053 | ||
17054 | PR rtl-optimization/67421 | |
17055 | * expr.c (expand_expr_real_2): Cost instrcution sequences when doing | |
17056 | left wide shift tranformation. | |
17057 | ||
17058 | 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com> | |
17059 | ||
17060 | * common/config/arc/arc-common.c: Remove references to A5. | |
17061 | * config/arc/arc-opts.h: Likewise. | |
17062 | * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise. | |
17063 | * config/arc/arc.opt, config/arc/constraints.md: Likewise. | |
17064 | * config/arc/t-arc-newlib: Likewise. | |
17065 | ||
dfb6d139 | 17066 | 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com> |
fb2c1edd | 17067 | |
17068 | * config/arc/arc.md (length): Fix attribute length for conditional | |
17069 | executed instructions with long immediate. | |
17070 | ||
17071 | 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
17072 | ||
17073 | * config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm | |
17074 | type for second alternative. | |
17075 | ||
17076 | 2015-09-10 Markus Trippelsdorf <markus@trippelsdorf.de> | |
17077 | ||
17078 | * doc/invoke.texi (Downloading GCC): Mention | |
17079 | contrib/download_prerequisites script. | |
17080 | ||
17081 | 2015-09-10 Jakub Jelinek <jakub@redhat.com> | |
17082 | ||
17083 | PR c++/67523 | |
17084 | * gimplify.c (gimplify_omp_for): If inner stmt is not found | |
17085 | for combined loop, assert seen_error () and return GS_ERROR. | |
17086 | ||
17087 | PR middle-end/67521 | |
17088 | * gimplify.c (gimplify_omp_for): Don't call omp_add_variable | |
17089 | if decl is already in outer->variables. | |
17090 | ||
17091 | PR middle-end/67517 | |
17092 | * gimplify.c (gimplify_scan_omp_clauses): Instead of | |
17093 | asserting that decl is not specified in octx->variables, | |
17094 | break out of the loop if it is. | |
17095 | ||
17096 | PR c++/67514 | |
17097 | * gimplify.c (gimplify_omp_for): For loop SIMD construct, if | |
17098 | iterator is not explicitly determined, but is defined inside | |
17099 | of the combined workshare region, handle it like if it has | |
17100 | DECL_EXPR in OMP_FOR_PRE_BODY. | |
17101 | ||
17102 | 2015-09-09 Nathan Sidwell <nathan@acm.org> | |
17103 | ||
17104 | * config/nvptx/nvptx.md (call_operation): Move bound out of loop. | |
17105 | (*cmp<mode>): Add assembler spacing. | |
17106 | (setcc_int<mode>, set_cc_float<mode>): Likewise. | |
17107 | * config/nvptx/nvptx.c (nvptx_option_override): Override debug | |
17108 | level. | |
17109 | (write_func_decl_from_insn): Refactor argument loops & comma emission. | |
17110 | (nvptx_expand_call): Likewise. | |
17111 | (nvptx_output_call_insn): Likewise. | |
17112 | (nvptx_reorg_subreg): Add spacing. | |
17113 | ||
17114 | 2015-09-09 Marek Polacek <polacek@redhat.com> | |
17115 | ||
17116 | PR middle-end/67512 | |
17117 | * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison | |
17118 | for comparisons. | |
17119 | ||
17120 | 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com> | |
17121 | ||
17122 | PR c++/53184 | |
17123 | * doc/invoke.texi ([Wsubobject-linkage]): Document. | |
17124 | ||
17125 | 2015-09-09 Tom de Vries <tom@codesourcery.com> | |
17126 | ||
17127 | * params-list.h: Add missing copyright notice. | |
17128 | ||
17129 | 2015-09-09 Nathan Sidwell <nathan@acm.org> | |
17130 | ||
17131 | * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use | |
17132 | sel_truesi, not andsi. | |
17133 | ||
17134 | 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
17135 | ||
17136 | * config/arm/arm.md (*subsi3_compare0): Rename to... | |
17137 | (subsi3_compare0): ... This. | |
17138 | (modsi3): New define_expand. | |
17139 | * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case | |
17140 | when operand is power of 2. | |
17141 | ||
17142 | 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
17143 | ||
17144 | * config/aarch64/aarch64.md (mod<mode>3): New define_expand. | |
17145 | (*neg<mode>2_compare0): Rename to... | |
17146 | (neg<mode>2_compare0): ... This. | |
17147 | * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case): | |
17148 | Move check for speed inside the if-then-elses. Reflect | |
17149 | CSNEG sequence in MOD by power of 2 case. | |
17150 | ||
17151 | 2015-09-09 Alan Modra <amodra@gmail.com> | |
17152 | ||
17153 | PR target/67378 | |
17154 | * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find | |
17155 | reload replacement for PRE_MODIFY address reg. | |
17156 | ||
17157 | 2015-09-09 Sebastian Pop <s.pop@samsung.com> | |
17158 | ||
17159 | PR tree-optimization/53852 | |
17160 | * config.in: Regenerate. | |
17161 | * configure: Regenerate. | |
17162 | * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect. | |
17163 | * graphite-optimize-isl.c (optimize_isl): Stop computation when | |
17164 | PARAM_MAX_ISL_OPERATIONS is reached. | |
17165 | * params.def (PARAM_MAX_ISL_OPERATIONS): Add. | |
17166 | * graphite-dependences.c (extend_schedule): Remove gcc_asserts on | |
17167 | result equal to isl_stat_ok as the status now can be isl_error_quota. | |
17168 | (subtract_commutative_associative_deps): Same. | |
17169 | (compute_deps): Same. | |
17170 | ||
17171 | 2015-09-08 Aditya Kumar <hiraditya@msn.com> | |
17172 | Sebastian Pop <s.pop@samsung.com> | |
17173 | ||
17174 | * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): | |
17175 | Return the parameter if it was saved in corresponding | |
17176 | parameter_rename_map of the region. | |
17177 | (copy_def): Copy def from sese region to the newly created region. | |
17178 | (copy_internal_parameters): Copy all the internal parameters defined | |
17179 | within a region to the newly created region. | |
17180 | (graphite_regenerate_ast_isl): Copy parameters to the new region before | |
17181 | translating isl to gimple. | |
17182 | * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if | |
17183 | the loop-nest does not have any data-references. | |
17184 | (build_graphite_scops): Create a scop only when there is at least one | |
17185 | loop inside it. | |
17186 | (contains_only_close_phi_nodes): Deleted. | |
17187 | (print_graphite_scop_statistics): Deleted | |
17188 | (print_graphite_statistics): Deleted | |
17189 | (limit_scops): Deleted. | |
17190 | (build_scops): Removed call to limit_scops. | |
17191 | * sese.c (new_sese): Construct. | |
17192 | (free_sese): Destruct. | |
17193 | (sese_add_exit_phis_edge): update_stmt after exit phi edge has been | |
17194 | added. | |
17195 | (set_rename): Pass sese region so that parameters inside the region can | |
17196 | be added to its parameter_rename_map. | |
17197 | (rename_uses): Pass sese region. | |
17198 | (graphite_copy_stmts_from_block): Do not copy parameters that have been | |
17199 | generated in the header of the scop. For each SSA_NAME in the | |
17200 | parameter_rename_map rename its usage. | |
17201 | (invariant_in_sese_p_rec): Return false if tree t is defined outside | |
17202 | sese region. | |
17203 | (scalar_evolution_in_region): If the tree t is invariant just return t. | |
17204 | * sese.h: Added a parameter renamne map (parameter_rename_map_t) to | |
17205 | struct sese to keep track of all the parameters which need renaming. | |
17206 | * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has | |
17207 | any data-refs. | |
17208 | * tree-data-ref.h: Declaration of loop_nest_has_data_refs. | |
17209 | ||
17210 | 2015-09-08 Tom de Vries <tom@codesourcery.com> | |
17211 | ||
17212 | * Makefile.in (generated_files): Add params.list. | |
17213 | (params.list, s-params.list): Add rule. | |
17214 | * params.h (enum compiler_param): Include params-list.h. Move define | |
17215 | DEFPARAM, include params.def and undef DEFPARAM ... | |
17216 | * params-list.h: ... here. New file. | |
17217 | ||
17218 | 2015-09-08 David Malcolm <dmalcolm@redhat.com> | |
17219 | ||
17220 | * pretty-print.h (printer_fn): Fix typo in comment. | |
17221 | ||
17222 | 2015-09-07 Jeff Law <law@redhat.com> | |
17223 | ||
17224 | * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo. | |
17225 | ||
17226 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17227 | ||
17228 | * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference. | |
17229 | (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag. | |
17230 | (arm_neon_fp16_hw): New. | |
17231 | ||
17232 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17233 | ||
17234 | * fold-const.c (native_interpret_real): Fix HFmode for bigendian where | |
17235 | UNITS_PER_WORD >= 4. | |
17236 | ||
17237 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17238 | ||
17239 | * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>, | |
17240 | aarch64_simd_vec_unpacks_hi_<mode>): New insn. | |
17241 | (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn. | |
17242 | (vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand. | |
17243 | (aarch64_float_extend_lo_v2df): Rename to... | |
17244 | (aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF. | |
17245 | ||
17246 | * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf. | |
17247 | (float_extend_lo): Add v4sf. | |
17248 | ||
17249 | * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New. | |
17250 | * config/aarch64/iterators.md (VQ_HSF): New iterator. | |
17251 | (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF. | |
17252 | (Vwide): New mode_attr. | |
17253 | ||
17254 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17255 | ||
17256 | * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>, | |
17257 | aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>, | |
17258 | aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>, | |
17259 | vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add | |
17260 | V4HF and V8HF variants to iterator. | |
17261 | ||
17262 | * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases. | |
17263 | ||
17264 | * config/aarch64/iterators.md (VDQF_F16): New. | |
17265 | (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases. | |
17266 | ||
17267 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17268 | ||
17269 | * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16, | |
17270 | vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16, | |
17271 | vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32, | |
17272 | vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32, | |
17273 | vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16, | |
17274 | vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16, | |
17275 | vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32, | |
17276 | vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32, | |
17277 | vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16, | |
17278 | vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16, | |
17279 | vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16, | |
17280 | vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16, | |
17281 | vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16, | |
17282 | vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16, | |
17283 | vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16, | |
17284 | vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16, | |
17285 | vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16, | |
17286 | vld1q_dup_f16): New. | |
17287 | ||
17288 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17289 | ||
17290 | * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf): | |
17291 | Reparameterize to... | |
17292 | (aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF. | |
17293 | (aarch64_float_truncate_hi_v4sf): Reparameterize to... | |
17294 | (aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF. | |
17295 | ||
17296 | * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add | |
17297 | v8hf variant. | |
17298 | (float_truncate_lo_): Use BUILTIN_VDF iterator. | |
17299 | ||
17300 | * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New. | |
17301 | ||
17302 | * config/aarch64/iterators.md (VDF, Vdtype): New. | |
17303 | (VWIDE, Vmwtype): Add cases for V4HF and V2SF. | |
17304 | ||
17305 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17306 | ||
17307 | * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode. | |
17308 | * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New. | |
17309 | (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types): | |
17310 | Add __builtin_aarch64_simd_hf. | |
17311 | * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t, | |
17312 | float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t, | |
17313 | vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16, | |
17314 | vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16, | |
17315 | vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16, | |
17316 | vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16, | |
17317 | vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16, | |
17318 | vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16, | |
17319 | vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New. | |
17320 | ||
17321 | * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype, | |
17322 | V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF. | |
17323 | (VDC, Vdbl): Add V4HF. | |
17324 | ||
17325 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17326 | ||
17327 | * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support | |
17328 | V4HFmode and V8HFmode. | |
17329 | (aarch64_split_simd_move): Add case for V8HFmode. | |
17330 | * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define. | |
17331 | (aarch64_simd_builtin_std_type): Handle HFmode. | |
17332 | (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t. | |
17333 | ||
17334 | * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>, | |
17335 | aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator. | |
17336 | (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator. | |
17337 | ||
17338 | * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t, | |
17339 | Float16x8_t. | |
17340 | ||
17341 | * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16. | |
17342 | * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t): | |
17343 | New typedefs. | |
17344 | (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16, | |
17345 | vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16, | |
17346 | vst1q_lane_f16): New. | |
17347 | * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode. | |
17348 | (VALLDI_F16, VALL_F16): New. | |
17349 | (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q): | |
17350 | Add cases for V4HF and V8HF. | |
17351 | (VDBL, VRL2, VRL3, VRL4): Add V4HF case. | |
17352 | ||
17353 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17354 | ||
17355 | * config/arm/arm-builtins.c (VAR11, VAR12): New. | |
17356 | * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup, | |
17357 | vld4_dup): Add v4hf variant. | |
17358 | (vget_high, vget_low): Add v8hf variant. | |
17359 | (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3, | |
17360 | vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add | |
17361 | v4hf and v8hf variants. | |
17362 | ||
17363 | * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New. | |
17364 | (VDX): Add V4HF. | |
17365 | (V_DOUBLE): Add case for V4HF. | |
17366 | (VQX): Add V8HF. | |
17367 | (V_HALF): Add case for V8HF. | |
17368 | (VDQX): Add V4HF, V8HF. | |
17369 | (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result, | |
17370 | V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF. | |
17371 | ||
17372 | * config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>, | |
17373 | neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal, | |
17374 | vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>, | |
17375 | neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>, | |
17376 | neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>, | |
17377 | neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>, | |
17378 | vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>, | |
17379 | neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>, | |
17380 | neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2. | |
17381 | ||
17382 | (neon_vcreate, neon_vreinterpretv8qi<mode>, | |
17383 | neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>, | |
17384 | neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>): | |
17385 | Change VDX to VD_RE. | |
17386 | ||
17387 | (neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>, | |
17388 | neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>): | |
17389 | Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS. | |
17390 | ||
17391 | * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t, | |
17392 | float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16, | |
17393 | vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, | |
17394 | vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16, | |
17395 | vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16, | |
17396 | vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16, | |
17397 | vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16, | |
17398 | vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16, | |
17399 | vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New. | |
17400 | ||
17401 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17402 | ||
17403 | * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16, | |
17404 | vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16, | |
17405 | vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32, | |
17406 | vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64, | |
17407 | vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16, | |
17408 | vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16, | |
17409 | vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16, | |
17410 | vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16, | |
17411 | vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16, | |
17412 | vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16): | |
17413 | New. | |
17414 | ||
17415 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17416 | ||
17417 | * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode. | |
17418 | ||
17419 | * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode. | |
17420 | ||
17421 | * config/arm/arm-builtins.c (v8hf_UP): New. | |
17422 | (arm_init_simd_builtin_types): Initialise Float16x8_t. | |
17423 | ||
17424 | * config/arm/arm-simd-builtin-types.def (Float16x8_t): New. | |
17425 | ||
17426 | * config/arm/arm_neon.h (float16x8_t): New typedef. | |
17427 | ||
17428 | 2015-09-08 Alan Lawrence <alan.lawrence@arm.com> | |
17429 | ||
17430 | * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16, | |
17431 | vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16, | |
17432 | vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16, | |
17433 | vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64, | |
17434 | vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16, | |
17435 | vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16, | |
17436 | vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16, | |
17437 | vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16, | |
17438 | vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16, | |
17439 | vreinterpret_u16_f16, vreinterpret_u32_f16): New. | |
17440 | ||
17441 | 2015-09-07 Ilya Verbin <ilya.verbin@intel.com> | |
17442 | ||
17443 | * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all | |
17444 | non-alphanumeric characters in the symbol name. | |
17445 | ||
17446 | 2015-09-07 Marek Polacek <polacek@redhat.com> | |
17447 | ||
17448 | PR inline-asm/67448 | |
17449 | * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as | |
17450 | a memory input. | |
17451 | ||
17452 | 2015-09-07 Marek Polacek <polacek@redhat.com> | |
17453 | ||
17454 | * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning. | |
17455 | ||
17456 | 2015-09-04 Paolo Bonzini <bonzini@gnu.org> | |
17457 | ||
17458 | * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do | |
17459 | not warn. | |
17460 | ||
17461 | 2015-09-04 Jakub Jelinek <jakub@redhat.com> | |
17462 | ||
17463 | PR middle-end/67452 | |
17464 | * tree-ssa-live.c: Include cfgloop.h. | |
17465 | (remove_unused_locals): Clear loop->simduid if simduid is about | |
17466 | to be removed from cfun->local_decls. | |
17467 | ||
17468 | 2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> | |
17469 | ||
17470 | PR target/65210 | |
17471 | * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low | |
17472 | attribute as well. | |
17473 | ||
17474 | 2015-09-04 Tom de Vries <tom@codesourcery.com> | |
17475 | ||
17476 | * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction. | |
17477 | ||
17478 | 2015-09-04 Jeff Law <law@redhat.com> | |
17479 | ||
17480 | * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove | |
17481 | unnecessary constructor. It's now trivial and implemented inside... | |
17482 | * tree-ssa-scopedtables.h (const_and_copies): Implement trivial | |
17483 | constructor. Add comments to various methods. Remove unused | |
17484 | private fields. | |
17485 | * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes. | |
17486 | * tree-vrp.c (identify_jump_threads): Likewise. | |
17487 | * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor | |
17488 | indentation issues. | |
17489 | (thread_across_edge): Similarly. | |
17490 | (record_temporary_equivalences_from_stmts_at_dest): Remove unused | |
17491 | arguments in constructor call. | |
17492 | ||
17493 | 2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de> | |
17494 | ||
17495 | * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the | |
17496 | temp path contains a '-'. | |
17497 | ||
17498 | 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com> | |
17499 | Petr Murzin <petr.murzin@intel.com> | |
17500 | Kirill Yukhin <kirill.yukhin@intel.com> | |
17501 | ||
17502 | * config/i386/i386-builtin-types.def | |
17503 | (VOID_PFLOAT_HI_V8DI_V16SF_INT): New. | |
17504 | (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto. | |
17505 | (VOID_PINT_HI_V8DI_V16SI_INT): Ditto. | |
17506 | (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto. | |
17507 | * config/i386/i386.c | |
17508 | (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF, | |
17509 | IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI, | |
17510 | IX86_BUILTIN_SCATTERALTDIV16SI. | |
17511 | (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df, | |
17512 | __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di, | |
17513 | __builtin_ia32_scatteraltdiv8si. | |
17514 | (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF, | |
17515 | IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI, | |
17516 | IX86_BUILTIN_SCATTERALTDIV16SI. | |
17517 | (ix86_vectorize_builtin_scatter): New. | |
17518 | (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as | |
17519 | ix86_vectorize_builtin_scatter. | |
17520 | ||
17521 | 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com> | |
17522 | Petr Murzin <petr.murzin@intel.com> | |
17523 | Kirill Yukhin <kirill.yukhin@intel.com> | |
17524 | ||
17525 | * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New. | |
17526 | * doc/tm.texi: Regenerate. | |
17527 | * target.def: Add scatter builtin. | |
17528 | * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it | |
17529 | for loads/stores in case of gather/scatter accordingly. | |
17530 | (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of | |
17531 | STMT_VINFO_GATHER_P(S). | |
17532 | (vect_check_gather): Rename to ... | |
17533 | (vect_check_gather_scatter): this. | |
17534 | * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use | |
17535 | STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P. | |
17536 | (vect_check_gather_scatter): Use it instead of vect_check_gather. | |
17537 | (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter | |
17538 | variable and new checkings for it accordingly. | |
17539 | * tree-vect-stmts.c | |
17540 | (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of | |
17541 | STMT_VINFO_GATHER_P(S). | |
17542 | (vect_check_gather_scatter): Use it instead of vect_check_gather. | |
17543 | (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P. | |
17544 | ||
17545 | 2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com> | |
17546 | ||
17547 | * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New | |
17548 | define_insn. | |
17549 | (mulv16qi3): New define_expand. | |
17550 | ||
17551 | 2015-09-03 Martin Sebor <msebor@redhat.com> | |
17552 | ||
17553 | PR c/66516 | |
17554 | * doc/extend.texi (Other Builtins): Document when the address | |
17555 | of a built-in function can be taken. | |
17556 | ||
17557 | 2015-09-03 Richard Biener <rguenther@suse.de> | |
17558 | ||
17559 | * dwarf2out.c (flush_limbo_die_list): Split out from ... | |
17560 | (dwarf2out_early_finish): ... here. | |
17561 | (dwarf2out_finish): Do not call dwarf2out_early_finish but | |
17562 | flush_limbo_die_list. Assert we have no deferred asm names. | |
17563 | ||
17564 | 2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
17565 | ||
17566 | * optabs.c (expand_binop): Don't create a broadcast vector with a | |
17567 | source element wider than the inner mode. | |
17568 | ||
17569 | 2015-09-03 Richard Biener <rguenther@suse.de> | |
17570 | ||
17571 | * varasm.c (output_constant): Use fold_convert instead of | |
17572 | wide_int_to_tree. | |
17573 | ||
17574 | 2015-09-03 Tom de Vries <tom@codesourcery.com> | |
17575 | ||
17576 | PR tree-optimization/65637 | |
17577 | * omp-low.c (expand_omp_for_static_chunk): Handle case that | |
17578 | fin_bb has 2 predecessors. | |
17579 | ||
17580 | 2015-09-03 Tom de Vries <tom@codesourcery.com> | |
17581 | ||
17582 | PR tree-optimization/65637 | |
17583 | * omp-low.c (find_phi_with_arg_on_edge): New function. | |
17584 | (expand_omp_for_static_chunk): Fix inner loop phi. | |
17585 | ||
17586 | 2015-09-03 Tom de Vries <tom@codesourcery.com> | |
17587 | ||
17588 | PR tree-optimization/65637 | |
17589 | * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case | |
17590 | that head is NULL. | |
17591 | ||
17592 | 2015-09-03 Tom de Vries <tom@codesourcery.com> | |
17593 | ||
17594 | * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb. | |
17595 | ||
17596 | 2015-09-03 Tom de Vries <tom@codesourcery.com> | |
17597 | ||
17598 | * doc/invoke.texi (parloops-chunk-size): Add item. | |
17599 | * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM. | |
17600 | * tree-parloops.c: Include params.h. | |
17601 | (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if | |
17602 | param parloops-chunk-size is used. | |
17603 | ||
17604 | 2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
17605 | ||
17606 | PR middle-end/67351 | |
17607 | * fold-const.c (fold_binary_loc) : Move | |
17608 | Transform (x >> c) << c into x & (-1<<c) or | |
17609 | transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned | |
17610 | types using simplify and match. | |
17611 | * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier. | |
17612 | (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier | |
17613 | ||
17614 | 2015-09-03 Richard Biener <rguenther@suse.de> | |
17615 | ||
17616 | PR ipa/66705 | |
17617 | * tree-ssa-structalias.c (ctor_for_analysis): New function. | |
17618 | (create_variable_info_for_1): Use ctor_for_analysis instead | |
17619 | of get_constructor. | |
17620 | (create_variable_info_for): Likewise. | |
17621 | ||
17622 | 2015-09-02 Charles Baylis <charles.baylis@linaro.org> | |
17623 | ||
17624 | PR ipa/67280 | |
17625 | * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external | |
17626 | in new callgraph edge. | |
17627 | ||
17628 | 2015-09-02 Christophe Lyon <christophe.lyon@linaro.org> | |
17629 | ||
17630 | PR target/59810 | |
17631 | PR target/63652 | |
17632 | PR target/63653 | |
17633 | * config/aarch64/aarch64-simd.md | |
17634 | (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call | |
17635 | gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>. | |
17636 | (aarch64_st<VSTRUCT:nregs><VQ:mode>): Call | |
17637 | gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>. | |
17638 | ||
17639 | 2015-09-02 Alan Modra <amodra@gmail.com> | |
17640 | ||
17641 | * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define. | |
17642 | * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise. | |
17643 | (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target. | |
17644 | ||
17645 | 2015-09-02 Alan Modra <amodra@gmail.com> | |
17646 | ||
17647 | PR target/67417 | |
17648 | * config/rs6000/predicates.md (current_file_function_operand): Don't | |
17649 | return true for weak symbols. | |
17650 | * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise. | |
17651 | ||
17652 | 2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com> | |
17653 | Andrew Bennett <andrew.bennett@imgtec.com> | |
17654 | ||
17655 | * config/mips/mips-opts.h (mips_cb_setting): New enum. | |
17656 | * config/mips/mips-protos.h: Add definitions for | |
17657 | mips_output_jump and mips_output_equal_conditional_branch | |
17658 | * config/mips/mips.c (MIPS_JR): Change to support the | |
17659 | JIC instruction. | |
17660 | (mips_emit_compare): Add support for the MIPS R6 conditional | |
17661 | compact branches. | |
17662 | (mips_process_sync_loop): Likewise. | |
17663 | (mips_output_order_conditional_branch): Likewise. | |
17664 | (mips16_build_call_stub): Change MIPS_CALL to | |
17665 | mips_output_jump. | |
17666 | (mips_print_operand_punctuation): Update 's' case to only | |
17667 | apply to micromips r2. | |
17668 | (mips_adjust_insn_length): Add support for forbidden slot | |
17669 | hazards. | |
17670 | (mips_avoid_hazard): Likewise. | |
17671 | (mips_reorg_process_insns): Likewise. | |
17672 | (mips_output_jump): New function. | |
17673 | (mips_output_equal_conditional_branch): Likewise. | |
17674 | (mips_output_conditional_branch): Use jrc/bc if compact | |
17675 | branch support is enabled. Ensure the forbidden slots | |
17676 | between the two branch instructions is filled with a nop. | |
17677 | (mips_option_override): Add support to process the compact | |
17678 | branch option and set the correct defaults. Prevent | |
17679 | non-explict relocs being using for MIPS R6. | |
17680 | (mips_trampoline_init): Add compact branch support. | |
17681 | (mips_mult_zero_zero_cost): Allow zero initialisation of | |
17682 | accumulators with TARGET_DSP. | |
17683 | * config/mips/mips.h (TARGET_CB_NEVER): New define. | |
17684 | (TARGET_CB_MAYBE): New define. | |
17685 | (TARGET_CB_ALWAYS): New define. | |
17686 | (ISA_HAS_DELAY_SLOTS): New define. | |
17687 | (ISA_HAS_COMPACT_BRANCHES): New define. | |
17688 | (ISA_HAS_JRC): New define. | |
17689 | (MIPS_BRANCH_C): New define. | |
17690 | (MIPS_CALL): Removed. | |
17691 | (MICROMIPS_J): Removed. | |
17692 | * config/mips/mips.md (compact_form): New attr. | |
17693 | (hazard): Add support for forbidden slots. | |
17694 | (define_delay): Add support for compact branches. | |
17695 | (*branch_order<mode>): Likewise. | |
17696 | (*branch_order<mode>_inverted): Likewise. | |
17697 | (*branch_equality<mode>): Likewise. | |
17698 | (*branch_equality<mode>_inverted): Likewise. | |
17699 | (*jump_absolute): Likewise. | |
17700 | (*jump_pic): Likewise. | |
17701 | (indirect_jump): Use mips_output_jump to produce assembly output. | |
17702 | (tablejump_<mode>"): Likewise. | |
17703 | (*<optab>"): Likewise. | |
17704 | (<optab>_internal): Likewise. | |
17705 | (sibcall_internal): Likewise. | |
17706 | (sibcall_value_internal): Likewise. | |
17707 | (sibcall_value_multiple_internal): Likewise. | |
17708 | (call_internal): Likewise. | |
17709 | (call_split): Likewise. | |
17710 | (call_internal_direct): Likewise. | |
17711 | (call_direct_split): Likewise. | |
17712 | (call_value_internal): Likewise. | |
17713 | (call_value_split): Likewise. | |
17714 | (call_value_internal_direct): Likewise. | |
17715 | (call_value_direct_split): Likewise. | |
17716 | (call_value_multiple_internal): Likewise. | |
17717 | (call_value_multiple_split): Likewise. | |
17718 | (mips_get_fcsr_mips16_<mode>): Likewise. | |
17719 | (mips_set_fcsr_mips16_<mode>): Likewise. | |
17720 | (tls_get_tp_mips16_<mode>): Likewise. | |
17721 | * config/mips/mips.opt: Add -mcompact-branches option. | |
17722 | * config/mips/predicates.md (order_operator): Ensure the | |
17723 | conditional compact branches are only used if the ISA them. | |
17724 | * doc/invoke.texi: Document -mcompact-branches option. | |
17725 | ||
17726 | 2015-09-01 Vladimir Makarov <vmakarov@redhat.com> | |
17727 | ||
17728 | PR target/61578 | |
17729 | * lra-lives.c (process_bb_lives): Process move pseudos with the | |
17730 | same value for copies and preferences | |
17731 | * lra-constraints.c (match_reload): Create match reload pseudo | |
17732 | with the same value from single dying input pseudo. | |
17733 | ||
17734 | 2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com> | |
17735 | ||
17736 | PR target/67405 | |
17737 | * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check. | |
17738 | ||
17739 | 2015-09-01 Aldy Hernandez <aldyh@redhat.com> | |
17740 | ||
17741 | * trans-mem.c: Add contributed-by. | |
17742 | * trans-mem.h: Same. | |
17743 | ||
17744 | 2015-09-01 Richard Biener <rguenther@suse.de> | |
17745 | ||
17746 | * expr.c (expand_expr_real_1): For expanding TERed defs | |
17747 | set the current location to that of the def if not UNKNOWN. | |
17748 | ||
17749 | 2015-09-01 David Sherwood <david.sherwood@arm.com> | |
17750 | ||
17751 | * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier. | |
17752 | ||
dfb6d139 | 17753 | 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
fb2c1edd | 17754 | |
17755 | * ifcvt.c (struct noce_if_info): Add then_simple, else_simple, | |
17756 | then_cost, else_cost fields. Change branch_cost field to unsigned int. | |
17757 | (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence. | |
17758 | Include rtl-iter.h. | |
17759 | (noce_simple_bbs): New function. | |
17760 | (noce_try_move): Bail if basic blocks are not simple. | |
17761 | (noce_try_store_flag): Likewise. | |
17762 | (noce_try_store_flag_constants): Likewise. | |
17763 | (noce_try_addcc): Likewise. | |
17764 | (noce_try_store_flag_mask): Likewise. | |
17765 | (noce_try_cmove): Likewise. | |
17766 | (noce_try_minmax): Likewise. | |
17767 | (noce_try_abs): Likewise. | |
17768 | (noce_try_sign_mask): Likewise. | |
17769 | (noce_try_bitop): Likewise. | |
17770 | (bbs_ok_for_cmove_arith): New function. | |
17771 | (noce_emit_all_but_last): Likewise. | |
17772 | (noce_emit_insn): Likewise. | |
17773 | (noce_emit_bb): Likewise. | |
17774 | (noce_try_cmove_arith): Handle non-simple basic blocks. | |
17775 | (insn_valid_noce_process_p): New function. | |
17776 | (contains_mem_rtx_p): Likewise. | |
17777 | (bb_valid_for_noce_process_p): Likewise. | |
17778 | (noce_process_if_block): Allow non-simple basic blocks | |
17779 | where appropriate. | |
17780 | ||
17781 | 2015-08-31 Alan Lawrence <alan.lawrence@arm.com> | |
17782 | ||
17783 | * tree-ssa-dom.c (record_equivalences_from_phis, | |
17784 | record_equivalences_from_stmt, optimize_stmt): Use dom_valueize. | |
17785 | (lookup_avail_expr): Likewise, and remove comment and unused temp. | |
17786 | ||
17787 | 2015-09-01 Nick Clifton <nickc@redhat.com> | |
17788 | ||
17789 | * config/msp430/msp430.opt (mcpu): Fix typo. | |
17790 | ||
17791 | 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
17792 | ||
17793 | * config/aarch64/aarch64.c (aarch64_set_current_function): | |
17794 | Re-layout any vector parameters have non-simd layout. | |
17795 | * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param): | |
17796 | Delete. | |
17797 | (aarch64_simd_expand_args): Delete call to the above. | |
17798 | ||
17799 | 2015-08-31 Mike Frysinger <vapier@gentoo.org> | |
17800 | ||
17801 | * doc/invoke.texi (asan-stack): Add space before option. | |
17802 | ||
17803 | 2015-08-31 Marc Glisse <marc.glisse@inria.fr> | |
17804 | ||
17805 | * tree.h (zerop): New function. | |
17806 | * tree.c (zerop): Likewise. | |
17807 | (element_precision): Handle expressions. | |
17808 | * match.pd (define_predicates): Add zerop. | |
17809 | (x <= +Inf): Fix comment. | |
17810 | (abs (x) == 0, A & C == C, A & C != 0): Converted from ... | |
17811 | * fold-const.c (fold_binary_loc): ... here. Remove. | |
17812 | ||
17813 | 2015-08-31 Richard Biener <rguenther@suse.de> | |
17814 | ||
17815 | PR middle-end/67381 | |
17816 | * genmatch.c (dt_node::gen_kids): Also treat matches as barrier. | |
17817 | ||
17818 | 2015-08-31 Marc Glisse <marc.glisse@inria.fr> | |
17819 | ||
17820 | * match.pd (SIN, COS, TAN, COSH): Reorder for consistency. | |
17821 | (CEXPI): New operator list. | |
17822 | (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)), | |
17823 | imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))): | |
17824 | Converted from ... | |
17825 | * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove. | |
17826 | ||
17827 | 2015-08-31 Tom de Vries <tom@codesourcery.com> | |
17828 | ||
17829 | * tree-ssa-loop-manip.c (find_uses_to_rename_stmt) | |
17830 | (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags | |
17831 | parameter. | |
17832 | (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function. | |
17833 | (rewrite_into_loop_closed_ssa_1): New function, factored out of ... | |
17834 | (rewrite_into_loop_closed_ssa): ... here. | |
17835 | (replace_uses_in_dominated_bbs): Remove function. | |
17836 | (rewrite_virtuals_into_loop_closed_ssa): Reimplement using | |
17837 | rewrite_into_loop_closed_ssa_1. | |
17838 | ||
17839 | 2015-08-31 Michael Matz <matz@suse.de> | |
17840 | ||
17841 | * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly | |
17842 | enter entry and exit blocks for reverse post order. | |
17843 | ||
17844 | 2015-08-31 Richard Biener <rguenther@suse.de> | |
17845 | ||
17846 | * lto-streamer.h (lto_location_cache::cached_location::sysp): Add. | |
17847 | (lto_location_cache::current_sysp): Likewise. | |
17848 | (output_block::current_sysp): Likewise. | |
17849 | * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp. | |
17850 | (lto_location_cache::apply_location_cache): Properly record | |
17851 | system header locations. | |
17852 | (lto_location_cache::input_location): Input whether a file | |
17853 | is a system header. | |
17854 | * lto-streamer-out.c (lto_output_location): Stream whether a file | |
17855 | is a system header. | |
17856 | ||
17857 | 2015-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
17858 | ||
17859 | PR bootstrap/67363 | |
17860 | * gcc.c (env_manager::xput): Replace strndup by xstrndup. | |
17861 | ||
17862 | 2015-08-31 Tom de Vries <tom@codesourcery.com> | |
17863 | ||
17864 | * tree-ssa-loop-manip.c (find_uses_to_rename_use) | |
17865 | (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename): | |
17866 | Improve function header comments. | |
17867 | ||
17868 | 2015-08-30 Michael Collison <michael.collison@linaro.org> | |
17869 | ||
17870 | PR other/67320 | |
17871 | * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct | |
17872 | standard names | |
17873 | ||
17874 | 2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
17875 | ||
17876 | * config/rs6000/rs6000.c (swap_web_entry): Enlarge | |
17877 | special_handling bitfield. | |
17878 | (special_handling_values): Add SH_XXPERMDI and SH_CONCAT. | |
17879 | (rtx_is_swappable_p): Add handling for vec_select/vec_concat form | |
17880 | that represents a general xxpermdi. | |
17881 | (insn_is_swappable_p): Add handling for vec_concat of two | |
17882 | doublewords, which maps to a specific xxpermdi. | |
17883 | (adjust_xxpermdi): New function. | |
17884 | (adjust_concat): Likewise. | |
17885 | (handle_special_swappables): Call adjust_xxpermdi and | |
17886 | adjust_concat. | |
17887 | (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT. | |
17888 | ||
dfb6d139 | 17889 | 2015-08-30 Rich Felker <dalias@libc.org> |
fb2c1edd | 17890 | |
17891 | * config.gcc (supported_defaults): Handle sh[123456ble]*-*-* | |
17892 | case instead of sh[123456ble]-*-*. | |
17893 | ||
17894 | 2015-08-29 Anatoly Sokolov <aesok@post.ru> | |
17895 | ||
17896 | * ira.c (print_unform_and_important_classes, | |
17897 | print_translated_classes): Remove reg_class_names static array. | |
17898 | (print_unform_and_important_classes): Rename to ... | |
17899 | (print_uniform_and_important_classes): ... this. | |
17900 | (ira_debug_allocno_classes): Update accordingly. | |
17901 | ||
17902 | 2015-08-29 Tom de Vries <tom@codesourcery.com> | |
17903 | ||
17904 | PR tree-optimization/46193 | |
17905 | * omp-low.c (omp_reduction_init): Handle pointer type for min or max | |
17906 | clause. | |
17907 | ||
17908 | 2015-08-28 Jeff Law <law@redhat.com> | |
17909 | ||
17910 | PR lto/66752 | |
17911 | * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are | |
17912 | unable to find X NE 0 in the tables, return X as the simplified | |
17913 | condition. | |
17914 | (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are | |
17915 | in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH | |
17916 | to VISISTED_BBS. | |
17917 | * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags | |
17918 | after removing the control flow statement and unnecessary edges. | |
17919 | ||
17920 | 2015-08-28 Alan Lawrence <alan.lawrence@arm.com> | |
17921 | ||
17922 | Revert: | |
17923 | 2015-08-27 Alan Lawrence <alan.lawrence@arm.com> | |
17924 | ||
17925 | PR tree-optimization/67283 | |
17926 | * tree-sra.c (type_consists_of_records_p): Rename to... | |
17927 | (scalarizable_type_p): ...this, add case for ARRAY_TYPE. | |
17928 | ||
17929 | (completely_scalarize_record): Rename to... | |
17930 | (completely_scalarize): ...this, add ARRAY_TYPE case, move some | |
17931 | code to: | |
17932 | (scalarize_elem): New. | |
17933 | ||
17934 | 2015-08-28 Jiong Wang <jiong.wang@arm.com> | |
17935 | ||
17936 | * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename | |
17937 | SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE. | |
17938 | (aarch64_symbol_type): Likewise. | |
17939 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): | |
17940 | Likewise. | |
17941 | (aarch64_expand_mov_immediate): Likewise. | |
17942 | (aarch64_print_operand): Likewise. | |
17943 | (aarch64_classify_tls_symbol): Likewise. | |
17944 | ||
17945 | 2015-08-28 Richard Biener <rguenther@suse.de> | |
17946 | ||
17947 | * cgraphunit.c (symbol_table::compile): Move early debug generation | |
17948 | and finish... | |
17949 | (symbol_table::finalize_compilation_unit): ... back here and | |
17950 | add a !seen_error () guard. | |
17951 | ||
17952 | 2015-08-27 Sebastian Pop <s.pop@samsung.com> | |
17953 | ||
17954 | * toplev.c (process_options): Do not use flag_loop_block, | |
17955 | flag_loop_interchange, and flag_loop_strip_mine. Add check for | |
17956 | flag_loop_optimize_isl. | |
17957 | ||
17958 | 2015-08-27 Sebastian Pop <s.pop@samsung.com> | |
17959 | ||
17960 | * Makefile.in (OBJS): Remove graphite-blocking.o and | |
17961 | graphite-interchange.o. | |
17962 | * common.opt (floop-strip-mine, floop-interchange, floop-block): | |
17963 | Alias of floop-nest-optimize. | |
17964 | * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block): | |
17965 | Document as alias of -floop-nest-optimize. | |
17966 | * graphite-blocking.c: Remove. | |
17967 | * graphite-interchange.c: Remove. | |
17968 | * graphite-optimize-isl.c: Include dumpfile.h. | |
17969 | (getScheduleForBand): Add dump for tiled loops. Use | |
17970 | PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant. | |
17971 | * graphite-poly.c (scop_max_loop_depth): Remove. | |
17972 | (print_scattering_function_1): Remove. | |
17973 | (print_scattering_function): Remove. | |
17974 | (print_scattering_functions): Remove. | |
17975 | (debug_scattering_function): Remove. | |
17976 | (debug_scattering_functions): Remove. | |
17977 | (apply_poly_transforms): Remove use of flag_loop_block, | |
17978 | flag_loop_strip_mine, and flag_loop_interchange. | |
17979 | (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and | |
17980 | PBB_ORIGINAL. | |
17981 | (print_pdr_access_layout): Remove. | |
17982 | (print_pdr): Print ISL representation. | |
17983 | (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE, | |
17984 | SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE. | |
17985 | (free_scop): Same. | |
17986 | (openscop_print_pbb_domain): Remove. | |
17987 | (print_pbb): Remove call to print_scattering_function. | |
17988 | (openscop_print_scop_context): Remove. | |
17989 | (print_scop_context): Do not print matrices anymore. | |
17990 | (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and | |
17991 | SCOP_TRANSFORMED_SCHEDULE. | |
17992 | (print_isl_set): Add printing of a new line. | |
17993 | (print_isl_map): Same. | |
17994 | (print_isl_aff): Same. | |
17995 | (print_isl_constraint): Same. | |
17996 | (loop_to_lst): Remove. | |
17997 | (scop_to_lst): Remove. | |
17998 | (lst_indent_to): Remove. | |
17999 | (print_lst): Remove. | |
18000 | (debug_lst): Remove. | |
18001 | (dot_lst_1): Remove. | |
18002 | (dot_lst): Remove. | |
18003 | (reverse_loop_at_level): Remove. | |
18004 | (reverse_loop_for_pbbs): Remove. | |
18005 | * graphite-poly.h (pdr_dim_iter_domain): Remove. | |
18006 | (pdr_nb_params): Remove. | |
18007 | (pdr_alias_set_dim): Remove. | |
18008 | (pdr_subscript_dim): Remove. | |
18009 | (pdr_iterator_dim): Remove. | |
18010 | (pdr_parameter_dim): Remove. | |
18011 | (same_pdr_p): Remove. | |
18012 | (struct poly_scattering): Remove. | |
18013 | (struct poly_bb): Remove _original, _transformed, _saved. | |
18014 | (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove. | |
18015 | (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove. | |
18016 | (PBB_NB_LOCAL_VARIABLES): Remove. | |
18017 | (PBB_NB_SCATTERING_TRANSFORM): Remove. | |
18018 | (schedule_to_scattering): Remove. | |
18019 | (number_of_write_pdrs): Remove. | |
18020 | (pbb_dim_iter_domain): Remove. | |
18021 | (pbb_nb_params): Remove. | |
18022 | (pbb_nb_scattering_orig): Remove. | |
18023 | (pbb_nb_scattering_transform): Remove. | |
18024 | (pbb_nb_dynamic_scattering_transform): Remove. | |
18025 | (pbb_nb_local_vars): Remove. | |
18026 | (pbb_iterator_dim): Remove. | |
18027 | (pbb_parameter_dim): Remove. | |
18028 | (psco_scattering_dim): Remove. | |
18029 | (psct_scattering_dim): Remove. | |
18030 | (psct_local_var_dim): Remove. | |
18031 | (psco_iterator_dim): Remove. | |
18032 | (psct_iterator_dim): Remove. | |
18033 | (psco_parameter_dim): Remove. | |
18034 | (psct_parameter_dim): Remove. | |
18035 | (psct_dynamic_dim): Remove. | |
18036 | (psct_static_dim): Remove. | |
18037 | (psct_add_local_variable): Remove. | |
18038 | (new_lst_loop): Remove. | |
18039 | (new_lst_stmt): Remove. | |
18040 | (free_lst): Remove. | |
18041 | (copy_lst): Remove. | |
18042 | (lst_add_loop_under_loop): Remove. | |
18043 | (lst_depth): Remove. | |
18044 | (lst_dewey_number): Remove. | |
18045 | (lst_dewey_number_at_depth): Remove. | |
18046 | (lst_pred): Remove. | |
18047 | (lst_succ): Remove. | |
18048 | (lst_find_pbb): Remove. | |
18049 | (find_lst_loop): Remove. | |
18050 | (lst_find_first_pbb): Remove. | |
18051 | (lst_empty_p): Remove. | |
18052 | (lst_find_last_pbb): Remove. | |
18053 | (lst_contains_p): Remove. | |
18054 | (lst_contains_pbb): Remove. | |
18055 | (lst_create_nest): Remove. | |
18056 | (lst_remove_from_sequence): Remove. | |
18057 | (lst_remove_loop_and_inline_stmts_in_loop_father): Remove. | |
18058 | (lst_niter_for_loop): Remove. | |
18059 | (pbb_update_scattering): Remove. | |
18060 | (lst_update_scattering_under): Remove. | |
18061 | (lst_update_scattering): Remove. | |
18062 | (lst_insert_in_sequence): Remove. | |
18063 | (lst_replace): Remove. | |
18064 | (lst_substitute_3): Remove. | |
18065 | (lst_distribute_lst): Remove. | |
18066 | (lst_remove_all_before_including_pbb): Remove. | |
18067 | (lst_remove_all_before_excluding_pbb): Remove. | |
18068 | (struct scop): Remove original_schedule, transformed_schedule, and | |
18069 | saved_schedule. | |
18070 | (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove. | |
18071 | (SCOP_SAVED_SCHEDULE): Remove. | |
18072 | (poly_scattering_new): Remove. | |
18073 | (poly_scattering_free): Remove. | |
18074 | (poly_scattering_copy): Remove. | |
18075 | (store_scattering_pbb): Remove. | |
18076 | (store_lst_schedule): Remove. | |
18077 | (restore_lst_schedule): Remove. | |
18078 | (store_scattering): Remove. | |
18079 | (restore_scattering_pbb): Remove. | |
18080 | (restore_scattering): Remove. | |
18081 | * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): | |
18082 | Remove scattering_dimensions. Do not use pbb_dim_iter_domain: | |
18083 | compute the scattering polyhedron dimension from the dimension of | |
18084 | pbb->domain. | |
18085 | (build_scop_scattering): Update call to | |
18086 | build_pbb_scattering_polyhedrons. | |
18087 | (build_poly_scop): Remove call to scop_to_lst. | |
18088 | * graphite.c (graphite_transform_loops): Add call to print_scop. | |
18089 | (gate_graphite_transforms): Remove use of flag_loop_block, | |
18090 | flag_loop_interchange, and flag_loop_strip_mine. | |
18091 | ||
18092 | 2015-08-27 Sebastian Pop <s.pop@samsung.com> | |
18093 | ||
18094 | * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize. | |
18095 | * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of | |
18096 | -floop-nest-optimize. | |
18097 | * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove. | |
18098 | (generate_luj_sepclass): Remove. | |
18099 | (generate_luj_options): Remove. | |
18100 | (set_options): Remove opt_luj. | |
18101 | (scop_to_isl_ast): Remove opt_luj. | |
18102 | * graphite-optimize-isl.c (getScheduleForBand): Remove check for | |
18103 | flag_loop_unroll_jam. | |
18104 | (getPrevectorMap_full): Remove. | |
18105 | (getScheduleForBandList): Remove map_sepcl. | |
18106 | (getScheduleMap): Same. | |
18107 | (apply_schedule_map_to_scop): Remove sepcl. | |
18108 | (optimize_isl): Same. | |
18109 | * graphite-poly.c (apply_poly_transforms): Remove check for | |
18110 | flag_loop_unroll_jam. | |
18111 | (new_poly_bb): Remove map_sepclass. | |
18112 | * graphite-poly.h (struct poly_bb): Same. | |
18113 | * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam. | |
18114 | * params.def (PARAM_LOOP_UNROLL_JAM_SIZE) | |
18115 | (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove. | |
18116 | * toplev.c (process_options): Remove flag_loop_unroll_jam. | |
18117 | ||
18118 | 2015-08-27 Uros Bizjak <ubizjak@gmail.com> | |
18119 | ||
18120 | PR target/67317 | |
18121 | * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern. | |
18122 | (addqi3_cc): Ditto. | |
18123 | (UNSPEC_ADD_CARRY): Remove. | |
18124 | (addqi3_cconly_overflow): New expander. | |
18125 | (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow. | |
18126 | Adjust for changed add<mode>3_carry. | |
18127 | (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry. | |
18128 | (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry. | |
18129 | (<plusminus_insn><mode>3_carry): Remove expander. | |
18130 | (*<plusminus_insn><mode>3_carry): Split insn pattern to | |
18131 | add<mode>3_carry and sub<mode>3_carry. | |
18132 | (plusminus_carry_mnemonic): Remove code attribute. | |
18133 | (add<mode>3_carry): Canonicalize insn pattern. | |
18134 | (*addsi3_carry_zext): Ditto. | |
18135 | (sub<mode>3_carry): Ditto. | |
18136 | (*subsi3_carry_zext): Ditto. | |
18137 | (adcx<mode>3): Remove insn pattern. | |
18138 | (addcarry<mode>): New insn pattern. | |
18139 | (subborrow<mode>): Ditto. | |
18140 | * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use | |
18141 | gen_addqi3_cconly_overflow instead of gen_addqi3_cc. | |
18142 | (ix86_expand_builtin) <case IX86_BUILTIN_SBB32, | |
18143 | case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32, | |
18144 | case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi, | |
18145 | CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi. | |
18146 | Rewrite expander to not clobber carry flag chains. | |
18147 | ||
18148 | 2015-08-27 Pat Haugen <pthaugen@us.ibm.com> | |
18149 | ||
18150 | * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift | |
18151 | instead of a rotate. | |
18152 | ||
18153 | 2015-08-27 Marek Polacek <polacek@redhat.com> | |
18154 | ||
18155 | PR middle-end/67005 | |
18156 | * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing | |
18157 | an entry into an irreducible region. | |
18158 | ||
18159 | 2015-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
18160 | ||
18161 | * configure: Regenerate. | |
18162 | ||
18163 | 2015-08-27 Alan Lawrence <alan.lawrence@arm.com> | |
18164 | ||
18165 | PR tree-optimization/67283 | |
18166 | * tree-sra.c (type_consists_of_records_p): Rename to... | |
18167 | (scalarizable_type_p): ...this, add case for ARRAY_TYPE. | |
18168 | ||
18169 | (completely_scalarize_record): Rename to... | |
18170 | (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to: | |
18171 | (scalarize_elem): New. | |
18172 | ||
18173 | 2015-08-27 Alan Lawrence <alan.lawrence@arm.com> | |
18174 | ||
18175 | * tree-sra.c (completely_scalarize_var): Rename to... | |
18176 | (create_total_scalarization_access): ... Here. Drop call to | |
18177 | completely_scalarize_record. | |
18178 | ||
18179 | (analyze_all_variable_accesses): Replace completely_scalarize_var | |
18180 | with create_total_scalarization_access and completely_scalarize_record. | |
18181 | ||
18182 | 2015-08-27 Alan Modra <amodra@gmail.com> | |
18183 | ||
18184 | PR target/67356 | |
18185 | * config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0" | |
18186 | for operand 1. | |
18187 | ||
18188 | 2015-08-27 Richard Biener <rguenther@suse.de> | |
18189 | ||
18190 | * passes.c (rest_of_decl_compilation): Guard early_global_decl | |
18191 | call with !seen_error (). | |
18192 | * cgraphunit.c (symbol_table::finalize_compilation_unit): Move | |
18193 | early debug generation and finish... | |
18194 | (symbol_table::compile): ... here to put it after a !seen_error () | |
18195 | guard. | |
18196 | ||
18197 | 2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
18198 | ||
18199 | * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on | |
18200 | Solaris 12+. | |
18201 | ||
18202 | 2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
18203 | Andre Vieira <andre.simoesdiasvieira@arm.com> | |
18204 | ||
18205 | * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB. | |
18206 | (*cb<optab><mode>1): Likewise. | |
18207 | (*tb<optab><mode>1): Likewise. | |
18208 | (*cb<optab><mode>1): Likewise. | |
18209 | * config/aarch64/iterators.md (inv_cb): New code attribute. | |
18210 | (inv_tb): Likewise. | |
18211 | * config/aarch64/aarch64.c (aarch64_gen_far_branch): New. | |
18212 | * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New. | |
18213 | ||
18214 | 2015-08-27 Richard Biener <rguenther@suse.de> | |
18215 | ||
18216 | * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P. | |
18217 | ||
18218 | 2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
18219 | ||
18220 | * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after | |
18221 | trap to fix ICE. | |
18222 | ||
18223 | 2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com> | |
18224 | ||
18225 | * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert): | |
18226 | Add declaration. | |
18227 | ||
18228 | * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a | |
18229 | comment. | |
18230 | (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit | |
18231 | floating point in VSX registers. | |
18232 | (rs6000_output_move_128bit): Always print out the set insn if we | |
18233 | can't generate an appropriate 128-bit move. | |
18234 | (rs6000_generate_compare): Add support for IEEE 128-bit floating | |
18235 | point in VSX registers comparisons. | |
18236 | (rs6000_expand_float128_convert): Likewise. | |
18237 | ||
18238 | * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New | |
18239 | predicate for only GPR hard registers. | |
18240 | ||
18241 | * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point | |
18242 | modes to iterators. Add new iterators for moving 128-bit values in | |
18243 | scalar FPR registers and VSX registers. | |
18244 | (FMOVE128): Likewise. | |
18245 | (FMOVE128_FPR): Likewise. | |
18246 | (FMOVE128_GPR): Likewise. | |
18247 | (FMOVE128_VSX): Likewise. | |
18248 | (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point | |
18249 | in VSX registers. | |
18250 | (IFKF): Likewise. | |
18251 | (IBM128): Likewise. | |
18252 | (TFIFKF): Likewise. | |
18253 | (RELOAD): Add IEEE 128-bit floating point modes. | |
18254 | (signbittf2): Convert TF insns to add support for new IEEE 128-bit | |
18255 | floating point in VSX registers modes. | |
18256 | (signbit<mode>2, IBM128 iterator): Likewise. | |
18257 | (mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise. | |
18258 | (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise. | |
18259 | (negtf2): Likewise. | |
18260 | (neg<mode>2, TFIFKF iterator): Likewise. | |
18261 | (negtf2_internal): Likewise. | |
18262 | (abstf2): Likewise. | |
18263 | (abs<mode>2, TFIFKF iterator): Likewise. | |
18264 | (ieee_128bit_negative_zero): New IEEE 128-bit floating point in | |
18265 | VSX insn support for negate, absolute value, and negative absolute | |
18266 | value. | |
18267 | (ieee_128bit_vsx_neg<mode>2): Likewise. | |
18268 | (ieee_128bit_vsx_neg<mode>2_internal): Likewise. | |
18269 | (ieee_128bit_vsx_abs<mode>2): Likewise. | |
18270 | (ieee_128bit_vsx_abs<mode>2_internal): Likewise. | |
18271 | (ieee_128bit_vsx_nabs<mode>2): Likewise. | |
18272 | (ieee_128bit_vsx_nabs<mode>2_internal): Likewise. | |
18273 | (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit | |
18274 | floating point in VSX registers. | |
18275 | (unpack<mode>_dm): Likewise. | |
18276 | (unpack<mode>_nodm): Likewise. | |
18277 | (pack<mode>): Likewise. | |
18278 | (unpackv1ti): Likewise. | |
18279 | (unpack<mode>, FMOVE128_VSX iterator): Likewise. | |
18280 | (packv1ti): Likewise. | |
18281 | (pack<mode>, FMOVE128_VSX iterator): Likewise. | |
18282 | (extenddftf2): Add support for IEEE 128-bit floating point in VSX | |
18283 | registers. | |
18284 | (extenddftf2_internal): Likewise. | |
18285 | (trunctfdf2): Likewise. | |
18286 | (trunctfdf2_internal2): Likewise. | |
18287 | (fix_trunc_helper): Likewise. | |
18288 | (fix_trunctfdi2"): Likewise. | |
18289 | (floatditf2): Likewise. | |
18290 | (floatuns<mode>tf2): Likewise. | |
18291 | (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise. | |
18292 | (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise. | |
18293 | (fix_trunc<IFKF:mode><SDI:mode>2): Likewise. | |
18294 | (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise. | |
18295 | (float<SDI:mode><IFKF:mode>2): Likewise. | |
18296 | (floatuns<SDI:mode><IFKF:mode>2): Likewise. | |
18297 | ||
18298 | 2015-08-26 Renlin Li <renlin.li@arm.com> | |
18299 | ||
18300 | * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode><ALLX:mode>4): New. | |
18301 | ||
18302 | 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com> | |
18303 | Jiong Wang <jiong.wang@arm.com> | |
18304 | ||
18305 | * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC. | |
18306 | (tlsie_tiny_<mode>): New define_insn. | |
18307 | (tlsie_tiny_sidi): Likewise. | |
18308 | * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define | |
18309 | SYMBOL_TINY_TLSIE. | |
18310 | (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE. | |
18311 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support | |
18312 | SYMBOL_TINY_TLSIE. | |
18313 | (aarch64_expand_mov_immediate): Likewise. | |
18314 | (aarch64_print_operand): Likewise. | |
18315 | (arch64_classify_tls_symbol): Likewise. | |
18316 | ||
18317 | 2015-08-26 Matthew Wahab <matthew.wahab@arm.com> | |
18318 | ||
18319 | * config/arm/arm-arches.def: Replace single value flags with | |
18320 | an initializer built from ARM_FSET_MAKE_CPU1. | |
18321 | * config/arm/arm-cores.def: Likewise. | |
18322 | * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1 | |
18323 | derivation from the ARM_CORE macro definition, use the given value | |
18324 | instead. | |
18325 | (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the | |
18326 | ARM_ARCH macro definition, use the given value instead. | |
18327 | ||
18328 | 2015-08-26 Matthew Wahab <matthew.wahab@arm.com> | |
18329 | ||
18330 | * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a | |
18331 | feature set. | |
18332 | (struct builtin_description): Replace field mask with field | |
18333 | features. | |
18334 | (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags. | |
18335 | (IWMMXT2_BUILTIN): Likewise. | |
18336 | (IWMMXT2_BUILTIN2): Likewise. | |
18337 | (FP_BUILTIN): Likewise. | |
18338 | (CRC32_BUILTIN): Likewise. | |
18339 | (CRYPTO_BUILTIN): Likewise. | |
18340 | (iwmmx_mbuiltin): Likewise. | |
18341 | (iwmmx2_mbuiltin): Likewise. | |
18342 | (arm_init_iwmmxt_builtins): Likewise. Also, update for change to | |
18343 | struct builtin_description. | |
18344 | ||
18345 | 2015-08-26 Matthew Wahab <matthew.wahab@arm.com> | |
18346 | ||
18347 | * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro. | |
18348 | (struct builtin_description): Change type of mask to unsigned | |
18349 | long. | |
18350 | * config/arm/arm-protos.h (insn_flags): Declare as type | |
18351 | arm_feature_set. | |
18352 | (tune_flags): Likewise. | |
18353 | * config/arm/arm.c (feature_count): New. | |
18354 | (insn_flags): Define as type arm_feature_set. | |
18355 | (tune_flags): Likewise. | |
18356 | (struct processors): Define field flags as type arm_feature_set. | |
18357 | (all_cores): Update for change to struct processors. | |
18358 | (all_architectures): Likewise. | |
18359 | (arm_option_check_internal): Use arm_feature_set and ARM_FSET | |
18360 | macros. | |
18361 | (arm_option_override_internal): Likewise. | |
18362 | (arm_option_override): Likewise. | |
18363 | ||
18364 | 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com> | |
18365 | Jiong Wang <jiong.wang@arm.com> | |
18366 | ||
18367 | * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default | |
18368 | tls size for tiny, small, large memory model. | |
18369 | (aarch64_load_symref_appropriately): Support new symbol types. | |
18370 | (aarch64_expand_mov_immediate): Likewise. | |
18371 | (aarch64_print_operand): Likewise. | |
18372 | (aarch64_classify_tls_symbol): Likewise. | |
18373 | * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise. | |
18374 | (aarch64_symbol_type): Likewise. | |
18375 | * config/aarch64/aarch64.md (tlsle): Deleted. | |
18376 | (tlsle12_<mode>): New define_insn. | |
18377 | (tlsle24_<mode>): Likewise. | |
18378 | (tlsle32_<mode>): Likewise. | |
18379 | (tlsle48_<mode>): Likewise. | |
18380 | * doc/sourcebuild.texi (AArch64-specific attributes): Document | |
18381 | "aarch64_tlsle32". | |
18382 | ||
18383 | 2015-08-26 Matthew Wahab <matthew.wahab@arm.com> | |
18384 | ||
18385 | * config/arm/arm-protos.h (FL_NONE): New. | |
18386 | (FL_ANY): New. | |
18387 | (arm_feature_set): New. | |
18388 | (ARM_FSET_MAKE): New. | |
18389 | (ARM_FSET_MAKE_CPU1): New. | |
18390 | (ARM_FSET_MAKE_CPU2): New. | |
18391 | (ARM_FSET_CPU1): New. | |
18392 | (ARM_FSET_CPU2): New. | |
18393 | (ARM_FSET_EMPTY): New. | |
18394 | (ARM_FSET_ANY): New. | |
18395 | (ARM_FSET_HAS_CPU1): New. | |
18396 | (ARM_FSET_HAS_CPU2): New. | |
18397 | (ARM_FSET_HAS_CPU): New. | |
18398 | (ARM_FSET_ADD_CPU1): New. | |
18399 | (ARM_FSET_ADD_CPU2): New. | |
18400 | (ARM_FSET_DEL_CPU1): New. | |
18401 | (ARM_FSET_DEL_CPU2): New. | |
18402 | (ARM_FSET_UNION): New. | |
18403 | (ARM_FSET_INTER): New. | |
18404 | (ARM_FSET_XOR): New. | |
18405 | (ARM_FSET_EXCLUDE): New. | |
18406 | (AFM_FSET_IS_EMPTY): New. | |
18407 | (ARM_FSET_CPU_SUBSET): New. | |
18408 | ||
18409 | 2015-08-26 Jiong Wang <jiong.wang@arm.com> | |
18410 | ||
18411 | * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename | |
18412 | SYMBOL_TLSLE to SYMBOL_TLSLE24. | |
18413 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): | |
18414 | Likewise. | |
18415 | (aarch64_expand_mov_immediate): Likewise. | |
18416 | (aarch64_print_operand): Likewise. | |
18417 | (aarch64_classify_symbol): Likewise. | |
18418 | ||
18419 | 2015-08-26 Jiong Wang <jiong.wang@arm.com> | |
18420 | ||
18421 | * config/aarch64/aarch64.opt (mtls-size): New entry. | |
18422 | * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function. | |
18423 | (aarch64_override_options_internal): Call initialize_aarch64_tls_size. | |
18424 | * doc/invoke.texi (AArch64 Options): Document -mtls-size. | |
18425 | ||
18426 | 2015-08-26 Matthew Wahab <matthew.wahab@arm.com> | |
18427 | ||
18428 | * config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each | |
18429 | ARM_CORE entry. Fix some white-space. | |
18430 | * config/arm/arm.c: Remove FL_FOR_ARCH derivation from | |
18431 | ARM_CORE definition. | |
18432 | ||
18433 | 2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
18434 | ||
18435 | * fold-const.c (fold_binary_loc) : Move Optimize | |
18436 | root(x)*root(y) as root(x*y) to match.pd. | |
18437 | Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd. | |
18438 | Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd. | |
18439 | Move Optimize a/root(b/c) into a*root(c/b) to match.pd. | |
18440 | Move Optimize x/expN(y) into x*expN(-y) to match.pd. | |
18441 | * match.pd (mult (root:s @0) (root:s @1)): New simplifier. | |
18442 | (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier. | |
18443 | (mult (exps:s @0) (exps:s @1)) : New simplifier. | |
18444 | (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier. | |
18445 | (rdiv @0 (exps:s @1)) : New simplifier. | |
18446 | ||
18447 | 2015-08-25 Joseph Myers <joseph@codesourcery.com> | |
18448 | ||
18449 | * gcc.c (driver::finalize): Only assign to extra_specs if | |
18450 | [EXTRA_SPECS]. | |
18451 | ||
18452 | 2015-08-25 Marek Polacek <polacek@redhat.com> | |
18453 | ||
18454 | PR middle-end/67330 | |
18455 | * varasm.c (declare_weak): Return after giving an error. | |
18456 | ||
18457 | 2015-08-25 David Malcolm <dmalcolm@redhat.com> | |
18458 | ||
18459 | * gcc-main.c (main): Add params to driver ctor. | |
18460 | * gcc.c (class env_manager): New. | |
18461 | (env): New global. | |
18462 | (env_manager::init): New. | |
18463 | (env_manager::get): New. | |
18464 | (env_manager::xput): New. | |
18465 | (env_manager::restore): New. | |
18466 | Poison getenv and putenv. | |
18467 | (DEFAULT_TARGET_SYSTEM_ROOT): New. | |
18468 | (target_system_root): Update initialization to use | |
18469 | DEFAULT_TARGET_SYSTEM_ROOT. | |
18470 | (struct spec_list): Add field "default_ptr". | |
18471 | (INIT_STATIC_SPEC): Initialize new field "default_ptr". | |
18472 | (init_spec): Likewise. | |
18473 | (set_spec): Clear field "default_ptr". | |
18474 | (read_specs): Free "spec" and "buffer". | |
18475 | (xputenv): Reimplement in terms of env_manager. | |
18476 | (process_command): Replace ::getenv calls with calls to the | |
18477 | env_manager singleton. | |
18478 | (process_brace_body): Free string in three places. | |
18479 | (driver::driver): New. | |
18480 | (driver::~driver): New. | |
18481 | (used_arg): Convert from a function to... | |
18482 | (class used_arg_t): ...this class, and... | |
18483 | (used_arg): ...this new global instance. | |
18484 | (used_arg_t::finalize): New function. | |
18485 | (getenv_spec_function): Add "const" to local "value". Replace | |
18486 | ::getenv call with call to the env_manager singleton. | |
18487 | (path_prefix_reset): New function. | |
18488 | (driver::finalize): New function. | |
18489 | * gcc.h (driver::driver): New. | |
18490 | (driver::~driver): New. | |
18491 | (driver::finalize): New. | |
18492 | ||
18493 | 2015-08-25 Nathan Sidwell <nathan@acm.org> | |
18494 | ||
18495 | * optabs.c (emit_indirect_jump): Don't try an emit a jump if the | |
18496 | target doesn't have one. | |
18497 | ||
18498 | 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org> | |
18499 | ||
18500 | PR target/67346 | |
18501 | * config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch. | |
18502 | ||
18503 | 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org> | |
18504 | ||
18505 | PR target/67344 | |
18506 | * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to | |
18507 | a define_insn, remove second alternative. | |
18508 | ||
18509 | 2015-08-25 Thomas Schwinge <thomas@codesourcery.com> | |
18510 | Joseph Myers <joseph@codesourcery.com> | |
18511 | ||
18512 | * gcc.c (struct switchstr): Expand comment. | |
18513 | ||
18514 | 2015-08-25 Nathan Sidwell <nathan@acm.org> | |
18515 | ||
18516 | * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat. | |
18517 | (nvptx_reorg_subreg): Pass insn pattern to asm_operands. | |
18518 | ||
18519 | 2015-08-25 Richard Biener <rguenther@suse.de> | |
18520 | ||
18521 | PR middle-end/67306 | |
18522 | * genmatch.c (expr::gen_transform): Verify the result of | |
18523 | builtin_decl_implicit. | |
18524 | (dt_simplify::gen_1): Likewise. | |
18525 | ||
18526 | 2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
18527 | ||
18528 | * config/arm/constraints.md: Also list Cs and US ARM-specific | |
18529 | constraints as used. | |
18530 | ||
18531 | 2015-08-24 Kaz Kojima <kkojima@gcc.gnu.org> | |
18532 | ||
18533 | PR target/66609 | |
18534 | * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle | |
18535 | UNSPEC_PCREL. | |
18536 | (nonpic_symbol_mentioned_p): Likewise. | |
18537 | (sh_delegitimize_address): Likewise. | |
18538 | (sh_function_ok_for_sibcall): Take into account weak symbols. | |
18539 | (sh_expand_sym_label2reg): New. | |
18540 | * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare. | |
18541 | * config/sh/sh.md (UNSPEC_PCREL): New enum. | |
18542 | (call_pcrel): Use sh_expand_sym_label2reg. | |
18543 | (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. | |
18544 | (symPCREL_label2reg) New expand. | |
18545 | ||
18546 | 2015-08-24 Aditya Kumar <aditya.k7@samsung.com> | |
18547 | ||
18548 | * graphite-poly.c: Change type of region from void* to sese. | |
18549 | * graphite-poly.h (struct scop): Changing the type of scop::region | |
18550 | from void* to sese. Change accessor macro accordingly. | |
18551 | * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro. | |
18552 | ||
18553 | 2015-08-24 Aditya Kumar <aditya.k7@samsung.com> | |
18554 | ||
18555 | * graphite-scop-detection.c (stmt_simple_for_scop_p): | |
18556 | Constrain only on INTEGER_TYPE. | |
18557 | ||
18558 | 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> | |
18559 | ||
18560 | PR target/67211 | |
18561 | * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set | |
18562 | -mefficient-unaligned-vsx on ISA 2.7. | |
18563 | ||
18564 | * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert | |
18565 | option to a masked option. | |
18566 | ||
18567 | * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework | |
18568 | logic for -mefficient-unaligned-vsx so that it is set via an arch | |
18569 | ISA option, instead of being set if -mtune=power8 is set. Move | |
18570 | -mefficient-unaligned-vsx and -mallow-movmisalign handling to be | |
18571 | near other default option handling. | |
18572 | ||
18573 | 2015-08-24 Richard Sandiford <richard.sandiford@arm.com> | |
18574 | ||
18575 | * genflags.c (gen_macro): Delete. | |
18576 | (gen_proto): Don't create GEN.*CALL.* macros. | |
18577 | * gensupport.h (get_file_location): Declare. | |
18578 | * gensupport.c (rtx_locs): New variable. | |
18579 | (read_md_rtx): Record rtx locations. | |
18580 | (get_file_location): New function. | |
18581 | * target-insns.def (call, call_pop, call_value, call_value_pop) | |
18582 | (sibcall, sibcall_value): New patterns. | |
18583 | * gentarget-def.c (parse_argument): New function. | |
18584 | (def_target_insn): Use it. Handle optional operands. Raise an | |
18585 | error if an .md pattern has the wrong number of operands for the | |
18586 | pattern name. Remove the names of unused operands from the prototype. | |
18587 | * builtins.c (expand_builtin_apply): Use targetm functions | |
18588 | instead of HAVE_call_value and GEN_CALL_VALUE. | |
18589 | * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop | |
18590 | and sibcall_value_pop. | |
18591 | * config/aarch64/aarch64.md (untyped_call): Use gen_call instead | |
18592 | of GEN_CALL. | |
18593 | * config/alpha/alpha.md (untyped_call): Likewise. | |
18594 | * config/iq2000/iq2000.md (untyped_call): Likewise. | |
18595 | * config/m68k/m68k.md (untyped_call): Likewise. | |
18596 | * config/mips/mips.md (untyped_call): Likewise. | |
18597 | * config/pa/pa.md (untyped_call): Likewise. | |
18598 | * config/rs6000/rs6000.md (untyped_call): Likewise. | |
18599 | * config/sparc/sparc.md (untyped_call): Likewise. | |
18600 | * config/tilegx/tilegx.md (untyped_call): Likewise. | |
18601 | * config/tilepro/tilepro.md (untyped_call): Likewise. | |
18602 | * config/visium/visium.md (untyped_call): Likewise. | |
18603 | * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use | |
18604 | gen_call_value instead of GEN_CALL_VALUE. | |
18605 | * config/arm/arm.md (untyped_call): Likewise. | |
18606 | * config/cr16/cr16.c (cr16_function_arg): Remove reference to | |
18607 | GEN_CALL. | |
18608 | ||
18609 | 2015-08-24 Richard Sandiford <richard.sandiford@arm.com> | |
18610 | ||
18611 | * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete. | |
18612 | (have_cbranchcc4): New variable. | |
18613 | (cc_in_cond, noce_emit_cmove, noce_get_alt_condition) | |
18614 | (noce_get_condition): Use it instead of HAVE_cbranchcc4. | |
18615 | (if_convert): Initialize have_cbranchcc4. | |
18616 | ||
18617 | 2015-08-24 Richard Sandiford <richard.sandiford@arm.com> | |
18618 | ||
18619 | * builtins.c (expand_cmpstrn): Rename to... | |
18620 | (expand_cmpstrn_or_cmpmem): ...this. | |
18621 | (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly. | |
18622 | (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem. | |
18623 | Remove mode argument. | |
18624 | (expand_builtin): Update accordingly. | |
18625 | ||
18626 | 2015-08-24 Richard Sandiford <richard.sandiford@arm.com> | |
18627 | ||
18628 | * builtins.c (expand_cmpstr, expand_cmpstrn): New functions. | |
18629 | (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove | |
18630 | references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si. | |
18631 | * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2. | |
18632 | Add predicates for operands 0 and 3. | |
18633 | * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length | |
18634 | operand. | |
18635 | * config/sh/sh.md (cmpstrnsi): Change the length predicate from | |
18636 | immediate_operand to nonmemory_operand. | |
18637 | ||
18638 | 2015-08-24 Richard Sandiford <richard.sandiford@arm.com> | |
18639 | ||
18640 | * df-scan.c (df_insn_info_init_fields): New function, split out | |
18641 | from... | |
18642 | (df_insn_create_insn_record): ...here. | |
18643 | (df_insn_info_free_fields): New function, split out from... | |
18644 | (df_insn_info_delete): ...here. | |
18645 | (df_insn_rescan): Use the new functions instead of freeing and | |
18646 | reallocating the df_insn_info. | |
18647 | ||
18648 | 2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
18649 | ||
18650 | * doc/install.texi (Binaries): Remove links no longer valid. | |
18651 | ||
18652 | 2015-08-24 Nathan Sidwell <nathan@codesourcery.com> | |
18653 | ||
18654 | * config/nvptx/mkoffload.c (process): Replace | |
18655 | GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver. | |
18656 | ||
18657 | 2015-08-24 H.J. Lu <hongjiu.lu@intel.com> | |
18658 | ||
18659 | PR target/67329 | |
18660 | * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9. | |
18661 | ||
18662 | 2015-08-24 Renlin Li <renlin.li@arm.com> | |
18663 | ||
18664 | * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare. | |
18665 | * config/arm/arm.c (arm_valid_symbolic_address_p): Define. | |
18666 | * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p. | |
18667 | * config/arm/constraints.md ("j"): Add check for high code. | |
18668 | ||
18669 | 2015-08-24 Tom de Vries <tom@codesourcery.com> | |
18670 | ||
18671 | PR tree-optimization/65468 | |
18672 | * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if | |
18673 | chunk_size is one. | |
18674 | ||
18675 | 2015-08-24 Nathan Sidwell <nathan@acm.org> | |
18676 | ||
18677 | * config/nvptx/nvptx.c (walk_args_for_param): Revert previous | |
18678 | change to nvptx_type_from_mode call. Use arg_promotion for both | |
18679 | split and non-split args. | |
18680 | ||
18681 | 2015-08-24 Richard Sandiford <richard.sandiford@arm.com> | |
18682 | ||
18683 | * target-insns.def (movstr): New pattern. | |
18684 | * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete. | |
18685 | (expand_movstr): Use targetm rather than HAVE_movstr/ | |
18686 | CODE_FOR_movstr. | |
18687 | ||
18688 | 2015-08-24 Richard Sandiford <richard.sandiford@arm.com> | |
18689 | ||
18690 | * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix | |
18691 | cast syntax. | |
18692 | ||
18693 | 2015-08-24 Andrew Pinski <apinski@cavium.com> | |
18694 | ||
18695 | * config/aarch64/aarch64-tuning-flags.def: Remove all index to | |
18696 | AARCH64_EXTRA_TUNING_OPTION. | |
18697 | * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): | |
18698 | New enum. | |
18699 | (aarch64_extra_tuning_flags): Base the shifted value on the index | |
18700 | instead of the argument to AARCH64_EXTRA_TUNING_OPTION. | |
18701 | * config/aarch64/aarch64.c: Remove the last argument to | |
18702 | AARCH64_EXTRA_TUNING_OPTION. | |
18703 | ||
18704 | 2015-08-23 Nathan Sidwell <nathan@acm.org> | |
18705 | ||
18706 | * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg | |
18707 | decls. | |
18708 | (nvptx_declare_function_name): Insert formatting tabs for | |
18709 | consistency. | |
18710 | ||
18711 | 2015-08-23 Tom de Vries <tom@codesourcery.com> | |
18712 | ||
18713 | * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to | |
18714 | parm_decl, rather than generating a dummy default def in cfun. | |
18715 | * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure | |
18716 | ssa_name from cfun and child_fn do not share a stmt as def stmt. | |
18717 | (move_stmt_op): Handle PARM_DECl. | |
18718 | (gather_ssa_name_hash_map_from): New function. | |
18719 | (move_sese_region_to_fn): Add default defs for function params, and add | |
18720 | them to vars_map. Release copied ssa names. | |
18721 | * tree-cfg.h (gather_ssa_name_hash_map_from): Declare. | |
18722 | ||
18723 | 2015-08-23 Tom de Vries <tom@codesourcery.com> | |
18724 | ||
18725 | * doc/sourcebuild.texi: Rename vect_no_int_max with | |
18726 | vect_no_int_min_max. Update description. | |
18727 | ||
18728 | 2015-08-22 Andrew Pinski <apinski@cavium.com> | |
18729 | ||
18730 | * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR. | |
18731 | * config/aarch64/aarch64-protos.h | |
18732 | (aarch64_fusion_pairs_index): New enum. | |
18733 | (aarch64_fusion_pairs): Base the shifted value on the index instead | |
18734 | Rewrite AARCH64_FUSE_ALL to be based on the end index. | |
18735 | of the argument to AARCH64_FUSION_PAIR. | |
18736 | * config/aarch64/aarch64.c: Remove the last argument to | |
18737 | AARCH64_FUSION_PAIR. | |
18738 | ||
dfb6d139 | 18739 | 2015-08-22 Mikhail Maltsev <maltsevm@gmail.com> |
fb2c1edd | 18740 | |
18741 | * dominance.c (new_zero_array): Define. | |
18742 | (dom_info): Redefine as class with proper encapsulation. | |
18743 | (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block): | |
18744 | Add new members. | |
18745 | (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory | |
18746 | allocations/deallocations. Pass function as parameter (instead of | |
18747 | using cfun). | |
18748 | (dom_info::get_idom): Define accessor method. | |
18749 | (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval, | |
18750 | link_roots, calc_idoms): Redefine as class members. Do not use cfun. | |
18751 | (calculate_dominance_info): Adjust to use dom_info class. | |
18752 | (verify_dominators): Likewise. | |
18753 | ||
18754 | 2015-08-21 Alexandre Oliva <aoliva@redhat.com> | |
18755 | ||
18756 | * print-rtl.c (print_rtx): Check the correct range for | |
18757 | flag_dump_unnumbered_links to behave as documented. | |
18758 | ||
18759 | PR rtl-optimization/67227 | |
18760 | PR rtl-optimization/64164 | |
18761 | * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better. | |
18762 | (nonoverlapping_memrefs_p): Test offsets and sizes when given | |
18763 | identical gimple_reg exprs. | |
18764 | ||
18765 | 2015-08-21 Nathan Sidwell <nathan@acm.org> | |
18766 | ||
18767 | * config/nvptx/nvptx.md (allocate_stack): Emit sorry during | |
18768 | expansion. | |
18769 | * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at | |
18770 | crtl->stack_alignment_needed to determine alignment. | |
18771 | (nvptx_get_drap_rtx): New. | |
18772 | (TARGET_GET_DRAP_RTX): Override. | |
18773 | * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set. | |
18774 | ||
18775 | 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
18776 | ||
18777 | * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*. | |
18778 | ||
18779 | 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
18780 | ||
18781 | * configure.ac: Remove uwin* cases. | |
18782 | * config.build: Remove cases for i370-*-opened*, i370-*-mvs*, | |
18783 | i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*, | |
18784 | i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*, | |
18785 | i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta. | |
18786 | * config.host: Remove cases for i370-*-opened*, i370-*-mvs*, | |
18787 | i[34567]86-*-uwin*, powerpc-*-beos*. | |
18788 | ||
18789 | 2015-08-21 Richard Sandiford <richard.sandiford@arm.com> | |
18790 | ||
18791 | * gencodes.c (gencodes): Print the comma for the preceding | |
18792 | enum value rather than the current one. Use aliased enum values | |
18793 | rather than #defines for compiled-out patterns. | |
18794 | (main): Update accordingly. Replace LAST_INSN_CODE with | |
18795 | NUM_INSN_CODES. | |
18796 | * lra.c (insn_code_data): Update accordingly. | |
18797 | (finish_insn_code_data_once, get_static_insn_data): Likewise. | |
18798 | * recog.h (target_recog): Likewise. | |
18799 | (preprocess_insn_constraints): Change parameter to unsigned int. | |
18800 | * recog.c (preprocess_insn_constraints): Likewise. | |
18801 | (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES. | |
18802 | * tree-vect-stmts.c (vectorizable_operation): Simplify. | |
18803 | ||
18804 | 2015-08-21 Markus Trippelsdorf <markus@trippelsdorf.de> | |
18805 | ||
18806 | PR rtl-optimization/61657 | |
18807 | * loop-iv.c (iv_number_of_iterations): Declare up and down as | |
18808 | unsigned. Remove superflous uint64_t cast. | |
18809 | ||
18810 | 2014-08-21 Felix Yang <felix.yang@huawei.com> | |
18811 | Jiji Jiang <jiangjiji@huawei.com> | |
18812 | ||
18813 | * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL | |
18814 | argument and get builtin function code directly from CALL. | |
18815 | (gimple_stringop_fixed_value): Modified accordingly. | |
18816 | (gimple_stringops_transform, gimple_stringops_values_to_profile): | |
18817 | Modified accordingly and only accept BUILT_IN_NORMAL string operations. | |
18818 | ||
18819 | 2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
18820 | ||
18821 | * config/s390/s390-builtins.def: Fix value range of vec_load_bndry. | |
18822 | ||
18823 | 2015-08-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
18824 | ||
18825 | * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x | |
18826 | to match.pd. | |
18827 | Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd. | |
18828 | Move Optimize tan(x)*cos(x) as sin(x) to match.pd. | |
18829 | Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd. | |
18830 | Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd. | |
18831 | Move Optimize sin(x)/cos(x) as tan(x) to match.pd. | |
18832 | Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd. | |
18833 | Move Optimize sin(x)/tan(x) as cos(x) to match.pd. | |
18834 | Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd. | |
18835 | Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd. | |
18836 | Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd. | |
18837 | ||
18838 | * match.pd (SIN ) : New Operator. | |
18839 | (TAN) : New Operator. | |
18840 | (mult (SQRT@1 @0) @1) : New simplifier. | |
18841 | (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier. | |
18842 | (mult:c (TAN:s @0) (COS:s @0)) : New simplifier. | |
18843 | (mult:c (TAN:s @0) (COS:s @0)) : New simplifier. | |
18844 | (rdiv (SIN:s @0) (COS:s @0)) : New simplifier. | |
18845 | (rdiv (COS:s @0) (SIN:s @0)) : New simplifier. | |
18846 | (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier. | |
18847 | (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier. | |
18848 | (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier. | |
18849 | (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier. | |
18850 | (rdiv @0 (POW:s @1 @2)) : New simplifier. | |
18851 | ||
18852 | 2015-08-21 Bin Cheng <bin.cheng@arm.com> | |
18853 | ||
18854 | * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break | |
18855 | loop if EXPR is simplified to const value. | |
18856 | ||
18857 | 2015-08-21 Yury Gribov <y.gribov@samsung.com> | |
18858 | ||
18859 | * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, | |
18860 | BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types. | |
18861 | ||
18862 | 2015-08-21 Richard Biener <rguenther@suse.de> | |
18863 | ||
18864 | PR middle-end/67285 | |
18865 | * gimple-fold.c (replace_stmt_with_simplification): Assert | |
18866 | seq is empty when replacing a call with itself but different | |
18867 | arguments. | |
18868 | * gimple-match-head.c (maybe_push_res_to_seq): When pushing | |
18869 | a call require that it is const. | |
18870 | ||
18871 | 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
18872 | ||
18873 | * defaults.h (CONSTANT_ALIGNMENT): New macro definition. | |
18874 | * builtins.c (get_object_alignment_2): Adjust. | |
18875 | * varasm.c (align_variable): Likewise. | |
18876 | (get_variable_align): Likewise. | |
18877 | (build_constant_desc): Likewise. | |
18878 | (force_const_mem): Likewise. | |
18879 | * doc/tm.texi.in: Likewise. | |
18880 | * doc/tm.texi: Regenerate. | |
18881 | ||
18882 | 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
18883 | ||
18884 | * genconfig.c (main): Always define HAVE_cc0. | |
18885 | * recog.c (rest_of_handle_peephole2): Adjust. | |
18886 | ||
18887 | 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
18888 | ||
18889 | * reorg.c (relax_delay_slots): Don't use #if to check value of | |
18890 | HAVE_cc0. | |
18891 | ||
18892 | 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
18893 | ||
18894 | * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION. | |
18895 | * targhooks.c (default_have_conditional_execution): Adjust. | |
18896 | ||
18897 | 2015-08-20 Richard Sandiford <richard.sandiford@arm.com> | |
18898 | ||
18899 | * rtl.h (rtvec_all_equal_p): Declare. | |
18900 | (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions. | |
18901 | * rtl.c (rtvec_all_equal_p): New function. | |
18902 | * expmed.c (expand_mult): Use unwrap_const_vec_duplicate. | |
18903 | * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p) | |
18904 | (aarch64_simd_dup_constant): Use const_vec_duplicate_p. | |
18905 | * config/arm/arm.c (neon_vdup_constant): Likewise. | |
18906 | * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise. | |
18907 | * config/tilegx/constraints.md (W, Y): Likewise. | |
18908 | * config/tilepro/constraints.md (W, Y): Likewise. | |
18909 | * config/spu/spu.c (spu_legitimate_constant_p): Likewise. | |
18910 | (classify_immediate): Use unwrap_const_vec_duplicate. | |
18911 | * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise. | |
18912 | (reg_or_v2s8bit_operand): Likewise. | |
18913 | * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise. | |
18914 | (reg_or_v4s8bit_operand): Likewise. | |
18915 | ||
18916 | 2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
18917 | ||
18918 | * config/rs6000/altivec.h (vec_pmsum_be): New #define. | |
18919 | (vec_shasigma_be): New #define. | |
18920 | * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2. | |
18921 | (VPMSUMH): Likewise. | |
18922 | (VPMSUMW): Likewise. | |
18923 | (VPMSUMD): Likewise. | |
18924 | (VPMSUM): New BU_P8V_OVERLOAD_2. | |
18925 | * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New | |
18926 | entries for VEC_MADD and VEC_VPMSUM. | |
18927 | ||
18928 | 2015-08-20 Georg-Johann Lay <avr@gjlay.de> | |
18929 | ||
18930 | * config/avr/avr.c (avr_insert_attributes): In diagnostic essage: | |
18931 | Multiply argument avr_n_flash by 64 to match unit of "KiB". | |
18932 | (avr_pgm_check_var_decl): Same. | |
18933 | ||
18934 | 2015-08-20 Alan Lawrence <alan.lawrence@arm.com> | |
18935 | ||
18936 | * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move | |
18937 | initialization of HFmode scalar type (float16_t) to... | |
18938 | (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization | |
18939 | code. | |
18940 | ||
18941 | (arm_init_builtins): Call arm_init_fp16_builtins earlier and always. | |
18942 | ||
18943 | * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on | |
18944 | having an -mfp16-format. | |
18945 | ||
18946 | 2015-08-20 Richard Sandiford <richard.sandiford@arm.com> | |
18947 | ||
18948 | * config/i386/predicates.md (vector_all_ones_operand): Use | |
18949 | CONSTM1_RTX to simplify definition. | |
18950 | ||
18951 | 2015-08-20 Richard Biener <rguenther@suse.de> | |
18952 | ||
18953 | * toplev.c (compile_file): Remove loop calling late_global_decl | |
18954 | on all symbols. | |
18955 | * varpool.c (varpool_node::assemble_decl): Call late_global_decl | |
18956 | on decls we assembled. | |
18957 | ||
18958 | 2015-08-20 James Greenhalgh <james.greenhalgh@arm.com> | |
18959 | ||
18960 | * common/config/aarch64/aarch64-common.c | |
18961 | (AARCH64_CPU_NAME_LENGTH): Delete. | |
18962 | (aarch64_option_extension): New. | |
18963 | (all_extensions): Likewise. | |
18964 | (processor_name_to_arch): Likewise. | |
18965 | (arch_to_arch_name): Likewise. | |
18966 | (all_cores): New. | |
18967 | (all_architectures): Likewise. | |
18968 | (aarch64_get_extension_string_for_isa_flags): Likewise. | |
18969 | (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to | |
18970 | architecture names. | |
18971 | * config/aarch64/aarch64-protos.h | |
18972 | (aarch64_get_extension_string_for_isa_flags): New. | |
18973 | * config/aarch64/aarch64.c (aarch64_print_extension): Delete. | |
18974 | (aarch64_option_print): Get the string to print from | |
18975 | aarch64_get_extension_string_for_isa_flags. | |
18976 | (aarch64_declare_function_name): Likewise. | |
18977 | * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to... | |
18978 | (MCPU_TO_MARCH_SPEC): This. | |
18979 | (ASM_CPU_SPEC): Use it. | |
18980 | (BIG_LITTLE_SPEC_FUNCTIONS): Rename to... | |
18981 | (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This. | |
18982 | (EXTRA_SPEC_FUNCTIONS): Use it. | |
18983 | ||
18984 | 2015-08-20 Simon Dardis <simon.dardis@imgtec.com> | |
18985 | ||
18986 | * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy | |
18987 | expansion when !ISA_HAS_LWL_LWR. | |
18988 | (mips_block_move_straight): Update the size of elements copied to | |
18989 | account for alignment when !ISA_HAS_LWL_LWR. | |
18990 | * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro. | |
18991 | ||
18992 | 2015-08-19 Jiong Wang <jiong.wang@arm.com> | |
18993 | ||
18994 | * expr.c (expand_expr_real_2): Check gimple statement during | |
18995 | LSHIFT_EXPR expand. | |
18996 | ||
18997 | 2015-08-19 Magnus Granberg <zorry@gentoo.org> | |
18998 | ||
18999 | * common.opt (fstack-protector): Initialize to -1. | |
19000 | (fstack-protector-all): Likewise. | |
19001 | (fstack-protector-strong): Likewise. | |
19002 | (fstack-protector-explicit): Likewise. | |
19003 | * configure.ac: Add --enable-default-ssp. | |
19004 | * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong. | |
19005 | * opts.c (finish_options): Update opts->x_flag_stack_protect if it is | |
19006 | -1. | |
19007 | * doc/install.texi: Document --enable-default-ssp. | |
19008 | * config.in: Regenerated. | |
19009 | * configure: Likewise. | |
19010 | ||
19011 | 2015-08-19 Alexandre Oliva <aoliva@redhat.com> | |
19012 | ||
19013 | PR rtl-optimization/64164 | |
19014 | * cfgexpand.c (parm_maybe_byref_p): Renamed to... | |
19015 | (parm_in_stack_slot_p): ... this. Disregard mode, what | |
19016 | matters is whether the parm will live in a pseudo or a stack | |
19017 | slot. | |
19018 | (expand_one_ssa_partition): Deal with params without a default | |
19019 | def. Disregard mode. | |
19020 | * cfgexpand.h: Renamed function declaration. | |
19021 | * tree-ssa-coalesce.c: Adjust. | |
19022 | * function.c (split_complex_args): Allocate stack slot for | |
19023 | unassigned parms before splitting. | |
19024 | (parm_in_unassigned_mem_p): New. Use it instead of | |
19025 | parm_maybe_byref_p throughout this file. | |
19026 | (assign_parm_setup_block): Use it. Accept pseudos in the | |
19027 | expand-assigned rtl. | |
19028 | (assign_parm_setup_reg): Drop BLKmode requirement. | |
19029 | (assign_parm_setup_stack): Allocate and fill in the address of | |
19030 | unassigned MEM parms. | |
19031 | ||
19032 | 2015-08-19 David Sherwood <david.sherwood@arm.com> | |
19033 | ||
19034 | * genmodes.c (emit_mode_unit_size_inline): New function. | |
19035 | (emit_mode_unit_precision_inline): New function. | |
19036 | (emit_insn_modes_h): Emit new #define. Emit new functions. | |
19037 | (emit_mode_unit_size): New function. | |
19038 | (emit_mode_unit_precision): New function. | |
19039 | (emit_mode_adjustments): Add mode_unit_size adjustments. | |
19040 | (emit_insn_modes_c): Emit new arrays. | |
19041 | * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to | |
19042 | use new inline methods. | |
19043 | ||
19044 | 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
19045 | ||
19046 | * config/aarch64/aarch64.c (bit_count): Delete prototype | |
19047 | and definition. | |
19048 | (aarch64_print_operand): Use popcount_hwi instead of the above. | |
19049 | ||
19050 | 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
19051 | ||
19052 | * config/aarch64/aarch64-option-extensions.def: Delete obsolete | |
19053 | comment. | |
19054 | ||
19055 | 2015-08-19 Marek Polacek <polacek@redhat.com> | |
19056 | ||
19057 | PR middle-end/67133 | |
19058 | * gimple-ssa-isolate-paths.c | |
19059 | (insert_trap_and_remove_trailing_statements): Rename to ... | |
19060 | (insert_trap): ... this. Don't remove trailing statements; split | |
19061 | block instead. | |
19062 | (find_explicit_erroneous_behaviour): Don't remove all outgoing edges. | |
19063 | ||
19064 | 2015-08-19 Mikael Morin <mikael@gcc.gnu.org> | |
19065 | ||
19066 | PR other/67042 | |
19067 | * hwint.h (sext_hwi): Switch to unsigned for the left shift, and | |
19068 | conditionalize the whole on __GNUC__. Add fallback code | |
19069 | depending neither on undefined nor implementation-defined behaviour. | |
19070 | ||
19071 | 2015-08-19 Jiong Wang <jiong.wang@arm.com> | |
19072 | ||
19073 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace | |
19074 | whitespaces with tab. | |
19075 | ||
19076 | 2015-08-19 Florian Weimer <fweimer@redhat.com> | |
19077 | ||
19078 | * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context): | |
19079 | Move Name_Id_Set instantiation to the Prj package, to avoid trampolines. | |
19080 | * prj-proc.adb (Process.Process_Expression_Variable_Decl): | |
19081 | Move Name_Ids instantiation to the Prj.Proc package, to avoid | |
19082 | trampolines. | |
19083 | ||
19084 | 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
19085 | ||
19086 | * config/arm/arm.c (bounds_check): Use %wd print format | |
19087 | for HOST_WIDE_INT arguments. | |
19088 | ||
19089 | 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> | |
19090 | ||
19091 | * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c, | |
19092 | dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h, | |
19093 | mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c, | |
19094 | signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c, | |
19095 | tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c, | |
19096 | tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c, | |
19097 | tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c, | |
19098 | tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c, | |
19099 | tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless | |
19100 | typedefs. | |
19101 | ||
19102 | 2015-08-18 trevor Saunders <tbsaunde@tbsaunde.org> | |
19103 | ||
19104 | * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c, | |
19105 | function.c, graphite-scop-detection.c, haifa-sched.c, | |
19106 | ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c, | |
19107 | tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c, | |
19108 | varasm.c: Remove typedefs of structs. | |
19109 | ||
19110 | 2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com> | |
19111 | ||
19112 | * config/rs6000/altivec.h (vec_adde): New define. | |
19113 | (vec_addec): Likewise. | |
19114 | (vec_double): Likewise. | |
19115 | (vec_bperm): Likewise. | |
19116 | (vec_gb): Likewise. | |
19117 | * config/rs6000/rs6000-builtin.def (ADDE): New | |
19118 | BU_ALTIVEC_OVERLOAD_3. | |
19119 | (ADDEC): Likewise. | |
19120 | (DOUBLE): New BU_VSX_OVERLOAD_1. | |
19121 | * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new | |
19122 | entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE, | |
19123 | ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC, | |
19124 | VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH, | |
19125 | ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR, | |
19126 | ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR, | |
19127 | ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL, | |
19128 | P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC, | |
19129 | and P8V_BUILTIN_VEC_VBPERMQ. | |
19130 | ||
19131 | 2015-08-18 Jason Merrill <jason@redhat.com> | |
19132 | ||
19133 | * print-tree.c (print_node): Handle TREE_BINFO. | |
19134 | ||
19135 | 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
19136 | ||
19137 | PR middle-end/36757 | |
19138 | * builtins.c (expand_builtin_signbit): Add asserts to make sure | |
19139 | we can expand BUILT_IN_SIGNBIT inline. | |
19140 | * builtins.def (BUILT_IN_SIGNBIT): Make type-generic. | |
19141 | * doc/extend.texi: Document the type-generic __builtin_signbit. | |
19142 | ||
19143 | 2015-08-18 Richard Sandiford <richard.sandiford@arm.com> | |
19144 | ||
19145 | PR rtl-optimization/67218 | |
19146 | * simplify-rtx.c (exact_int_to_float_conversion_p): New function. | |
19147 | (simplify_unary_operation_1): Use it. | |
19148 | ||
19149 | 2015-08-18 Marek Polacek <polacek@redhat.com> | |
19150 | ||
19151 | PR middle-end/67222 | |
19152 | * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN | |
19153 | if the call isn't valid. | |
19154 | * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using | |
19155 | gimple_call_builtin_p. | |
19156 | (call_may_clobber_ref_p_1): Likewise. | |
19157 | (stmt_kills_ref_p): Likewise. | |
19158 | ||
19159 | 2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com> | |
19160 | ||
19161 | * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype. | |
19162 | * config/mips/mips.c (mips_hard_regno_rename_ok): New function. | |
19163 | (mips_hard_regno_scratch_ok): Likewise. | |
19164 | (TARGET_HARD_REGNO_SCRATCH_OK): Define macro. | |
19165 | * config/mips/mips.h (HARD_REGNO_RENAME_OK): New. | |
19166 | ||
19167 | 2015-08-18 Bin Cheng <bin.cheng@arm.com> | |
19168 | ||
19169 | * tree-ssa-loop-niter.c (refine_value_range_using_guard): New. | |
19170 | (determine_value_range): Call refine_value_range_using_guard for | |
19171 | each loop initial condition to improve value range. | |
19172 | ||
19173 | 2015-08-17 Aldy Hernandez <aldyh@redhat.com> | |
19174 | ||
19175 | * config/i386/i386.c: Remove include of fibheap.h. | |
19176 | ||
19177 | 2015-08-17 Richard Biener <rguenther@suse.de> | |
19178 | ||
19179 | PR tree-optimization/67221 | |
19180 | * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP. | |
19181 | (sccvn_dom_walker::before_dom_children): Mark backedges of | |
19182 | non-executable blocks as not executable. | |
19183 | ||
19184 | 2015-08-17 David Sherwood <david.sherwood@arm.com> | |
19185 | ||
19186 | * config/arm/arm.c (neon_element_bits): Replace call to | |
19187 | GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m). | |
19188 | * config/arm/neon.md (neon_vget_lane<mode>): Likewise. | |
19189 | (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise | |
19190 | (neon_vdup_lane<mode>): Likewise. | |
19191 | * config/i386/i386.c (ix86_expand_int_vcond): Likewise. | |
19192 | (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise. | |
19193 | (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise. | |
19194 | * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise. | |
19195 | * config/spu/spu.c (arith_immediate_p): Likewise. | |
19196 | * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise. | |
19197 | * expr.c (expand_expr_real_2): Likewise. | |
19198 | * optabs.c (shift_amt_for_vec_perm_mask): Likewise. | |
19199 | * simplify-rtx.c (simplify_immed_subreg): Likewise. | |
19200 | * tree-cfg.c (verify_gimple_assign_ternary): Likewise. | |
19201 | * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise. | |
19202 | New variable. | |
19203 | * fold-const.c (fold_binary_loc): Replace call to | |
19204 | GET_MODE_PRECISION (GET_MODE_INNER (m)) with | |
19205 | GET_MODE_UNIT_PRECISION (m). | |
19206 | ||
19207 | 2015-08-17 Mike Stump <mikestump@comcast.net> | |
19208 | ||
19209 | * config/arm/arm.c (arm_block_move_unaligned_straight): | |
19210 | Emit normal move instead of unaligned load when source or destination | |
19211 | are appropriately aligned. | |
19212 | ||
19213 | 2015-08-17 Richard Biener <rguenther@suse.de> | |
19214 | Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
19215 | ||
19216 | PR middle-end/16107 | |
19217 | * match.pd (div (coss (op @0) : New simplifier. | |
19218 | ||
19219 | 2015-08-14 Alexandre Oliva <aoliva@redhat.com> | |
19220 | ||
19221 | PR rtl-optimization/64164 | |
19222 | PR bootstrap/66978 | |
19223 | PR middle-end/66983 | |
19224 | PR rtl-optimization/67000 | |
19225 | PR middle-end/67034 | |
19226 | PR middle-end/67035 | |
19227 | * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. | |
19228 | * tree-ssa-copyrename.c: Removed. | |
19229 | * opts.c (default_options_table): Drop -ftree-copyrename. Add | |
19230 | -ftree-coalesce-vars. | |
19231 | * passes.def: Drop all occurrences of pass_rename_ssa_copies. | |
19232 | * common.opt (ftree-copyrename): Ignore. | |
19233 | (ftree-coalesce-inlined-vars): Likewise. | |
19234 | * doc/invoke.texi: Remove the ignored options above. | |
19235 | * gimple-expr.h (gimple_can_coalesce_p): Move declaration | |
19236 | * tree-ssa-coalesce.h: ... here. | |
19237 | * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other | |
19238 | headers required by it. | |
19239 | * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing | |
19240 | across variables when flag_tree_coalesce_vars. Check register | |
19241 | use and promoted modes to allow coalescing. Do not coalesce | |
19242 | maybe-byref parms with SSA_NAMEs of other variables, or | |
19243 | anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c. | |
19244 | * tree-ssa-live.c (struct tree_int_map_hasher): Move along | |
19245 | with its member functions to tree-ssa-coalesce.c. | |
19246 | (var_map_base_init): Likewise. Renamed to | |
19247 | compute_samebase_partition_bases. | |
19248 | (partition_view_normal): Drop want_bases parameter. | |
19249 | (partition_view_bitmap): Likewise. | |
19250 | * tree-ssa-live.h: Adjust declarations. | |
19251 | * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h. | |
19252 | (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's | |
19253 | default defs at the entry point. | |
19254 | (dump_part_var_map): New. | |
19255 | (compute_optimized_partition_bases): New, called by... | |
19256 | (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead | |
19257 | of compute_samebase_partition_bases. Adjust. | |
19258 | * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. | |
19259 | * cfgexpand.c (leader_merge, parm_maybe_byref_p): New. | |
19260 | (ssa_default_def_partition): New. | |
19261 | (get_rtl_for_parm_ssa_default_def): New. | |
19262 | (align_local_variable, add_stack_var): Support anonymous SSA | |
19263 | names. | |
19264 | (defer_stack_allocation): Likewise. Declare earlier. | |
19265 | (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA | |
19266 | vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. | |
19267 | Do no record deferred-allocation marker in | |
19268 | SA.partition_to_pseudo. | |
19269 | (expand_stack_vars): Adjust check for the marker in it. | |
19270 | (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop | |
19271 | redundant MEM attr setting. | |
19272 | (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed | |
19273 | from... | |
19274 | (expand_one_stack_var): ... this. New wrapper to check and | |
19275 | skip already expanded SSA partitions. | |
19276 | (record_alignment_for_reg_var): New, factored out of... | |
19277 | (expand_one_var): ... this. | |
19278 | (expand_one_ssa_partition): New. | |
19279 | (adjust_one_expanded_partition_var): New. | |
19280 | (expand_one_register_var): Check and skip already expanded SSA | |
19281 | partitions. | |
19282 | (expand_used_vars): Don't create DECLs for anonymous SSA | |
19283 | names. Expand all SSA partitions, then adjust all SSA names. | |
19284 | (pass::execute): Replace the loops that set | |
19285 | SA.partition_to_pseudo from partition leaders and cleared | |
19286 | DECL_RTL for multi-location variables, and that which used to | |
19287 | rename vars and set attrs, with one that clears DECL_RTL and | |
19288 | checks that PARMs and RESULTs default_defs match DECL_RTL. | |
19289 | * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. | |
19290 | * emit-rtl.c: Include stor-layout.h. | |
19291 | (set_reg_attrs_for_parm): Handle NULL decl. | |
19292 | (set_reg_attrs_for_decl_rtl): Take mode from expression if | |
19293 | it's not a DECL. | |
19294 | * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME | |
19295 | rather than its possibly-NULL DECL. | |
19296 | * explow.c (promote_ssa_mode): New. | |
19297 | * explow.h (promote_ssa_mode): Declare. | |
19298 | * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. | |
19299 | (read_complex_part): Export. | |
19300 | * expr.h (read_complex_part): Declare. | |
19301 | * cfgexpand.h (parm_maybe_byref_p): Declare. | |
19302 | * function.c: Include cfgexpand.h. | |
19303 | (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. | |
19304 | (use_register_for_parm_decl): Wrapper for the above to | |
19305 | special-case the result_ptr. | |
19306 | (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. | |
19307 | (split_complex_args): Take assign_parm_data_all argument. | |
19308 | Pass it to rtl_for_parm. Set up rtl and context for split | |
19309 | args. Reset complex parm before fetching its default decl | |
19310 | rtl. | |
19311 | (assign_parms_unsplit_complex): Use the default-def complex | |
19312 | parm rtl if it matches the components. | |
19313 | (assign_parms_augmented_arg_list): Adjust. | |
19314 | (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with | |
19315 | multiple locations. Recognize split complex args. | |
19316 | (assign_parm_adjust_stack_rtl): Add all and parm arguments, | |
19317 | for rtl_for_parm. For SSA-assigned parms, zero stack_parm. | |
19318 | (assign_parm_setup_block): Prefer SSA-assigned location, and | |
19319 | fill in its address if the memory location of a maybe-byref | |
19320 | parm was not assigned by cfgexpand. | |
19321 | (assign_parm_setup_reg): Likewise. Adjust its mode as | |
19322 | needed. Use entry_parm for equiv if stack_parm is NULL. Make | |
19323 | sure passed_pointer parms don't need conversion. Copy address | |
19324 | or value as needed. | |
19325 | (assign_parm_setup_stack): Prefer SSA-assigned location. | |
19326 | (assign_parms): Maybe reset DECL_RTL of params. Adjust stack | |
19327 | rtl before testing for pointer bounds. Special-case result_ptr. | |
19328 | (expand_function_start): Maybe reset DECL_RTL of result. | |
19329 | Prefer SSA-assigned location for result and static chain. | |
19330 | Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain | |
19331 | to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>. | |
19332 | * tree-outof-ssa.c (insert_value_copy_on_edge): Handle | |
19333 | anonymous SSA names. Use promote_ssa_mode. | |
19334 | (get_temp_reg): Likewise. | |
19335 | (remove_ssa_form): Adjust. | |
19336 | * stor-layout.c (layout_decl): Don't set mem attributes of | |
19337 | non-MEMs. | |
19338 | * var-tracking.c (dataflow_set_clear_at_call): Take call_insn | |
19339 | and get its reg_usage for reg invalidation. | |
19340 | (compute_bb_dataflow): Pass it insn. | |
19341 | (emit_notes_in_bb): Likewise. | |
19342 | ||
19343 | 2015-08-14 Marek Polacek <polacek@redhat.com> | |
19344 | ||
19345 | * tree-core.h (tree_base): Fix typo. | |
19346 | ||
19347 | 2015-08-14 Marek Polacek <polacek@redhat.com> | |
19348 | ||
19349 | PR middle-end/67133 | |
19350 | * gimple.c (infer_nonnull_range_by_attribute): Check that the | |
19351 | nonnull argument position is not outside function arguments. | |
19352 | ||
19353 | 2015-08-14 Matthew Wahab <matthew.wahab@arm.com> | |
19354 | ||
19355 | PR target/67143 | |
19356 | * config/aarch64/atomics.md (atomic_<optab><mode>): Replace | |
19357 | 'lconst_atomic' with 'const_atomic'. | |
19358 | (atomic_fetch_<optab><mode>): Likewise. | |
19359 | (atomic_<optab>_fetch<mode>): Likewise. | |
19360 | * config/aarch64/iterators.md (lconst-atomic): Move below | |
19361 | 'const_atomic'. | |
19362 | (const_atomic): New. | |
19363 | ||
19364 | 2015-08-14 Thomas Schwinge <thomas@codesourcery.com> | |
19365 | Bernd Schmidt <bernds@codesourcery.com> | |
19366 | ||
19367 | * config/nvptx/nvptx.c (nvptx_option_override): Don't override | |
19368 | debug options. | |
19369 | * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define. | |
19370 | (DWARF2_DEBUGGING_INFO): Don't define. | |
19371 | * debug.h (dwarf2_lineno_debug_hooks): Declare. | |
19372 | * toplev.c (process_options): Add a case for it. | |
19373 | * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable. | |
19374 | (dwarf2out_init): Skip most initializations if | |
19375 | DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that | |
19376 | case. | |
19377 | * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if | |
19378 | DWARF2_LINENO_DEBUGGING_INFO. | |
19379 | * opts.c (set_debug_level): Likewise. | |
19380 | ||
19381 | 2015-08-14 James Greenhalgh <james.greenhalgh@arm.com> | |
19382 | ||
19383 | * config/arm/types.md (is_neon_type): Add missing types. | |
19384 | ||
19385 | 2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com> | |
19386 | ||
19387 | * config/i386/driver-i386.c (host_detect_local_cpu): Add support | |
19388 | for skylake. | |
19389 | * config/i386/i386.c (PTA_SKYLAKE): New macros. | |
19390 | (processor_alias_table): Add skylake description. | |
19391 | (enum processor_model): Add skylake processor. | |
19392 | (arch_names_table): Add skylake record. | |
19393 | * doc/invoke.texi: Add skylake item. | |
19394 | ||
19395 | 2015-08-13 Andrew MacLeod <amacleod@redhat.com> | |
19396 | ||
19397 | * ira-int.h: Include recog.h. | |
19398 | * ira-build.c: Don't include recog.h. | |
19399 | * ira-color.c: Likewise. | |
19400 | * ira-conflicts.c: Likewise. | |
19401 | * ira-costs.c: Likewise. | |
19402 | * ira-emit.c: Likewise. | |
19403 | * ira-lives.c: Likewise. | |
19404 | * ira.c: Likewise. | |
19405 | * sched-deps.c: Likewise. | |
19406 | * sel-sched.c: Likewise. | |
19407 | * target-globals.c: Likewise. | |
19408 | ||
19409 | 2015-08-13 Richard Sandiford <richard.sandiford@arm.com> | |
19410 | ||
19411 | PR bootstrap/55035 | |
19412 | * reload1.c (elimination_costs_in_insn): Make it obvious to the | |
19413 | compiler that the n_dups and n_operands loop bounds are invariant. | |
19414 | ||
19415 | 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
19416 | ||
19417 | * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate | |
19418 | expressions in A and B. | |
19419 | ||
19420 | 2015-08-13 Richard Biener <rguenther@suse.de> | |
19421 | ||
19422 | * tree.c (nonnull_arg_p): Move from ... | |
19423 | * tree-vrp.c (nonnull_arg_p): ... here. | |
19424 | * tree.h (nonnull_arg_p): Declare. | |
19425 | * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init | |
19426 | here, register ptr != 0 for nonnull_arg_p pointer arguments. | |
19427 | Properly initialize static chain and by-reference result pointer. | |
19428 | (run_scc_vn): Adjust. | |
19429 | ||
19430 | 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com> | |
19431 | ||
19432 | * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for | |
19433 | TUNE_I6400. | |
19434 | ||
19435 | 2015-08-13 Matthew Wahab <matthew.wahab@arm.com> | |
19436 | ||
19437 | * config/aarch64/aarch64-protos.h | |
19438 | (aarch64_gen_atomic_cas): Declare. | |
19439 | * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): | |
19440 | Choose appropriate instruction pattern for the target. | |
19441 | (aarch64_gen_atomic_cas): New. | |
19442 | * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New. | |
19443 | (atomic_compare_and_swap<mode>_1): Rename to | |
19444 | aarch64_compare_and_swap<mode>. Fix some indentation. | |
19445 | (aarch64_compare_and_swap<mode>_lse): New. | |
19446 | (aarch64_atomic_cas<mode>): New. | |
19447 | ||
19448 | 2015-08-13 Matthew Wahab <matthew.wahab@arm.com> | |
19449 | ||
19450 | * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New. | |
19451 | (TARGET_LSE): New. | |
19452 | ||
19453 | 2015-08-13 Richard Biener <rguenther@suse.de> | |
19454 | ||
19455 | PR tree-optimization/67191 | |
19456 | * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove | |
19457 | assert we value-numbered last stmts operand because it can validly | |
19458 | trigger for unreachable code. | |
19459 | ||
19460 | 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
19461 | ||
19462 | PR rtl-optimization/67103 | |
19463 | * ifcvt.c (noce_try_store_flag_constants): Move | |
19464 | x = (-(test != 0) & (b - a)) + a transformation to... | |
19465 | (noce_try_cmove): ... Here. Try it if normal conditional | |
19466 | move fails. | |
19467 | ||
19468 | 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com> | |
19469 | ||
19470 | * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64 | |
19471 | pseudo-processors. | |
19472 | * config/mips/mips.md (processor): Remove w32 and w64. | |
19473 | ||
19474 | 2015-08-13 Richard Biener <rguenther@suse.de> | |
19475 | ||
19476 | PR tree-optimization/66502 | |
19477 | PR tree-optimization/67167 | |
19478 | * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include | |
19479 | backedge arguments. | |
19480 | (vn_phi_lookup): Adjust. | |
19481 | (vn_phi_insert): Likewise. | |
19482 | (visit_phi): Prefer to value-number to another PHI node | |
19483 | over value-numbering to a PHI argument. | |
19484 | (init_scc_vn): Mark DFS back edges. | |
19485 | ||
19486 | 2015-08-13 Richard Biener <rguenther@suse.de> | |
19487 | ||
19488 | * gimple.h (gcall::code_): New constant static member. | |
19489 | (gcond::code_): Likewise. | |
19490 | * gimple.c (gcall::code_): Define. | |
19491 | (gcond::code_): Likewise. | |
19492 | (is_a_helper <const gcond *>): Add. | |
19493 | (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload | |
19494 | and forward to a new gcall overload with less checking and a | |
19495 | cheaper way to access the operand. | |
19496 | (gimple_call_lhs_ptr): Likewise. | |
19497 | (gimple_call_set_lhs): Likewise. | |
19498 | (gimple_call_internal_p): Likewise. | |
19499 | (gimple_call_with_bounds_p): Likewise. | |
19500 | (gimple_call_set_with_bounds): Likewise. | |
19501 | (gimple_call_internal_fn): Likewise. | |
19502 | (gimple_call_set_ctrl_altering): Likewise. | |
19503 | (gimple_call_ctrl_altering_p): Likewise. | |
19504 | (gimple_call_fntype): Likewise. | |
19505 | (gimple_call_fn): Likewise. | |
19506 | (gimple_call_fn_ptr): Likewise. | |
19507 | (gimple_call_set_fndecl): Likewise. | |
19508 | (gimple_call_fndecl): Likewise. | |
19509 | (gimple_call_chain): Likewise. | |
19510 | (gimple_call_num_args): Likewise. | |
19511 | (gimple_call_arg): Likewise. | |
19512 | (gimple_call_arg_ptr): Likewise. | |
19513 | (gimple_call_set_arg): Likewise. | |
19514 | (gimple_call_noreturn_p): Likewise. | |
19515 | (gimple_cond_code): Likewise. | |
19516 | (gimple_cond_lhs): Likewise. | |
19517 | (gimple_cond_rhs): Likewise. | |
19518 | (gimple_has_lhs): Reduce checking. | |
19519 | ||
19520 | 2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
19521 | ||
19522 | PR middle-end/25529 | |
19523 | * match.pd (div (mult @0 @1) @1) : New simplifier. | |
19524 | ||
19525 | 2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com> | |
19526 | ||
19527 | PR target/67071 | |
19528 | * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New | |
19529 | predicate to allow construction of vector constants using the | |
19530 | VSLDOI vector shift instruction. | |
19531 | ||
19532 | * config/rs6000/rs6000-protos.h (vspltis_shifted): Add | |
19533 | declaration. | |
19534 | ||
19535 | * config/rs6000/rs6000.c (vspltis_shifted): New function to return | |
19536 | the number of bytes to be shifted left and filled in with either | |
19537 | all zero or all one bits. | |
19538 | (gen_easy_altivec_constant): Call vsplitis_shifted if no other | |
19539 | methods exist. | |
19540 | (output_vec_const_move): On power8, generate XXLORC to generate | |
19541 | a vector constant with all 1's. Do a split if we need to use a | |
19542 | VSLDOI instruction. | |
19543 | ||
19544 | * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to | |
19545 | properly test for the MSB. | |
19546 | ||
19547 | * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for | |
19548 | vector constants that can be created with VSLDOI. | |
19549 | ||
19550 | 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org> | |
19551 | ||
19552 | revert: | |
19553 | * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c, | |
19554 | gimple-ssa-strength-reduction.c, graphite.c, init-regs.c, | |
19555 | ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c, | |
19556 | omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c, | |
19557 | tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c, | |
19558 | tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, | |
19559 | tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c, | |
19560 | tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c, | |
19561 | vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous | |
19562 | ||
19563 | 2015-08-12 Max Filippov <jcmvbkbc@gmail.com> | |
19564 | ||
19565 | * config/xtensa/constraints.md (define_constraint "Y"): New | |
19566 | constraint. | |
19567 | * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. | |
19568 | * config/xtensa/linux.h (ASM_SPEC): Likewise. | |
19569 | * config/xtensa/predicates.md (move_operand): Match constants | |
19570 | and symbols in the presence of TARGET_AUTO_LITPOOLS. | |
19571 | * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow | |
19572 | immediate references to TLS data. | |
19573 | (xtensa_emit_move_sequence): Don't force constants to memory in | |
19574 | the presence of TARGET_AUTO_LITPOOLS. | |
19575 | (print_operand): Add 'y' format, same as default, but capable of | |
19576 | printing SF mode constants as well. | |
19577 | * config/xtensa/xtensa.md (movsi_internal, movhi_internal) | |
19578 | (movsf_internal): Add movi pattern that loads literal. | |
19579 | (movsf, movdf): Don't force constants to memory in the presence | |
19580 | of TARGET_AUTO_LITPOOLS. | |
19581 | (movdf_internal): Add 'Y' constraint. | |
19582 | * config/xtensa/xtensa.opt (mauto-litpools): New option. | |
19583 | * doc/invoke.text (Xtensa options): Document -mauto-litpools. | |
19584 | ||
19585 | 2015-08-12 Matthew Wahab <matthew.wahab@arm.com> | |
19586 | ||
19587 | * config/arm/arm-fpus.def: Replace booleans with feature flags. | |
19588 | Update comment. | |
19589 | * config/arm/arm.c (ARM_FPU): Update macro. | |
19590 | * config/arm/arm.h (TARGET_NEON_FP16): Update feature test. | |
19591 | (TARGET_FP16): Likewise. | |
19592 | (TARGET_CRYPTO): Likewise. | |
19593 | (TARGET_NEON): Likewise. | |
19594 | (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add | |
19595 | field features. | |
19596 | ||
19597 | 2015-08-12 Tom de Vries <tom@codesourcery.com> | |
19598 | ||
19599 | PR other/67092 | |
19600 | PR other/67098 | |
19601 | * doc/install.texi: Remove --with_host_libstdcxx item. Update | |
19602 | --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items | |
19603 | accordingly. Mention default for --with-stage1-ldflags. | |
19604 | ||
19605 | 2015-08-12 Matthew Wahab <matthew.wahab@arm.com> | |
19606 | ||
19607 | * config/arm/arm.h (arm_fpu_feature_set): New. | |
19608 | (ARM_FPU_FSET_HAS): New. | |
19609 | (FPU_FL_NONE): New. | |
19610 | (FPU_FL_NEON): New. | |
19611 | (FPU_FL_FP16): New. | |
19612 | (FPU_FL_CRYPTO): New. | |
19613 | ||
19614 | 2015-08-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
19615 | ||
19616 | * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break | |
19617 | after -mcmodel=large -fPIC sorry. | |
19618 | ||
19619 | 2015-08-12 Richard Biener <rguenther@suse.de> | |
19620 | ||
19621 | * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize | |
19622 | comparison operand order and commutative ternary op operand order. | |
19623 | (sccvn_dom_walker::cond_stack): New state to track temporary | |
19624 | expressions. | |
19625 | (sccvn_dom_walker::after_dom_children): Remove tempoary expressions | |
19626 | no longer valid. | |
19627 | (sccvn_dom_walker::record_cond): Add a single temporary conditional | |
19628 | expression. | |
19629 | (sccvn_dom_walker::record_conds): Add a temporary conditional | |
19630 | expressions and all related expressions also true/false. | |
19631 | (sccvn_dom_walker::before_dom_children): Record temporary | |
19632 | expressions based on the controlling condition of a single | |
19633 | predecessor. When trying to simplify a conditional statement | |
19634 | lookup expressions we might have inserted earlier. | |
19635 | ||
19636 | 2015-08-12 Yvan Roux <yvan.roux@linaro.org> | |
19637 | ||
19638 | PR target/67127 | |
19639 | * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking | |
19640 | to ARM core registers. | |
19641 | ||
19642 | 2015-08-12 Nathan Sidwell <nathan@acm.org> | |
19643 | ||
19644 | * tree-vrp.c (simplify_min_or_max_using_ranges): New. | |
19645 | (simplify_stmt_using_ranges): Simplify MIN and MAX exprs. | |
19646 | ||
19647 | 2015-08-12 Simon Dardis <simon.dardis@imgtec.com> | |
19648 | ||
19649 | * config/mips/mips.c (mips_store_data_bypass_p): Bring code into | |
19650 | line with comments. | |
19651 | * config/mips/sb1.md: Update usage of mips_store_data_bypass_p. | |
19652 | ||
19653 | 2015-08-12 Richard Biener <rguenther@suse.de> | |
19654 | ||
19655 | * gimple.h (remove_pointer): New trait. | |
19656 | (GIMPLE_CHECK2): New inline template function. | |
19657 | (gassign::code_): New constant static member. | |
19658 | (is_a_helper<const gassign *>): Add. | |
19659 | (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload | |
19660 | and forward to a new gassign overload with less checking and a | |
19661 | cheaper way to access the operand. | |
19662 | (gimple_assign_lhs_ptr): Likewise. | |
19663 | (gimple_assign_set_lhs): Likewise. | |
19664 | (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1): | |
19665 | Likewise. | |
19666 | (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2): | |
19667 | Likewise. | |
19668 | (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3): | |
19669 | Likewise. | |
19670 | (gimple_assign_rhs_code): Likewise. | |
19671 | * gimple.c (gassign::code_): Define. | |
19672 | ||
19673 | 2015-08-12 Richard Biener <rguenther@suse.de> | |
19674 | ||
19675 | * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): | |
19676 | Eliminate edges marked as not executable by SCCVN. | |
19677 | * tree-ssa-sccvn.c: Include gimple-iterator.h. | |
19678 | (cond_dom_walker): Rename to sccvn_dom_walker. | |
19679 | (sccvn_dom_walker::before_dom_children): Value-number defs | |
19680 | of all stmts. | |
19681 | (run_scc_vn): Remove loop value-numbering all SSA names. | |
19682 | Drop not visited SSA names to varying. | |
19683 | ||
19684 | 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org> | |
19685 | ||
19686 | * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c, | |
19687 | gimple-ssa-strength-reduction.c, graphite.c, init-regs.c, | |
19688 | ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c, | |
19689 | omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c, | |
19690 | tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c, | |
19691 | tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, | |
19692 | tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c, | |
19693 | tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c, | |
19694 | vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous | |
19695 | ||
19696 | 2015-08-11 Uros Bizjak <ubizjak@gmail.com> | |
19697 | ||
19698 | PR target/66954 | |
19699 | * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL | |
19700 | to enum feature_priority and feature_list. | |
19701 | (fold_builtin_cpu): Add F_PCLMUL to enum processor_features | |
19702 | and isa_names_table. | |
19703 | ||
19704 | 2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com> | |
19705 | ||
19706 | * tree-vect-stmts.c (vectorizable_shift): Add missed test on | |
19707 | vect_induction_def. | |
19708 | ||
19709 | 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
19710 | ||
19711 | PR c/66098 | |
19712 | PR c/66711 | |
19713 | * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into | |
19714 | account when deciding what was the command-line status. | |
19715 | ||
19716 | 2015-08-11 Nathan Sidwell <nathan@acm.org> | |
19717 | ||
19718 | * tree-vrp.c (simplify_abs_using_ranges): Simplify. | |
19719 | ||
19720 | * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if | |
19721 | we're not the only contributor to target phi. | |
19722 | ||
19723 | 2015-08-11 Jiong Wang <jiong.wang@arm.com> | |
19724 | ||
19725 | * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after | |
19726 | FIXED_REG0. | |
19727 | ||
19728 | 2015-08-11 Tom de Vries <tom@codesourcery.com> | |
19729 | ||
19730 | * tree-cfg.c (move_sese_region_to_fn): Add todo comment. | |
19731 | ||
19732 | 2015-08-10 H.J. Lu <hongjiu.lu@intel.com> | |
19733 | ||
19734 | * config/i386/i386.c (processor_alias_table): Replace CPU_KNL | |
19735 | with CPU_SLM. | |
19736 | * config/i386/i386.md (cpu): Remove knl. | |
19737 | ||
19738 | 2015-08-10 Thomas Schwinge <thomas@codesourcery.com> | |
19739 | ||
19740 | PR libgomp/65742 | |
19741 | PR middle-end/66332 | |
19742 | * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit | |
19743 | open-coded sequence. | |
19744 | * omp-low.c (oacc_process_reduction_data): Remove handline of | |
19745 | GOMP_DEVICE_HOST_NONSHM. | |
19746 | ||
19747 | * lto-streamer-in.c (lto_input_mode_table): Adjust to | |
19748 | GET_MODE_INNER changes. | |
19749 | ||
19750 | 2015-08-10 Thomas Schwinge <thomas@codesourcery.com> | |
19751 | Ilya Verbin <ilya.verbin@intel.com> | |
19752 | ||
19753 | * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator. | |
19754 | ||
19755 | 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
19756 | ||
19757 | * doc/options.texi (EnabledBy): Document that the argument must be | |
19758 | a Common option. | |
19759 | * doc/invoke.texi (Wnull-dereference): Move after Wnonnull. | |
19760 | Not enabled by -Wall. | |
19761 | * optc-gen.awk: Give nicer error messages. Detect if the argument | |
19762 | of EnabledBy is not a Common option. | |
19763 | * common.opt (Wnull-dereference): Not enabled by -Wall. | |
19764 | * opt-functions.awk (lang_enabled_by): Nicer error messages. | |
19765 | ||
19766 | 2015-08-09 H.J. Lu <hongjiu.lu@intel.com> | |
19767 | ||
19768 | * config/i386/driver-i386.c (host_detect_local_cpu): Treat | |
19769 | model == 0x4f as Broadwell. | |
19770 | ||
19771 | 2015-08-08 Segher Boessenkool <segher@kernel.crashing.org> | |
19772 | ||
19773 | PR rtl-optimization/67028 | |
19774 | * combine.c (simplify_comparison): Fix comment. Rearrange code. | |
19775 | Add test to see if a const_int fits in the new mode. | |
19776 | ||
19777 | 2015-08-07 DJ Delorie <dj@redhat.com> | |
19778 | ||
19779 | * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts. | |
19780 | ||
19781 | 2015-08-07 H.J. Lu <hongjiu.lu@intel.com> | |
19782 | ||
19783 | PR rtl-optimization/67029 | |
19784 | * ira-color.c: Include "recog.h" before including "ira-int.h". | |
19785 | * target-globals.c: Likewise. | |
19786 | * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an | |
19787 | adds an alternative_mask argument and use it instead of | |
19788 | preferred_alternatives. | |
19789 | * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ... | |
19790 | * ira-int.h (ira_implicitly_set_insn_hard_regs): Here. | |
19791 | * sched-deps.c: Include "ira-int.h" after including "ira.h". | |
19792 | (sched_analyze_insn): Update call to | |
19793 | ira_implicitly_set_insn_hard_regs. | |
19794 | * sel-sched.c: Include "ira-int.h" after including "ira.h". | |
19795 | (implicit_clobber_conflict_p): Update call to | |
19796 | ira_implicitly_set_insn_hard_regs. | |
19797 | ||
19798 | 2015-08-06 Uros Bizjak <ubizjak@gmail.com> | |
19799 | ||
19800 | * Makefile.in (.INTERMEDIATE): Add gpl.pod. | |
19801 | ||
19802 | 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org> | |
19803 | ||
19804 | PR target/67002 | |
19805 | * config/sh/sh.c (sh_recog_treg_set_expr): Return false when | |
19806 | currently_expanding_to_rtl is set. | |
19807 | ||
19808 | 2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com> | |
19809 | ||
19810 | * configure.ac: Define LIBICONV_DEP with in-tree libiconv. | |
19811 | * configure: Regenerate. | |
19812 | ||
19813 | 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
19814 | Jiong Wang <jiong.wang@arm.com> | |
19815 | ||
19816 | * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern. | |
19817 | * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. | |
19818 | (REG_CLASS_NAMES): Likewise. | |
19819 | (REG_CLASS_CONTENTS): Likewise. | |
19820 | * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. | |
19821 | (aarch64_register_move_cost): Likewise. | |
19822 | (aarch64_load_symref_appropriately): Invoke the new added pattern if | |
19823 | possible. | |
19824 | * config/aarch64/constraints.md (Uc0): New constraint. | |
19825 | ||
19826 | 2015-08-06 Jiong Wang <jiong.wang@arm.com> | |
19827 | ||
19828 | * config/aarch64/constraints.md (Usf): Add the test of | |
19829 | aarch64_is_noplt_call_p. | |
19830 | ||
19831 | 2015-08-06 Jiong Wang <jiong.wang@arm.com> | |
19832 | ||
19833 | * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New | |
19834 | declaration. | |
19835 | * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function. | |
19836 | * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios. | |
19837 | (call_symbol): Likewise. | |
19838 | ||
19839 | 2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> | |
19840 | ||
19841 | * tree-vect-patterns.c (vect_recog_mult_pattern): New function | |
19842 | for vectorizing multiplication patterns. | |
19843 | * tree-vectorizer.h: Adjust the number of patterns. | |
19844 | ||
19845 | 2015-08-06 Uros Bizjak <ubizjak@gmail.com> | |
19846 | ||
19847 | * config/i386/sse.md (*vec_concatv2df): Declare added | |
19848 | alternatives as sselog type. | |
19849 | ||
19850 | 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
19851 | ||
19852 | * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for | |
19853 | all GPRs. | |
19854 | ||
19855 | 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
19856 | ||
19857 | * config/s390/s390.c (s390_expand_tbegin): Expand either | |
19858 | tbegin_1_z13 or tbegin_1 depending on VX flag. | |
19859 | * config/s390/s390.md ("tbegin_1_z13"): New expander. | |
19860 | ||
19861 | 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
19862 | ||
19863 | * config/s390/s390.opt: Clarify description for -mzvector | |
19864 | * doc/invoke.texi: Add documentation for -mhtm, -mvx, and | |
19865 | -mzvector. | |
19866 | ||
19867 | 2015-08-06 Richard Biener <rguenther@suse.de> | |
19868 | ||
19869 | * gimple.h (gimple_call_set_fn): Access op member directly. | |
19870 | (gimple_call_chain_ptr): Likewise. | |
19871 | (gimple_call_set_chain): Likewise. | |
19872 | (gimple_cond_lhs_ptr): Likewise. | |
19873 | (gimple_cond_set_lhs): Likewise. | |
19874 | (gimple_cond_rhs_ptr): Likewise. | |
19875 | (gimple_cond_set_rhs): Likewise. | |
19876 | (gimple_cond_true_label): Likewise. | |
19877 | (gimple_cond_set_true_label): Likewise. | |
19878 | (gimple_cond_set_false_label): Likewise. | |
19879 | (gimple_cond_false_label): Likewise. | |
19880 | (gimple_label_label): Likewise. | |
19881 | (gimple_label_set_label): Likewise. | |
19882 | (gimple_goto_set_dest): Likewise. | |
19883 | (gimple_asm_input_op): Likewise. | |
19884 | (gimple_asm_input_op_ptr): Likewise. | |
19885 | (gimple_asm_set_input_op): Likewise. | |
19886 | (gimple_asm_output_op): Likewise. | |
19887 | (gimple_asm_output_op_ptr): Likewise. | |
19888 | (gimple_asm_set_output_op): Likewise. | |
19889 | (gimple_asm_clobber_op): Likewise. | |
19890 | (gimple_asm_set_clobber_op): Likewise. | |
19891 | (gimple_asm_label_op): Likewise. | |
19892 | (gimple_asm_set_label_op): Likewise. | |
19893 | (gimple_switch_index): Likewise. | |
19894 | (gimple_switch_index_ptr): Likewise. | |
19895 | (gimple_return_retval_ptr): Likewise. | |
19896 | (gimple_return_retval): Likewise. | |
19897 | (gimple_return_set_retval): Likewise. | |
19898 | (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK. | |
19899 | (gimple_switch_label): Likewise. | |
19900 | (gimple_switch_set_label): Likewise. | |
19901 | ||
19902 | 2015-08-06 Richard Biener <rguenther@suse.de> | |
19903 | ||
19904 | * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify | |
19905 | bool comparison canonicalization and restrict to integers. | |
19906 | ||
19907 | 2015-08-05 Andrew MacLeod <amacleod@redhat.com> | |
19908 | ||
19909 | * coretypes.h (enum symbol_visibility): Relocate here. | |
19910 | * flag-types.h (enum symbol_visibility): Remove. | |
19911 | * tree-core.h (enum symbol_visibility): Remove. | |
19912 | ||
19913 | 2015-08-05 Lynn Boger <laboger@linux.vnet.ibm.com> | |
19914 | ||
19915 | PR target/66870 | |
19916 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Check | |
19917 | for no_split_stack function attribute along with | |
19918 | flag_split_stack. | |
19919 | (rs6000_expand_split_stack_prologue): Likewise. | |
19920 | ||
19921 | 2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
19922 | Jeff Law <law@redhat.com> | |
19923 | ||
19924 | PR c/16351 | |
19925 | * doc/invoke.texi (Wnull-dereference): New. | |
19926 | * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range. | |
19927 | * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): | |
19928 | Warn for potential NULL dereferences. | |
19929 | (find_explicit_erroneous_behaviour): Warn for NULL dereferences. | |
19930 | * ubsan.c (instrument_nonnull_arg): Call | |
19931 | infer_nonnull_range_by_attribute. | |
19932 | (instrument_nonnull_return): Likewise. | |
19933 | * common.opt (Wnull-dereference); New. | |
19934 | * gimple.c (infer_nonnull_range): Remove bool arguments. | |
19935 | (infer_nonnull_range_by_dereference): New. | |
19936 | (infer_nonnull_range_by_attribute): New. | |
19937 | * gimple.h: Update declarations. | |
19938 | ||
19939 | 2015-08-05 Richard Sandiford <richard.sandiford@arm.com> | |
19940 | ||
19941 | * gensupport.c (sequence_num): Replace with... | |
19942 | (insn_sequence_num, split_sequence_num, peephole2_sequence_num): | |
19943 | ...these new variables. | |
19944 | (init_rtx_reader_args_cb): Update accordingly. | |
19945 | (get_num_code_insns): Likewise. | |
19946 | (read_md_rtx): Rework to use a while loop and get_c_test. | |
19947 | Use the new counters. Remove redundant DEFINE_SUBST case. | |
19948 | * genoutput.c (gen_split): Delete. | |
19949 | (main): Don't call it. | |
19950 | ||
19951 | 2015-08-05 Richard Sandiford <richard.sandiford@arm.com> | |
19952 | ||
19953 | * gensupport.h (get_c_test): Declare. | |
19954 | * gensupport.c (get_c_test): New function. | |
19955 | * genconditions.c (main): Use it. | |
19956 | * genrecog.c (validate_pattern): Likewise. | |
19957 | (match_pattern_1): Likewise. Remove c_test argument. | |
19958 | (match_pattern): Update accordingly and remove c_test argument. | |
19959 | (main): Update accordingly. | |
19960 | ||
19961 | 2015-08-05 Richard Sandiford <richard.sandiford@arm.com> | |
19962 | ||
19963 | * gensupport.h (get_num_insn_codes): Declare. | |
19964 | * gensupport.c (get_num_insn_codes): New function. | |
19965 | * genattrtab.c (optimize_attrs): Rename max_insn_code to | |
19966 | num_insn_codes. | |
19967 | (main): Likewise. Use get_num_insn_codes. | |
19968 | * gencodes.c (main): Remove "last" and use get_num_insn_codes. | |
19969 | ||
19970 | 2015-08-05 Richard Sandiford <richard.sandiford@arm.com> | |
19971 | ||
19972 | PR middle-end/66311 | |
19973 | * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value | |
19974 | is zero- rather than sign-extended. | |
19975 | ||
19976 | 2015-08-05 Richard Sandiford <richard.sandiford@arm.com> | |
19977 | ||
19978 | * target-insns.def (can_extend): Delete. | |
19979 | ||
19980 | 2015-08-05 Richard Biener <rguenther@suse.de> | |
19981 | ||
19982 | PR tree-optimization/67121 | |
19983 | * tree-if-conv.c (combine_blocks): Clear range-info produced | |
19984 | by stmts no longer executed conditionally. | |
19985 | ||
19986 | 2015-08-05 Nick Clifton <nickc@redhat.com> | |
19987 | ||
19988 | * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization | |
19989 | to allow identical far pointers to remain. | |
19990 | ||
19991 | 2015-08-05 Richard Biener <rguenther@suse.de> | |
19992 | ||
19993 | PR middle-end/67120 | |
19994 | * match.pd: Compare address bases with == if they are decls | |
19995 | or SSA names, not operand_equal_p. Otherwise fail. | |
19996 | ||
19997 | 2015-08-05 Richard Biener <rguenther@suse.de> | |
19998 | ||
19999 | PR tree-optimization/67055 | |
20000 | * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle | |
20001 | NULL gimple_block. | |
20002 | ||
20003 | * g++.dg/torture/pr67055.C: New testcase. | |
20004 | ||
20005 | 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com> | |
20006 | ||
20007 | * config/i386/i386.md (define_attr "isa"): Addd avx512vl and | |
20008 | noavx512vl. | |
20009 | (define_attr "enabled"): Handle avx521vl and noavx512vl. | |
20010 | * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split | |
20011 | AVX-512 alternative out of SSE. | |
20012 | (define_insn "*vec_concatv2df"): Ditto. | |
20013 | ||
20014 | 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com> | |
20015 | ||
20016 | * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into | |
20017 | CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into | |
20018 | CODE_FOR_avx_ptestv4di. | |
20019 | * config/i386/sse.md (define_mode_iterator V_AVX): New. | |
20020 | (define_mode_attr sse4_1): Extend to other 128/256-bit modes. | |
20021 | (define_insn "avx_ptest256"): Merge this ... | |
20022 | (define_insn "sse4_1_ptest"): And this ... | |
20023 | (define_insn "<sse4_1>_ptest<mode>"): Into this. Use V_AVX iterator. | |
20024 | ||
20025 | 2015-08-05 Richard Biener <rguenther@suse.de> | |
20026 | ||
20027 | PR tree-optimization/67109 | |
20028 | * tree-vect-data-refs.c (vect_analyze_group_access_1): Check | |
20029 | against too big groups. Print whether this is a load or store | |
20030 | group. Rename from ... | |
20031 | (vect_analyze_group_access): ... this which is now a wrapper | |
20032 | dissolving an invalid group. | |
20033 | (vect_analyze_data_ref_accesses): Print whether this is a load | |
20034 | or store group. | |
20035 | ||
20036 | 2015-08-05 Richard Biener <rguenther@suse.de> | |
20037 | ||
20038 | PR middle-end/67107 | |
20039 | * match.pd: Guard const_binop result checking against NULL_TREE | |
20040 | result. | |
20041 | ||
20042 | 2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org> | |
20043 | ||
20044 | * cse.c (cse_insn): Restoring old behaviour for src_eqv | |
20045 | when dest and value in the REG_EQUAL are same and dest | |
20046 | is STRICT_LOW_PART. | |
20047 | ||
20048 | 2015-08-04 Anatoly Sokolov <aesok@post.ru> | |
20049 | ||
20050 | * config/moxie/moxie.h (PRINT_OPERAND, | |
20051 | PRINT_OPERAND_ADDRESS): Remove macros. | |
20052 | * config/moxie/moxie-protos.h (moxie_print_operand, | |
20053 | moxie_print_operand_address): Remove declaration. | |
20054 | * config/moxie/moxie.c (TARGET_PRINT_OPERAND, | |
20055 | TARGET_PRINT_OPERAND_ADDRESS): Define. | |
20056 | (moxie_print_operand, moxie_print_operand_address): Make static. | |
20057 | ||
20058 | 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
20059 | ||
20060 | PR target/66731 | |
20061 | * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL. | |
20062 | (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math. | |
20063 | ||
20064 | 2015-08-04 Richard Biener <rguenther@suse.de> | |
20065 | ||
20066 | * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in | |
20067 | generated code. | |
20068 | (dt_operand::gen_gimple_expr): Adjust. | |
20069 | ||
20070 | 2015-08-04 Richard Biener <rguenther@suse.de> | |
20071 | ||
20072 | * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize | |
20073 | bool compares on RHS. | |
20074 | * match.pd: Add X ==/!= !X is false/true pattern. | |
20075 | ||
20076 | 2015-08-04 Pawel Kupidura <pawel.kupidura@arm.com> | |
20077 | ||
20078 | * config/aarch64/aarch64.c: Change inner loop statement cost | |
20079 | to be consistent with other targets. | |
20080 | ||
20081 | 2015-08-04 Christophe Lyon <christophe.lyon@linaro.org> | |
20082 | ||
20083 | * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian | |
20084 | targets. | |
20085 | ||
20086 | 2015-08-04 Nathan Sidwell <nathan@codesourcery.com> | |
20087 | ||
20088 | * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete. | |
20089 | (machine_function): Remove pseudos field. | |
20090 | ||
20091 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20092 | ||
20093 | * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p): | |
20094 | Exit early and use target_option_current_node if processing current | |
20095 | pragma. | |
20096 | ||
20097 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20098 | ||
20099 | * doc/extend.texi (AArch64 Function Attributes): New node. | |
20100 | (AArch64 Pragmas): Likewise. | |
20101 | ||
20102 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20103 | ||
20104 | * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p): | |
20105 | Initialize simd builtins if TARGET_SIMD. | |
20106 | * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): | |
20107 | Make sure that the builtins are initialized only once no matter how | |
20108 | many times the function is called. | |
20109 | (aarch64_init_builtins): Unconditionally initialize crc builtins. | |
20110 | (aarch64_relayout_simd_param): New function. | |
20111 | (aarch64_simd_expand_args): Use above during argument expansion. | |
20112 | * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize | |
20113 | simd builtins if TARGET_SIMD. | |
20114 | * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New | |
20115 | prototype. | |
20116 | (aarch64_relayout_simd_types): Likewise. | |
20117 | ||
20118 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20119 | ||
20120 | * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs. | |
20121 | * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define. | |
20122 | (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins. | |
20123 | * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove | |
20124 | static keyword. | |
20125 | (aarch64_reset_previous_fndecl): New function. | |
20126 | (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of | |
20127 | the string. | |
20128 | * config/aarch64/aarch64-c.c: New file. | |
20129 | * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top. | |
20130 | Push and pop options at beginning and end. Remove ifdef | |
20131 | __ARM_FEATURE_CRC32. | |
20132 | * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON. | |
20133 | Add pragma +nothing+simd and +nothing+crypto where appropriate. | |
20134 | * config/aarch64/t-aarch64 (aarch64-c.o): New rule. | |
20135 | * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins): | |
20136 | Define prototype. | |
20137 | (aarch64_register_pragmas): Likewise. | |
20138 | (aarch64_reset_previous_fndecl): Likewise. | |
20139 | (aarch64_process_target_attr): Likewise. | |
20140 | (aarch64_override_options_internal): Likewise. | |
20141 | ||
20142 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20143 | ||
20144 | * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p): | |
20145 | New function. | |
20146 | (aarch64_can_inline_p): Likewise. | |
20147 | (TARGET_CAN_INLINE_P): Define. | |
20148 | ||
20149 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20150 | ||
20151 | * common/config/aarch64/aarch64-common.c (aarch64_handle_option): | |
20152 | Remove static. Handle OPT_mgeneral_regs_only, | |
20153 | OPT_mfix_cortex_a53_835769, OPT_mstrict_align, | |
20154 | OPT_momit_leaf_frame_pointer. | |
20155 | * config/aarch64/aarch64.c: Include opts.h and diagnostic.h | |
20156 | (aarch64_attr_opt_type): New enum. | |
20157 | (aarch64_attribute_info): New struct. | |
20158 | (aarch64_handle_attr_arch): New function. | |
20159 | (aarch64_handle_attr_cpu): Likewise. | |
20160 | (aarch64_handle_attr_tune): Likewise. | |
20161 | (aarch64_handle_attr_isa_flags): Likewise. | |
20162 | (aarch64_attributes): New table. | |
20163 | (aarch64_process_one_target_attr): New function. | |
20164 | (num_occurences_in_str): Likewise. | |
20165 | (aarch64_process_target_attr): Likewise. | |
20166 | (aarch64_option_valid_attribute_p): Likewise. | |
20167 | (TARGET_OPTION_VALID_ATTRIBUTE_P): Define. | |
20168 | * config/aarch64/aarch64-protos.h: Include input.h | |
20169 | (aarch64_handle_option): Declare prototype. | |
20170 | ||
20171 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20172 | ||
20173 | * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define. | |
20174 | * config/aarch64/aarch64.c: Include target-globals.h | |
20175 | (aarch64_previous_fndecl): New variable. | |
20176 | (aarch64_set_current_function): New function. | |
20177 | (TARGET_SET_CURRENT_FUNCTION): Define. | |
20178 | ||
20179 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20180 | ||
20181 | * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable. | |
20182 | (explicit_arch): Likewise. | |
20183 | (x_aarch64_isa_flags): Likewise. | |
20184 | (mgeneral-regs-only): Mark as Save. | |
20185 | (mfix-cortex-a53-835769): Likewise. | |
20186 | (mcmodel=): Likewise. | |
20187 | (mstrict-align): Likewise. | |
20188 | (momit-leaf-frame-pointer): Likewise. | |
20189 | (mtls-dialect): Likewise. | |
20190 | (master=): Likewise. | |
20191 | * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define. | |
20192 | (aarch64_isa_flags): Remove extern declaration. | |
20193 | * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool | |
20194 | to indicate success or failure. | |
20195 | (aarch64_validate_march): Likewise. | |
20196 | (aarch64_validate_mtune): Likewise. | |
20197 | (aarch64_isa_flags): Delete. | |
20198 | (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags | |
20199 | instead of aarch64_isa_flags. | |
20200 | (aarch64_get_tune_cpu): New function. | |
20201 | (aarch64_get_arch): Likewise. | |
20202 | (aarch64_override_options): Use above and set up explicit_tune_core | |
20203 | and explicit_arch. | |
20204 | (aarch64_print_extension): Move earlier in file. Add isa_flags | |
20205 | argument and use that instead of the global aarch64_isa_flags. | |
20206 | (aarch64_option_save): New function. | |
20207 | (aarch64_option_restore): Likewise. | |
20208 | (aarch64_option_print): Likewise. | |
20209 | (aarch64_declare_function_name): Likewise. | |
20210 | (aarch64_start_file): Delete. | |
20211 | (TARGET_ASM_FILE_START): Do not define. | |
20212 | (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define. | |
20213 | * config/aarch64/aarch64-protos.h (aarch64_declare_function_name): | |
20214 | Declare prototype. | |
20215 | ||
20216 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20217 | ||
20218 | * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize | |
20219 | flag_omit_leaf_frame_pointer to 2. | |
20220 | ||
20221 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20222 | ||
20223 | * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always | |
20224 | define to 0 or 1. | |
20225 | (TARGET_FIX_ERR_A53_835769): New macro. | |
20226 | * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove | |
20227 | handling of opts->x_aarch64_fix_a53_err835769. | |
20228 | (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather | |
20229 | than aarch64_fix_a53_err835769. | |
20230 | * config/aarch64/aarch64-elf-raw.h: Update for above changes. | |
20231 | * config/aarch64/aarch64-linux.h: Likewise. | |
20232 | ||
20233 | 2015-08-04 Uros Bizjak <ubizjak@gmail.com> | |
20234 | ||
20235 | * config/i386/i386.c (ix86_expand_int_movcc): Check result of | |
20236 | ix86_expand_int_movcc as boolean. | |
20237 | ||
20238 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20239 | ||
20240 | * config/aarch64/aarch64.opt (aarch64_arch_string): Delete. | |
20241 | (aarch64_cpu_string): Likewise. | |
20242 | (aarch64_tune_string): Likewise. | |
20243 | * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum. | |
20244 | (aarch64_parse_extension): Return aarch64_parse_opt_result. | |
20245 | Add extra argument to put result into. | |
20246 | (aarch64_parse_arch): Likewise. Do not set selected_cpu. | |
20247 | (aarch64_parse_cpu): Add arguments to put results into. Return | |
20248 | aarch64_parse_opt_result. | |
20249 | (aarch64_parse_tune): Likewise. | |
20250 | (aarch64_override_options_after_change_1): New function. | |
20251 | (aarch64_override_options_internal): New function. | |
20252 | (aarch64_validate_mcpu): Likewise. | |
20253 | (aarch64_validate_march): Likewise. | |
20254 | (aarch64_validate_mtune): Likewise. | |
20255 | (aarch64_override_options): Update to reflect above changes. | |
20256 | Move some logic into aarch64_override_options_internal. | |
20257 | Initialize target_option_default_node and target_option_current_node. | |
20258 | (aarch64_override_options_after_change): Move logic into | |
20259 | aarch64_override_options_after_change_1 and call it with global_options. | |
20260 | (initialize_aarch64_code_model): Take a gcc_options pointer and use the | |
20261 | flag values from that. | |
20262 | ||
20263 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20264 | ||
20265 | * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define | |
20266 | __ARM_ARCH_8A directly rather than with cpp_define_formatted. | |
20267 | * config/aarch64/aarch64.c (struct processor): Add arch field. | |
20268 | (all_architectures): Handle above, move above all_cores. | |
20269 | (all_cores): Handle above. | |
20270 | (aarch64_parse_arch): Handle above changes. | |
20271 | * config/aarch64/aarch64-arches.def (armv8-a): Extend according to | |
20272 | above. Update comments. | |
20273 | (armv8.1-a): Likewise. | |
20274 | * config/aarch64/aarch64-cores.def: Update according to above. | |
20275 | * config/aarch64/aarch64-opts.h (aarch64_arch): New enum. | |
20276 | * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to | |
20277 | aarch64_arch_driver_info. | |
20278 | ||
20279 | 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20280 | ||
20281 | * config/aarch64/aarch64.c (struct processor): Add ident field. | |
20282 | Rename core sched_core. | |
20283 | (all_cores): Handle above changes. | |
20284 | (all_architectures): Likewise. | |
20285 | (aarch64_parse_arch): Likewise. | |
20286 | (aarch64_override_options): Likewise. | |
20287 | ||
20288 | 2015-08-04 Richard Biener <rguenther@suse.de> | |
20289 | ||
20290 | * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove | |
20291 | dispatching to fold_binary for GIMPLE_BINARY_RHS and for | |
20292 | comparisons embedded in [VEC_]COND_EXPRs. | |
20293 | ||
20294 | 2015-08-03 Abe Skolnik <a.skolnik@samsung.com> | |
20295 | ||
20296 | * tree-if-conv.c: Fix various typos in comments. | |
20297 | * tree-vect-stmts.c: Likewise. | |
20298 | ||
20299 | 2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
20300 | ||
20301 | PR tree-optimization/67043 | |
20302 | * loop-invariant.c (move_invariant_reg): Recompute luids in loop | |
20303 | preheader after hoisting invariant in it. | |
20304 | (find_defs): Force recomputation of all luids. | |
20305 | ||
20306 | 2015-08-03 Peter Bergner <bergner@vnet.ibm.com> | |
20307 | ||
20308 | * config/rs6000/htm.md (tabort.): Restrict the source operand to | |
20309 | using a base register. | |
20310 | ||
20311 | 2015-08-03 David Malcolm <dmalcolm@redhat.com> | |
20312 | ||
20313 | * main.c (main): Pass in NULL for toplev's external_timer. | |
20314 | * timevar.c: Include coretypes.h. | |
20315 | (class timer::named_items): New. | |
20316 | (timer::named_items::named_items): New. | |
20317 | (timer::named_items::~named_items): New. | |
20318 | (timer::named_items::push): New. | |
20319 | (timer::named_items::pop): New. | |
20320 | (timer::named_items::print): New. | |
20321 | (timer::timer): Initialize field "m_jit_client_items". | |
20322 | (timer::~timer): New. | |
20323 | (timer::push): Move bulk of implementation to... | |
20324 | (timer::push_internal): ...here. New function. | |
20325 | (timer::pop): Move bulk of implementation to... | |
20326 | (timer::pop_internal): ...here. New function. | |
20327 | (timer::push_client_item): New. | |
20328 | (timer::pop_client_item): New. | |
20329 | (timer::print_row): New function, taken from timer::print. | |
20330 | (timer::print): Print "GCC items" header if we also have client | |
20331 | items. Move row-printing to timer::print_row. Print any client | |
20332 | items. | |
20333 | (timer::get_topmost_item_name): New method. | |
20334 | * timevar.def (TV_JIT_ACQUIRING_MUTEX): New. | |
20335 | (TV_JIT_CLIENT_CODE): New. | |
20336 | * timevar.h (timer::push_client_item): New declaration. | |
20337 | (timer::pop_client_item): New declaration. | |
20338 | (timer::get_topmost_item_name): New method. | |
20339 | (timer::push_internal): New declaration. | |
20340 | (timer::pop_internal): New declaration. | |
20341 | (timer::print_row): New declaration. | |
20342 | (timer::named_items): New declaration. | |
20343 | (timer::m_jit_client_items): New field. | |
20344 | (timer): Add friend class named_items. | |
20345 | (auto_timevar::auto_timevar): Add timer param. | |
20346 | (auto_timevar::~auto_timevar): Use field "m_timer". | |
20347 | (auto_timevar::m_timer): New field. | |
20348 | * toplev.c (initialize_rtl): Add g_timer as param when | |
20349 | constructing auto_timevar instance. | |
20350 | (toplev::toplev): Add "external_timer" param, and use it to | |
20351 | initialize the "g_timer" global if non-NULL. | |
20352 | (toplev::~toplev): If this created "g_timer", delete it. | |
20353 | * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param | |
20354 | with "external_timer" timer *. | |
20355 | ||
dfb6d139 | 20356 | 2015-08-03 Alexander Basov <coohpt@gmail.com> |
fb2c1edd | 20357 | |
20358 | PR middle-end/64744 | |
20359 | PR middle-end/48470 | |
20360 | PR middle-end/43404 | |
20361 | * cfgexpand.c (expand_one_var): Add check if stack is going to | |
20362 | be used in naked function. | |
20363 | * expr.c (expand_expr_addr_expr_1): Remove excess checking | |
20364 | whether expression should not reside in MEM. | |
20365 | * function.c (use_register_for_decl): Do not use registers for | |
20366 | non-register things (volatile, float, BLKMode) in naked functions. | |
20367 | ||
20368 | 2015-08-03 John David Anglin <danglin@gcc.gnu.org> | |
20369 | ||
20370 | PR target/67060 | |
20371 | * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber. | |
20372 | Adjust splits to match new pattern. | |
20373 | ||
20374 | 2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com> | |
20375 | ||
20376 | * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode. | |
20377 | (VEC_M): Likewise. | |
20378 | (VEC_N): Likewise. | |
20379 | (mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating | |
20380 | point in VSX registers. | |
20381 | ||
20382 | * config/rs6000/constraints.md (wb constraint): Document unused | |
20383 | w<x> constraint. | |
20384 | (we constraint): Likewise. | |
20385 | (wo constraint): Likewise. | |
20386 | (wp constraint): New constraint for IEEE 128-bit floating point in | |
20387 | VSX registers. | |
20388 | (wq constraint): Likewise. | |
20389 | ||
20390 | * config/rs6000/predicates.md (easy_fp_constant): Add support for | |
20391 | IEEE 128-bit floating point in VSX registers. | |
20392 | (easy_scalar_constant): Likewise. | |
20393 | ||
20394 | * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new | |
20395 | constraints (wp, wq) for IEEE 128-bit floating point in VSX | |
20396 | registers. | |
20397 | (rs6000_init_hard_regno_mode_ok): Likewise. | |
20398 | ||
20399 | * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit | |
20400 | floating point in VSX registers. | |
20401 | (VSX_L): Likewise. | |
20402 | (VSX_M): Likewise. | |
20403 | (VSX_M2): Likewise. | |
20404 | (VSm): Likewise. | |
20405 | (VSs): Likewise. | |
20406 | (VSr): Likewise. | |
20407 | (VSa): Likewise. | |
20408 | (VSv): Likewise. | |
20409 | (vsx_le_permute_<mode>): Add support to properly swap bytes for | |
20410 | IEEE 128-bit floating point in VSX registers on little endian. | |
20411 | (vsx_le_undo_permute_<mode>): Likewise. | |
20412 | (vsx_le_perm_load_<mode>): Likewise. | |
20413 | (vsx_le_perm_store_<mode>): Likewise. | |
20414 | (splitters for IEEE 128-bit fp moves): Likewise. | |
20415 | ||
20416 | * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and | |
20417 | wq constraints. | |
20418 | ||
20419 | * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit | |
20420 | floating point in VSX registers. | |
20421 | (VM2): Likewise. | |
20422 | ||
20423 | * doc/md.text (Machine Constraints): Document wp and wq | |
20424 | constraints on PowerPC. | |
20425 | ||
20426 | 2015-08-03 Jeff Law <law@redhat.com> | |
20427 | ||
20428 | PR middle-end/66314 | |
20429 | PR gcov-profile/66899 | |
20430 | * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly | |
20431 | iterate over the jump threading paths when an element in the | |
20432 | jump threading paths array is eliminated. | |
20433 | ||
20434 | 2015-08-03 Segher Boessenkool <segher@kernel.crashing.org> | |
20435 | ||
20436 | * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first. | |
20437 | ||
20438 | 2015-08-03 Patrick Palka <ppalka@gcc.gnu.org> | |
20439 | ||
20440 | * tree-ssa-uninit.c (find_uninit_use): Declare and pass to | |
20441 | is_use_properly_guarded the variable def_preds. Free its | |
20442 | contents before returning. | |
20443 | (prune_uninit_phi_opnds_in_unrealizable_paths): Same. | |
20444 | (is_use_properly_guarded): Replace local variable def_preds with | |
20445 | a parameter. Adjust accordingly. Only update *def_preds if it's | |
20446 | the empty vector. | |
20447 | ||
20448 | 2015-08-03 Richard Biener <rguenther@suse.de> | |
20449 | ||
20450 | * genmatch.c (simplify::for_subst_vec): New member. | |
20451 | (binary_ok): New helper for for lowering. | |
20452 | (lower_for): Delay substituting operators into result expressions | |
20453 | if we can merge the results eventually again. | |
20454 | (capture_info::walk_result): Adjust for user_id appearing as | |
20455 | result expression operator. | |
20456 | (expr::gen_transform): Likewise. | |
20457 | (dt_simplify::gen_1): Likewise. | |
20458 | (dt_simplify::gen): Pass not substituted operators to tail | |
20459 | functions or initialize local variable with it. | |
20460 | (decision_tree::gen): Adjust function signature. | |
20461 | * match.pd: Fix tests against global code and add default | |
20462 | cases to switch stmts. | |
20463 | ||
20464 | 2015-08-03 Richard Biener <rguenther@suse.de> | |
20465 | ||
20466 | * genmatch.c (dt_simplify::gen): Create captures array | |
20467 | with an initializer. | |
20468 | ||
20469 | 2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> | |
20470 | ||
20471 | * configure.ac: Set aliasing_flags to -fno-strict-aliasing if | |
20472 | the host compiler is affected by placement new aliasing bug. | |
20473 | * configure: Regenerate. | |
20474 | * Makefile.in (ALIASING_FLAGS): New variable. | |
20475 | (ALL_CXXFLAGS): Add $(ALIASING_FLAGS). | |
20476 | ||
20477 | 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
20478 | ||
20479 | PR target/66731 | |
20480 | * config/arm/vfp.md (negmuldf3_vfp): Add new pattern. | |
20481 | (negmulsf3_vfp): Likewise. | |
20482 | (muldf3negdf_vfp): Disable for -frounding-math. | |
20483 | (mulsf3negsf_vfp): Likewise. | |
20484 | * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL, | |
20485 | fix MULT cost with -frounding-math. | |
20486 | ||
20487 | 2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20488 | ||
20489 | * ifcvt.c (noce_try_store_flag_constants): Make logic of the case | |
20490 | when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more | |
20491 | explicit. Prefer to add the flag whenever possible. | |
20492 | (noce_process_if_block): Try noce_try_store_flag_constants before | |
20493 | noce_try_cmove. | |
20494 | ||
20495 | 2015-08-03 Richard Biener <rguenther@suse.de> | |
20496 | ||
20497 | * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t): | |
20498 | New hash-map to record equivalent transforms. | |
20499 | (dt_node::analyze): Populate the equivalent transforms hash-map. | |
20500 | (dt_simplify::info): Add reference to hash-map entry. | |
20501 | (dt_simplify::gen): If we have split out a function for the | |
20502 | transform, generate a call to it. | |
20503 | (sinfo_hashmap_traits::hash): New function. | |
20504 | (compare_op): New helper function for ... | |
20505 | (sinfo_hashmap_traits::equal_keys): ... this new function. | |
20506 | (decision_tree::gen): Split out common equivalent transforms | |
20507 | into functions. | |
20508 | ||
20509 | 2015-08-03 Richard Biener <rguenther@suse.de> | |
20510 | ||
20511 | * gimple-fold.c (fold_gimple_assign): Remove folding of | |
20512 | the comparison in COND_EXPRs. | |
20513 | ||
20514 | 2015-08-03 Richard Biener <rguenther@suse.de> | |
20515 | ||
20516 | * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs | |
20517 | on the rhs of assignments first simplify the embedded | |
20518 | GENERIC condition. | |
20519 | ||
20520 | 2015-08-03 Richard Biener <rguenther@suse.de> | |
20521 | ||
20522 | PR tree-optimization/66917 | |
20523 | * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned | |
20524 | field. | |
20525 | (DR_VECT_AUX): New macro. | |
20526 | (set_dr_misalignment): Adjust. | |
20527 | (dr_misalignment): Likewise. | |
20528 | * tree-vect-data-refs.c (vect_compute_data_ref_alignment): | |
20529 | Compute whether the base is at least element aligned. | |
20530 | * tree-vect-stmts.c (ensure_base_align): Adjust. | |
20531 | (vectorizable_store): If the base is not element aligned | |
20532 | preserve alignment of the original access if misalignment is unknown. | |
20533 | (vectorizable_load): Likewise. | |
20534 | ||
20535 | 2015-08-02 Martin Sebor <msebor@redhat.com> | |
20536 | ||
20537 | * doc/invoke.texi (Wframe-address): Document it. | |
20538 | * doc/extend.texi (__builtin_frame_address, __builtin_return_address): | |
20539 | Clarify possible effects of calling the functions with non-zero | |
20540 | arguments and mention -Wframe-address. | |
20541 | * builtins.c (expand_builtin_frame_address): Handle -Wframe-address. | |
20542 | ||
20543 | 2015-08-01 Michael Collison <michael.collison@linaro.org | |
20544 | Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | |
20545 | ||
20546 | * config/arm/arm.md (*arm_smin_cmp): New pattern. | |
20547 | (*arm_umin_cmp): Likewise. | |
20548 | ||
20549 | 2015-08-01 Caroline Tice <cmtice@google.com> | |
20550 | ||
20551 | PR 66521 | |
20552 | * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New | |
20553 | global variables. | |
20554 | (vtbl_find_mangled_name): New function. | |
20555 | (vtbl_register_mangled_name): New function. | |
20556 | (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up | |
20557 | mangled name in mangled name vectors. | |
20558 | (find_or_create_vtbl_map_node): Ditto. | |
20559 | (var_is_used_for_virtual_call_p): Add recursion_depth parameter; | |
20560 | update recursion_depth on function entry; pass it to every recursive | |
20561 | call; automatically exit if depth > 25 (give up looking at that point). | |
20562 | (verify_bb_vtables): Initialize recursion_depth and pass it to | |
20563 | var_is_used_for_virtual_call_p. | |
20564 | * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New | |
20565 | global variable decls. | |
20566 | (vtbl_register_mangled_name): New extern function decl. | |
20567 | ||
20568 | 2015-08-01 Tom de Vries <tom@codesourcery.com> | |
20569 | ||
20570 | * tree.c (operation_can_overflow, operation_no_trapping_overflow): New | |
20571 | function. | |
20572 | * tree.h (operation_can_overflow, operation_no_trapping_overflow): | |
20573 | Declare. | |
20574 | * tree-vect-loop.c (vect_is_simple_reduction_1): Use | |
20575 | operation_no_trapping_overflow. Allow non-overflow operations. | |
20576 | * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow | |
20577 | operations. | |
20578 | ||
20579 | 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org> | |
20580 | ||
20581 | PR target/67049 | |
20582 | * config/sh/sh.md (GOTaddr2picreg): Fix typo. | |
20583 | ||
20584 | 2015-07-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
20585 | ||
20586 | * config/arm/arm.md (*if_neg_move): Convert to insn_and_split. | |
20587 | Enable for TARGET_32BIT. | |
20588 | (*if_move_neg): Likewise. | |
20589 | ||
20590 | 2015-07-31 Nick Clifton <nickc@redhat.com> | |
20591 | ||
20592 | * config/m32r/m32r.c (m32r_attribute_identifier): New function. | |
20593 | Returns true for __model__. | |
20594 | (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. | |
20595 | ||
20596 | 2015-07-31 Alan Modra <amodra@gmail.com> | |
20597 | ||
20598 | PR target/66870 | |
20599 | * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used. | |
20600 | (rs6000_emit_prologue): Set it. | |
20601 | (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used. | |
20602 | ||
20603 | 2015-07-31 Richard Biener <rguenther@suse.de> | |
20604 | ||
20605 | * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2 | |
20606 | -> X == (C1 ^ C2) which is already implemented in match.pd. | |
20607 | Remove redundant dispatching to fold_relational_const. | |
20608 | Move unordered self and NaN compares ... | |
20609 | * match.pd: ... as patterns here. Remove some stray captures | |
20610 | and add a comment. | |
20611 | ||
20612 | 2015-07-31 Petr Murzin <petr.murzin@intel.com> | |
20613 | ||
20614 | * config/i386/i386.c | |
20615 | (bdesc_special_args): Convert mask type from signed to unsigned for | |
20616 | masked builtins. | |
20617 | (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF, | |
20618 | UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI, | |
20619 | V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT, | |
20620 | V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF, | |
20621 | V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE, | |
20622 | V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI, | |
20623 | V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF, | |
20624 | V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF, | |
20625 | V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI, | |
20626 | HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF, | |
20627 | V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI, | |
20628 | V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI, | |
20629 | V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI, | |
20630 | V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI, | |
20631 | V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF, | |
20632 | V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF, | |
20633 | V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF, | |
20634 | V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF, | |
20635 | V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI, | |
20636 | V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI, | |
20637 | V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI, | |
20638 | HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI, | |
20639 | VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI, | |
20640 | V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI. | |
20641 | * config/i386/i386-builtin-types.def | |
20642 | (V16QI_FTYPE_V16SI): Remove. | |
20643 | (V8DF_FTYPE_V8SI): Ditto. | |
20644 | (V8HI_FTYPE_V8DI): Ditto. | |
20645 | (V8SI_FTYPE_V8DI): Ditto. | |
20646 | (V8SF_FTYPE_V8DF): Ditto. | |
20647 | (V8SF_FTYPE_V8DF_V8SF_QI): Ditto. | |
20648 | (V16HI_FTYPE_V16SI): Ditto. | |
20649 | (V16SF_FTYPE_V16HI): Ditto. | |
20650 | (V16SF_FTYPE_V16HI_V16SF_HI): Ditto. | |
20651 | (V16SF_FTYPE_V16SI): Ditto. | |
20652 | (V4DI_FTYPE_V4DI): Ditto. | |
20653 | (V16SI_FTYPE_V16SF): Ditto. | |
20654 | (V16SF_FTYPE_FLOAT): Ditto. | |
20655 | (V8DF_FTYPE_DOUBLE): Ditto. | |
20656 | (V8DI_FTYPE_INT64): Ditto. | |
20657 | (V8DI_FTYPE_V4DI): Ditto. | |
20658 | (V16QI_FTYPE_V8DI): Ditto. | |
20659 | (UINT_FTYPE_V4SF): Ditto. | |
20660 | (UINT64_FTYPE_V4SF): Ditto. | |
20661 | (UINT_FTYPE_V2DF): Ditto. | |
20662 | (UINT64_FTYPE_V2DF): Ditto. | |
20663 | (V16SI_FTYPE_V16SI): Ditto. | |
20664 | (V8DI_FTYPE_V8DI): Ditto. | |
20665 | (V16SI_FTYPE_PV4SI): Ditto. | |
20666 | (V16SF_FTYPE_PV4SF): Ditto. | |
20667 | (V8DI_FTYPE_PV2DI): Ditto. | |
20668 | (V8DF_FTYPE_PV2DF): Ditto. | |
20669 | (V4DI_FTYPE_PV2DI): Ditto. | |
20670 | (V4DF_FTYPE_PV2DF): Ditto. | |
20671 | (V16SI_FTYPE_PV2SI): Ditto. | |
20672 | (V16SF_FTYPE_PV2SF): Ditto. | |
20673 | (V8DI_FTYPE_PV4DI): Ditto. | |
20674 | (V8DF_FTYPE_PV4DF): Ditto. | |
20675 | (V8SF_FTYPE_FLOAT): Ditto. | |
20676 | (V4SF_FTYPE_FLOAT): Ditto. | |
20677 | (V4DF_FTYPE_DOUBLE): Ditto. | |
20678 | (V8SF_FTYPE_PV4SF): Ditto. | |
20679 | (V8SI_FTYPE_PV4SI): Ditto. | |
20680 | (V4SI_FTYPE_PV2SI): Ditto. | |
20681 | (V8SF_FTYPE_PV2SF): Ditto. | |
20682 | (V8SI_FTYPE_PV2SI): Ditto. | |
20683 | (V16SF_FTYPE_PV8SF): Ditto. | |
20684 | (V16SI_FTYPE_PV8SI): Ditto. | |
20685 | (V8DI_FTYPE_V8SF): Ditto. | |
20686 | (V4DI_FTYPE_V4SF): Ditto. | |
20687 | (V2DI_FTYPE_V4SF): Ditto. | |
20688 | (V64QI_FTYPE_QI): Ditto. | |
20689 | (V32HI_FTYPE_HI): Ditto. | |
20690 | (V8UHI_FTYPE_V8UHI): Ditto. | |
20691 | (V16UHI_FTYPE_V16UHI): Ditto. | |
20692 | (V32UHI_FTYPE_V32UHI): Ditto. | |
20693 | (V2UDI_FTYPE_V2UDI): Ditto. | |
20694 | (V4UDI_FTYPE_V4UDI): Ditto. | |
20695 | (V8UDI_FTYPE_V8UDI): Ditto. | |
20696 | (V4USI_FTYPE_V4USI): Ditto. | |
20697 | (V8USI_FTYPE_V8USI): Ditto. | |
20698 | (V16USI_FTYPE_V16USI): Ditto. | |
20699 | (V2DF_FTYPE_V2DF_UINT64): Ditto. | |
20700 | (V2DI_FTYPE_V2DF_V2DF): Ditto. | |
20701 | (V2UDI_FTYPE_V4USI_V4USI): Ditto. | |
20702 | (V8DF_FTYPE_V8DF_V8DI): Ditto. | |
20703 | (V4SF_FTYPE_V4SF_UINT64): Ditto. | |
20704 | (V4SI_FTYPE_V4SF_V4SF): Ditto. | |
20705 | (V16SF_FTYPE_V16SF_V16SI): Ditto. | |
20706 | (V64QI_FTYPE_V32HI_V32HI): Ditto. | |
20707 | (V32HI_FTYPE_V16SI_V16SI): Ditto. | |
20708 | (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto. | |
20709 | (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto. | |
20710 | (V32HI_FTYPE_V64QI_V64QI): Ditto. | |
20711 | (V32HI_FTYPE_V32HI_V32HI): Ditto. | |
20712 | (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto. | |
20713 | (V16SI_FTYPE_V16SI_V4SI): Ditto. | |
20714 | (V16SI_FTYPE_V16SI_V16SI): Ditto. | |
20715 | (V16SI_FTYPE_V32HI_V32HI): Ditto. | |
20716 | (V16SI_FTYPE_V16SI_SI): Ditto. | |
20717 | (V8DI_FTYPE_V8DI_V8DI): Ditto. | |
20718 | (V4UDI_FTYPE_V8USI_V8USI): Ditto. | |
20719 | (V8DI_FTYPE_V16SI_V16SI): Ditto. | |
20720 | (V8DI_FTYPE_V8DI_V2DI): Ditto. | |
20721 | (QI_FTYPE_QI): Ditto. | |
20722 | (SI_FTYPE_SI): Ditto. | |
20723 | (DI_FTYPE_DI): Ditto. | |
20724 | (QI_FTYPE_QI_QI): Ditto. | |
20725 | (QI_FTYPE_QI_INT): Ditto. | |
20726 | (HI_FTYPE_HI_INT): Ditto. | |
20727 | (SI_FTYPE_SI_INT): Ditto. | |
20728 | (DI_FTYPE_DI_INT): Ditto. | |
20729 | (HI_FTYPE_V16QI_V16QI): Ditto. | |
20730 | (SI_FTYPE_V32QI_V32QI): Ditto. | |
20731 | (DI_FTYPE_V64QI_V64QI): Ditto. | |
20732 | (QI_FTYPE_V8HI_V8HI): Ditto. | |
20733 | (HI_FTYPE_V16HI_V16HI): Ditto. | |
20734 | (SI_FTYPE_V32HI_V32HI): Ditto. | |
20735 | (QI_FTYPE_V4SI_V4SI): Ditto. | |
20736 | (QI_FTYPE_V8SI_V8SI): Ditto. | |
20737 | (QI_FTYPE_V2DI_V2DI): Ditto. | |
20738 | (QI_FTYPE_V4DI_V4DI): Ditto. | |
20739 | (QI_FTYPE_V8DI_V8DI): Ditto. | |
20740 | (HI_FTYPE_V16SI_V16SI): Ditto. | |
20741 | (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto. | |
20742 | (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto. | |
20743 | (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto. | |
20744 | (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto. | |
20745 | (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto. | |
20746 | (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto. | |
20747 | (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto. | |
20748 | (V8DF_FTYPE_V8SF_V8DF_QI): Ditto. | |
20749 | (V8DI_FTYPE_V8DF_V8DI_QI): Ditto. | |
20750 | (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto. | |
20751 | (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto. | |
20752 | (V16SF_FTYPE_V16SI_V16SF_HI): Ditto. | |
20753 | (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto. | |
20754 | (V8SI_FTYPE_V8DF_V8SI_QI): Ditto. | |
20755 | (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto. | |
20756 | (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto. | |
20757 | (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto. | |
20758 | (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto. | |
20759 | (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto. | |
20760 | (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto. | |
20761 | (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto. | |
20762 | (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto. | |
20763 | (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto. | |
20764 | (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto. | |
20765 | (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto. | |
20766 | (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto. | |
20767 | (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto. | |
20768 | (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto. | |
20769 | (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto. | |
20770 | (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto. | |
20771 | (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto. | |
20772 | (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto. | |
20773 | (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto. | |
20774 | (V16SI_FTYPE_V16SF_V16SI_HI): Ditto. | |
20775 | (V8DI_FTYPE_V8SF_V8DI_QI): Ditto. | |
20776 | (V8SF_FTYPE_V8DI_V8SF_QI): Ditto. | |
20777 | (V8DF_FTYPE_V8DI_V8DF_QI): Ditto. | |
20778 | (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto. | |
20779 | (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto. | |
20780 | (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto. | |
20781 | (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto. | |
20782 | (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto. | |
20783 | (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto. | |
20784 | (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto. | |
20785 | (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto. | |
20786 | (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto. | |
20787 | (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto. | |
20788 | (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto. | |
20789 | (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto. | |
20790 | (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto. | |
20791 | (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto. | |
20792 | (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto. | |
20793 | (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto. | |
20794 | (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto. | |
20795 | (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto. | |
20796 | (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned. | |
20797 | (V4SF_FTYPE_V4DF_V4SF_QI): Ditto. | |
20798 | (V4SF_FTYPE_V8HI_V4SF_QI): Ditto. | |
20799 | (V8SF_FTYPE_V8HI_V8SF_QI): Ditto. | |
20800 | (V16SI_FTYPE_V16SI_V16SI_HI): Ditto. | |
20801 | (V8DI_FTYPE_V8DI_V8DI_QI): Ditto. | |
20802 | (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto. | |
20803 | (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto. | |
20804 | (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto. | |
20805 | (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto. | |
20806 | (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto. | |
20807 | (V4SI_FTYPE_V2DF_V4SI_QI): Ditto. | |
20808 | (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto. | |
20809 | (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto. | |
20810 | (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto. | |
20811 | (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto. | |
20812 | (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto. | |
20813 | (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto. | |
20814 | (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto. | |
20815 | (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto. | |
20816 | (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto. | |
20817 | (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto. | |
20818 | (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto. | |
20819 | (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto. | |
20820 | (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto. | |
20821 | (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto. | |
20822 | (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto. | |
20823 | (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto. | |
20824 | (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto. | |
20825 | (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto. | |
20826 | (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto. | |
20827 | (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto. | |
20828 | (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto. | |
20829 | (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto. | |
20830 | (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto. | |
20831 | (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto. | |
20832 | (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto. | |
20833 | (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto. | |
20834 | (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto. | |
20835 | (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto. | |
20836 | (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto. | |
20837 | (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto. | |
20838 | (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto. | |
20839 | (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto. | |
20840 | (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto. | |
20841 | (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto. | |
20842 | (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto. | |
20843 | (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto. | |
20844 | (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto. | |
20845 | (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto. | |
20846 | (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto. | |
20847 | (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto. | |
20848 | (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto. | |
20849 | (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto. | |
20850 | (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto. | |
20851 | (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto. | |
20852 | (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto. | |
20853 | (HI_FTYPE_HI): Ditto. | |
20854 | (HI_FTYPE_V16QI): Ditto. | |
20855 | (SI_FTYPE_V32QI): Ditto. | |
20856 | (DI_FTYPE_V64QI): Ditto. | |
20857 | (QI_FTYPE_V8HI): Ditto. | |
20858 | (HI_FTYPE_V16HI): Ditto. | |
20859 | (SI_FTYPE_V32HI): Ditto. | |
20860 | (QI_FTYPE_V4SI): Ditto. | |
20861 | (QI_FTYPE_V8SI): Ditto. | |
20862 | (HI_FTYPE_V16SI): Ditto. | |
20863 | (QI_FTYPE_V2DI): Ditto. | |
20864 | (QI_FTYPE_V4DI): Ditto. | |
20865 | (QI_FTYPE_V8DI): Ditto. | |
20866 | (V16QI_FTYPE_HI): Ditto. | |
20867 | (V32QI_FTYPE_SI): Ditto. | |
20868 | (V64QI_FTYPE_DI): Ditto. | |
20869 | (V8HI_FTYPE_QI): Ditto. | |
20870 | (V16HI_FTYPE_HI): Ditto. | |
20871 | (V32HI_FTYPE_SI): Ditto. | |
20872 | (V4SI_FTYPE_QI): Ditto. | |
20873 | (V4SI_FTYPE_HI): Ditto. | |
20874 | (V8SI_FTYPE_QI): Ditto. | |
20875 | (V8SI_FTYPE_HI): Ditto. | |
20876 | (V2DI_FTYPE_QI): Ditto. | |
20877 | (V4DI_FTYPE_QI): Ditto. | |
20878 | (HI_FTYPE_HI_HI): Ditto. | |
20879 | (SI_FTYPE_SI_SI): Ditto. | |
20880 | (DI_FTYPE_DI_DI): Ditto. | |
20881 | (HI_FTYPE_V16QI_V16QI_HI): Ditto. | |
20882 | (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto. | |
20883 | (SI_FTYPE_V32QI_V32QI_SI): Ditto. | |
20884 | (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto. | |
20885 | (DI_FTYPE_V64QI_V64QI_DI): Ditto. | |
20886 | (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto. | |
20887 | (QI_FTYPE_V8HI_V8HI_QI): Ditto. | |
20888 | (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto. | |
20889 | (HI_FTYPE_V16HI_V16HI_HI): Ditto. | |
20890 | (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto. | |
20891 | (SI_FTYPE_V32HI_V32HI_SI): Ditto. | |
20892 | (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto. | |
20893 | (QI_FTYPE_V4SI_V4SI_QI): Ditto. | |
20894 | (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto. | |
20895 | (QI_FTYPE_V8SI_V8SI_QI): Ditto. | |
20896 | (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto. | |
20897 | (QI_FTYPE_V2DI_V2DI_QI): Ditto. | |
20898 | (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto. | |
20899 | (QI_FTYPE_V4DI_V4DI_QI): Ditto. | |
20900 | (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto. | |
20901 | (QI_FTYPE_V8DI_V8DI_QI): Ditto. | |
20902 | (HI_FTYPE_V16SI_V16SI_HI): Ditto. | |
20903 | (QI_FTYPE_V8DI_V8DI_INT): Ditto. | |
20904 | (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto. | |
20905 | (HI_FTYPE_V16SI_V16SI_INT): Ditto. | |
20906 | (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto. | |
20907 | (QI_FTYPE_V8DF_V8DF_INT): Ditto. | |
20908 | (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto. | |
20909 | (HI_FTYPE_V16SF_V16SF_INT): Ditto. | |
20910 | (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto. | |
20911 | (QI_FTYPE_V2DF_V2DF_INT): Ditto. | |
20912 | (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto. | |
20913 | (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto. | |
20914 | (QI_FTYPE_V4SF_V4SF_INT): Ditto. | |
20915 | (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto. | |
20916 | (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto. | |
20917 | (V16SI_FTYPE_HI): Ditto. | |
20918 | (V8DI_FTYPE_QI): Ditto. | |
20919 | (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto. | |
20920 | (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto. | |
20921 | (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto. | |
20922 | (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto. | |
20923 | (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto. | |
20924 | (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto. | |
20925 | (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto. | |
20926 | (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto. | |
20927 | (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto. | |
20928 | (V2DF_FTYPE_V2DF_V2DF_QI): Ditto. | |
20929 | (V2DF_FTYPE_V4SF_V2DF_QI): Ditto. | |
20930 | (V2DF_FTYPE_V4SI_V2DF_QI): Ditto. | |
20931 | (V4DF_FTYPE_V4DF_V4DF_QI): Ditto. | |
20932 | (V4DF_FTYPE_V4SF_V4DF_QI): Ditto. | |
20933 | (V4DF_FTYPE_V4SI_V4DF_QI): Ditto. | |
20934 | (V8DF_FTYPE_V8DF_V8DF_QI): Ditto. | |
20935 | (V8DF_FTYPE_V8SI_V8DF_QI): Ditto. | |
20936 | (V2DI_FTYPE_V4SI_V2DI_QI): Ditto. | |
20937 | (V2DI_FTYPE_V8HI_V2DI_QI): Ditto. | |
20938 | (V4DI_FTYPE_V4DF_V4DI_QI): Ditto. | |
20939 | (V2DI_FTYPE_V2DF_V2DI_QI): Ditto. | |
20940 | (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto. | |
20941 | (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto. | |
20942 | (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto. | |
20943 | (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto. | |
20944 | (V8DI_FTYPE_V8SI_V8DI_QI): Ditto. | |
20945 | (V8DI_FTYPE_V8HI_V8DI_QI): Ditto. | |
20946 | (V8DI_FTYPE_V16QI_V8DI_QI): Ditto. | |
20947 | (V2DI_FTYPE_V16QI_V2DI_QI): Ditto. | |
20948 | (V4DI_FTYPE_V16QI_V4DI_QI): Ditto. | |
20949 | (V4DI_FTYPE_V4DI_V4DI_QI): Ditto. | |
20950 | (V4DI_FTYPE_V4SI_V4DI_QI): Ditto. | |
20951 | (V4DI_FTYPE_V8HI_V4DI_QI): Ditto. | |
20952 | (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto. | |
20953 | (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto. | |
20954 | (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto. | |
20955 | (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto. | |
20956 | (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto. | |
20957 | (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto. | |
20958 | (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto. | |
20959 | (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto. | |
20960 | (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto. | |
20961 | (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto. | |
20962 | (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto. | |
20963 | (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto. | |
20964 | (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto. | |
20965 | (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto. | |
20966 | (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto. | |
20967 | (V4SF_FTYPE_V4SF_V4SF_QI): Ditto. | |
20968 | (V4SF_FTYPE_V4SI_V4SF_QI): Ditto. | |
20969 | (V8SF_FTYPE_V8SF_V8SF_QI): Ditto. | |
20970 | (V8SF_FTYPE_V8SI_V8SF_QI): Ditto. | |
20971 | (V16SF_FTYPE_V16SF_V16SF_HI): Ditto. | |
20972 | (V4SI_FTYPE_V16QI_V4SI_QI): Ditto. | |
20973 | (V4SI_FTYPE_V8HI_V4SI_QI): Ditto. | |
20974 | (V8SI_FTYPE_V8SI_V8SI_QI): Ditto. | |
20975 | (V8SI_FTYPE_V8HI_V8SI_QI): Ditto. | |
20976 | (V8SI_FTYPE_V16QI_V8SI_QI): Ditto. | |
20977 | (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto. | |
20978 | (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto. | |
20979 | (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto. | |
20980 | (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto. | |
20981 | (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto. | |
20982 | (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto. | |
20983 | (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto. | |
20984 | (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto. | |
20985 | (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto. | |
20986 | (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto. | |
20987 | (V16SF_FTYPE_V8SF_V16SF_HI): Ditto. | |
20988 | (V16SF_FTYPE_V4SF_V16SF_HI): Ditto. | |
20989 | (V8DF_FTYPE_V4DF_V8DF_QI): Ditto. | |
20990 | (V8DF_FTYPE_V2DF_V8DF_QI): Ditto. | |
20991 | (V16SI_FTYPE_V8SI_V16SI_HI): Ditto. | |
20992 | (V16SI_FTYPE_V4SI_V16SI_HI): Ditto. | |
20993 | (V16SI_FTYPE_SI_V16SI_HI): Ditto. | |
20994 | (V16SI_FTYPE_V16HI_V16SI_HI): Ditto. | |
20995 | (V16SI_FTYPE_V16QI_V16SI_HI): Ditto. | |
20996 | (V8DI_FTYPE_V4DI_V8DI_QI): Ditto. | |
20997 | (V4SI_FTYPE_V4DF_V4SI_QI): Ditto. | |
20998 | (V8DI_FTYPE_V2DI_V8DI_QI): Ditto. | |
20999 | (V8DI_FTYPE_DI_V8DI_QI): Ditto. | |
21000 | (V16QI_FTYPE_V16SI_V16QI_HI): Ditto. | |
21001 | (V16QI_FTYPE_V8DI_V16QI_QI): Ditto. | |
21002 | (V32HI_FTYPE_V32HI_V32HI_SI): Ditto. | |
21003 | (V32HI_FTYPE_V32QI_V32HI_SI): Ditto. | |
21004 | (V16HI_FTYPE_V16HI_V16HI_HI): Ditto. | |
21005 | (V16HI_FTYPE_V16QI_V16HI_HI): Ditto. | |
21006 | (V8HI_FTYPE_V16QI_V8HI_QI): Ditto. | |
21007 | (V8SF_FTYPE_V4SF_V8SF_QI): Ditto. | |
21008 | (V4DF_FTYPE_V2DF_V4DF_QI): Ditto. | |
21009 | (V8SI_FTYPE_V4SI_V8SI_QI): Ditto. | |
21010 | (V8SI_FTYPE_SI_V8SI_QI): Ditto. | |
21011 | (V4SI_FTYPE_V4SI_V4SI_QI): Ditto. | |
21012 | (V4SI_FTYPE_SI_V4SI_QI): Ditto. | |
21013 | (V4DI_FTYPE_V2DI_V4DI_QI): Ditto. | |
21014 | (V4DI_FTYPE_DI_V4DI_QI): Ditto. | |
21015 | (V2DI_FTYPE_V2DI_V2DI_QI): Ditto. | |
21016 | (V2DI_FTYPE_DI_V2DI_QI): Ditto. | |
21017 | (V64QI_FTYPE_V64QI_V64QI_DI): Ditto. | |
21018 | (V64QI_FTYPE_V16QI_V64QI_DI): Ditto. | |
21019 | (V64QI_FTYPE_QI_V64QI_DI): Ditto. | |
21020 | (V32QI_FTYPE_V32QI_V32QI_SI): Ditto. | |
21021 | (V32QI_FTYPE_V16QI_V32QI_SI): Ditto. | |
21022 | (V32QI_FTYPE_QI_V32QI_SI): Ditto. | |
21023 | (V16QI_FTYPE_V16QI_V16QI_HI): Ditto. | |
21024 | (V16QI_FTYPE_QI_V16QI_HI): Ditto. | |
21025 | (V32HI_FTYPE_V8HI_V32HI_SI): Ditto. | |
21026 | (V32HI_FTYPE_HI_V32HI_SI): Ditto. | |
21027 | (V16HI_FTYPE_V8HI_V16HI_HI): Ditto. | |
21028 | (V16HI_FTYPE_HI_V16HI_HI): Ditto. | |
21029 | (V8HI_FTYPE_V8HI_V8HI_QI): Ditto. | |
21030 | (V8HI_FTYPE_HI_V8HI_QI): Ditto. | |
21031 | (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto. | |
21032 | (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto. | |
21033 | (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto. | |
21034 | (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto. | |
21035 | (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto. | |
21036 | (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto. | |
21037 | (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto. | |
21038 | (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto. | |
21039 | (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto. | |
21040 | (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto. | |
21041 | (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto. | |
21042 | (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto. | |
21043 | (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto. | |
21044 | (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto. | |
21045 | (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto. | |
21046 | (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto. | |
21047 | (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto. | |
21048 | (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto. | |
21049 | (V16HI_FTYPE_V16SI_V16HI_HI): Ditto. | |
21050 | (V8SI_FTYPE_V8DI_V8SI_QI): Ditto. | |
21051 | (V8HI_FTYPE_V8DI_V8HI_QI): Ditto. | |
21052 | (V16QI_FTYPE_V8HI_V16QI_QI): Ditto. | |
21053 | (V16QI_FTYPE_V16HI_V16QI_HI): Ditto. | |
21054 | (V16QI_FTYPE_V4SI_V16QI_QI): Ditto. | |
21055 | (V16QI_FTYPE_V8SI_V16QI_QI): Ditto. | |
21056 | (V8HI_FTYPE_V4SI_V8HI_QI): Ditto. | |
21057 | (V8HI_FTYPE_V8SI_V8HI_QI): Ditto. | |
21058 | (V16QI_FTYPE_V2DI_V16QI_QI): Ditto. | |
21059 | (V16QI_FTYPE_V4DI_V16QI_QI): Ditto. | |
21060 | (V8HI_FTYPE_V2DI_V8HI_QI): Ditto. | |
21061 | (V8HI_FTYPE_V4DI_V8HI_QI): Ditto. | |
21062 | (V4SI_FTYPE_V2DI_V4SI_QI): Ditto. | |
21063 | (V4SI_FTYPE_V4DI_V4SI_QI): Ditto. | |
21064 | (V32QI_FTYPE_V32HI_V32QI_SI): Ditto. | |
21065 | (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto. | |
21066 | (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto. | |
21067 | (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto. | |
21068 | (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto. | |
21069 | (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto. | |
21070 | (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto. | |
21071 | (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto. | |
21072 | (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto. | |
21073 | (VOID_FTYPE_PV8DF_V8DF_QI): Ditto. | |
21074 | (VOID_FTYPE_PV8SI_V8DI_QI): Ditto. | |
21075 | (VOID_FTYPE_PV8HI_V8DI_QI): Ditto. | |
21076 | (VOID_FTYPE_PV8HI_V4DI_QI): Ditto. | |
21077 | (VOID_FTYPE_PV8HI_V2DI_QI): Ditto. | |
21078 | (VOID_FTYPE_PV4SI_V4DI_QI): Ditto. | |
21079 | (VOID_FTYPE_PV4SI_V2DI_QI): Ditto. | |
21080 | (VOID_FTYPE_PV8HI_V8SI_QI): Ditto. | |
21081 | (VOID_FTYPE_PV8HI_V4SI_QI): Ditto. | |
21082 | (VOID_FTYPE_PV4DF_V4DF_QI): Ditto. | |
21083 | (VOID_FTYPE_PV2DF_V2DF_QI): Ditto. | |
21084 | (VOID_FTYPE_PV16SF_V16SF_HI): Ditto. | |
21085 | (VOID_FTYPE_PV8SF_V8SF_QI): Ditto. | |
21086 | (VOID_FTYPE_PV4SF_V4SF_QI): Ditto. | |
21087 | (VOID_FTYPE_PV8DI_V8DI_QI): Ditto. | |
21088 | (VOID_FTYPE_PV4DI_V4DI_QI): Ditto. | |
21089 | (VOID_FTYPE_PV2DI_V2DI_QI): Ditto. | |
21090 | (VOID_FTYPE_PV16SI_V16SI_HI): Ditto. | |
21091 | (VOID_FTYPE_PV16HI_V16SI_HI): Ditto. | |
21092 | (VOID_FTYPE_PV16QI_V16SI_HI): Ditto. | |
21093 | (VOID_FTYPE_PV16QI_V8SI_QI): Ditto. | |
21094 | (VOID_FTYPE_PV16QI_V4SI_QI): Ditto. | |
21095 | (VOID_FTYPE_PV16QI_V8DI_QI): Ditto. | |
21096 | (VOID_FTYPE_PV16QI_V4DI_QI): Ditto. | |
21097 | (VOID_FTYPE_PV16QI_V2DI_QI): Ditto. | |
21098 | (VOID_FTYPE_PV8SI_V8SI_QI): Ditto. | |
21099 | (VOID_FTYPE_PV4SI_V4SI_QI): Ditto. | |
21100 | (VOID_FTYPE_PV32HI_V32HI_SI): Ditto. | |
21101 | (VOID_FTYPE_PV16HI_V16HI_HI): Ditto. | |
21102 | (VOID_FTYPE_PV8HI_V8HI_QI): Ditto. | |
21103 | (VOID_FTYPE_PV64QI_V64QI_DI): Ditto. | |
21104 | (VOID_FTYPE_PV32QI_V32QI_SI): Ditto. | |
21105 | (VOID_FTYPE_PV16QI_V16QI_HI): Ditto. | |
21106 | (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto. | |
21107 | (V8SI_FTYPE_V8SF_V8SI_QI): Ditto. | |
21108 | (V4SI_FTYPE_V4SF_V4SI_QI): Ditto. | |
21109 | (V4DI_FTYPE_V4SF_V4DI_QI): Ditto. | |
21110 | (V2DI_FTYPE_V4SF_V2DI_QI): Ditto. | |
21111 | (V4SF_FTYPE_V4DI_V4SF_QI): Ditto. | |
21112 | (V4SF_FTYPE_V2DI_V4SF_QI): Ditto. | |
21113 | (V4DF_FTYPE_V4DI_V4DF_QI): Ditto. | |
21114 | (V2DF_FTYPE_V2DI_V2DF_QI): Ditto. | |
21115 | (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto. | |
21116 | (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto. | |
21117 | (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto. | |
21118 | (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto. | |
21119 | (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto. | |
21120 | (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto. | |
21121 | (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto. | |
21122 | (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto. | |
21123 | (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto. | |
21124 | (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto. | |
21125 | (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto. | |
21126 | (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto. | |
21127 | (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto. | |
21128 | (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto. | |
21129 | (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto. | |
21130 | (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto. | |
21131 | (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto. | |
21132 | (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto. | |
21133 | (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto. | |
21134 | (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto. | |
21135 | (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto. | |
21136 | (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto. | |
21137 | (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto. | |
21138 | (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto. | |
21139 | (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto. | |
21140 | (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto. | |
21141 | (QI_FTYPE_V8DF_INT_QI): Ditto. | |
21142 | (QI_FTYPE_V4DF_INT_QI): Ditto. | |
21143 | (QI_FTYPE_V2DF_INT_QI): Ditto. | |
21144 | (HI_FTYPE_V16SF_INT_HI): Ditto. | |
21145 | (QI_FTYPE_V8SF_INT_QI): Ditto. | |
21146 | (QI_FTYPE_V4SF_INT_QI): Ditto. | |
21147 | (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto. | |
21148 | ||
21149 | 2015-07-31 Richard Biener <rguenther@suse.de> | |
21150 | ||
21151 | * gimple-fold.c (fold_gimple_assign): Remove folding of | |
21152 | GIMPLE_BINARY_RHS. | |
21153 | ||
21154 | 2015-07-31 Tom de Vries <tom@codesourcery.com> | |
21155 | ||
21156 | PR tree-optimization/66846 | |
21157 | * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call | |
21158 | verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP. | |
21159 | (expand_omp_target) [ENABLE_CHECKING]: Same. | |
21160 | (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for | |
21161 | cfun if !LOOPS_NEED_FIXUP. | |
21162 | (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case | |
21163 | that omp_for already has its own loop struct. | |
21164 | * tree-parloops.c (create_phi_for_local_result) | |
21165 | (create_call_for_reduction): Handle simple latch bb. | |
21166 | (create_parallel_loop): Add simple latch bb to preserve | |
21167 | LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb. | |
21168 | (gen_parallel_loop): Remove call to cancel_loop_tree. | |
21169 | (parallelize_loops): Skip loops that are inner loops of parallelized | |
21170 | loops. | |
21171 | (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call | |
21172 | verify_loop_structure. | |
21173 | ||
21174 | 2015-07-30 Anatoly Sokolov <aesok@post.ru> | |
21175 | ||
21176 | * config/v850/v850.h (LIBCALL_VALUE): Remove macros. | |
21177 | * config/v850/v850.md (RV_REGNUM): New constants. | |
21178 | * config/v850/v850.c (v850_libcall_value): New functions. | |
21179 | (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM. | |
21180 | (TARGET_LIBCALL_VALUE): Define. | |
21181 | ||
21182 | 2015-07-30 Anatoly Sokolov <aesok@post.ru> | |
21183 | ||
21184 | * rtl.h (lowpart_subreg): Move in file. | |
21185 | * loop-iv.c (lowpart_subreg): Move to... | |
21186 | * simplify-rtx.c (lowpart_subreg): ...here. | |
21187 | (simplify_binary_operation_1): Use lowpart_subreg instead of | |
21188 | simplify_gen_subreg. | |
21189 | * expr.c (expand_expr_real_2): Ditto. | |
21190 | * emit-rtl.c (gen_lowpart_common): Ditto. | |
21191 | * combine.c (gen_lowpart_for_combine): Ditto. | |
21192 | * cfgexpand.c (convert_debug_memory_address, expand_debug_expr, | |
21193 | expand_debug_source_expr): Ditto. | |
21194 | ||
21195 | 2015-07-30 Richard Sandiford <richard.sandiford@arm.com> | |
21196 | ||
21197 | * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete. | |
21198 | (expand_builtin_atomic_clear): Remove support for atomic_clear | |
21199 | pattern. | |
21200 | ||
21201 | 2015-07-30 Richard Biener <rguenther@suse.de> | |
21202 | ||
21203 | * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison | |
21204 | binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ... | |
21205 | (fold_stmt_1): ... here and work on GIMPLE directly. Remove | |
21206 | redundant operand canonicalization. | |
21207 | ||
21208 | 2015-07-30 David Sherwood <david.sherwood@arm.com> | |
21209 | ||
21210 | * config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to | |
21211 | GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m). | |
21212 | * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise. | |
21213 | * config/arm/arm.c (neon_valid_immediate): Likewise. | |
21214 | * config/i386/i386.c (classify_argument, ix86_expand_int_vcond) | |
21215 | (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise. | |
21216 | (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise. | |
21217 | (expand_vec_perm_vpshufb2_vpermq): Likewise. | |
21218 | (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise. | |
21219 | (expand_vec_perm_vpshufb4_vpermq2): Likewise. | |
21220 | * config/i386/sse.md | |
21221 | (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise. | |
21222 | (*ssse3_palignr<mode>_perm): Likewise. | |
21223 | * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise. | |
21224 | * config/spu/spu.c (arith_immediate_p): Likewise. | |
21225 | * simplify-rtx.c (simplify_const_unary_operation): Likewise. | |
21226 | (simplify_binary_operation_1, simplify_ternary_operation): Likewise. | |
21227 | ||
21228 | 2015-07-30 Richard Biener <rguenther@suse.de> | |
21229 | ||
21230 | * genmatch.c (decision_tree::gen_gimple): Merge with ... | |
21231 | (decision_tree::gen_generic): ... this into ... | |
21232 | (decision_tree::gen): ... this. | |
21233 | (main): Adjust callers. | |
21234 | ||
21235 | 2015-07-30 Richard Biener <rguenther@suse.de> | |
21236 | ||
21237 | * genmatch.c (verbose): New global. | |
21238 | (warning_at): Add overload with source_location. | |
21239 | (capture_info::capture_info): Add bool whether generating gimple | |
21240 | or generic. Add gimple member. | |
21241 | (capture_info::cinfo): Add capture member. | |
21242 | (capture_info::walk_match): Record capture. Warn on | |
21243 | non-captured leafs. | |
21244 | (capture_info::walk_c_expr): Add more fragments captures cannot | |
21245 | escape through. Warn on escaped captures. | |
21246 | (dt_simplify::gen_1): Warn on operands we force to have no | |
21247 | side-effects. | |
21248 | (main): Initialize verbose. | |
21249 | * match.pd: Add integer_nonzerop and HONOR_NANS predicates. | |
21250 | ||
21251 | 2015-07-30 Richard Biener <rguenther@suse.de> | |
21252 | ||
21253 | PR middle-end/67053 | |
21254 | * match.pd: Allow both operands to independently have conversion | |
21255 | when simplifying compares of addresses. | |
21256 | ||
21257 | 2015-07-29 Segher Boessenkool <segher@kernel.crashing.org> | |
21258 | ||
21259 | PR target/66217 | |
21260 | PR target/67045 | |
21261 | * config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check | |
21262 | around those cases that need one. | |
21263 | ||
21264 | 2015-07-29 Aditya Kumar <hiraditya@msn.com> | |
21265 | ||
21266 | * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3. | |
21267 | ||
21268 | 2015-07-29 H.J. Lu <hongjiu.lu@intel.com> | |
21269 | ||
21270 | * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE): | |
21271 | New. Copied from config/i386/gnu-user.h. | |
21272 | (ASM_COMMENT_START): Likewise. | |
21273 | (DBX_REGISTER_NUMBER): Likewise. | |
21274 | ||
21275 | 2015-07-29 Richard Biener <rguenther@suse.de> | |
21276 | ||
21277 | * gimple-fold.c (fold_gimple_cond): Remove. | |
21278 | (fold_stmt_1): Do not call it. | |
21279 | ||
21280 | 2015-07-29 Alan Lawrence <alan.lawrence@arm.com> | |
21281 | ||
21282 | * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New. | |
21283 | (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16. | |
21284 | ||
21285 | * config/aarch64/aarch64-modes.def: Add HFmode. | |
21286 | ||
21287 | * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define | |
21288 | __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP. | |
21289 | ||
21290 | * config/aarch64/aarch64.c (aarch64_init_libfuncs, | |
21291 | aarch64_promoted_type): New. | |
21292 | ||
21293 | (aarch64_float_const_representable_p): Disable HFmode. | |
21294 | (aarch64_mangle_type): Mangle half-precision floats to "Dh". | |
21295 | (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type. | |
21296 | (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs. | |
21297 | ||
21298 | * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16. | |
21299 | (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New. | |
21300 | ||
21301 | * config/aarch64/iterators.md (GPF_F16): New. | |
21302 | ||
21303 | 2015-07-29 Richard Biener <rguenther@suse.de> | |
21304 | ||
21305 | * match.pd: Merge address comparison patterns and make them | |
21306 | handle some more cases. | |
21307 | ||
21308 | 2015-07-29 Richard Biener <rguenther@suse.de> | |
21309 | ||
21310 | * genmatch.c (c_expr::gen_transform): Error on unknown captures. | |
21311 | (parser::parse_capture): Add bool argument on whether to reject | |
21312 | unknown captures. | |
21313 | (parser::parse_expr): Adjust. | |
21314 | (parser::parse_op): Likewise. | |
21315 | (parser::parse_pattern): Likewise. | |
21316 | ||
21317 | 2015-07-29 Richard Biener <rguenther@suse.de> | |
21318 | ||
21319 | * gimple-fold.c (has_use_on_stmt): New function. | |
21320 | (replace_stmt_with_simplification): Use it to allow | |
21321 | abnormals originally referenced in the stmt. | |
21322 | (fold_stmt_1): Canonicalize operand order. | |
21323 | ||
21324 | 2015-07-28 David Sherwood <david.sherwood@arm.com> | |
21325 | ||
21326 | * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call | |
21327 | GET_MODE_INNER unconditionally. | |
21328 | * config/spu/spu.c (arith_immediate_p): Likewise. | |
21329 | * config/i386/i386.c (ix86_build_signbit_mask): Likewise. | |
21330 | * expmed.c (synth_mult): Remove check for VOIDmode result from | |
21331 | GET_MODE_INNER. | |
21332 | (expand_mult_const): Likewise. | |
21333 | * fold-const.c (fold_binary_loc): Replace call to element_precision | |
21334 | with call to GET_MODE_PRECISION. | |
21335 | * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with | |
21336 | m->name. | |
21337 | (emit_mode_inner): Likewise. | |
21338 | * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER | |
21339 | result check. | |
21340 | * machmode.h (GET_MODE_UNIT_SIZE): Simplify. | |
21341 | (GET_MODE_UNIT_PRECISION): Likewise. | |
21342 | * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally. | |
21343 | * simplify-rtx.c (simplify_immed_subreg): Likewise. | |
21344 | * stor-layout.c (bitwise_type_for_mode): Update assert. | |
21345 | (element_precision): Remove. | |
21346 | ||
21347 | 2015-07-28 Richard Sandiford <richard.sandiford@arm.com> | |
21348 | ||
21349 | * target-insns.def (reload_load_address): New targetm instruction | |
21350 | pattern. | |
21351 | * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface. | |
21352 | ||
21353 | 2015-07-28 Richard Sandiford <richard.sandiford@arm.com> | |
21354 | ||
21355 | * target-insns.def (atomic_test_and_set): New targetm instruction | |
21356 | pattern. | |
21357 | * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of | |
21358 | HAVE_*/gen_* interface. | |
21359 | ||
21360 | 2015-07-28 Richard Sandiford <richard.sandiford@arm.com> | |
21361 | ||
21362 | * target-insns.def (can_extend, ptr_extend): New targetm instruction | |
21363 | patterns. | |
21364 | * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface. | |
21365 | * simplify-rtx.c (simplify_unary_operation_1): Likewise. | |
21366 | * emit-rtl.c (set_reg_attrs_from_value): Likewise. | |
21367 | * rtlanal.c (nonzero_bits1): Likewise. | |
21368 | (num_sign_bit_copies1): Likewise. | |
21369 | ||
21370 | 2015-07-28 Richard Sandiford <richard.sandiford@arm.com> | |
21371 | ||
21372 | * target-insns.def (eh_return): New targetm instruction pattern. | |
21373 | * except.c (expand_eh_return): Use it instead of HAVE_*/gen_* | |
21374 | interface. | |
21375 | * function.c (thread_prologue_and_epilogue_insns): Remove | |
21376 | preprocessor condition. | |
21377 | ||
21378 | 2015-07-28 Richard Sandiford <richard.sandiford@arm.com> | |
21379 | ||
21380 | * target-insns.def (indirect_jump): New targetm instruction pattern. | |
21381 | * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_* | |
21382 | interface. | |
21383 | ||
21384 | 2015-07-28 Richard Sandiford <richard.sandiford@arm.com> | |
21385 | ||
21386 | * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand | |
21387 | instead of nonimmediate_operand. Remove C condiition. | |
21388 | ||
21389 | 2015-07-28 Richard Biener <rguenther@suse.de> | |
21390 | ||
21391 | * match.pd: Add more simplification of address comparisons. | |
21392 | ||
21393 | 2015-07-28 Richard Biener <rguenther@suse.de> | |
21394 | ||
21395 | * match.pd: Re-order two cases in comparison with max/min | |
21396 | value simplification to make it apply for bools. | |
21397 | ||
21398 | 2015-07-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
21399 | ||
21400 | * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): | |
21401 | Handle simple SIGN_EXTEND or ZERO_EXTEND. | |
21402 | (aarch64_rtx_costs): Properly strip extend or extract before | |
21403 | passing down to rtx costs again. | |
21404 | ||
21405 | 2015-07-28 Nick Clifton <nickc@redhat.com> | |
21406 | ||
21407 | * config/rl78/rl78.c (rl78_addsi3_internal): New function. | |
21408 | Optimizes the case where -mes0 is active and a constant symbolic | |
21409 | address is used. | |
21410 | * config/rl78/rl78-protos.h: Prototype the new function. | |
21411 | * config/rl78/rl78.md (addsi3_internal_real): Call new function. | |
21412 | ||
21413 | 2015-07-28 Tom de Vries <tom@codesourcery.com> | |
21414 | ||
21415 | * tree-parloops.c (reduc_stmt_res): New function. | |
21416 | (initialize_reductions, add_field_for_reduction) | |
21417 | (create_phi_for_local_result, create_loads_for_reductions) | |
21418 | (create_stores_for_reduction, build_new_reduction): Handle case that | |
21419 | reduc_stmt is a phi. | |
21420 | (gather_scalar_reductions): Allow double_reduc reductions. | |
21421 | ||
21422 | 2015-07-28 Richard Biener <rguenther@suse.de> | |
21423 | ||
21424 | * fold-const.c (fold_comparison): Remove equality folding | |
21425 | of decl addresses ... | |
21426 | * match.pd: ... here and merge with existing pattern. | |
21427 | ||
21428 | 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
21429 | ||
21430 | PR tree-optimization/66828 | |
21431 | * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc | |
21432 | from int64_t to uint64_t. | |
21433 | ||
21434 | 2015-07-28 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
21435 | ||
21436 | * opts-common.c (read_cmdline_option): List DriverOnly enum values | |
21437 | as valid only in the error message of the driver, not in the | |
21438 | messages of the language compilers. | |
21439 | ||
21440 | 2015-07-27 Tom de Vries <tom@codesourcery.com> | |
21441 | ||
21442 | * tree-parloops.c (gather_scalar_reductions): Simplify function | |
21443 | structure. | |
21444 | ||
21445 | 2015-07-27 Marek Polacek <polacek@redhat.com> | |
21446 | ||
21447 | * ipa-devirt.c (types_same_for_odr): Fix typo. | |
21448 | ||
21449 | 2015-07-27 Jason Merrill <jason@redhat.com> | |
21450 | ||
21451 | PR debug/66468 | |
21452 | * dwarf2out.c (gen_inlined_subroutine_die): Check | |
21453 | cgraph_function_possibly_inlined_p. | |
21454 | ||
21455 | 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com> | |
21456 | ||
21457 | * config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3): | |
21458 | Place integer variant first. | |
21459 | (aarch64_ashr_sisd_or_int_<mode>3): Likewise. | |
21460 | ||
21461 | 2015-07-27 Alan Lawrence <alan.lawrence@arm.com> | |
21462 | ||
21463 | PR/63870 | |
21464 | * config/arm/arm-builtins.c (enum arm_builtins): | |
21465 | Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK. | |
21466 | (ARM_BUILTIN_NEON_BASE): Rename macro to.... | |
21467 | (ARM_BUILTIN_NEON_PATTERN_START): ...this. | |
21468 | (arm_init_neon_builtins): Register __builtin_arm_lane_check. | |
21469 | (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK. | |
21470 | ||
21471 | 2015-07-27 Alan Lawrence <alan.lawrence@arm.com> | |
21472 | ||
21473 | PR/63870 | |
21474 | * config/arm/arm-builtins.c (enum arm_type_qualifiers): | |
21475 | Add qualifier_lane_index. | |
21476 | (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New. | |
21477 | (arm_getlane_qualifiers): Use qualifier_lane_index. | |
21478 | (arm_lanemac_qualifiers): Rename to... | |
21479 | (arm_mac_n_qualifiers): ...this. | |
21480 | (LANEMAC_QUALIFIERS): Rename to... | |
21481 | (MAC_N_QUALIFIERS): ...this. | |
21482 | (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New. | |
21483 | (arm_setlane_qualifiers): Use qualifier_lane_index. | |
21484 | (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New. | |
21485 | (enum builtin_arg): Add NEON_ARG_LANE_INDEX. | |
21486 | (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX. | |
21487 | (arm_expand_neon_builtin): Handle qualifier_lane_index. | |
21488 | ||
21489 | * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter. | |
21490 | * config/arm/arm.c (bounds_check): Likewise, improve error message. | |
21491 | (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check. | |
21492 | * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n, | |
21493 | vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n, | |
21494 | vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n, | |
21495 | vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM. | |
21496 | (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change | |
21497 | qualifiers to TERNOP_IMM. | |
21498 | (vdup_lane): Change qualifiers to GETLANE. | |
21499 | (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane, | |
21500 | vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE. | |
21501 | (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n, | |
21502 | vqdmlsl_n): Change qualifiers to MAC_N. | |
21503 | ||
21504 | * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>, | |
21505 | neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>, | |
21506 | neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi, | |
21507 | neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>, | |
21508 | neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>, | |
21509 | neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>, | |
21510 | neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>, | |
21511 | neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>, | |
21512 | neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>): | |
21513 | Remove call to neon_lane_bounds. | |
21514 | ||
21515 | 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com> | |
21516 | ||
21517 | * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3): | |
21518 | Place integer variant first. | |
21519 | ||
21520 | 2015-07-27 Matthew Wahab <matthew.wahab@arm.com> | |
21521 | ||
21522 | * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ | |
21523 | and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ. | |
21524 | * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__" | |
21525 | for armv6kz targets. | |
21526 | * config/arm/arm-cores.def: Replace 6ZK with 6KZ. | |
21527 | * config/arm/arm-protos.h (FL_ARCH6KZ): New. | |
21528 | (FL_FOR_ARCH6ZK): Remove. | |
21529 | (FL_FOR_ARCH6KZ): New. | |
21530 | (arm_arch6zk): New declaration. | |
21531 | * config/arm/arm-tables.opt: Regenerate. | |
21532 | * config/arm/arm.c (arm_arch6kz): New. | |
21533 | (arm_option_override): Set arm_arch6kz. | |
21534 | * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ. | |
21535 | * config/arm/driver-arm.c: Add comment to "armv6zk" entry. | |
21536 | * doc/invoke.texi: Replace "armv6zk" with "armv6kz". | |
21537 | ||
21538 | 2015-07-27 Marek Polacek <polacek@redhat.com> | |
21539 | ||
21540 | PR c++/66555 | |
21541 | PR c/54979 | |
21542 | * doc/invoke.texi: Document -Wtautological-compare. | |
21543 | ||
21544 | 2015-07-27 Richard Biener <rguenther@suse.de> | |
21545 | ||
21546 | * genmatch.c (decision_tree::gen_gimple): Split out large | |
21547 | subtrees into separate functions. | |
21548 | (decision_tree::gen_generic): Likewise. | |
21549 | ||
21550 | 2015-07-26 Uros Bizjak <ubizjak@gmail.com> | |
21551 | ||
21552 | * config/alpha/alpha.c: Use SUBREG_P predicate. | |
21553 | * config/alpha/predicates.md: Ditto. | |
21554 | ||
21555 | 2015-07-25 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
21556 | ||
21557 | * config.host (s390*-*-*): Include driver-native.c only when | |
21558 | building with s390* as host *and* target. | |
21559 | ||
21560 | 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org> | |
21561 | ||
21562 | PR target/66930 | |
21563 | * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing | |
21564 | T bit register modified_between_p check. | |
21565 | ||
21566 | 2015-07-25 Uros Bizjak <ubizjak@gmail.com> | |
21567 | ||
21568 | * config/i386/i386.c: Use SUBREG_P predicate. | |
21569 | * config/i386/i386.md: Ditto. | |
21570 | * config/i386/sse.md: Ditto. | |
21571 | * config/i386/predicates.md: Ditto. | |
21572 | ||
21573 | 2015-07-25 Uros Bizjak <ubizjak@gmail.com> | |
21574 | ||
21575 | PR target/67004 | |
21576 | * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN) | |
21577 | predicate and INSN_CODE (INSN) >= 0 to check for valid instruction. | |
21578 | ||
21579 | 2015-07-25 Sebastian Pop <s.pop@samsung.com> | |
21580 | ||
21581 | * Makefile.in: Remove use of TREEBROWSER. | |
21582 | * config.in: Regenerated. | |
21583 | * configure: Regenerated. | |
21584 | * configure.ac: Remove definition of TREEBROWSER. | |
21585 | * tree-browser.c: Removed. | |
21586 | * tree-browser.def: Removed. | |
21587 | ||
21588 | 2015-07-25 Sebastian Pop <s.pop@samsung.com> | |
21589 | ||
21590 | * graphite-scop-detection.c: Include gimple-pretty-print.h. | |
21591 | (stmt_simple_for_scop_p): Print when a stmt is not handled in | |
21592 | Graphite. | |
21593 | (scopdet_basic_block_info): Print when a loop or bb cannot be | |
21594 | represented in Graphite. | |
21595 | ||
21596 | 2015-07-25 Uros Bizjak <ubizjak@gmail.com> | |
21597 | ||
21598 | PR target/66648 | |
21599 | * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop | |
21600 | execution guard when min_size is less than size_needed. | |
21601 | ||
21602 | 2015-07-25 Sebastian Pop <s.pop@samsung.com> | |
21603 | ||
21604 | * doc/install.texi: Document supported versions of ISL. | |
21605 | ||
21606 | 2015-07-25 Jeff Law <law@redhat.com> | |
21607 | ||
21608 | Revert: | |
21609 | PR lto/66752 | |
21610 | * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are | |
21611 | unable to find X NE 0 in the tables, return X as the simplified | |
21612 | condition. | |
21613 | (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are | |
21614 | in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH | |
21615 | to VISISTED_BBS. */ | |
21616 | * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags | |
21617 | after removing the control flow statement and unnecessary edges. | |
21618 | ||
21619 | 2015-07-25 David Edelsohn <dje.gcc@gmail.com> | |
21620 | ||
21621 | Revert: | |
21622 | 2015-07-23 Alexandre Oliva <aoliva@redhat.com> | |
21623 | ||
21624 | PR rtl-optimization/64164 | |
21625 | * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. | |
21626 | * tree-ssa-copyrename.c: Removed. | |
21627 | * opts.c (default_options_table): Drop -ftree-copyrename. Add | |
21628 | -ftree-coalesce-vars. | |
21629 | * passes.def: Drop all occurrences of pass_rename_ssa_copies. | |
21630 | * common.opt (ftree-copyrename): Ignore. | |
21631 | (ftree-coalesce-inlined-vars): Likewise. | |
21632 | * doc/invoke.texi: Remove the ignored options above. | |
21633 | * gimple-expr.h (gimple_can_coalesce_p): Move declaration | |
21634 | * tree-ssa-coalesce.h: ... here. | |
21635 | * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other | |
21636 | headers required by it. | |
21637 | * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing | |
21638 | across variables when flag_tree_coalesce_vars. Check register | |
21639 | use and promoted modes to allow coalescing. Moved to | |
21640 | tree-ssa-coalesce.c. | |
21641 | * tree-ssa-live.c (struct tree_int_map_hasher): Move along | |
21642 | with its member functions to tree-ssa-coalesce.c. | |
21643 | (var_map_base_init): Likewise. Renamed to | |
21644 | compute_samebase_partition_bases. | |
21645 | (partition_view_normal): Drop want_bases parameter. | |
21646 | (partition_view_bitmap): Likewise. | |
21647 | * tree-ssa-live.h: Adjust declarations. | |
21648 | * tree-ssa-coalesce.c: Include explow.h. | |
21649 | (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's | |
21650 | default defs at the entry point. | |
21651 | (dump_part_var_map): New. | |
21652 | (compute_optimized_partition_bases): New, called by... | |
21653 | (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead | |
21654 | of compute_samebase_partition_bases. Adjust. | |
21655 | * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. | |
21656 | * cfgexpand.c (leader_merge): New. | |
21657 | (get_rtl_for_parm_ssa_default_def): New. | |
21658 | (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA | |
21659 | vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. | |
21660 | (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop | |
21661 | redundant MEM attr setting. | |
21662 | (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed | |
21663 | from... | |
21664 | (expand_one_stack_var): ... this. New wrapper to check and | |
21665 | skip already expanded SSA partitions. | |
21666 | (record_alignment_for_reg_var): New, factored out of... | |
21667 | (expand_one_var): ... this. | |
21668 | (expand_one_ssa_partition): New. | |
21669 | (adjust_one_expanded_partition_var): New. | |
21670 | (expand_one_register_var): Check and skip already expanded SSA | |
21671 | partitions. | |
21672 | (expand_used_vars): Don't create DECLs for anonymous SSA | |
21673 | names. Expand all SSA partitions, then adjust all SSA names. | |
21674 | (pass::execute): Replace the loops that set | |
21675 | SA.partition_to_pseudo from partition leaders and cleared | |
21676 | DECL_RTL for multi-location variables, and that which used to | |
21677 | rename vars and set attrs, with one that clears DECL_RTL and | |
21678 | checks that PARMs and RESULTs default_defs match DECL_RTL. | |
21679 | * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. | |
21680 | * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. | |
21681 | * explow.c (promote_ssa_mode): New. | |
21682 | * explow.h (promote_ssa_mode): Declare. | |
21683 | * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. | |
21684 | * function.c: Include cfgexpand.h. | |
21685 | (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. | |
21686 | (use_register_for_parm_decl): Wrapper for the above to | |
21687 | special-case the result_ptr. | |
21688 | (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. | |
21689 | (split_complex_args): Take assign_parm_data_all argument. | |
21690 | Pass it to rtl_for_parm. Set up rtl and context for split | |
21691 | args. | |
21692 | (assign_parms_augmented_arg_list): Adjust. | |
21693 | (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with | |
21694 | multiple locations. Recognize split complex args. | |
21695 | (assign_parm_adjust_stack_rtl): Add all and parm arguments, | |
21696 | for rtl_for_parm. For SSA-assigned parms, zero stack_parm. | |
21697 | (assign_parm_setup_block): Prefer SSA-assigned location. | |
21698 | (assign_parm_setup_reg): Likewise. Use entry_parm for equiv | |
21699 | if stack_parm is NULL. | |
21700 | (assign_parm_setup_stack): Prefer SSA-assigned location. | |
21701 | (assign_parms): Maybe reset DECL_RTL of params. Adjust stack | |
21702 | rtl before testing for pointer bounds. Special-case result_ptr. | |
21703 | (expand_function_start): Maybe reset DECL_RTL of result. | |
21704 | Prefer SSA-assigned location for result and static chain. | |
21705 | Factor out DECL_RESULT and SET_DECL_RTL. | |
21706 | * tree-outof-ssa.c (insert_value_copy_on_edge): Handle | |
21707 | anonymous SSA names. Use promote_ssa_mode. | |
21708 | (get_temp_reg): Likewise. | |
21709 | (remove_ssa_form): Adjust. | |
21710 | * stor-layout.c (layout_decl): Don't set mem attributes of | |
21711 | non-MEMs. | |
21712 | * var-tracking.c (dataflow_set_clear_at_call): Take call_insn | |
21713 | and get its reg_usage for reg invalidation. | |
21714 | (compute_bb_dataflow): Pass it insn. | |
21715 | (emit_notes_in_bb): Likewise. | |
21716 | ||
21717 | 2015-07-25 Uros Bizjak <ubizjak@gmail.com> | |
21718 | ||
21719 | * config/i386/i386.c (ix86_va_start): Remove | |
21720 | unneeded !TARGET_64BIT check. | |
21721 | (ix86_gimplify_va_arg): Ditto. | |
21722 | ||
21723 | 2015-07-24 Tom de Vries <tom@codesourcery.com> | |
21724 | ||
21725 | * graphite-sese-to-poly.c (build_poly_scop): Always call | |
21726 | rewrite_commutative_reductions_out_of_ssa. | |
21727 | ||
21728 | 2015-07-24 Tom de Vries <tom@codesourcery.com> | |
21729 | ||
21730 | * graphite-sese-to-poly.c (is_reduction_operation_p): Limit | |
21731 | flag_associative_math to FLOAT_TYPE_P. Honour | |
21732 | TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types. | |
21733 | ||
21734 | 2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
21735 | ||
21736 | PR c++/64079 | |
21737 | * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION | |
21738 | and "%qD" in warning_at instead of "%q+D" in warning. | |
21739 | ||
21740 | 2015-07-24 Uros Bizjak <ubizjak@gmail.com> | |
21741 | ||
21742 | * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi. | |
21743 | (ix86_function_abi): Cleanup. | |
21744 | ||
21745 | 2015-07-24 Michael Darling <darlingm@gmail.com> | |
21746 | ||
21747 | PR other/66259 | |
21748 | * acinclude.m4: Reflects renaming of configure.in to configure.ac | |
21749 | * configure: Likewise | |
21750 | * configure.ac: Likewise | |
21751 | * doc/install.texi: Likewise | |
21752 | * doc/tm.texi: Likewise | |
21753 | * doc/tm.texi.in: Likewise | |
21754 | ||
21755 | 2015-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
21756 | ||
21757 | * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of | |
21758 | manually swapping values. | |
21759 | * cse.c (fold_rtx): Likewise. | |
21760 | * lra-eliminations.c (form_sum): Likewise. | |
21761 | ||
21762 | 2015-07-24 Uros Bizjak <ubizjak@gmail.com> | |
21763 | ||
21764 | PR target/64003 | |
21765 | * config/i386/i386.h (ADJUST_INSN_LENGTH): New define. | |
21766 | * config/i386/i386.md (maybe_prefix_bnd): New attribute. | |
21767 | (*jcc_1, *jcc_2, jump, simple_return_internal) | |
21768 | (simple_return_pop_internal): Set attribute maybe_prefix_bnd. | |
21769 | Set length_nobnd attribute instead of length attribute. | |
21770 | (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd. | |
21771 | (length_nobnd): Remove attribute. | |
21772 | (length): Remove length_nobnd processing. | |
21773 | ||
21774 | 2015-07-24 Nathan Sidwell <nathan@codesourcery.com> | |
21775 | ||
21776 | * gimplify.c (omp_default_clause): New function. Reorganize flow | |
21777 | for clarity. Broken out of ... | |
21778 | (omp_notice_variable): ... here. | |
21779 | ||
21780 | 2015-07-24 Gary Funck <gary@intrepid.com> | |
21781 | ||
21782 | PR middle-end/66984 | |
21783 | * fold-const.c (fold_binary_loc): Call fold_convert on arguments to | |
21784 | fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization. | |
21785 | ||
21786 | 2015-07-24 Tom de Vries <tom@codesourcery.com> | |
21787 | ||
21788 | * tree-parloops.c (gen_parallel_loop): Add debug print for alternative | |
21789 | exit-first loop transform. | |
21790 | ||
21791 | 2015-07-24 Cesar Philippidis <cesar@codesourcery.com> | |
21792 | ||
21793 | PR 66714 | |
21794 | * tree-cfg.c (struct replace_decls_d): New struct. | |
21795 | (replace_block_vars_by_duplicates_1): New function. | |
21796 | (replace_block_vars_by_duplicates): Use it to replace the decls | |
21797 | in the value exprs by duplicates. | |
21798 | ||
21799 | 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
21800 | ||
21801 | * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static, | |
21802 | -shared, -symbolic, -rdynamic. | |
21803 | ||
21804 | 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
21805 | ||
21806 | PR target/65711 | |
21807 | * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move | |
21808 | -dynamic-linker within %{!static %{!shared, and -rdynamic within | |
21809 | %{!static. | |
21810 | ||
21811 | 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com> | |
21812 | ||
21813 | PR ipa/66566 | |
21814 | * ipa-inline-analysis.c (estimate_calls_size_and_time): Check | |
21815 | edge summary is available. | |
21816 | ||
21817 | 2015-07-24 Richard Biener <rguenther@suse.de> | |
21818 | ||
21819 | * genmatch.c (struct dt_node): Add statistic fields. | |
21820 | (dt_node::analyze): New method. | |
21821 | (decision_tree::gen_gimple): Call analyze on the root node | |
21822 | and print statistics to stderr. | |
21823 | (decision_tree::gen_generic): Likewise. | |
21824 | ||
21825 | 2015-07-24 Richard Biener <rguenther@suse.de> | |
21826 | ||
21827 | * fold-const.c (fold_binary_loc): Move simplifying of comparisons | |
21828 | against the highest or lowest possible integer ... | |
21829 | * match.pd: ... as patterns here. | |
21830 | ||
21831 | 2015-07-24 Richard Biener <rguenther@suse.de> | |
21832 | ||
21833 | * genmatch.c (struct capture_info): Add same_as field. | |
21834 | (capture_info::capture_info): Initialize same_as. | |
21835 | (capture_info::walk_match): Compute same_as. | |
21836 | (capture_info::walk_result): Compute stuff for the leader. | |
21837 | (capture_info::walk_c_expr): Likewise. | |
21838 | (dt_simplify::gen_1): Only look at leaders when deciding | |
21839 | to force no side-effects or emit side-effects of omitted operands. | |
21840 | ||
21841 | 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
21842 | ||
21843 | * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER | |
21844 | reg note to the GPR -> FPR save instructions. | |
21845 | ||
21846 | 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
21847 | ||
21848 | * config/s390/s390.c (s390_rtx_costs): Make risbg patterns | |
21849 | cheaper. | |
21850 | (s390_expand_insv): Don't generate risbg pattern for constant zero | |
21851 | sources. | |
21852 | * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft") | |
21853 | ("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New | |
21854 | splitters. | |
21855 | ||
21856 | 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
21857 | ||
21858 | * config/s390/s390.c (s390_reorg): Clean up handling of processors | |
21859 | with | |
21860 | -mtune= | |
21861 | (s390_issue_rate): Likewise. | |
21862 | (s390_sched_reorder): Likewise. | |
21863 | (s390_sched_variable_issue): Likewise. | |
21864 | (s390_loop_unroll_adjust): Likewise. | |
21865 | (s390_option_override): Likewise. | |
21866 | ||
21867 | 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
21868 | ||
21869 | * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle | |
21870 | processor capabilities with -march=native. | |
21871 | * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise. | |
21872 | (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit. | |
21873 | (S390_TARGET_BITS_STRING): Macro to simplify specs. | |
21874 | ||
21875 | 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
21876 | ||
21877 | * config/s390/s390.c (s390_issue_rate): Handle | |
21878 | PROCESSOR_2094_Z9_EC. | |
21879 | (s390_option_override): Likewise. | |
21880 | (s390_adjust_priority): Likewise. | |
21881 | ||
21882 | 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
21883 | ||
21884 | * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS | |
21885 | when cross compiling. | |
21886 | ||
21887 | 2015-07-24 Richard Biener <rguenther@suse.de> | |
21888 | ||
21889 | * fold-const.c (maybe_canonicalize_comparison_1): Move | |
21890 | A code CST canonicalization ... | |
21891 | * match.pd: ... to a pattern here. | |
21892 | ||
21893 | 2015-07-24 Jiong Wang <jiong.wang@arm.com> | |
21894 | ||
21895 | Revert: | |
21896 | 2015-07-22 Jiong Wang <jiong.wang@arm.com> | |
21897 | PR target/63521 | |
21898 | * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define. | |
21899 | (HONOR_REG_ALLOC_ORDER): Define. | |
21900 | ||
21901 | 2015-07-24 Richard Biener <rguenther@suse.de> | |
21902 | ||
21903 | * genmatch.c (add_operator): Allow SSA_NAME as predicate. | |
21904 | * fold-const.c (fold_comparison): Move parameter does not | |
21905 | alias &local simplification ... | |
21906 | * match.pd: ... as a pattern here. | |
21907 | ||
21908 | 2015-07-24 Richard Biener <rguenther@suse.de> | |
21909 | ||
21910 | * gimple-fold.c (replace_stmt_with_simplification): Special-case | |
21911 | valueizing call operands. | |
21912 | * gimple-match-head.c (maybe_push_res_to_seq): Take | |
21913 | number of call arguments from ops array. | |
21914 | (do_valueize): New function. | |
21915 | (gimple_simplify): Return true if valueization changed | |
21916 | any operand even if the result didn't simplify further. | |
21917 | ||
21918 | 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
21919 | ||
21920 | PR middle-end/25530 | |
21921 | * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier. | |
21922 | ||
21923 | 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
21924 | ||
21925 | PR middle-end/25529 | |
21926 | * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier. | |
21927 | ||
21928 | 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org> | |
21929 | ||
21930 | * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to | |
21931 | instruction. | |
21932 | ||
21933 | 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org> | |
21934 | ||
21935 | * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor | |
21936 | clean up. | |
21937 | ||
21938 | 2015-07-23 Uros Bizjak <ubizjak@gmail.com> | |
21939 | ||
21940 | * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename | |
21941 | from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI | |
21942 | targets here. | |
21943 | (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and | |
21944 | ms_va_list_type_node initialization. | |
21945 | ||
21946 | 2015-07-23 Jeff Law <law@redhat.com> | |
21947 | ||
21948 | PR lto/66752 | |
21949 | * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are | |
21950 | unable to find X NE 0 in the tables, return X as the simplified | |
21951 | condition. | |
21952 | (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are | |
21953 | in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH | |
21954 | to VISISTED_BBS. */ | |
21955 | * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags | |
21956 | after removing the control flow statement and unnecessary edges. | |
21957 | ||
21958 | 2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
21959 | ||
21960 | * tree-pass.h (get_current_pass_name): Removed. | |
21961 | ||
21962 | 2015-07-23 Alexandre Oliva <aoliva@redhat.com> | |
21963 | ||
21964 | PR rtl-optimization/64164 | |
21965 | * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. | |
21966 | * tree-ssa-copyrename.c: Removed. | |
21967 | * opts.c (default_options_table): Drop -ftree-copyrename. Add | |
21968 | -ftree-coalesce-vars. | |
21969 | * passes.def: Drop all occurrences of pass_rename_ssa_copies. | |
21970 | * common.opt (ftree-copyrename): Ignore. | |
21971 | (ftree-coalesce-inlined-vars): Likewise. | |
21972 | * doc/invoke.texi: Remove the ignored options above. | |
21973 | * gimple-expr.h (gimple_can_coalesce_p): Move declaration | |
21974 | * tree-ssa-coalesce.h: ... here. | |
21975 | * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other | |
21976 | headers required by it. | |
21977 | * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing | |
21978 | across variables when flag_tree_coalesce_vars. Check register | |
21979 | use and promoted modes to allow coalescing. Moved to | |
21980 | tree-ssa-coalesce.c. | |
21981 | * tree-ssa-live.c (struct tree_int_map_hasher): Move along | |
21982 | with its member functions to tree-ssa-coalesce.c. | |
21983 | (var_map_base_init): Likewise. Renamed to | |
21984 | compute_samebase_partition_bases. | |
21985 | (partition_view_normal): Drop want_bases parameter. | |
21986 | (partition_view_bitmap): Likewise. | |
21987 | * tree-ssa-live.h: Adjust declarations. | |
21988 | * tree-ssa-coalesce.c: Include explow.h. | |
21989 | (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's | |
21990 | default defs at the entry point. | |
21991 | (dump_part_var_map): New. | |
21992 | (compute_optimized_partition_bases): New, called by... | |
21993 | (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead | |
21994 | of compute_samebase_partition_bases. Adjust. | |
21995 | * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. | |
21996 | * cfgexpand.c (leader_merge): New. | |
21997 | (get_rtl_for_parm_ssa_default_def): New. | |
21998 | (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA | |
21999 | vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. | |
22000 | (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop | |
22001 | redundant MEM attr setting. | |
22002 | (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed | |
22003 | from... | |
22004 | (expand_one_stack_var): ... this. New wrapper to check and | |
22005 | skip already expanded SSA partitions. | |
22006 | (record_alignment_for_reg_var): New, factored out of... | |
22007 | (expand_one_var): ... this. | |
22008 | (expand_one_ssa_partition): New. | |
22009 | (adjust_one_expanded_partition_var): New. | |
22010 | (expand_one_register_var): Check and skip already expanded SSA | |
22011 | partitions. | |
22012 | (expand_used_vars): Don't create DECLs for anonymous SSA | |
22013 | names. Expand all SSA partitions, then adjust all SSA names. | |
22014 | (pass::execute): Replace the loops that set | |
22015 | SA.partition_to_pseudo from partition leaders and cleared | |
22016 | DECL_RTL for multi-location variables, and that which used to | |
22017 | rename vars and set attrs, with one that clears DECL_RTL and | |
22018 | checks that PARMs and RESULTs default_defs match DECL_RTL. | |
22019 | * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. | |
22020 | * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. | |
22021 | * explow.c (promote_ssa_mode): New. | |
22022 | * explow.h (promote_ssa_mode): Declare. | |
22023 | * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. | |
22024 | * function.c: Include cfgexpand.h. | |
22025 | (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. | |
22026 | (use_register_for_parm_decl): Wrapper for the above to | |
22027 | special-case the result_ptr. | |
22028 | (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. | |
22029 | (split_complex_args): Take assign_parm_data_all argument. | |
22030 | Pass it to rtl_for_parm. Set up rtl and context for split | |
22031 | args. | |
22032 | (assign_parms_augmented_arg_list): Adjust. | |
22033 | (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with | |
22034 | multiple locations. Recognize split complex args. | |
22035 | (assign_parm_adjust_stack_rtl): Add all and parm arguments, | |
22036 | for rtl_for_parm. For SSA-assigned parms, zero stack_parm. | |
22037 | (assign_parm_setup_block): Prefer SSA-assigned location. | |
22038 | (assign_parm_setup_reg): Likewise. Use entry_parm for equiv | |
22039 | if stack_parm is NULL. | |
22040 | (assign_parm_setup_stack): Prefer SSA-assigned location. | |
22041 | (assign_parms): Maybe reset DECL_RTL of params. Adjust stack | |
22042 | rtl before testing for pointer bounds. Special-case result_ptr. | |
22043 | (expand_function_start): Maybe reset DECL_RTL of result. | |
22044 | Prefer SSA-assigned location for result and static chain. | |
22045 | Factor out DECL_RESULT and SET_DECL_RTL. | |
22046 | * tree-outof-ssa.c (insert_value_copy_on_edge): Handle | |
22047 | anonymous SSA names. Use promote_ssa_mode. | |
22048 | (get_temp_reg): Likewise. | |
22049 | (remove_ssa_form): Adjust. | |
22050 | * stor-layout.c (layout_decl): Don't set mem attributes of | |
22051 | non-MEMs. | |
22052 | * var-tracking.c (dataflow_set_clear_at_call): Take call_insn | |
22053 | and get its reg_usage for reg invalidation. | |
22054 | (compute_bb_dataflow): Pass it insn. | |
22055 | (emit_notes_in_bb): Likewise. | |
22056 | ||
22057 | 2015-07-23 Segher Boessenkool <segher@kernel.crashing.org> | |
22058 | ||
22059 | PR target/66217 | |
22060 | * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change | |
22061 | prototype. | |
22062 | * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function. | |
22063 | (rs6000_emit_2insn_and): Handle dot forms. | |
22064 | * config/rs6000/rs6000.md (and<mode>3): Adjust. | |
22065 | (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr. | |
22066 | (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New. | |
22067 | ||
22068 | 2015-07-23 Richard Biener <rguenther@suse.de> | |
22069 | ||
22070 | * generic-match-head.c: Include cgraph.h. | |
22071 | * gimple-match-head.c: Likewise. | |
22072 | * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created | |
22073 | SSA names. | |
22074 | * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification... | |
22075 | * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification | |
22076 | pattern. | |
22077 | ||
22078 | 2015-07-23 Richard Biener <rguenther@suse.de> | |
22079 | ||
22080 | * gimple-fold.c (fold_gimple_cond): Do not require folding | |
22081 | results to pass valid_gimple_rhs_p. | |
22082 | * tree-cfg.h (fold_cond_expr_cond): Remove. | |
22083 | * tree-cfg.c (fold_cond_expr_cond): Likewise. | |
22084 | (make_edges): Do not call it. | |
22085 | * tree-inline.c (tree_function_versioning): Likewise. | |
22086 | ||
22087 | 2015-07-23 Tom de Vries <tom@codesourcery.com> | |
22088 | ||
22089 | * tree-parloops.c (gather_scalar_reductions): Add arg to call to | |
22090 | vect_force_simple_reduction. | |
22091 | * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same. | |
22092 | (vect_is_simple_reduction_1): Add and handle | |
22093 | need_wrapping_integral_overflow parameter. | |
22094 | (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass | |
22095 | need_wrapping_integral_overflow parameter. | |
22096 | (vectorizable_reduction): Add arg to call to vect_is_simple_reduction. | |
22097 | * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to | |
22098 | decl. | |
22099 | ||
22100 | 2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com> | |
22101 | ||
22102 | PR tree-optimization/66926,66951 | |
22103 | * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete | |
22104 | INNER_LOOP and fix up condition for renaming virtual operands. | |
22105 | ||
22106 | 2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
22107 | ||
22108 | * combine.c (try_combine): Use std::swap instead of manually | |
22109 | swapping. | |
22110 | ||
22111 | 2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com> | |
22112 | ||
22113 | * config/mips/i6400.md: New file. | |
22114 | * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400. | |
22115 | (mips64r6): Likewise. | |
22116 | (i6400): Define. | |
22117 | * config/mips/mips-tables.opt: Regenerate. | |
22118 | * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor. | |
22119 | (mips_issue_rate): Add support for i6400. | |
22120 | (mips_multipass_dfa_lookahead): Likewise. | |
22121 | * config/mips/mips.h (TUNE_I6400): Define. | |
22122 | * config/mips/mips.md: Include i6400.md. | |
22123 | (processor): Add i6400. | |
22124 | * doc/invoke.texi (-march=@var{arch}): Add i6400. | |
22125 | ||
22126 | 2015-07-23 Richard Biener <rguenther@suse.de> | |
22127 | ||
22128 | PR middle-end/66916 | |
22129 | * match.pd: Guard widen and sign-change comparison simplification | |
22130 | with single_use. | |
22131 | ||
22132 | 2015-07-23 Richard Biener <rguenther@suse.de> | |
22133 | ||
22134 | PR tree-optimization/66945 | |
22135 | * tree-ssa-propagate.c (substitute_and_fold_dom_walker | |
22136 | ::before_dom_children): Force the propagators idea of | |
22137 | non-executable edges to materialize, not what the folder | |
22138 | chooses. | |
22139 | ||
22140 | 2015-07-23 Richard Biener <rguenther@suse.de> | |
22141 | ||
22142 | * gimple.h (gimple_cond_make_false): Use 0 != 0. | |
22143 | (gimple_cond_make_true): Use 1 != 0. | |
22144 | ||
22145 | 2015-07-22 DJ Delorie <dj@redhat.com> | |
22146 | ||
22147 | * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing | |
22148 | slashes. | |
22149 | ||
22150 | * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs. | |
22151 | (ashrhi3): Likewise. | |
22152 | (lshrhi3): Likewise. | |
22153 | (movhi): Take advantage of zero-extend to load small constants. | |
22154 | (movpsi): Likewise. | |
22155 | (and<mode>3): Likewise. | |
22156 | (zero_extendqihi2): Likewise. | |
22157 | (zero_extendqisi2): New. | |
22158 | * config/msp430/constraints.md (N,O): New. | |
22159 | * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define. | |
22160 | ||
22161 | 2015-07-22 Uros Bizjak <ubizjak@gmail.com> | |
22162 | ||
22163 | PR target/66954 | |
22164 | * config/i386/i386.c (get_builtin_code_for_version): Add P_AES | |
22165 | to enum feature_priority and feature_list. | |
22166 | (fold_builtin_cpu): Add F_AES to enum processor_features | |
22167 | and isa_names_table. | |
22168 | ||
22169 | 2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com> | |
22170 | ||
22171 | PR driver/66737 | |
22172 | * config/i386/linux-common.h (MPX_SPEC): Use linker option | |
22173 | for 64bit target only. | |
22174 | ||
22175 | 2015-07-22 Bernd Schmidt <bernds@codesourcery.com> | |
22176 | ||
22177 | * config/nvptx/nvptx.c: Expand some comments. | |
22178 | ||
22179 | 2015-07-22 James Greenhalgh <james.greenhalgh@arm.com> | |
22180 | ||
22181 | * config/arm/cortex-a53 (cortex_53_advsimd): Rename to... | |
22182 | (cortex_a53_advsimd): ...This. | |
22183 | ||
22184 | 2015-07-22 Richard Biener <rguenther@suse.de> | |
22185 | ||
22186 | * genmatch.c (expr::gen_transform): Clarify error message | |
22187 | and display location. | |
22188 | ||
22189 | 2015-07-22 Richard Biener <rguenther@suse.de> | |
22190 | ||
22191 | * genmatch.c (struct operand): Add location member. | |
22192 | (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust | |
22193 | constructors. | |
22194 | (struct simplify): Remove match_location and result_location | |
22195 | members. | |
22196 | (elsehwere): Adjust. | |
22197 | ||
22198 | 2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com> | |
22199 | ||
22200 | * config/mips/m5100.md: New file. | |
22201 | * config/mips/mips-cpus.def (m5100, m5101): Define. | |
22202 | * config/mips/mips-tables.opt: Regenerate. | |
22203 | * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100. | |
22204 | * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and | |
22205 | -march=m5101 to -mips32r5. | |
22206 | (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float. | |
22207 | (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if | |
22208 | !-msoft-float. | |
22209 | * config/mips/mips.md: Include m5100.md. | |
22210 | (processor): Add m5100. | |
22211 | * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101. | |
22212 | ||
22213 | 2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com> | |
22214 | ||
22215 | * config/mips/mips-cpus.def (interaptiv): Define. | |
22216 | * config/mips/mips-tables.opt: Regenerate. | |
22217 | * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to | |
22218 | -mips32r2. | |
22219 | (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp. | |
22220 | * doc/invoke.texi (-march=@var{arch}): Add interaptiv. | |
22221 | ||
22222 | 2015-07-22 Jiong Wang <jiong.wang@arm.com> | |
22223 | ||
22224 | PR target/63521 | |
22225 | * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define. | |
22226 | (HONOR_REG_ALLOC_ORDER): Define. | |
22227 | ||
22228 | 2015-07-22 Richard Biener <rguenther@suse.de> | |
22229 | ||
22230 | PR tree-optimization/66952 | |
22231 | * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For | |
22232 | blocks we end up executing unconditionally reset all SSA | |
22233 | info such as range and alignment. | |
22234 | * tree-ssanames.h (reset_flow_sensitive_info): Declare. | |
22235 | * tree-ssanames.c (reset_flow_sensitive_info): New function. | |
22236 | ||
22237 | 2015-07-22 Charles Baylis <charles.baylis@linaro.org> | |
22238 | ||
22239 | * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix | |
22240 | typo in attribute. | |
22241 | ||
22242 | 2015-07-22 Richard Biener <rguenther@suse.de> | |
22243 | ||
22244 | * genmatch.c (parser::parse_result): Properly handle | |
22245 | match with result operands and conditions. | |
22246 | ||
22247 | 2015-07-22 Charles Baylis <charles.baylis@linaro.org> | |
22248 | ||
22249 | PR target/63870 | |
22250 | * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): | |
22251 | Add qualifier_struct_load_store_lane_index. | |
22252 | (aarch64_types_loadstruct_lane_qualifiers): Use | |
22253 | qualifier_struct_load_store_lane_index for lane index argument for | |
22254 | last argument. | |
22255 | (aarch64_types_storestruct_lane_qualifiers): Ditto. | |
22256 | (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. | |
22257 | (aarch64_simd_expand_args): Add new argument describing mode of | |
22258 | builtin. Check lane bounds for arguments with | |
22259 | SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. | |
22260 | (aarch64_simd_expand_builtin): Emit error for incorrect lane indices | |
22261 | if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX. | |
22262 | (aarch64_simd_expand_builtin): Handle arguments with | |
22263 | qualifier_struct_load_store_lane_index. Pass machine mode of builtin to | |
22264 | aarch64_simd_expand_args. | |
22265 | * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and | |
22266 | vst[234]_lane with BUILTIN_VALLDIF. | |
22267 | * config/aarch64/aarch64-simd.md: | |
22268 | (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform | |
22269 | endianness reversal on lane index. | |
22270 | (aarch64_vec_load_lanesci_lane<mode>): Ditto. | |
22271 | (aarch64_vec_load_lanesxi_lane<mode>): Ditto. | |
22272 | (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator. | |
22273 | (vec_store_lanesci_lane<mode>): Ditto. | |
22274 | (vec_store_lanesxi_lane<mode>): Ditto. | |
22275 | (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness | |
22276 | reversal of lane index. | |
22277 | (aarch64_ld3_lane<mode>): Ditto. | |
22278 | (aarch64_ld4_lane<mode>): Ditto. | |
22279 | (aarch64_st2_lane<mode>): Ditto. | |
22280 | (aarch64_st3_lane<mode>): Ditto. | |
22281 | (aarch64_st4_lane<mode>): Ditto. | |
22282 | * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter | |
22283 | to qmode. Add new mode parameter. Update uses. | |
22284 | (__LD3_LANE_FUNC): Ditto. | |
22285 | (__LD4_LANE_FUNC): Ditto. | |
22286 | (__ST2_LANE_FUNC): Ditto. | |
22287 | (__ST3_LANE_FUNC): Ditto. | |
22288 | (__ST4_LANE_FUNC): Ditto. | |
22289 | ||
22290 | 2015-07-22 Jonathan Wakely <jwakely@redhat.com> | |
22291 | ||
22292 | * doc/invoke.texi (Language Independent Options): Rename node to | |
22293 | Diagnostic Message Formatting Options. | |
22294 | ||
22295 | 2015-07-21 Vladimir Makarov <vmakarov@redhat.com> | |
22296 | ||
22297 | PR ipa/66424. | |
22298 | * lra-remat.c (operand_to_remat): Prevent using insns with input | |
22299 | subregs processed separately by IRA. | |
22300 | ||
22301 | 2015-07-21 Andrew MacLeod <amacleod@redhat.com> | |
22302 | ||
22303 | * ssa-iterators.h (has_zero_uses, has_single_use): Implement as | |
22304 | straight loops. | |
22305 | (single_imm_use): Check for iterator node. | |
22306 | (num_imm_uses): Likewise. | |
22307 | * tree-ssa-operands.c (has_zero_uses_1): Delete. | |
22308 | (single_imm_use_1): Check for iterator node. | |
22309 | ||
22310 | 2015-07-21 Mike Frysinger <vapier@gentoo.org> | |
22311 | Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
22312 | ||
22313 | * configure.ac: Add check for new options in isl-0.15. | |
22314 | * config.in, configure: Rebuilt. | |
22315 | * graphite-blocking.c: Include <isl/constraint.h> | |
22316 | * graphite-interchange.c, graphite-poly.c: Likewise. | |
22317 | * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise. | |
22318 | * graphite.c: Likewise. | |
22319 | * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and | |
22320 | <isl/union_set.h>. | |
22321 | * graphite-dependences.c: Include <isl/constraint.h>. | |
22322 | (max_number_of_out_dimensions): Returns isl_stat. | |
22323 | (extend_schedule_1): Likewise | |
22324 | (extend_schedule): Corresponding changes. | |
22325 | * graphite-optimize-isl.c: Include <isl/constraint.h> and | |
22326 | <isl/union_set.h>. | |
22327 | (getSingleMap): Change return type of isl_stat. | |
22328 | (optimize_isl): Conditionally use | |
22329 | isl_options_set_schedule_serialize_sccs. | |
22330 | * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks | |
22331 | if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. | |
22332 | ||
22333 | 2015-07-21 Georg-Johann Lay <avr@gjlay.de> | |
22334 | ||
22335 | PR target/66956 | |
22336 | * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn) | |
22337 | (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL. | |
22338 | ||
22339 | 2015-07-21 Richard Biener <rguenther@suse.de> | |
22340 | ||
22341 | PR tree-optimization/66948 | |
22342 | * genmatch.c (capture_info::walk_match): Also recurse to | |
22343 | captures. Properly compute expr state from captures of | |
22344 | captures. | |
22345 | * match.pd: Add single-use guards to | |
22346 | (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform. | |
22347 | ||
22348 | 2015-07-21 Nathan Sidwell <nathan@codesourcery.com> | |
22349 | ||
22350 | * config/nvptx/mkoffload.c (process): Add static destructor call. | |
22351 | ||
22352 | 2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
22353 | ||
22354 | PR middle-end/66915 | |
22355 | * match.pd (A - B -> A + (-B)): Don't allow folding | |
22356 | when type if a fixed-point type. | |
22357 | ||
22358 | 2015-07-20 DJ Delorie <dj@redhat.com> | |
22359 | ||
22360 | * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1. | |
22361 | (iorqi3_real): Likewise for set1. | |
22362 | ||
22363 | 2015-07-20 Uros Bizjak <ubizjak@gmail.com> | |
22364 | ||
22365 | * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode | |
22366 | for !TARGET_64BIT. | |
22367 | ||
22368 | 2015-07-20 Aditya Kumar <hiraditya@msn.com> | |
22369 | ||
22370 | * graphite-isl-ast-to-gimple.c: | |
22371 | Refactor so that each function can access 'region'. This will help | |
22372 | maintain a parameter rename_map within a region. | |
22373 | ||
22374 | 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org> | |
22375 | ||
22376 | * config/rs6000/rs6000.md (*lt0_disi): New. | |
22377 | ||
22378 | 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org> | |
22379 | ||
22380 | PR target/66217 | |
22381 | * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update | |
22382 | "available letters" comment. | |
22383 | * config/rs6000/predicates.md (mask_operand, mask_operand_wrap, | |
22384 | mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand, | |
22385 | and_2rld_operand): Delete. | |
22386 | (and_operand): Adjust. | |
22387 | (rotate_mask_operator): New. | |
22388 | * config/rs6000/rs6000-protos.h (build_mask64_2_operands, | |
22389 | includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p, | |
22390 | includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB, | |
22391 | extract_ME): Delete. | |
22392 | (rs6000_is_valid_mask, rs6000_is_valid_and_mask, | |
22393 | rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask, | |
22394 | rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask, | |
22395 | rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and, | |
22396 | rs6000_emit_2insn_and): New. | |
22397 | * config/rs6000/rs6000.c (num_insns_constant): Adjust. | |
22398 | (build_mask64_2_operands, includes_lshift_p, includes_rshift_p, | |
22399 | includes_rldic_lshift_p, includes_rldicr_lshift_p, | |
22400 | insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete. | |
22401 | (rs6000_is_valid_mask, rs6000_is_valid_and_mask, | |
22402 | rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask, | |
22403 | s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask, | |
22404 | rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and, | |
22405 | rs6000_emit_2insn_and): New. | |
22406 | (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete. | |
22407 | (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand | |
22408 | handling. | |
22409 | <NOT>: Don't fall through to next case. | |
22410 | <AND>: Handle the various rotate-and-mask cases directly. | |
22411 | <IOR>: Always cost as one insn. | |
22412 | * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust. | |
22413 | (and<mode>3): Adjust expander for the new patterns. | |
22414 | (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2, | |
22415 | and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition. | |
22416 | (*and<mode>3_imm_dot_shifted): New. | |
22417 | (*and<mode>3_mask): Delete, rewrite as ... | |
22418 | (and<mode>3_mask): ... New. | |
22419 | (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite. | |
22420 | (andsi3_internal0_nomc): Delete. | |
22421 | (*andsi3_internal6): Delete. | |
22422 | (*and<mode>3_2insn): New. | |
22423 | (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2, | |
22424 | *insvsi_internal3, *insvsi_internal4, *insvsi_internal5, | |
22425 | *insvsi_internal6, insvdi_internal, *insvdi_internal2, | |
22426 | *insvdi_internal3): Delete. | |
22427 | (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2, | |
22428 | *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3, | |
22429 | *rotl<mode>3_insert_4, two splitters for multi-precision shifts, | |
22430 | *ior<mode>_mask): New. | |
22431 | (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2, | |
22432 | *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2, | |
22433 | *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2, | |
22434 | *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2): | |
22435 | Delete. | |
22436 | (ashr<mode>3): Delete expander. | |
22437 | (*ashr<mode>3): Rename to ... | |
22438 | (ashr<mode>3): ... This. | |
22439 | (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete. | |
22440 | (*rotldi3_internal4, *rotldi3_internal5 and split, | |
22441 | *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5 | |
22442 | and split, *ashldi3_internal6 and split, *ashldi3_internal7, | |
22443 | ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete. | |
22444 | (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete. | |
22445 | (splitter for loading a mask): Adjust. | |
22446 | * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints. | |
22447 | ||
22448 | 2015-07-20 Marek Polacek <polacek@redhat.com> | |
22449 | ||
22450 | * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split, | |
22451 | output_add_clobbers, output_added_clobbers_hard_reg_p, | |
22452 | gen_rtx_scratch): Remove declarations. | |
22453 | ||
22454 | 2015-07-20 Marek Polacek <polacek@redhat.com> | |
22455 | ||
22456 | PR c++/55095 | |
22457 | * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=. | |
22458 | ||
22459 | 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
22460 | ||
22461 | * simplify-rtx.c (simplify_unary_operation_1, NEG case): | |
22462 | (neg (x ? (neg y) : y)) -> !x ? (neg y) : y. | |
22463 | ||
22464 | 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
22465 | ||
22466 | * combine.c (combine_simplify_rtx): Move simplification step | |
22467 | before various transformations/substitutions. | |
22468 | ||
22469 | 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com> | |
22470 | ||
22471 | * wide-int.h (struct binary_traits): Fix partial specialization syntax. | |
22472 | (struct int_traits): Likewise. | |
22473 | ||
22474 | 2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
22475 | ||
22476 | * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped | |
22477 | function to vmsdbgout_function_decl. | |
22478 | ||
22479 | 2015-07-18 Uros Bizjak <ubizjak@gmail.com> | |
22480 | ||
22481 | PR target/66922 | |
22482 | * config/i386/i386.c (ix86_expand_pextr): Reject extractions | |
22483 | from misaligned positions. | |
22484 | (ix86_expand_pinsr): Reject insertions to misaligned positions. | |
22485 | ||
22486 | 2015-07-18 Sebastian Pop <s.pop@samsung.com> | |
22487 | ||
22488 | PR middle-end/46851 | |
22489 | PR middle-end/60340 | |
22490 | * Makefile.in: Removed omega.o. | |
22491 | * common.opt: Document flag fcheck-data-deps as deprecated. | |
22492 | * doc/invoke.texi: Remove documentation for fcheck-data-deps and | |
22493 | its associated params: omega-max-vars, omega-max-geqs, | |
22494 | omega-max-eqs, omega-max-wild-cards, omega-hash-table-size, | |
22495 | omega-max-keys, omega-eliminate-redundant-constraints. | |
22496 | * doc/loop.texi: Remove all the section on Omega. | |
22497 | * graphite-blocking.c: Include missing params.h: it used to be | |
22498 | included through tree-data-ref.h and omega.h. | |
22499 | * graphite-isl-ast-to-gimple.c: Same. | |
22500 | * graphite-optimize-isl.c: Same. | |
22501 | * graphite-sese-to-poly.c: Same. | |
22502 | * graphite.c: Same. | |
22503 | * omega.c: Remove. | |
22504 | * omega.h: Remove. | |
22505 | * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS, | |
22506 | PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS, | |
22507 | PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and | |
22508 | PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS. | |
22509 | * passes.def: Remove pass_check_data_deps. | |
22510 | * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION. | |
22511 | (dump_conflict_function): Same. | |
22512 | (dump_subscript): Same. | |
22513 | (print_direction_vector): Same. | |
22514 | (print_dir_vectors): Same. | |
22515 | (print_lambda_vector): Same. | |
22516 | (print_dist_vectors): Same. | |
22517 | (dump_data_dependence_relation): Same. | |
22518 | (dump_data_dependence_relations): Same. | |
22519 | (dump_dist_dir_vectors): Same. | |
22520 | (dump_ddrs): Same. | |
22521 | (init_omega_eq_with_af): Removed. | |
22522 | (omega_extract_distance_vectors): Removed. | |
22523 | (omega_setup_subscript): Removed. | |
22524 | (init_omega_for_ddr_1): Removed. | |
22525 | (init_omega_for_ddr): Removed. | |
22526 | (ddr_consistent_p): Removed. | |
22527 | (compute_affine_dependence): Do not use omega to check data | |
22528 | dependences. | |
22529 | (compute_data_dependences_for_bb): Removed. | |
22530 | (analyze_all_data_dependences): Removed. | |
22531 | (tree_check_data_deps): Removed. | |
22532 | * tree-data-ref.h: Do not include omega.h. | |
22533 | (compute_data_dependences_for_bb): Removed. | |
22534 | (tree_check_data_deps): Removed. | |
22535 | * tree-ssa-loop.c (pass_check_data_deps): Removed. | |
22536 | (make_pass_check_data_deps): Removed. | |
22537 | * tree-ssa-phiopt.c: Include params.h. | |
22538 | * tree-vect-data-refs.c: Same. | |
22539 | * tree-vect-slp.c: Same. | |
22540 | ||
22541 | 2015-07-18 Uros Bizjak <ubizjak@gmail.com> | |
22542 | ||
22543 | * config/i386/i386.md (pushsf splitter): Pass curr_insn to | |
22544 | find_constant_src. FAIL if find_constant_src returns NULL_RTX. | |
22545 | (mem->fpreg splitters): Ditto. | |
22546 | (general_operand->nonimmediate_operand splitter): Use explicit modes. | |
22547 | Disable DFmode for TARGET_64BIT. | |
22548 | ||
22549 | 2015-07-17 H.J. Lu <hongjiu.lu@intel.com> | |
22550 | ||
22551 | PR target/66906 | |
22552 | * config/i386/i386.c (ix86_expand_prologue): Replicate static | |
22553 | chain on the stack. | |
22554 | ||
22555 | 2015-07-17 Nathan Sidwell <nathan@codesourcery.com> | |
22556 | ||
22557 | * config/nvptx/mkoffload.c (process): Constify host data. | |
22558 | * config/i386/intelmic-mkoffload.c (generate_target_descr_file): | |
22559 | Constify host data. | |
22560 | (generate_host_descr_file): Likewise. | |
22561 | ||
22562 | 2015-07-17 Aditya Kumar <aditya.k7@samsung.com> | |
22563 | Sebastian Pop <s.pop@samsung.com> | |
22564 | ||
22565 | PR middle-end/61929 | |
22566 | * graphite-dependences.c (add_pdr_constraints): Renamed | |
22567 | pdr->extent to pdr->subscript_sizes. | |
22568 | * graphite-interchange.c (build_linearized_memory_access): Add | |
22569 | back all gcc_assert's that the "isl_int to isl_val conversion" | |
22570 | patch has removed. Refactored. | |
22571 | (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes. | |
22572 | * graphite-poly.c (new_poly_dr): Same. | |
22573 | (free_poly_dr): Same. | |
22574 | * graphite-poly.h (struct poly_dr): Same. | |
22575 | * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore | |
22576 | all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF. | |
22577 | * graphite-scop-detection.h: Fix space. | |
22578 | * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add | |
22579 | back all gcc_assert's removed by a previous patch. | |
22580 | (wrap): Remove the_isl_ctx global variable that the same patch has | |
22581 | added. | |
22582 | (build_loop_iteration_domains): Same. | |
22583 | (add_param_constraints): Same. | |
22584 | (pdr_add_data_dimensions): Same. Refactored. | |
22585 | (build_poly_dr): Renamed extent to subscript_sizes. | |
22586 | ||
22587 | 2015-07-17 Marek Polacek <polacek@redhat.com> | |
22588 | ||
22589 | * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ... | |
22590 | * match.pd: ... here. | |
22591 | ||
22592 | 2015-07-17 Nathan Sidwell <nathan@codesourcery.com> | |
22593 | ||
22594 | * config/nvptx/mkoffload.c (process): Constify target data. | |
22595 | * config/i386/intelmic-mkoffload.c (generate_target_descr_file): | |
22596 | Constify target data. | |
22597 | (generate_target_offloadend_file): Likewise. | |
22598 | ||
22599 | 2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com> | |
22600 | ||
22601 | * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument | |
22602 | to allow renaming of PHI arguments on edges incoming from outer | |
22603 | loop header, add corresponding check before start PHI iterator. | |
22604 | (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool | |
22605 | variable DUPLICATE_OUTER_LOOP and set it to true for outer loops | |
22606 | with true force_vectorize. Set-up dominator for outer loop too. | |
22607 | Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb. | |
22608 | (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it | |
22609 | was marked with force_vectorize and has restricted cfg. | |
22610 | (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in | |
22611 | inner loop. | |
22612 | * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not | |
22613 | do peeling for outer loops. | |
22614 | ||
22615 | 2015-07-17 Yvan Roux <yvan.roux@linaro.org> | |
22616 | Matthias Klose <doko@ubuntu.com> | |
22617 | ||
22618 | * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir, | |
22619 | build-sysroot, sysroot from the `Miscenalleous configure options' to | |
22620 | the `Directories' section and strip trailing `/' from with_sysroot. | |
22621 | (gcc_gxx_include_dir): Don't strip a `/' sysroot value. | |
22622 | * configure: Regenerated. | |
22623 | ||
22624 | 2015-07-17 Uros Bizjak <ubizjak@gmail.com> | |
22625 | ||
22626 | PR target/66824 | |
22627 | * config/i386/i386.h (TARGET_HARD_SF_REGS): New define. | |
22628 | (TARGET_HARD_DF_REGS): Ditto. | |
22629 | (TARGET_HARD_XF_REGS): Ditto. | |
22630 | * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10. | |
22631 | Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target. | |
22632 | (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable | |
22633 | alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target. | |
22634 | (*movsf_internal): Add alternatives 16 and 17. Enable | |
22635 | alternatives 16 and 17 only for !TARGET_HARD_SF_REG target. | |
22636 | ||
22637 | 2015-07-17 Uros Bizjak <ubizjak@gmail.com> | |
22638 | ||
22639 | PR rtl-optimization/66891 | |
22640 | * calls.c (expand_call): Wrap precompute_register_parameters with | |
22641 | NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops. | |
22642 | ||
22643 | 2015-07-16 Nathan Sidwell <nathan@codesourcery.com> | |
22644 | ||
22645 | * config/nvptx/mkoffload.c (process): Constify mapping variables. | |
22646 | Define target data struct and initialize it. | |
22647 | ||
22648 | 2015-07-16 Vladimir Makarov <vmakarov@redhat.com> | |
22649 | ||
22650 | PR rtl-optimization/66626 | |
22651 | * ira.h (emit-rtl.h): Include. | |
22652 | (non_spilled_static_chain_regno_p): New. | |
22653 | * ira-color.c (setup_profitable_hard_regs): Clear profitable regs | |
22654 | unless it is non spilled static chain pseudo. | |
22655 | (assign_hard_rego): Spill memory profitable allocno unless it is | |
22656 | non spilled static chain pseudo. | |
22657 | (allocno_spill_priority_compare): Put non spilled static chain | |
22658 | pseudo at the end of sorted array. | |
22659 | (improve_allocation): Do nothing if we have static chain and | |
22660 | non-local goto. | |
22661 | (allocno__priority_compare_func): Put non spilled static chain | |
22662 | pseudo at the beginning of sorted array. | |
22663 | (move_spill_restore): Ignore non spilled static chain pseudo. | |
22664 | * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS | |
22665 | to non spilled static chain pseudo. | |
22666 | * lra-assigns.c (pseudo_compare_func): Put non spilled static chain | |
22667 | pseudo at the beginning of sorted array. | |
22668 | (spill_for): Spill non spilled static chain pseudo last. | |
22669 | * lra-constraints.c (lra_constraints): Remove static chain pseudo | |
22670 | check for equivalence. | |
22671 | ||
22672 | 2015-07-16 Martin Liska <mliska@suse.cz> | |
22673 | ||
22674 | PR ipa/66896. | |
22675 | * ipa-prop.c (update_jump_functions_after_inlining): Create properly | |
22676 | dst_ctx if it does not exist. | |
22677 | ||
22678 | 2015-07-16 Martin Liska <mliska@suse.cz> | |
22679 | ||
22680 | * hash-set.h (remove): New function. | |
22681 | (iterator): New iteration class for hash_set. | |
22682 | ||
22683 | 2015-07-16 Richard Sandiford <richard.sandiford@arm.com> | |
22684 | ||
22685 | * genattrtab.c (make_canonical): Add a file_location parameter. | |
22686 | Use fatal_at rather than fatal. | |
22687 | (get_attr_value): Likewise. Update call to make_canonical. | |
22688 | (fill_attr, make_length_attrs, optimize_attrs, gen_attr) | |
22689 | (make_internal_attr): Update calls accordingly. | |
22690 | ||
22691 | 2015-07-16 Richard Sandiford <richard.sandiford@arm.com> | |
22692 | ||
22693 | * read-md.h (message_with_line, error_with_line): Delete. | |
22694 | * read-md.c (message_with_line, error_with_line): Delete. | |
22695 | * gensupport.h: Include read-md.h. | |
22696 | (md_rtx_info): New structure. | |
22697 | (read_md_rtx): Use it. Return a bool success value. | |
22698 | * gensupport.c (read_md_rtx): Likewise. | |
22699 | * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx. | |
22700 | (main): Update after interface changes. | |
22701 | * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx. | |
22702 | (main): Update after interface changes. | |
22703 | * genattrtab.c (insn_code_number): Delete. | |
22704 | (optimize_attrs): Add a max_insn_code parameter and use it instead | |
22705 | of insn_code_number. | |
22706 | (gen_attr): Take an md_rtx_info rather than an rtx and lineno. | |
22707 | Use *_at rather than *_with_line functions. | |
22708 | (gen_insn): Likewise. | |
22709 | (gen_delay): Likewise. | |
22710 | (gen_insn_reserv): Likewise. | |
22711 | (gen_bypass): Take an md_rtx_info rather than an rtx. | |
22712 | (main): Update after interface changes. Use a local max_insn_code | |
22713 | variable instead of insn_code_number. | |
22714 | * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than | |
22715 | an rtx. Use fatal_at rather than fatal. | |
22716 | (gen_query_cpu_unit, gen_bypass, gen_excl_set) | |
22717 | (gen_presence_absence_set, gen_presence_set, gen_final_presence_set) | |
22718 | (gen_absence_set, gen_final_absence_set, gen_automaton) | |
22719 | (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise. | |
22720 | (main): Update after interface changes. | |
22721 | * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx | |
22722 | and code number. | |
22723 | (main): Update after interface changes. | |
22724 | * genconditions.c (main): Use new read_md_rtx interface. | |
22725 | * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx. | |
22726 | (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise. | |
22727 | (main): Update after interface changes. | |
22728 | * genemit.c (insn_code_number, insn_index_number): Delete. | |
22729 | (gen_insn): Take an md_rtx_info rather than an rtx and lineno. | |
22730 | Use fatal_at rather than fatal. | |
22731 | (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at | |
22732 | rather than fatal. | |
22733 | (gen_split): Likewise. | |
22734 | (main): Update after interface changes. | |
22735 | * genextract.c (line_no): Delete. | |
22736 | (gen_insn): Take an md_rtx_info rather than an rtx and lineno. | |
22737 | Update call to walk_rtx. | |
22738 | (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at | |
22739 | rather than message_with_line. | |
22740 | (walk_rtx): Add an md_rtx_info argument. Update call to | |
22741 | VEC_safe_set_locstr. | |
22742 | (main): Update after interface changes. | |
22743 | * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx | |
22744 | and lineno. Use error_at rather than separate message_with_line | |
22745 | calls and have_error assignments. | |
22746 | (main): Update after interface changes. | |
22747 | * genmddump.c (main): Use new read_md_rtx interface. | |
22748 | * genopinit.c (insn): Take an md_rtx_info rather than an rtx. | |
22749 | (main): Update after interface changes. | |
22750 | * genoutput.c (next_code_number): Delete. | |
22751 | (gen_insn): Take an md_rtx_info rather than an rtx and lineno. | |
22752 | (gen_peephole, gen_expand, gen_split): Likewise. | |
22753 | (note_constraint): Likewise. Use *_at rather than *_with_line | |
22754 | functions. | |
22755 | (main): Update after interface changes. | |
22756 | * genpeep.c (gen_peephole): Take an md_rtx_info rather than an | |
22757 | rtx and lineno. | |
22758 | (main): Update after interface changes. | |
22759 | * genpreds.c (process_define_predicate): Take an md_rtx_info rather | |
22760 | than an rtx and lineno. | |
22761 | (process_define_constraint): Likewise. | |
22762 | (process_define_register_constraint): Likewise. | |
22763 | (main): Update after interface changes. | |
22764 | * genrecog.c (next_insn_code, pattern_lineno): Delete. | |
22765 | (validate_pattern): Replace top-level rtx with an md_rtx_info. | |
22766 | Use *_at rather than *_with_line functions. | |
22767 | (match_pattern_2): Likewise. | |
22768 | (match_pattern_1, match_pattern): Add an md_rtx_info parameter. | |
22769 | (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec. | |
22770 | Use *_at rather than *_with_line functions. | |
22771 | * gentarget-def.c (add_insn): New function. | |
22772 | (main): Use it. Use new read_md_rtx interface. | |
22773 | ||
22774 | 2015-07-16 Richard Sandiford <richard.sandiford@arm.com> | |
22775 | ||
22776 | * gensupport.h (compute_test_codes): Take a file_location rather | |
22777 | than a line number. | |
22778 | * gensupport.c (compute_test_codes): Likewise. Use *_at functions | |
22779 | rather than *_with_line functions. | |
22780 | (process_define_predicate): Update call to compute_test_codes. | |
22781 | * genpreds.c (validate_exp): Take a file_location rather than a | |
22782 | line number. Use *_at functions rather than *_with_line functions. | |
22783 | (process_define_predicate): Update call to validate_exp. | |
22784 | (constraint_data): Replace lineno field with a file_location. | |
22785 | (add_constraint): Take a file_location rather than a line number. | |
22786 | Use *_at functions rather than *_with_line functions. Fix error | |
22787 | message for address constraints. Update after changes to | |
22788 | validate_exp, constraint_data and compute_test_codes. | |
22789 | (process_define_constraint): Update accordingly. | |
22790 | (process_define_register_constraint): Likewise. | |
22791 | ||
22792 | 2015-07-16 Richard Sandiford <richard.sandiford@arm.com> | |
22793 | ||
22794 | * genoutput.c (data): Use a file_location to record the source | |
22795 | position. | |
22796 | (nothing): Delete. | |
22797 | (idata, idata_end): Remove initialization. | |
22798 | (constraint_data): Replace lineno with a file_location. | |
22799 | (output_insn_data): Update after changes to data. | |
22800 | (gen_insn, gen_peephole, gen_expand, gen_split): Likewise. | |
22801 | (scan_operands): Likewise, using *_at rather than *_with_line | |
22802 | functions. | |
22803 | (process_template): Likewise. | |
22804 | (validate_insn_alternatives): Likewise. | |
22805 | (validate_insn_operands): Likewise. | |
22806 | (validate_optab_operands): Likewise. | |
22807 | (init_insn_for_nothing): Initialize idata and idata_end. | |
22808 | (note_constraint): Update after changes to constraint_data, | |
22809 | using at rather than with_line functions. | |
22810 | (mdep_constraint_len): Take a file_location rather than a | |
22811 | line number. Use at rather than with_line functions. | |
22812 | ||
22813 | 2015-07-16 Richard Sandiford <richard.sandiford@arm.com> | |
22814 | ||
22815 | * read-md.h (fatal_at): Declare. | |
22816 | * read-md.c (fatal_at): New function. | |
22817 | * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location | |
22818 | to record the source position. | |
22819 | (check_attr_test): Take a file_location instead of a line number. | |
22820 | Use fatal_at instead of fatal. | |
22821 | (check_attr_value): Update after above changes, using "at" | |
22822 | rather than "with_line" reporting functions. | |
22823 | (convert_set_attr_alternative): Likewise. | |
22824 | (gen_attr): Likewise. | |
22825 | (check_defs): Likewise. Don't assign to read_md_filename. | |
22826 | (gen_insn): Update initialization after above changes. | |
22827 | (gen_delay): Likewise. | |
22828 | (write_insn_cases): Print the filename for a define_peephole. | |
22829 | (gen_insn_reserv): Take a line number as argument and update | |
22830 | the call to check_attr_test. | |
22831 | (main): Pass a line number to gen_insn_reserv. | |
22832 | ||
22833 | 2015-07-16 Richard Sandiford <richard.sandiford@arm.com> | |
22834 | ||
22835 | * read-md.h (file_location): New structure. | |
22836 | (directive_handler_t): Take a file_location rather than a line number. | |
22837 | (message_at, error_at): Declare. | |
22838 | (read_skip_construct): Delete. | |
22839 | * read-md.c (message_with_line_1): Replace with... | |
22840 | (message_at_1): ...this new function. | |
22841 | (message_at, error_at): New functions. | |
22842 | (message_with_line, error_with_line): Update to use message_at_1. | |
22843 | (handle_enum): Take a file_location rather than a line number | |
22844 | and use error_at for error reporting. | |
22845 | (handle_include): Likewise. | |
22846 | (read_skip_construct): Likewise. Make static. | |
22847 | (handle_file): Update after above changes. Pass a file_location | |
22848 | rather than a line number to handle_directive. | |
22849 | * gensupport.c (queue_elem): Replace separate filename and lineno | |
22850 | with a file_location. | |
22851 | (queue_pattern): Replace filename and lineno arguments with a | |
22852 | file_location. Update after change to queue_elem. | |
22853 | (process_define_predicate): Replace lineno argument with a | |
22854 | file_location and use error_at for error reporting. Update | |
22855 | after above changes. | |
22856 | (process_rtx): Likewise. | |
22857 | (subst_pattern_match): Likewise. | |
22858 | (get_alternatives_number): Likewise. | |
22859 | (alter_predicate_for_insn): Likewise. | |
22860 | (rtx_handle_directive): Likewise. | |
22861 | (is_predicable): Update after above changes, using error_at rather | |
22862 | than error_with_line. | |
22863 | (has_subst_attribute): Likewise. | |
22864 | (identify_predicable_attribute): Likewise. | |
22865 | (alter_attrs_for_subst_insn): Likewise. | |
22866 | (process_one_cond_exec): Likewise. | |
22867 | (process_substs_on_one_elem): Likewise. | |
22868 | (process_define_subst): Likewise. | |
22869 | (check_define_attr_duplicates): Likewise. | |
22870 | (read_md_rtx): Update after change to queue_elem. | |
22871 | ||
22872 | 2015-07-16 Richard Sandiford <richard.sandiford@arm.com> | |
22873 | ||
22874 | * genoutput.c (next_index_number): Delete. | |
22875 | (data): Remove index_number. | |
22876 | (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly. | |
22877 | (main): Remove manipulation of next_index_number. | |
22878 | ||
22879 | 2015-07-16 Richard Sandiford <richard.sandiford@arm.com> | |
22880 | ||
22881 | * genattrtab.c (check_attr_value): Remove handling of null attrs. | |
22882 | (make_canonical): Likewise. | |
22883 | ||
22884 | 2015-07-16 Eric Botcazou <ebotcazou@adacore.com> | |
22885 | ||
22886 | * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address | |
22887 | instead of adjust_address_nv. | |
22888 | (restore_stack_nonlocal): Likewise. | |
22889 | (nonlocal_goto): Likewise. | |
22890 | ||
22891 | 2015-07-16 Tom de Vries <tom@codesourcery.com> | |
22892 | ||
22893 | * tree-parloops.c (create_parallel_loop): Handle case that exit phi does | |
22894 | not have a corresponding loop header phi. | |
22895 | ||
22896 | 2015-07-16 Tom de Vries <tom@codesourcery.com> | |
22897 | ||
22898 | * tree-parloops.c (create_loads_for_reductions): Handle case that | |
22899 | reduction is unused. | |
22900 | ||
22901 | 2015-07-16 Richard Biener <rguenther@suse.de> | |
22902 | ||
22903 | PR tree-optimization/66894 | |
22904 | * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption | |
22905 | about deriving NE_EXPR from truncated values. | |
22906 | ||
22907 | 2015-07-16 Martin Liska <mliska@suse.cz> | |
22908 | ||
22909 | * alloc-pool.h | |
22910 | (object_allocator): Add new class. | |
22911 | (pool_allocator::initialize): Use the underlying class. | |
22912 | (pool_allocator::allocate): Likewise. | |
22913 | (pool_allocator::remove): Likewise. | |
22914 | (operator new): A new generic allocator. | |
22915 | * asan.c (struct asan_mem_ref): Remove unused members. | |
22916 | (asan_mem_ref_new): Replace new operator with | |
22917 | object_allocator::allocate. | |
22918 | (free_mem_ref_resources): Change deallocation. | |
22919 | * cfg.c (initialize_original_copy_tables): Replace pool_allocator | |
22920 | with object_allocator. | |
22921 | * config/sh/sh.c (add_constant): Replace new operator with | |
22922 | object_allocator::allocate. | |
22923 | (sh_reorg): Change call to a release method. | |
22924 | * cselib.c (struct elt_list): Remove unused members. | |
22925 | (new_elt_list): Replace new operator with | |
22926 | object_allocator::allocate. | |
22927 | (new_elt_loc_list): Likewise. | |
22928 | (new_cselib_val): Likewise. | |
22929 | (unchain_one_elt_list): Change delete operator with remove method. | |
22930 | (unchain_one_elt_loc_list): Likewise. | |
22931 | (unchain_one_value): Likewise. | |
22932 | (cselib_finish): Release newly added static allocators. | |
22933 | * cselib.h (struct cselib_val): Remove unused members. | |
22934 | (struct elt_loc_list): Likewise. | |
22935 | * df-problems.c (df_chain_alloc): Replace pool_allocator with | |
22936 | object_allocator. | |
22937 | * df-scan.c (struct df_scan_problem_data): Likewise. | |
22938 | (df_scan_alloc): Likewise. | |
22939 | * df.h (struct dataflow): Likewise. | |
22940 | * dse.c (struct read_info_type): Likewise. | |
22941 | (struct insn_info_type): Likewise. | |
22942 | (struct dse_bb_info_type): Likewise. | |
22943 | (struct group_info): Likewise. | |
22944 | (struct deferred_change): Likewise. | |
22945 | (get_group_info): Likewise. | |
22946 | (delete_dead_store_insn): Likewise. | |
22947 | (free_read_records): Likewise. | |
22948 | (replace_read): Likewise. | |
22949 | (check_mem_read_rtx): Likewise. | |
22950 | (scan_insn): Likewise. | |
22951 | (dse_step1): Likewise. | |
22952 | (dse_step7): Likewise. | |
22953 | * et-forest.c (struct et_occ): Remove unused members. | |
22954 | (et_new_occ): Use allocate instead of new operator. | |
22955 | (et_new_tree): Likewise. | |
22956 | (et_free_tree): Call release method explicitly. | |
22957 | (et_free_tree_force): Likewise. | |
22958 | (et_free_pools): Likewise. | |
22959 | (et_split): Use remove instead of delete operator. | |
22960 | * et-forest.h (struct et_node): Remove unused members. | |
22961 | * ipa-cp.c: Change pool_allocator to object_allocator. | |
22962 | * ipa-inline-analysis.c: Likewise. | |
22963 | * ipa-profile.c: Likewise. | |
22964 | * ipa-prop.c: Likewise. | |
22965 | * ipa-prop.h: Likewise. | |
22966 | * ira-build.c (initiate_cost_vectors): Cast return value. | |
22967 | (ira_allocate_cost_vector): Likewise. | |
22968 | * ira-color.c (struct update_cost_record): Remove unused members. | |
22969 | * lra-int.h (struct lra_live_range): Likewise. | |
22970 | (struct lra_copy): Likewise. | |
22971 | (struct lra_insn_reg): Likewise. | |
22972 | * lra-lives.c (lra_live_ranges_finish): Release new static allocator. | |
22973 | * lra.c (new_insn_reg): Replace new operator with allocate method. | |
22974 | (free_insn_regs): Same for operator delete. | |
22975 | (finish_insn_regs): Release new static allocator. | |
22976 | (finish_insn_recog_data): Likewise. | |
22977 | (lra_free_copies): Replace delete operator with remove method. | |
22978 | (lra_create_copy): Replace operator new with allocate method. | |
22979 | (invalidate_insn_data_regno_info): Same for remove method. | |
22980 | * regcprop.c (struct queued_debug_insn_change): Remove unused members. | |
22981 | (free_debug_insn_changes): Replace delete operator with remove method. | |
22982 | (replace_oldest_value_reg): Replace operator new with allocate method. | |
22983 | (pass_cprop_hardreg::execute): Release new static variable. | |
22984 | * sched-deps.c (sched_deps_init): Change pool_allocator to | |
22985 | object_allocator. | |
22986 | * sel-sched-ir.c: Likewise. | |
22987 | * sel-sched-ir.h: Likewise. | |
22988 | * stmt.c (expand_case): Likewise. | |
22989 | (expand_sjlj_dispatch_table): Likewise. | |
22990 | * tree-sra.c (struct access): Remove unused members. | |
22991 | (struct assign_link): Likewise. | |
22992 | (sra_deinitialize): Release newly added static pools. | |
22993 | (create_access_1):Replace operator new with allocate method. | |
22994 | (build_accesses_from_assign): Likewise. | |
22995 | (create_artificial_child_access): Likewise. | |
22996 | * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change | |
22997 | pool_allocator to object_allocator. | |
22998 | * tree-ssa-pre.c: Likewise. | |
22999 | * tree-ssa-reassoc.c: Likewise. | |
23000 | * tree-ssa-sccvn.c (allocate_vn_table): Likewise. | |
23001 | * tree-ssa-strlen.c: Likewise. | |
23002 | * tree-ssa-structalias.c: Likewise. | |
23003 | * var-tracking.c (onepart_pool_allocate): New function. | |
23004 | (unshare_variable): Use the newly added function. | |
23005 | (variable_merge_over_cur): Likewise. | |
23006 | (variable_from_dropped): Likewise. | |
23007 | (variable_was_changed): Likewise. | |
23008 | (set_slot_part): Likewise. | |
23009 | (emit_notes_for_differences_1): Likewise. | |
23010 | (vt_finalize): Release newly added static pools. | |
23011 | ||
23012 | 2015-07-16 Martin Jambor <mjambor@suse.cz> | |
23013 | ||
23014 | * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust | |
23015 | all uses. Fix two typos in its general comment. | |
23016 | (func_body_info): Rename to ipa_func_body_info. Adjust all uses. | |
23017 | ||
23018 | 2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com> | |
23019 | ||
23020 | * config/i386/linux-common.h (LINK_MPX): New. | |
23021 | (MPX_SPEC): Use LINK_MPX instead of %(link_mpx). | |
23022 | * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro | |
23023 | indicating '-z bndplt' support by linker. | |
23024 | * configure: Regenerate. | |
23025 | * config.in: Regenerate. | |
23026 | ||
23027 | 2015-07-16 Richard Biener <rguenther@suse.de> | |
23028 | ||
23029 | * fold-const.c (fold_widened_comparison): Remove. | |
23030 | (fold_sign_changed_comparison): Likewise. | |
23031 | (fold_comparison): Move widened and sign-changed comparison | |
23032 | simplification ... | |
23033 | * match.pd: ... to patterns here. | |
23034 | * generic-match-head.c: Include target.h. | |
23035 | * gimple-match-head.c: Likewise. | |
23036 | ||
23037 | 2015-07-16 Richard Biener <rguenther@suse.de> | |
23038 | ||
23039 | * tree-ssa-dom.c (dom_valueize): New function. | |
23040 | (record_temporary_equivalences): Also record equivalences | |
23041 | for dominating stmts that have uses of equivalences we are | |
23042 | about to record. | |
23043 | ||
23044 | 2015-07-16 Bin Cheng <bin.cheng@arm.com> | |
23045 | ||
23046 | * tree-ssa-loop-ivopts.c (add_candidate): Remove call to | |
23047 | add_autoinc_candidates. | |
23048 | (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv. | |
23049 | (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv. | |
23050 | (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs. | |
23051 | (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates. | |
23052 | Call new function. | |
23053 | (add_iv_value_candidates): Rename to add_iv_candidate_for_use. | |
23054 | (add_iv_candidate_for_use): Rename from add_iv_value_candidates. | |
23055 | Remove parameter struct iv*. Call add_autoinc_candidates here. | |
23056 | (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses. | |
23057 | (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates. | |
23058 | Call new function. | |
23059 | (find_iv_candidates): Call new functions. | |
23060 | ||
23061 | 2015-07-16 Sandra Loosemore <sandra@codesourcery.com> | |
23062 | ||
23063 | * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix | |
23064 | uninitialized-variable warning. | |
23065 | ||
23066 | 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org> | |
23067 | ||
23068 | PR target/65249 | |
23069 | * config/sh/sh.md (movdi): Split simple reg move to two movsi | |
23070 | when the destination is R0. | |
23071 | ||
23072 | 2015-07-16 Uros Bizjak <ubizjak@gmail.com> | |
23073 | ||
23074 | PR target/66866 | |
23075 | * config/i386/i386-protos.h (ix86_expand_pextr): New prototype. | |
23076 | * config/i386/i386.c (ix86_expand_pextr): New function. | |
23077 | (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr | |
23078 | for non-lowpart subregs. | |
23079 | * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr. | |
23080 | (insv<mode>): Use SWI248 mode iterator. | |
23081 | (insv<mode>_1): Ditto. | |
23082 | ||
23083 | 2015-07-15 Aditya Kumar <aditya.k7@samsung.com> | |
23084 | Sebastian Pop <s.pop@samsung.com> | |
23085 | ||
23086 | * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point | |
23087 | iterator to use_stmt. | |
23088 | ||
23089 | 2015-07-15 Aditya Kumar <aditya.k7@samsung.com> | |
dfb6d139 | 23090 | Sebastian Pop <s.pop@samsung.com> |
fb2c1edd | 23091 | |
23092 | * graphite-scop-detection.c (build_scops_1): Discard scops for | |
23093 | which entry==exit. | |
23094 | ||
23095 | 2015-07-15 Aditya Kumar <aditya.k7@samsung.com> | |
dfb6d139 | 23096 | Sebastian Pop <s.pop@samsung.com> |
fb2c1edd | 23097 | |
23098 | * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in | |
23099 | case of a return statement in scop. | |
23100 | ||
23101 | 2015-07-15 Aditya Kumar <aditya.k7@samsung.com> | |
dfb6d139 | 23102 | Sebastian Pop <s.pop@samsung.com> |
fb2c1edd | 23103 | |
23104 | * graphite-sese-to-poly.c (parameter_index_in_region): Only handle | |
23105 | INTEGER_TYPE parameters. | |
23106 | (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and | |
23107 | VECTOR_CST in scan_tree_for_params. | |
23108 | (add_conditions_to_domain): Only constrain on INTEGER_TYPE. | |
23109 | ||
23110 | 2015-07-15 Andrew MacLeod <amacleod@redhat.com> | |
23111 | ||
23112 | * gimple-pretty-print.h: Don't include pretty-print.h. | |
23113 | * tree-streamer.h: Don't include lto-streamer.h. | |
23114 | * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h. | |
23115 | * gimple-streamer-in.c: Remove redundant includes. | |
23116 | * gimple-streamer-out.c: Likewise. | |
23117 | * ipa-devirt.c: Likewise. | |
23118 | * ipa-icf.c: Likewise. | |
23119 | * ipa-inline-analysis.c: Likewise. | |
23120 | * ipa-polymorphic-call.c: Likewise. | |
23121 | * ipa-profile.c: Likewise. | |
23122 | * ipa-prop.c: Likewise. | |
23123 | * ipa-pure-const.c: Likewise. | |
23124 | * lto-cgraph.c: Likewise. | |
23125 | * lto-streamer-in.c: Likewise. | |
23126 | * lto-streamer-out.c: Likewise. | |
23127 | * lto-streamer.c: Likewise. | |
23128 | * tree-streamer-in.c: Likewise. | |
23129 | * tree-streamer-out.c: Likewise. | |
23130 | * tree-streamer.c: Likewise. | |
23131 | ||
23132 | 2015-07-15 Andrew MacLeod <amacleod@redhat.com> | |
23133 | ||
23134 | * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't | |
23135 | include input.h. | |
23136 | * opts.c: Remove multiline #include comment. | |
23137 | ||
23138 | 2015-07-15 Nathan Sidwell <nathan@codesourcery.com> | |
23139 | ||
23140 | * config/nvptx/mkoffload.c (process): Add C++ protection to | |
23141 | emitted code. | |
23142 | ||
23143 | 2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com> | |
23144 | ||
23145 | PR target/66854 | |
23146 | * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for | |
23147 | null before IEEE 128-bit floating point support patch. | |
23148 | ||
23149 | 2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
23150 | ||
23151 | * simplify-rtx.c (simplify_ternary_operation): Add simplification | |
23152 | for (!c) != {0,...,0} ? a : b for vector modes. | |
23153 | ||
23154 | 2015-07-15 Paolo Bonzini <bonzini@gnu.org> | |
23155 | Martin Jambor <mjambor@suse.cz> | |
23156 | ||
23157 | * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept | |
23158 | struct func_body_info* instead of struct ipa_node_params*, expecting | |
23159 | fbi->info to be filled in. Replace throughout. Adjust call to | |
23160 | ipa_load_from_parm_agg. | |
23161 | (set_cond_stmt_execution_predicate): Accept struct func_body_info* | |
23162 | instead of struct ipa_node_params*. Adjust calls to other functions | |
23163 | so that they pass either fbi or fbi->info. | |
23164 | (set_switch_stmt_execution_predicate): Likewise. | |
23165 | (will_be_nonconstant_predicate): Likewise. | |
23166 | (compute_bb_predicates): Likewise. | |
23167 | (estimate_function_body_sizes): Move asserts earlier. Fill in | |
23168 | struct func_body_info, replace parms_info with fbi.info. Adjust | |
23169 | calls to functions that now accept struct func_body_info. | |
23170 | * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h. | |
23171 | (struct func_body_info): Likewise. | |
23172 | (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg, | |
23173 | remove static. Adjust callers. | |
23174 | (ipa_load_from_parm_agg): Remove. | |
23175 | * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c. | |
23176 | (func_body_info): Likewise. | |
23177 | (ipa_load_from_parm_agg): Adjust prototype. | |
23178 | ||
23179 | 2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
23180 | ||
23181 | * gensupport.c (rtx_handle_directive): Adjust. | |
23182 | * read-rtl.c (apply_iterators): Take vector to add rtxs to | |
23183 | instead of expr list rtx. | |
23184 | (add_define_attr_for_define_subst): Likewise. | |
23185 | (add_define_subst_attr): Likewise. | |
23186 | (read_subst_mapping): Likewise. | |
23187 | (read_rtx): Likewise. | |
23188 | * rtl.h (read_rtx): Adjust. | |
23189 | ||
23190 | 2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
23191 | ||
23192 | * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic. | |
23193 | ||
23194 | 2015-07-15 Uros Bizjak <ubizjak@gmail.com> | |
23195 | ||
23196 | PR target/58066 | |
23197 | * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG. | |
23198 | (*tls_local_dynamic_base_64_<mode>): Ditto. | |
23199 | (*tls_local_dynamic_base_64_largepic): Ditto. | |
23200 | (tls_global_dynamic_64_<mode>): Update expander pattern. | |
23201 | (tls_local_dynamic_base_64_<mode>): Ditto. | |
23202 | ||
23203 | 2015-07-15 Richard Biener <rguenther@suse.de> | |
23204 | ||
23205 | * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var | |
23206 | and bool_var == 1 -> bool_var simplifications ... | |
23207 | * match.pd: ... to patterns here. Factor out negate_expr_p | |
23208 | cases from the A - B -> A + (-B) patterns as negate_expr_p | |
23209 | predicate and add a -(A + B) -> (-B) - A pattern. | |
23210 | ||
23211 | 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com> | |
23212 | ||
23213 | * config/mips/mips.c (mips_emit_save_slot_move): Fix typo. | |
23214 | ||
23215 | 2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com> | |
23216 | Robert Suchanek <robert.suchanek@imgtec.com> | |
23217 | ||
23218 | * config/mips/mips.c (mips_int_mask): New enum. | |
23219 | (mips_shadow_set): Likewise. | |
23220 | (int_mask): New variable. | |
23221 | (use_shadow_register_set_p): Change type to enum mips_shadow_set. | |
23222 | (machine_function): Add int_mask and use_shadow_register_set. | |
23223 | (mips_attribute_table): Add attribute handlers for interrupt and | |
23224 | use_shadow_register_set. | |
23225 | (mips_interrupt_mask): New static function. | |
23226 | (mips_handle_interrupt_attr): Likewise. | |
23227 | (mips_handle_use_shadow_register_set_attr): Likewise. | |
23228 | (mips_use_shadow_register_set): Change return type to enum | |
23229 | mips_shadow_set. Add argument handling for use_shadow_register_set | |
23230 | attribute. | |
23231 | (mips_interrupt_extra_called_saved_reg_p): Update the conditional to | |
23232 | compare with mips_shadow_set enum. | |
23233 | (mips_compute_frame_info): Add interrupt mask and | |
23234 | use_shadow_register_set to per-function information structure. | |
23235 | Add a stack slot for EPC unconditionally. | |
23236 | (mips_expand_prologue): Compare use_shadow_register_set value | |
23237 | with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for | |
23238 | masked interrupt register but in EIC mode use K0 and save Cause in K0. | |
23239 | EPC saved and restored unconditionally. Use PMODE_INSN macro when | |
23240 | copying the stack pointer from the shadow register set. | |
23241 | * config/mips/mips.h (SR_IM0): New define. | |
23242 | * config/mips/mips.md (mips_rdpgpr): Rename to... | |
23243 | (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator. | |
23244 | * doc/extend.texi (Declaring Attributes of Functions): Document | |
23245 | optional arguments for interrupt and use_shadow_register_set | |
23246 | attributes. | |
23247 | ||
23248 | 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com> | |
23249 | ||
23250 | * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in | |
23251 | interrupt attribute. | |
23252 | (mips_expand_prologue): Disable the floating point unit in an ISR. | |
23253 | * config/mips/mips.h (SR_COP1): New define. | |
23254 | ||
23255 | 2015-07-15 Richard Biener <rguenther@suse.de> | |
23256 | ||
23257 | * genmatch.c (parser::peek, parser::peek_ident): Add argument | |
23258 | to tell how many tokens to peek ahead (default 1). | |
23259 | (parser::eat_token, parser::eat_ident): Return token consumed. | |
23260 | (parser::parse_result): Parse new switch statement. | |
23261 | * match.pd: Use case statements where appropriate. | |
23262 | ||
23263 | 2015-07-15 Uros Bizjak <ubizjak@gmail.com> | |
23264 | ||
23265 | PR rtl-optimization/58066 | |
23266 | * calls.c (expand_call): Precompute register parameters before stack | |
23267 | alignment is performed. | |
23268 | ||
23269 | 2015-07-15 Uros Bizjak <ubizjak@gmail.com> | |
23270 | ||
23271 | PR rtl-optimization/66838 | |
23272 | * postreload.c (reload_cse_move2add): Also process | |
23273 | CALL_INSN_FUNCTION_USAGE when resetting information of | |
23274 | call-clobbered registers. | |
23275 | ||
23276 | 2015-07-14 Sandra Loosemore <sandra@codesourcery.com> | |
23277 | Cesar Philippidis <cesar@codesourcery.com> | |
23278 | Chung-Lin Tang <cltang@codesourcery.com> | |
23279 | ||
23280 | * config/nios2/constraints.md (U, v): New constraints. | |
23281 | * config/nios2/predicates.md (rdprs_dcache_operand): New. | |
23282 | (ldstex_memory_operand): New. | |
23283 | * config/nios2/sync.md: New file. | |
23284 | * config/nios2/nios2.md (unspecv): Add new builtin function | |
23285 | UNSPECV codes. | |
23286 | (rdprs, flushd, flushda, wrpie, eni): New patterns. | |
23287 | (top-level): Include sync.md. | |
23288 | * config/nios2/nios2.c (N2_FTYPES): Add function types for | |
23289 | new builtins. | |
23290 | (N2_BUILTINS): Add arch field setting, add new builtins. | |
23291 | (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF | |
23292 | for arch field. | |
23293 | (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin. | |
23294 | Also handle ldex/stex/ldsex/stsex builtins. | |
23295 | (nios2_expand_rdprs_builtin): New function. | |
23296 | (nios2_expand_cache_builtin): New function. | |
23297 | (nios2_expand_wrpie_builtin): New function. | |
23298 | (nios2_expand_eni_builtin): New function. | |
23299 | (nios2_expand_builtin): Add arch field handling and new builtin | |
23300 | cases. | |
23301 | * doc/extend.texi (Altera Nios II Built-in Functions): Document | |
23302 | new builtins. | |
23303 | * doc/md.texi (Machine Constraints): Document U and v constraints. | |
23304 | ||
23305 | 2015-07-14 Sandra Loosemore <sandra@codesourcery.com> | |
23306 | Cesar Philippidis <cesar@codesourcery.com> | |
23307 | Chung-Lin Tang <cltang@codesourcery.com> | |
23308 | ||
23309 | * config/nios2/nios2-protos.h (nios2_expand_return): Declare. | |
23310 | * config/nios2/nios2.c (struct GTY (()) machine_function): Add | |
23311 | callee_save_reg_size and uses_anonymous_args fields. | |
23312 | (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage. | |
23313 | (nios2_create_cfa_notes): New function. | |
23314 | (nios2_adjust_stack): New function for adjusting stack. | |
23315 | (nios2_expand_prologue): Update for CDX push.n/pop.n usage. | |
23316 | Use nios2_adjust_stack. | |
23317 | (nios2_expand_epilogue): Likewise. | |
23318 | (nios2_expand_return): New function. | |
23319 | (nios2_can_use_return_insn): Update for CDX pop.n usage. | |
23320 | (nios2_setup_incoming_varargs): Set uses_anonymous_args flag. | |
23321 | If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue. | |
23322 | * config/nios2/nios2.md (return): Use nios2_expand_return. | |
23323 | ||
23324 | 2015-07-14 Sandra Loosemore <sandra@codesourcery.com> | |
23325 | Cesar Philippidis <cesar@codesourcery.com> | |
23326 | Chung-Lin Tang <cltang@codesourcery.com> | |
23327 | ||
23328 | * config/nios2/predicates.md (pop_operation): New. | |
23329 | (ldwm_operation, stwm_operation): New. | |
23330 | (nios2_hard_register_operand): New. | |
23331 | * config/nios2/nios2-protos.h (pop_operation_p): Declare. | |
23332 | (ldstwm_operation_p): Declare. | |
23333 | (gen_ldstwm_peep): Declare. | |
23334 | * config/nios2/nios2.c: (nios2_ldst_parallel): Declare. | |
23335 | (base_reg_adjustment_p): New. | |
23336 | (pop_operation_p): New. | |
23337 | (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define. | |
23338 | (nios2_ldstwm_regset_p): New. | |
23339 | (ldstwm_operation_p): New. | |
23340 | (gen_ldst): New. | |
23341 | (nios2_ldst_parallel): New. | |
23342 | (struct ldswm_operand): Declare. | |
23343 | (compare_ldstwm_operands): New. | |
23344 | (can_use_cdx_ldstw): New. | |
23345 | (gen_ldstwm_peep): New. | |
23346 | * config/nios2/nios2-ldstwm.sml: New. | |
23347 | * config/nios2/nios2.md: Include ldstwm.md. | |
23348 | * config/nios2/ldstwm.md: Generated. | |
23349 | ||
23350 | 2015-07-14 Sandra Loosemore <sandra@codesourcery.com> | |
23351 | Cesar Philippidis <cesar@codesourcery.com> | |
23352 | Chung-Lin Tang <cltang@codesourcery.com> | |
23353 | ||
23354 | * config/nios2/nios2.h (LABEL_ALIGN): Define. | |
23355 | (REG_ALLOC_ORDER): Define. | |
23356 | (ADJUST_REG_ALLOC_ORDER): Define. | |
23357 | (HONOR_REG_ALLOC_ORDER): Define. | |
23358 | (CDX_REG_P): Define. | |
23359 | (ANDCLEAR_INT): Define. | |
23360 | * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare. | |
23361 | (nios2_label_align): Declare. | |
23362 | (nios2_cdx_narrow_form_p): Declare. | |
23363 | (nios2_adjust_reg_alloc_order): Declare. | |
23364 | * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract | |
23365 | operation. | |
23366 | (nios2_large_unspec_reloc_p): New function, split from... | |
23367 | (nios2_legitimate_pic_operand_p): ...here. | |
23368 | (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code. | |
23369 | (nios2_print_operand_punct_valid_p): New. | |
23370 | (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U. | |
23371 | (split_mem_address): New. | |
23372 | (split_alu_insn): New. | |
23373 | (cdxreg): New. | |
23374 | (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New. | |
23375 | (enum nios2_add_insn_kind): New. | |
23376 | (nios2_add_insn_names, nios2_add_insn_narrow): New. | |
23377 | (nios2_add_insn_classify): New. | |
23378 | (nios2_add_insn_asm): New. | |
23379 | (nios2_cdx_narrow_form_p): New. | |
23380 | (label_align, min_labelno, max_labelno): New. | |
23381 | (nios2_reorg): New. | |
23382 | (nios2_label_align): New. | |
23383 | (nios2_adjust_reg_alloc_order): New. | |
23384 | (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define. | |
23385 | (TARGET_MACHINE_DEPENDENT_REORG): Define. | |
23386 | * config/nios2/constraints.md (P): New constraint. | |
23387 | * config/nios2/predicates.md (const_and_operand): New. | |
23388 | (and_operand): New. | |
23389 | (stack_memory_operand): New. | |
23390 | * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno. | |
23391 | (length): Update to use nios2_cdx_narrow_form_p(). | |
23392 | (type): Add new insn type values. | |
23393 | (control, alu, st, ld, shift): Update insn reservations with | |
23394 | new insn type values. | |
23395 | (*high, *lo_sum): Define new insn patterns for constant generation. | |
23396 | (movqi_internal, movhi_internal, movsi_internal): Reduce | |
23397 | alternatives, update asm template to handle CDX variants, update | |
23398 | type attributes. | |
23399 | (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm | |
23400 | template, update type attributes. | |
23401 | (extendhisi2, extendqi<mode>2): Likewise. | |
23402 | (addsi3): Change to use function for asm string. | |
23403 | (subsi3): Add CDX notation to asm template, update type attributes. | |
23404 | (negsi3, one_cmplsi3): Likewise. | |
23405 | (andsi3): New pattern, specialized from logical patterns. | |
23406 | (<code>si3): Remove and case, combine alternatives, update asm | |
23407 | template. | |
23408 | (<shift_op>si3): Add CDX notation, update type attributes. | |
23409 | (rotrsi3): Update type attribute. | |
23410 | (*merge, extzv, insv): New insn patterns. | |
23411 | (return): Change to define_expand. | |
23412 | (simple_return): Add CDX notation, update type attributes. | |
23413 | (indirect_jump): Add CDX notation. | |
23414 | (jump): Update asm cases, update length attribute expression. | |
23415 | (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant. | |
23416 | (nios2_cbranch): Update asm cases and length attribute expression | |
23417 | to handle CDX variants. | |
23418 | (nios2_cmp<code>): Update asm template. | |
23419 | (nop): Add CDX notation, update type attributes. | |
23420 | (trap): Add CDX notation. | |
23421 | (ctrapsi4): Update asm cases and length attribute expression to | |
23422 | handle CDX variant. | |
23423 | * doc/md.texi (Machine Constraints): Document P constraint. | |
23424 | ||
23425 | 2015-07-14 Sandra Loosemore <sandra@codesourcery.com> | |
23426 | Cesar Philippidis <cesar@codesourcery.com> | |
23427 | Chung-Lin Tang <cltang@codesourcery.com> | |
23428 | ||
23429 | * config/nios2/nios2.h (SMALL_INT12): New macro. | |
23430 | * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function. | |
23431 | (nios2_valid_addr_expr_p): Use it. | |
23432 | (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing | |
23433 | with implicit "io" instructions on R2. | |
23434 | * config/nios2/constraints.md (w): New constraint. | |
23435 | * config/nios2/predicates.md (ldstio_memory_operand): New. | |
23436 | * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory | |
23437 | operand predicate and constraint. | |
23438 | (ld<bh>io_signed, st<bhw>io>): Likewise. | |
23439 | * doc/md.texi (Machine Constraints): Document w constraint. | |
23440 | ||
23441 | 2015-07-14 Sandra Loosemore <sandra@codesourcery.com> | |
23442 | Cesar Philippidis <cesar@codesourcery.com> | |
23443 | Chung-Lin Tang <cltang@codesourcery.com> | |
23444 | ||
23445 | * config/nios2/nios2.opt (march, mbmx, mcdx): New options. | |
23446 | * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for | |
23447 | Nios II architecture level. | |
23448 | * config/nios2/nios2.h (TARGET_ARCH_R2): New define. | |
23449 | (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol. | |
23450 | (OPTION_DEFAULT_SPECS): Define. | |
23451 | (ASM_SPEC): Add -march= spec strings. | |
23452 | * config/nios2/nios2.c (nios2_option_override): Check for | |
23453 | conflicts involving new options. | |
23454 | * config.gcc (nios2*-*-*): Support --with-arch=. | |
23455 | * doc/invoke.texi (Option Summary, Nios II Options): Document | |
23456 | -march=, -mbmx, and -mcdx. | |
23457 | ||
23458 | 2015-07-14 Vladimir Makarov <vmakarov@redhat.com> | |
23459 | ||
23460 | PR rtl-optimization/66626 | |
23461 | * lra-constraints.c (lra_constraints): Prevent equivalence | |
23462 | substitution for static chain pseudo in functions with nonlocal | |
23463 | goto. | |
23464 | ||
23465 | 2015-07-14 Sandra Loosemore <sandra@codesourcery.com> | |
23466 | ||
23467 | * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file. | |
23468 | (nios2_emit_stack_limit_check): Add size parameter. Handle | |
23469 | -fstack-limit-symbol as well as -fstack-limit-register. | |
23470 | (nios2_expand_prologue): Emit only a single stack limit check, | |
23471 | even if multiple stack adjustments are required. | |
23472 | (nios2_option_override): Diagnose unsupported combination of -fpic | |
23473 | and -stack-limit-symbol. | |
23474 | ||
23475 | 2015-07-14 H.J. Lu <hongjiu.lu@intel.com> | |
23476 | ||
23477 | * Makefile.in (top_srcdir): New. | |
23478 | * configure.ac: Use AM_ZLIB. | |
23479 | * configure: Regeneated. | |
23480 | ||
23481 | 2015-07-14 Matthias Klose <doko@ubuntu.com> | |
23482 | ||
23483 | PR target/66840 | |
23484 | * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def. | |
23485 | ||
23486 | 2015-07-14 Richard Biener <rguenther@suse.de> | |
23487 | ||
23488 | PR tree-optimization/66863 | |
23489 | * tree-vrp.c (register_edge_assert_for_2): Properly restrict | |
23490 | what we record for conversion use stmt lhs inequalities. | |
23491 | ||
23492 | 2015-07-14 Richard Biener <rguenther@suse.de> | |
23493 | ||
23494 | * genmatch.c (dt_node::gen_kids_1): Fix case label indenting. | |
23495 | (decision_tree::gen_gimple): Likewise. | |
23496 | ||
23497 | 2015-07-14 Tom de Vries <tom@codesourcery.com> | |
23498 | ||
23499 | * gcc.c (greater_than_spec_func): Declare forward. | |
23500 | (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore | |
23501 | -ftree-parallelize-loops={0,1}. | |
23502 | (static_spec_functions): Add greater_than_spec_func function with name | |
23503 | "gt". | |
23504 | (greater_than_spec_func): New function. | |
23505 | ||
23506 | 2015-07-14 Richard Biener <rguenther@suse.de> | |
23507 | ||
23508 | * tree-ssa-dom.c (record_temporary_equivalences): Merge | |
23509 | wideing type conversion case from record_equivalences_from_incoming_edge | |
23510 | and use record_equality to record equivalences. | |
23511 | (record_equivalences_from_incoming_edge): Call | |
23512 | record_temporary_equivalences. | |
23513 | ||
23514 | 2015-07-14 Richard Biener <rguenther@suse.de> | |
23515 | ||
23516 | * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types. | |
23517 | (struct if_expr): New. | |
23518 | (struct with_expr): Likewise. | |
23519 | (is_a_helper): Add helpers for if_expr and with_expr. | |
23520 | (struct simplify): Add simplify_kind enum and member. Remove | |
23521 | ifexpr_vec member. | |
23522 | (simplify::simplify): Adjust. | |
23523 | (lower_commutative): Adjust. | |
23524 | (lower_opt_convert): Likewise. | |
23525 | (lower_cond): Likewise. | |
23526 | (replace_id): Handle with_expr and if_expr. | |
23527 | (lower_for): Adjust. | |
23528 | (dt_simplify::gen_1): New recursive worker, split out from ... | |
23529 | (dt_simplify::gen): ... here. Deal with if and with expansion | |
23530 | recursively. | |
23531 | (capture_info::capture_info): Take context argument | |
23532 | (capture_info::walk_result): Only analyze specific result. | |
23533 | (parser::parse_result): New function. | |
23534 | (parser::parse_simplify): Adjust to parse ifs with then end | |
23535 | else case. | |
23536 | (parser::parse_if): Simplify. | |
23537 | (parser::parse_pattern): Pass down simplify kind. | |
23538 | * match.pd: Convert if structure to new syntax. | |
23539 | ||
23540 | 2015-07-13 Marek Polacek <polacek@redhat.com> | |
23541 | ||
23542 | * rtl.c (rtx_equal_p_cb): Fix typo. | |
23543 | ||
23544 | 2015-07-13 Andrew MacLeod <amacleod@redhat.com> | |
23545 | ||
23546 | * omega.h: Don't include config.h, don't include params.h again if | |
23547 | omega.h has already been included. | |
23548 | * graphite-poly.h: Include sese.h. | |
23549 | * graphite.c: Don't include sese.h, remove needless includes and | |
23550 | minimize includes outside #ifdef HAVE_isl block. | |
23551 | * graphite-blocking.c: Don't include sese.h, remove needless includes, | |
23552 | and wrap entire file in #ifdef HAVE_isl | |
23553 | * graphite-dependences.c: Likewise. | |
23554 | * graphite-interchange.c: Likewise. | |
23555 | * graphite-isl-ast-to-gimple.c: Likewise. | |
23556 | * graphite-optimize-isl.c: Likewise. | |
23557 | * graphite-poly.c: Likewise. | |
23558 | * graphite-scop-detection.c: Likewise. | |
23559 | * graphite-sese-to-poly.c: Likewise. | |
23560 | ||
23561 | 2015-07-13 Tom de Vries <tom@codesourcery.com> | |
23562 | ||
23563 | * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping. | |
23564 | ||
23565 | 2015-07-13 Renlin Li <renlin.li@arm.com> | |
23566 | ||
23567 | PR rtl/66556 | |
23568 | * simplify-rtx.c (simplify_const_relational_operation): Add | |
23569 | side_effects_p checks. | |
23570 | ||
23571 | 2015-07-12 Aldy Hernandez <aldyh@redhat.com> | |
23572 | ||
23573 | * bitmap.h: Fix double word typos. | |
23574 | * builtins.c: Same. | |
23575 | * calls.c: Same. | |
23576 | * cfgloopmanip.c: Same. | |
23577 | * cgraph.c: Same. | |
23578 | * cgraph.h: Same. | |
23579 | * cgraphclones.c: Same. | |
23580 | * combine.c: Same. | |
23581 | * config/aarch64/aarch64-protos.h: Same. | |
23582 | * config/aarch64/aarch64.c: Same. | |
23583 | * config/aarch64/aarch64.md: Same. | |
23584 | * config/arm/arm.md: Same. | |
23585 | * config/arm/arm1020e.md: Same. | |
23586 | * config/arm/arm1026ejs.md: Same. | |
23587 | * config/arm/arm926ejs.md: Same. | |
23588 | * config/arm/fa526.md: Same. | |
23589 | * config/arm/fa606te.md: Same. | |
23590 | * config/arm/fa626te.md: Same. | |
23591 | * config/arm/fa726te.md: Same. | |
23592 | * config/arm/fmp626.md: Same. | |
23593 | * config/darwin.c: Same. | |
23594 | * config/epiphany/epiphany.c: Same. | |
23595 | * config/frv/frv.c: Same. | |
23596 | * config/ft32/ft32.c: Same. | |
23597 | * config/gnu-user.h: Same. | |
23598 | * config/h8300/constraints.md: Same. | |
23599 | * config/i386/i386.c: Same. | |
23600 | * config/i386/i386.md: Same. | |
23601 | * config/iq2000/iq2000.md: Same. | |
23602 | * config/mips/mips.c: Same. | |
23603 | * config/mmix/mmix.md: Same. | |
23604 | * config/moxie/moxie.c: Same. | |
23605 | * config/nds32/nds32.md: Same. | |
23606 | * config/pa/pa.h: Same. | |
23607 | * config/rs6000/aix.h: Same. | |
23608 | * config/rs6000/rs6000.h: Same. | |
23609 | * config/sh/sh.c: Same. | |
23610 | * config/tilegx/tilegx.md: Same. | |
23611 | * config/tilepro/gen-mul-tables.cc: Same. | |
23612 | * cse.c: Same. | |
23613 | * dbxout.c: Same. | |
23614 | * doc/invoke.texi: Same. | |
23615 | * dse.c: Same. | |
23616 | * dwarf2out.c: Same. | |
23617 | * final.c: Same. | |
23618 | * gcc.c: Same. | |
23619 | * genmatch.c: Same. | |
23620 | * gimplify.c: Same. | |
23621 | * hash-table.h: Same. | |
23622 | * internal-fn.c: Same. | |
23623 | * ipa-cp.c: Same. | |
23624 | * ipa-devirt.c: Same. | |
23625 | * ipa-icf.c: Same. | |
23626 | * ipa-icf.h: Same. | |
23627 | * ipa-profile.c: Same. | |
23628 | * ipa-prop.c: Same. | |
23629 | * ipa-prop.h: Same. | |
23630 | * ira.c: Same. | |
23631 | * omp-low.c: Same. | |
23632 | * reg-stack.c: Same. | |
23633 | * regcprop.c: Same. | |
23634 | * reorg.c: Same. | |
23635 | * rtl.h: Same. | |
23636 | * sbitmap.h: Same. | |
23637 | * tree-eh.c: Same. | |
23638 | * tree-inline.c: Same. | |
23639 | * tree-sra.c: Same. | |
23640 | * tree-ssa-dom.c: Same. | |
23641 | * tree-ssa-loop-ivopts.c: Same. | |
23642 | * tree-ssa-structalias.c: Same. | |
23643 | * tree-ssa-tail-merge.c: Same. | |
23644 | * tree-ssa-ter.c: Same. | |
23645 | * tree-ssa-threadupdate.c: Same. | |
23646 | * tree-ssa-uninit.c: Same. | |
23647 | * tree-ssanames.c: Same. | |
23648 | * tree-vect-loop-manip.c: Same. | |
23649 | * tree-vrp.c: Same. | |
23650 | * tree.c: Same. | |
23651 | * valtrack.c: Same. | |
23652 | * vec.h: Same. | |
23653 | ||
23654 | 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org> | |
23655 | ||
23656 | PR middle-end/66726 | |
23657 | * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function. | |
23658 | tree_ssa_phiopt_worker): Call it. | |
23659 | ||
23660 | 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org> | |
23661 | ||
23662 | * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT. | |
23663 | * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set | |
23664 | REG_EQUAL note. | |
23665 | ||
23666 | 2015-07-11 Marek Polacek <polacek@redhat.com> | |
23667 | ||
23668 | PR middle-end/66353 | |
23669 | * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function. | |
23670 | * ira-lives.c (bb_has_abnormal_call_pred): Remove function. | |
23671 | (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p | |
23672 | rather than bb_has_abnormal_call_pred. | |
23673 | * lra-lives.c (bb_has_abnormal_call_pred): Remove function. | |
23674 | (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p | |
23675 | rather than bb_has_abnormal_call_pred. | |
23676 | ||
23677 | 2015-07-10 Anatoly Sokolov <aesok@post.ru> | |
23678 | ||
23679 | * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, | |
23680 | REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT, | |
23681 | RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros. | |
23682 | * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p, | |
23683 | v850_legitimate_address_p): New functions. | |
23684 | (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define. | |
23685 | ||
23686 | 2015-07-10 H.J. Lu <hongjiu.lu@intel.com> | |
23687 | ||
23688 | PR target/66819 | |
23689 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow | |
23690 | indirect sibcall with register arguments if register available | |
23691 | for argument passing. | |
23692 | (init_cumulative_args): Set cfun->machine->arg_reg_available | |
23693 | to (cum->nregs > 0) or to true if function has a variable | |
23694 | argument list. | |
23695 | (function_arg_advance_32): Set cfun->machine->arg_reg_available | |
23696 | to false if cum->nregs <= 0. | |
23697 | * config/i386/i386.h (machine_function): Add arg_reg_available. | |
23698 | ||
23699 | 2015-07-10 Uros Bizjak <ubizjak@gmail.com> | |
23700 | ||
23701 | * config/i386/sse.md (movdi_to_sse): Use gen_lowpart | |
23702 | and gen_higpart instead of gen_rtx_SUBREG. | |
23703 | * config/i386/i386.md | |
23704 | (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto. | |
23705 | (read-modify peephole2): Use gen_lowpart instead of | |
23706 | gen_rtx_SUBREG for operand 5. | |
23707 | ||
23708 | 2015-07-10 Andrew MacLeod <amacleod@redhat.com> | |
23709 | ||
23710 | * config/tilepro/gen-mul-tables.cc (main): Change include list for | |
23711 | generated files. | |
23712 | * config/tilepro/mul-tables.c: Regenerate. | |
23713 | * config/tilegx/mul-tables.c: Regenerate. | |
23714 | ||
23715 | 2015-07-10 Richard Biener <rguenther@suse.de> | |
23716 | ||
23717 | * fold-const.c (distribute_bit_expr): Remove. | |
23718 | (fold_binary_loc): Move simplifying (A & C1) + (B & C2) | |
23719 | to (A & C1) | (B & C2), distributing (A & B) | (A & C) | |
23720 | to A & (B | C) and simplifying A << C1 << C2 to ... | |
23721 | * match.pd: ... patterns here. | |
23722 | ||
23723 | 2015-07-10 Jiong Wang <jiong.wang@arm.com> | |
23724 | ||
23725 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): | |
23726 | Mark mem as READONLY and NOTRAP for PIC symbol. | |
23727 | ||
23728 | 2015-07-10 Andrew MacLeod <amacleod@redhat.com> | |
23729 | ||
23730 | * gimple-predict.h: New file. | |
23731 | (gimple_predict_predictor, gimple_predict_set_predictor, | |
23732 | gimple_predict_outcome, gimple_predict_set_outcome, | |
23733 | gimple_build_predict): Relocate here. | |
23734 | * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor, | |
23735 | gimple_predict_outcome, gimple_predict_set_outcome): Move to | |
23736 | gimple-predict.h. | |
23737 | * gimple.c (gimple_build_predict): Move to gimple-predict.h | |
23738 | * basic-block.h: Don't include cfghooks.h. | |
23739 | * backend.h: Don't include predict.h. | |
23740 | * cfghooks.h: Include predict.h. | |
23741 | * gimple-pretty-print.c: Include gimple-predict.h. | |
23742 | * gimplify.c: Likwise. | |
23743 | * predict.c: Adjust includes. | |
23744 | * tree-inline.c: Likewise. | |
23745 | * asan.c: Likewise. | |
23746 | * auto-inc-dec.c: Likewise. | |
23747 | * auto-profile.c: Likewise. | |
23748 | * bb-reorder.c: Likewise. | |
23749 | * builtins.c: Likewise. | |
23750 | * caller-save.c: Likewise. | |
23751 | * calls.c: Likewise. | |
23752 | * cfganal.c: Likewise. | |
23753 | * cfgbuild.c: Likewise. | |
23754 | * cfg.c: Likewise. | |
23755 | * cfgcleanup.c: Likewise. | |
23756 | * cfgexpand.c: Likewise. | |
23757 | * cfghooks.c: Likewise. | |
23758 | * cfgloopanal.c: Likewise. | |
23759 | * cfgloop.c: Likewise. | |
23760 | * cfgloopmanip.c: Likewise. | |
23761 | * cfgrtl.c: Likewise. | |
23762 | * cgraph.c: Likewise. | |
23763 | * cgraphunit.c: Likewise. | |
23764 | * combine.c: Likewise. | |
23765 | * cprop.c: Likewise. | |
23766 | * cse.c: Likewise. | |
23767 | * dce.c: Likewise. | |
23768 | * dojump.c: Likewise. | |
23769 | * dse.c: Likewise. | |
23770 | * except.c: Likewise. | |
23771 | * expmed.c: Likewise. | |
23772 | * expr.c: Likewise. | |
23773 | * final.c: Likewise. | |
23774 | * fold-const.c: Likewise. | |
23775 | * function.c: Likewise. | |
23776 | * fwprop.c: Likewise. | |
23777 | * gcc-plugin.h: Likewise. | |
23778 | * gcse.c: Likewise. | |
23779 | * genattrtab.c: Likewise. | |
23780 | * genemit.c: Likewise. | |
23781 | * gengtype.c: Likewise. | |
23782 | * genopinit.c: Likewise. | |
23783 | * genoutput.c: Likewise. | |
23784 | * genpreds.c: Likewise. | |
23785 | * genrecog.c: Likewise. | |
23786 | * gimple-fold.c: Likewise. | |
23787 | * gimple-iterator.c: Likewise. | |
23788 | * gimple-ssa-isolate-paths.c: Likewise. | |
23789 | * gimple-ssa-strength-reduction.c: Likewise. | |
23790 | * graph.c: Likewise. | |
23791 | * graphite-blocking.c: Likewise. | |
23792 | * graphite.c: Likewise. | |
23793 | * graphite-dependences.c: Likewise. | |
23794 | * graphite-interchange.c: Likewise. | |
23795 | * graphite-isl-ast-to-gimple.c: Likewise. | |
23796 | * graphite-optimize-isl.c: Likewise. | |
23797 | * graphite-poly.c: Likewise. | |
23798 | * graphite-scop-detection.c: Likewise. | |
23799 | * graphite-sese-to-poly.c: Likewise. | |
23800 | * haifa-sched.c: Likewise. | |
23801 | * ifcvt.c: Likewise. | |
23802 | * internal-fn.c: Likewise. | |
23803 | * ipa-cp.c: Likewise. | |
23804 | * ipa-profile.c: Likewise. | |
23805 | * ipa-split.c: Likewise. | |
23806 | * ipa-utils.c: Likewise. | |
23807 | * ira-build.c: Likewise. | |
23808 | * ira-color.c: Likewise. | |
23809 | * ira-conflicts.c: Likewise. | |
23810 | * ira-costs.c: Likewise. | |
23811 | * ira-emit.c: Likewise. | |
23812 | * ira-lives.c: Likewise. | |
23813 | * jump.c: Likewise. | |
23814 | * loop-doloop.c: Likewise. | |
23815 | * loop-init.c: Likewise. | |
23816 | * loop-invariant.c: Likewise. | |
23817 | * loop-unroll.c: Likewise. | |
23818 | * lower-subreg.c: Likewise. | |
23819 | * lra-assigns.c: Likewise. | |
23820 | * lra.c: Likewise. | |
23821 | * lra-coalesce.c: Likewise. | |
23822 | * lra-constraints.c: Likewise. | |
23823 | * lra-lives.c: Likewise. | |
23824 | * lto-cgraph.c: Likewise. | |
23825 | * lto-streamer-in.c: Likewise. | |
23826 | * mode-switching.c: Likewise. | |
23827 | * modulo-sched.c: Likewise. | |
23828 | * omp-low.c: Likewise. | |
23829 | * optabs.c: Likewise. | |
23830 | * passes.c: Likewise. | |
23831 | * postreload.c: Likewise. | |
23832 | * postreload-gcse.c: Likewise. | |
23833 | * profile.c: Likewise. | |
23834 | * recog.c: Likewise. | |
23835 | * regstat.c: Likewise. | |
23836 | * reload1.c: Likewise. | |
23837 | * reorg.c: Likewise. | |
23838 | * rtlanal.c: Likewise. | |
23839 | * sched-ebb.c: Likewise. | |
23840 | * sel-sched-ir.c: Likewise. | |
23841 | * sese.c: Likewise. | |
23842 | * shrink-wrap.c: Likewise. | |
23843 | * simplify-rtx.c: Likewise. | |
23844 | * stmt.c: Likewise. | |
23845 | * store-motion.c: Likewise. | |
23846 | * tracer.c: Likewise. | |
23847 | * trans-mem.c: Likewise. | |
23848 | * tree-call-cdce.c: Likewise. | |
23849 | * tree-cfg.c: Likewise. | |
23850 | * tree-cfgcleanup.c: Likewise. | |
23851 | * tree-chkp.c: Likewise. | |
23852 | * tree-complex.c: Likewise. | |
23853 | * tree-eh.c: Likewise. | |
23854 | * tree-if-conv.c: Likewise. | |
23855 | * tree-loop-distribution.c: Likewise. | |
23856 | * tree-outof-ssa.c: Likewise. | |
23857 | * tree-parloops.c: Likewise. | |
23858 | * tree-predcom.c: Likewise. | |
23859 | * tree-pretty-print.c: Likewise. | |
23860 | * tree-profile.c: Likewise. | |
23861 | * tree-sra.c: Likewise. | |
23862 | * tree-ssa.c: Likewise. | |
23863 | * tree-ssa-coalesce.c: Likewise. | |
23864 | * tree-ssa-dce.c: Likewise. | |
23865 | * tree-ssa-dom.c: Likewise. | |
23866 | * tree-ssa-forwprop.c: Likewise. | |
23867 | * tree-ssa-ifcombine.c: Likewise. | |
23868 | * tree-ssa-loop-ch.c: Likewise. | |
23869 | * tree-ssa-loop-im.c: Likewise. | |
23870 | * tree-ssa-loop-ivcanon.c: Likewise. | |
23871 | * tree-ssa-loop-ivopts.c: Likewise. | |
23872 | * tree-ssa-loop-manip.c: Likewise. | |
23873 | * tree-ssa-loop-prefetch.c: Likewise. | |
23874 | * tree-ssa-loop-unswitch.c: Likewise. | |
23875 | * tree-ssa-math-opts.c: Likewise. | |
23876 | * tree-ssa-phiopt.c: Likewise. | |
23877 | * tree-ssa-pre.c: Likewise. | |
23878 | * tree-ssa-reassoc.c: Likewise. | |
23879 | * tree-ssa-sink.c: Likewise. | |
23880 | * tree-ssa-tail-merge.c: Likewise. | |
23881 | * tree-ssa-threadedge.c: Likewise. | |
23882 | * tree-ssa-threadupdate.c: Likewise. | |
23883 | * tree-switch-conversion.c: Likewise. | |
23884 | * tree-tailcall.c: Likewise. | |
23885 | * tree-vect-data-refs.c: Likewise. | |
23886 | * tree-vect-loop.c: Likewise. | |
23887 | * tree-vect-loop-manip.c: Likewise. | |
23888 | * tree-vectorizer.c: Likewise. | |
23889 | * tree-vrp.c: Likewise. | |
23890 | * ubsan.c: Likewise. | |
23891 | * value-prof.c: Likewise. | |
23892 | * varasm.c: Likewise. | |
23893 | * var-tracking.c: Likewise. | |
23894 | * config/aarch64/aarch64-builtins.c: Likewise. | |
23895 | * config/aarch64/aarch64.c: Likewise. | |
23896 | * config/aarch64/cortex-a57-fma-steering.c: Likewise. | |
23897 | * config/alpha/alpha.c: Likewise. | |
23898 | * config/arc/arc.c: Likewise. | |
23899 | * config/arm/arm.c: Likewise. | |
23900 | * config/avr/avr.c: Likewise. | |
23901 | * config/bfin/bfin.c: Likewise. | |
23902 | * config/c6x/c6x.c: Likewise. | |
23903 | * config/cr16/cr16.c: Likewise. | |
23904 | * config/cris/cris.c: Likewise. | |
23905 | * config/darwin.c: Likewise. | |
23906 | * config/darwin-c.c: Likewise. | |
23907 | * config/epiphany/epiphany.c: Likewise. | |
23908 | * config/epiphany/mode-switch-use.c: Likewise. | |
23909 | * config/epiphany/resolve-sw-modes.c: Likewise. | |
23910 | * config/fr30/fr30.c: Likewise. | |
23911 | * config/frv/frv.c: Likewise. | |
23912 | * config/ft32/ft32.c: Likewise. | |
23913 | * config/h8300/h8300.c: Likewise. | |
23914 | * config/i386/i386.c: Likewise. | |
23915 | * config/i386/winnt.c: Likewise. | |
23916 | * config/ia64/ia64.c: Likewise. | |
23917 | * config/iq2000/iq2000.c: Likewise. | |
23918 | * config/lm32/lm32.c: Likewise. | |
23919 | * config/m32c/m32c.c: Likewise. | |
23920 | * config/m32r/m32r.c: Likewise. | |
23921 | * config/m68k/m68k.c: Likewise. | |
23922 | * config/mcore/mcore.c: Likewise. | |
23923 | * config/mep/mep.c: Likewise. | |
23924 | * config/microblaze/microblaze.c: Likewise. | |
23925 | * config/mips/mips.c: Likewise. | |
23926 | * config/mmix/mmix.c: Likewise. | |
23927 | * config/mn10300/mn10300.c: Likewise. | |
23928 | * config/moxie/moxie.c: Likewise. | |
23929 | * config/msp430/msp430.c: Likewise. | |
23930 | * config/nds32/nds32.c: Likewise. | |
23931 | * config/nds32/nds32-cost.c: Likewise. | |
23932 | * config/nds32/nds32-fp-as-gp.c: Likewise. | |
23933 | * config/nds32/nds32-intrinsic.c: Likewise. | |
23934 | * config/nds32/nds32-isr.c: Likewise. | |
23935 | * config/nds32/nds32-md-auxiliary.c: Likewise. | |
23936 | * config/nds32/nds32-memory-manipulation.c: Likewise. | |
23937 | * config/nds32/nds32-pipelines-auxiliary.c: Likewise. | |
23938 | * config/nds32/nds32-predicates.c: Likewise. | |
23939 | * config/nios2/nios2.c: Likewise. | |
23940 | * config/nvptx/nvptx.c: Likewise. | |
23941 | * config/pa/pa.c: Likewise. | |
23942 | * config/pdp11/pdp11.c: Likewise. | |
23943 | * config/rl78/rl78.c: Likewise. | |
23944 | * config/rs6000/rs6000.c: Likewise. | |
23945 | * config/rx/rx.c: Likewise. | |
23946 | * config/s390/s390.c: Likewise. | |
23947 | * config/sh/sh.c: Likewise. | |
23948 | * config/sh/sh-mem.cc: Likewise. | |
23949 | * config/sh/sh_optimize_sett_clrt.cc: Likewise. | |
23950 | * config/sh/sh_treg_combine.cc: Likewise. | |
23951 | * config/sparc/sparc.c: Likewise. | |
23952 | * config/spu/spu.c: Likewise. | |
23953 | * config/stormy16/stormy16.c: Likewise. | |
23954 | * config/tilegx/tilegx.c: Likewise. | |
23955 | * config/tilepro/tilepro.c: Likewise. | |
23956 | * config/v850/v850.c: Likewise. | |
23957 | * config/vax/vax.c: Likewise. | |
23958 | * config/visium/visium.c: Likewise. | |
23959 | * config/xtensa/xtensa.c: Likewise. | |
23960 | ||
23961 | 2015-07-10 Richard Biener <rguenther@suse.de> | |
23962 | ||
23963 | * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels. | |
23964 | (decision_tree::gen_gimple): Likewise. | |
23965 | (decision_tree::gen_generic): Likewise. | |
23966 | ||
23967 | 2015-07-10 Uros Bizjak <ubizjak@gmail.com> | |
23968 | ||
23969 | PR target/66813 | |
23970 | * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi | |
23971 | sequence for TARGET_ZERO_EXTEND_WITH_AND targets. | |
23972 | ||
23973 | 2015-07-10 Jakub Jelinek <jakub@redhat.com> | |
23974 | ||
23975 | PR middle-end/66820 | |
23976 | * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL | |
23977 | or ORT_TASK contexts. | |
23978 | * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level | |
23979 | is non-zero. | |
23980 | ||
23981 | 2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
23982 | ||
23983 | * expr.c (expand_cond_expr_using_cmove): Fix typos in comment | |
23984 | above function. | |
23985 | ||
23986 | 2015-07-10 Tom de Vries <tom@codesourcery.com> | |
23987 | ||
23988 | * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found, | |
23989 | insert nit + 1 bound. | |
23990 | ||
23991 | 2015-07-10 Richard Biener <rguenther@suse.de> | |
23992 | ||
23993 | * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): | |
23994 | Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores. | |
23995 | (if_convertible_loop_p_1): For this always compute bb predicates. | |
23996 | (if_convertible_loop_p): And free them. | |
23997 | ||
23998 | 2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
23999 | ||
24000 | * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo | |
24001 | in dump message. | |
24002 | ||
24003 | 2015-07-10 Richard Biener <rguenther@suse.de> | |
24004 | ||
24005 | PR tree-optimization/66823 | |
24006 | * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix | |
24007 | inverted predicate. | |
24008 | ||
24009 | 2015-07-09 Steve Ellcey <sellcey@imgtec.com> | |
24010 | ||
24011 | * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update | |
24012 | to handle mips[32|64]r3 and mips[32|64]r5. | |
24013 | ||
24014 | 2015-07-09 Jakub Jelinek <jakub@redhat.com> | |
24015 | ||
24016 | PR middle-end/66633 | |
24017 | * tree-nested.c (get_static_chain): Or in a flag into | |
24018 | info->static_chain_added. | |
24019 | (get_frame_field, get_nonlocal_debug_decl): Likewise. | |
24020 | (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert | |
24021 | 2015-07-01 changes. | |
24022 | (convert_tramp_reference_stmt): If a frame_decl or chain_decl | |
24023 | is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body, | |
24024 | add it to clauses. | |
24025 | ||
24026 | PR tree-optimization/66718 | |
24027 | * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear | |
24028 | field. | |
24029 | (vect_simd_lane_linear): New function. | |
24030 | (vectorizable_simd_clone_call): Support using linear arguments for | |
24031 | addresses of arrays elements indexed by GOMP_SIMD_LANE result. | |
24032 | ||
24033 | 2015-07-09 H.J. Lu <hongjiu.lu@intel.com> | |
24034 | ||
24035 | PR target/66821 | |
24036 | * config/i386/i386.c (iamcu_cost): Adjust variable shift costs. | |
24037 | ||
24038 | 2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com> | |
24039 | ||
24040 | * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory): | |
24041 | Use machine mode, not enum machine_mode in the prototype. | |
24042 | ||
24043 | * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to | |
24044 | classify 128-bit floating point support. | |
24045 | (FLOAT128_IBM_P): Likewise. | |
24046 | (FLOAT128_VECTOR_P): Likewise. | |
24047 | (FLOAT128_2REG_P): Likewise. | |
24048 | (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise. | |
24049 | (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support. | |
24050 | (HARD_REGNO_CALLER_SAVE_MODE): Likewise. | |
24051 | (HARD_REGNO_CALL_PART_CLOBBERED): Likewise. | |
24052 | ||
24053 | * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop | |
24054 | tests against TFmode/TDmode, since those modes do not use VSX | |
24055 | addresses. | |
24056 | (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point | |
24057 | support. | |
24058 | (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of | |
24059 | tests against TFmode, etc. | |
24060 | (invalid_e500_subreg): Add tests against IFmode/KFmode. | |
24061 | (reg_offset_addressing_ok_p): Likewise. | |
24062 | (rs6000_legitimate_offset_address_p): Likewise. | |
24063 | (rs6000_legitimize_address): Likewise. | |
24064 | (rs6000_legitimize_reload_address): Likewise. | |
24065 | (rs6000_legitimate_address_p): Clean up tests against TFmode and | |
24066 | TDmode to use the new helper macros, which will include IFmode and | |
24067 | KFmode. | |
24068 | (rs6000_emit_move): Likewise. | |
24069 | (rs6000_darwin64_record_arg_recurse): Likewise. | |
24070 | (print_operand): Likewise. | |
24071 | (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point | |
24072 | that uses a single vector register as a vector and not as a | |
24073 | floating point register in terms of the calling sequence. | |
24074 | (rs6000_discover_homogeneous_aggregate): Likewise. | |
24075 | (rs6000_return_in_memory): Likewise. | |
24076 | (init_cumulative_args): Likewise. | |
24077 | (rs6000_function_arg_boundary): Likewise. | |
24078 | (rs6000_function_arg_advance_1): Likewise. | |
24079 | (rs6000_function_arg): Likewise. | |
24080 | (rs6000_pass_by_reference): Likewise. | |
24081 | (rs6000_gimplify_va_arg): Likewise. | |
24082 | (rs6000_secondary_reload_memory): Use machine_mode not enum | |
24083 | machine mode. | |
24084 | (rs6000_split_multireg_move): Use new helper macros. | |
24085 | (spe_func_has_64bit_regs_p): Likewise. | |
24086 | (rs6000_output_function_epilogue): Add IFmode/KFmode support. | |
24087 | (output_toc): Use new helper macros. | |
24088 | (rs6000_register_move_cost): Likewise. | |
24089 | (rs6000_function_value): Add IEEE 128-bit floating point calling | |
24090 | sequence support. | |
24091 | (rs6000_libcall_value): Likewise. | |
24092 | (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit | |
24093 | floating point support. | |
24094 | (rs6000_vector_mode_supported_p): Likewise. | |
24095 | ||
24096 | 2015-07-09 Vladimir Makarov <vmakarov@redhat.com> | |
24097 | ||
24098 | PR rtl-optimization/66782 | |
24099 | * lra-int.h (struct lra_insn_recog_data): Add comment about | |
24100 | clobbered hard regs for arg_hard_regs. | |
24101 | * lra.c (lra_set_insn_recog_data): Add clobbered hard regs. | |
24102 | * lra-lives.c (process_bb_lives): Process clobbered hard regs. | |
24103 | Add condition for processing used hard regs. | |
24104 | * lra-constraints.c (update_ebb_live_info, inherit_in_ebb): | |
24105 | Process clobbered hard regs. | |
24106 | ||
24107 | 2015-07-09 Michael Matz <matz@suse.de> | |
24108 | ||
24109 | * genmatch.c (fprintf_indent): New function. | |
24110 | (operand::gen_transform): Add indent parameter. | |
24111 | (expr::gen_transform, c_expr::gen_transform, | |
24112 | capture::gen_transform): Ditto and use fprintf_indent. | |
24113 | (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto. | |
24114 | (dt_operand::gen, dt_operand::gen_predicate, | |
24115 | dt_operand::gen_match_op, dt_operand::gen_gimple_expr, | |
24116 | dt_operand::gen_generic_expr, dt_simplify::gen): Ditto. | |
24117 | (decision_tree::gen_gimple): Adjust calls and indent generated | |
24118 | code. | |
24119 | (decision_tree::gen_generic): Ditto. | |
24120 | (write_predicate): Ditto. | |
24121 | ||
24122 | 2015-07-08 Uros Bizjak <ubizjak@gmail.com> | |
24123 | ||
24124 | PR target/66814 | |
24125 | * config/i386/predicates.md (nonimmediate_gr_operand): New predicate. | |
24126 | * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand. | |
24127 | (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of | |
24128 | {GENERAL,SSE,MMX}_REG_P where appropriate. | |
24129 | ||
24130 | 2015-07-09 Andrew MacLeod <amacleod@redhat.com> | |
24131 | ||
24132 | * lto-streamer.h: Don't include target.h and alloc-pool.h. | |
24133 | * builtins.c: Adjust includes. | |
24134 | * gimple.c: Likewise. | |
24135 | * ipa-icf.c: Likewise. | |
24136 | * lto-opts.c: Likewise. | |
24137 | * ipa-reference.c: Likewise. | |
24138 | * lto-section-out.c: Likewise. | |
24139 | * lto-streamer-in.c: Likewise. | |
24140 | * lto-streamer-out.c: Likewise. | |
24141 | * opts-global.c: Likewise. | |
24142 | * symtab.c: Likewise. | |
24143 | * tree-chkp.c: Likewise. | |
24144 | * tree-ssa-live.c: Likewise. | |
24145 | * tree-streamer-in.c: Likewise. | |
24146 | * tree-streamer-out.c: Likewise. | |
24147 | * config/darwin.c: Likewise. | |
24148 | * config/i386/winnt.c: Likewise. | |
24149 | ||
24150 | 2015-07-09 Richard Biener <rguenther@suse.de> | |
24151 | ||
24152 | * genmatch.c (struct expr): Add force_single_use flag. | |
24153 | (expr::expr): Add copy constructor. | |
24154 | (capture_info::walk_match): Gather force_single_use captures. | |
24155 | (expr::gen_transform): Use possibly NULLified sequence. | |
24156 | (dt_simplify::gen): Apply single-use restrictions by NULLifying | |
24157 | seq if any constrained expr is not single-use. | |
24158 | (parser::parse_expr): Refactor to allow multiple flags. Handle | |
24159 | 's' flag to force an expression have a single-use if the pattern | |
24160 | simplifies to more than one statement. | |
24161 | * match.pd: Convert most single_use conditionals to :s flags. | |
24162 | ||
24163 | 2015-07-09 H.J. Lu <hongjiu.lu@intel.com> | |
24164 | ||
24165 | * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New. | |
24166 | (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. | |
24167 | (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. | |
24168 | ||
24169 | 2015-07-09 Andrew MacLeod <amacleod@redhat.com> | |
24170 | ||
24171 | * flags.h: Don't include flag-types.h or options.h. | |
24172 | * opts-common.c: Adjust includes. | |
24173 | * opts-global.c: Likewise. | |
24174 | * common/config/epiphany/epiphany-common.c: Likewise. | |
24175 | ||
24176 | 2015-07-09 H.J. Lu <hongjiu.lu@intel.com> | |
24177 | ||
24178 | PR target/66818 | |
24179 | * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32 | |
24180 | for IA MCU. | |
24181 | ||
24182 | 2015-07-09 H.J. Lu <hongjiu.lu@intel.com> | |
24183 | ||
24184 | PR target/66817 | |
24185 | * config/i386/i386.c (ix86_return_in_memory): Return true | |
24186 | if int_size_in_bytes returns negative for IA MCU. | |
24187 | ||
24188 | 2015-07-09 Marek Polacek <polacek@redhat.com> | |
24189 | ||
24190 | PR tree-optimization/66718 | |
24191 | * Makefile.in (OBJS): Add gimple-laddress.o. | |
24192 | * passes.def: Schedule pass_laddress. | |
24193 | * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS. | |
24194 | * tree-pass.h (make_pass_laddress): Declare. | |
24195 | * gimple-laddress.c: New file. | |
24196 | ||
24197 | 2015-07-09 Richard Biener <rguenther@suse.de> | |
24198 | ||
24199 | * toplev.c (compile_file): Reset maximum_field_alignment after parsing. | |
24200 | ||
24201 | 2015-07-09 Richard Biener <rguenther@suse.de> | |
24202 | ||
24203 | PR tree-optimization/66807 | |
24204 | * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info. | |
24205 | ||
24206 | 2015-07-08 Kito Cheng <kito.cheng@gmail.com> | |
24207 | ||
24208 | * function.c (stack_protect_epilogue): Use if rather than switch for | |
24209 | check targetm.have_stack_protect_test. | |
24210 | ||
24211 | 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
24212 | ||
24213 | * defaults.h: Provide default for WORD_REGISTER_OPERATIONS. | |
24214 | * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1. | |
24215 | * config/arc/arc.h: Likewise. | |
24216 | * config/arm/arm.h: Likewise. | |
24217 | * config/bfin/bfin.h: Likewise. | |
24218 | * config/epiphany/epiphany.h: Likewise. | |
24219 | * config/frv/frv.h: Likewise. | |
24220 | * config/ia64/ia64.h: Likewise. | |
24221 | * config/iq2000/iq2000.h: Likewise. | |
24222 | * config/lm32/lm32.h: Likewise. | |
24223 | * config/m32r/m32r.h: Likewise. | |
24224 | * config/mcore/mcore.h: Likewise. | |
24225 | * config/mep/mep.h: Likewise. | |
24226 | * config/microblaze/microblaze.h: Likewise. | |
24227 | * config/mips/mips.h: Likewise. | |
24228 | * config/mmix/mmix.h: Likewise. | |
24229 | * config/mn10300/mn10300.h: Likewise. | |
24230 | * config/nds32/nds32.h: Likewise. | |
24231 | * config/nios2/nios2.h: Likewise. | |
24232 | * config/pa/pa.h: Likewise. | |
24233 | * config/rl78/rl78.h: Likewise. | |
24234 | * config/sh/sh.h: Likewise. | |
24235 | * config/sparc/sparc.h: Likewise. | |
24236 | * config/stormy16/stormy16.h: Likewise. | |
24237 | * config/tilegx/tilegx.h: Likewise. | |
24238 | * config/tilepro/tilepro.h: Likewise. | |
24239 | * config/v850/v850.h: Likewise. | |
24240 | * config/xtensa/xtensa.h: Likewise. | |
24241 | * doc/tm.texi: Regenerate. | |
24242 | * doc/tm.texi.in: Adjust. | |
24243 | * combine.c (simplify_set): Likewise. | |
24244 | (simplify_comparison): Likewise. | |
24245 | * expr.c (store_constructor): Likewise. | |
24246 | * internal-fn.c (expand_arith_overflow): Likewise. | |
24247 | * reload.c (push_reload): Likewise. | |
24248 | (find_reloads): Likewise. | |
24249 | (find_reloads_subreg_address): Likewise. | |
24250 | * reload1.c (eliminate_regs_1): Likewise. | |
24251 | * rtlanal.c (nonzero_bits1): Likewise. | |
24252 | (num_sign_bit_copies1): Likewise. | |
24253 | * simplify-rtx.c (simplify_truncation): Likewise. | |
24254 | ||
24255 | 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
24256 | ||
24257 | * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value | |
24258 | of AUTO_INC_DEC with the preprocessor. | |
24259 | * combine.c (combine_instructions): Likewise. | |
24260 | (can_combine_p): Likewise. | |
24261 | (try_combine): Likewise. | |
24262 | * emit-rtl.c (try_split): Likewise. | |
24263 | * loop-invariant.c (calculate_loop_reg_pressure): Likewise. | |
24264 | * lower-subreg.c (resolve_simple_move): Likewise. | |
24265 | * lra.c (update_inc_notes): Likewise. | |
24266 | * recog.c (asm_operand_ok): Likewise. | |
24267 | (constrain_operands): Likewise. | |
24268 | * regrename.c (scan_rtx_address): Likewise. | |
24269 | * reload.c (update_auto_inc_notes): Likewise. | |
24270 | (reg_inc_found_and_valid_p): Likewise. | |
24271 | * reload1.c (reload): Likewise. | |
24272 | (emit_input_reload_insns): Likewise. | |
24273 | (delete_output_reload): Likewise. | |
24274 | * sched-deps.c (init_insn_reg_pressure_info): Likewise. | |
24275 | * valtrack.c (cleanup_auto_inc_dec): Likewise. | |
24276 | ||
24277 | 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
24278 | ||
24279 | * rtl.h: Always define AUTO_INC_DEC. | |
24280 | * auto-inc-dec.c (pass_inc_dec::execute): Adjust. | |
24281 | * combine.c (combine_instructions): Likewise. | |
24282 | (can_combine_p): Likewise. | |
24283 | (try_combine): Likewise. | |
24284 | * emit-rtl.c (try_split): Likewise. | |
24285 | * loop-invariant.c (calculate_loop_reg_pressure): Likewise. | |
24286 | * lower-subreg.c (resolve_simple_move): Likewise. | |
24287 | * lra.c (update_inc_notes): Likewise. | |
24288 | * recog.c (asm_operand_ok): Likewise. | |
24289 | (constrain_operands): Likewise. | |
24290 | * regrename.c (scan_rtx_address): Likewise. | |
24291 | * reload.c (update_auto_inc_notes): Likewise. | |
24292 | (find_equiv_reg): Likewise. | |
24293 | * reload1.c (reload): Likewise. | |
24294 | (reload_as_needed): Likewise. | |
24295 | (choose_reload_regs): Likewise. | |
24296 | (emit_input_reload_insns): Likewise. | |
24297 | (delete_output_reload): Likewise. | |
24298 | * sched-deps.c (init_insn_reg_pressure_info): Likewise. | |
24299 | * valtrack.c (cleanup_auto_inc_dec): Likewise. | |
24300 | ||
24301 | 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
24302 | ||
24303 | * combine.c (can_combine_def_p): Don't check the value of | |
24304 | HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor. | |
24305 | (combinable_i3pat): Likewise. | |
24306 | (mark_used_regs_combine): Likewise. | |
24307 | * regrename.c (rename_chains): Likewise. | |
24308 | * reload.c (find_reloads_address): Likewise. | |
24309 | * sel-sched.c (mark_unavailable_hard_regs): Likewise. | |
24310 | ||
24311 | 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
24312 | ||
24313 | * combine.c (update_rsp_from_reg_equal): Don't check if | |
24314 | SHORT_IMMEDIATES_SIGN_EXTEND is defined. | |
24315 | (reg_nonzero_bits_for_combine): Likewise. | |
24316 | * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to | |
24317 | 1. | |
24318 | * config/frv/frv.h: Likewise. | |
24319 | * config/lm32/lm32.h: Likewise. | |
24320 | * config/mep/mep.h: Likewise. | |
24321 | * config/mips/mips.h: Likewise. | |
24322 | * config/rs6000/rs6000.h: Likewise. | |
24323 | * config/sh/sh.h: Likewise. | |
24324 | * config/tilegx/tilegx.h (enum reg_class): Likewise. | |
24325 | * config/tilepro/tilepro.h: Likewise. | |
24326 | * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND. | |
24327 | * doc/tm.texi: Regenerate. | |
24328 | * doc/tm.texi.in: Adjust. | |
24329 | * rtlanal.c (nonzero_bits1): Likewise. | |
24330 | ||
24331 | 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
24332 | ||
24333 | * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0 | |
24334 | with the preprocessor. | |
24335 | (combine_instructions): Likewise. | |
24336 | (try_combine): Likewise. | |
24337 | (subst): Likewise. | |
24338 | (distribute_notes): Likewise. | |
24339 | ||
24340 | 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
24341 | ||
24342 | * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is | |
24343 | defined. | |
24344 | (simplify_set): Likewise. | |
24345 | * cse.c (cse_insn): Likewise. | |
24346 | * fold-const.c (fold_single_bit_test): Likewise. | |
24347 | (fold_unary_loc): Likewise. | |
24348 | * postreload.c (reload_cse_simplify_set): Likewise. | |
24349 | (reload_cse_simplify_operands): Likewise. | |
24350 | ||
24351 | 2015-07-08 Jiong Wang <jiong.wang@arm.com> | |
24352 | ||
24353 | * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function. | |
24354 | (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p. | |
24355 | ||
24356 | 2015-07-08 H.J. Lu <hongjiu.lu@intel.com> | |
24357 | ||
24358 | PR target/66746 | |
24359 | * config/i386/x86intrin.h: Include <adxintrin.h> even if | |
24360 | __iamcu__ is defined. | |
24361 | ||
24362 | 2015-07-08 Uros Bizjak <ubizjak@gmail.com> | |
24363 | ||
24364 | * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P. | |
24365 | ||
24366 | 2015-07-08 Iain Sandoe <iain@codesourcery.com> | |
24367 | ||
24368 | PR target/66523 | |
24369 | * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label | |
24370 | names from preservation. | |
24371 | ||
24372 | 2015-07-08 H.J. Lu <hongjiu.lu@intel.com> | |
24373 | ||
24374 | PR target/66806 | |
24375 | * config/i386/i386.c (type_natural_mode): Don't warn vector ABI | |
24376 | change for IAMCU. | |
24377 | (function_arg_advance_32): Don't pass vectors in registers for | |
24378 | IAMCU. | |
24379 | (function_arg_32): Likewise. | |
24380 | (ix86_return_in_memory): Don't return vectors in registers for | |
24381 | IAMCU. | |
24382 | ||
24383 | 2015-07-08 Vladimir Makarov <vmakarov@redhat.com> | |
24384 | ||
24385 | PR middle-end/66334 | |
24386 | * ira-lives.c (process_bb_node_lives): Make conflicts with PIC | |
24387 | hard regno live at the start of BB with incoming abnormal edges. | |
24388 | * lra-lives.c (process_bb_lives): Ditto. | |
24389 | ||
24390 | 2015-07-08 Thomas Schwinge <thomas@codesourcery.com> | |
24391 | ||
24392 | PR libgomp/65099 | |
24393 | * config/nvptx/mkoffload.c (main): Create an offload image only in | |
24394 | 64-bit configurations. | |
24395 | ||
24396 | 2015-07-08 Martin Liska <mliska@suse.cz> | |
24397 | ||
24398 | PR bootstrap/66744 | |
24399 | * tree-sra.c (create_access_1): Call ctor without brackets. | |
24400 | (create_artificial_child_access): Likewise. | |
24401 | ||
24402 | 2015-07-08 Richard Biener <rguenther@suse.de> | |
24403 | ||
24404 | PR tree-optimization/66793 | |
24405 | * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen): | |
24406 | Properly split the block after stmts ending it. | |
24407 | ||
24408 | 2015-07-08 Richard Biener <rguenther@suse.de> | |
24409 | ||
24410 | PR tree-optimization/66794 | |
24411 | * passes.c (execute_function_todo): Assert that post-dominators | |
24412 | are not computed. | |
24413 | * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths): | |
24414 | Free post-dominators. | |
24415 | ||
24416 | 2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
24417 | ||
24418 | * config/s390/s390.c (s390_init_frame_layout): Replace assertion | |
24419 | with early exit. | |
24420 | ||
24421 | 2015-07-08 Uros Bizjak <ubizjak@gmail.com> | |
24422 | ||
24423 | * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values | |
24424 | more than or equal 8 and less than 32 when optimizing for size. | |
24425 | ||
24426 | 2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
24427 | ||
24428 | * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to | |
24429 | COSTS_N_INSNS (1) and increment it appropriately throughout the | |
24430 | function. | |
24431 | ||
24432 | 2015-07-08 Richard Biener <rguenther@suse.de> | |
24433 | ||
24434 | * fold-const.c (fold_widened_comparison): Fix inverted comparison. | |
24435 | ||
24436 | 2015-07-08 Alan Modra <amodra@gmail.com> | |
24437 | ||
24438 | * target.def (rtx_costs): Remove "code" param, add "mode". | |
24439 | * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype. | |
24440 | (set_src_cost, get_full_set_src_cost): Likewise. Move later in file. | |
24441 | (set_rtx_cost, get_full_set_rtx_cost): Move later in file. | |
24442 | * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs | |
24443 | call. Track mode when given in rtx. | |
24444 | (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls. | |
24445 | (default_address_cost): Pass Pmode to rtx_cost. | |
24446 | (insn_rtx_cost): Pass dest mode of set to set_src_cost. | |
24447 | * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called | |
24448 | with NULL set. | |
24449 | * cse.c (COST, COST_IN): Add MODE param. Update all uses. | |
24450 | (notreg_cost): Add mode param. Use it. | |
24451 | * gcse.c (want_to_gcse_p): Delete forward declaration. Add | |
24452 | mode param and pass to set_src_cost. Update all calls. | |
24453 | (hash_scan_set): Formatting. | |
24454 | * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete. | |
24455 | (hook_bool_rtx_mode_int_int_intp_bool_false): New function. | |
24456 | * hooks.h: Ditto. | |
24457 | * expmed.c (init_expmed_one_conv, init_expmed_one_mode, | |
24458 | init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2, | |
24459 | emit_store_flag): Update set_src_cost and rtx_cost calls. | |
24460 | * auto-inc-dec.c (attempt_change): Likewise. | |
24461 | * calls.c (precompute_register_parameters): Likewise. | |
24462 | * combine.c (expand_compound_operation, make_extraction, | |
24463 | force_to_mode, distribute_and_simplify_rtx): Likewise. | |
24464 | * dojump.c (prefer_and_bit_test): Likewise. | |
24465 | * dse.c (find_shift_sequence): Likewise. | |
24466 | * expr.c (compress_float_constant): Likewise. | |
24467 | * fwprop.c (should_replace_address, try_fwprop_subst): Likewise. | |
24468 | * ifcvt.c (noce_try_sign_mask): Likewise. | |
24469 | * loop-doloop.c (doloop_optimize): Likewise. | |
24470 | * loop-invariant.c (create_new_invariant): Likewise. | |
24471 | * lower-subreg.c (shift_cost, compute_costs): Likewise. | |
24472 | * optabs.c (avoid_expensive_constant, prepare_cmp_insn, | |
24473 | lshift_cheap_p): Likewise. | |
24474 | * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands, | |
24475 | try_replace_in_use, reload_cse_move2add): Likewise. | |
24476 | * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly): | |
24477 | Likewise. | |
24478 | * simplify-rtx.c (simplify_binary_operation_1): Likewise. | |
24479 | * tree-ssa-loop-ivopts.c (computation_cost): Likewise. | |
24480 | * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise. | |
24481 | * tree-switch-conversion.c (emit_case_bit_tests): Likewise. | |
24482 | * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param, | |
24483 | add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode | |
24484 | to rtx_cost calls. | |
24485 | * config/alpha/alpha.c (alpha_rtx_costs): Likewise. | |
24486 | * config/arc/arc.c (arc_rtx_costs): Likewise. | |
24487 | * config/arm/arm.c (arm_rtx_costs): Likewise. | |
24488 | * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise. | |
24489 | * config/bfin/bfin.c (bfin_rtx_costs): Likewise. | |
24490 | * config/c6x/c6x.c (c6x_rtx_costs): Likewise. | |
24491 | * config/cris/cris.c (cris_rtx_costs): Likewise. | |
24492 | * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise. | |
24493 | * config/frv/frv.c (frv_rtx_costs): Likewise. | |
24494 | * config/h8300/h8300.c (h8300_rtx_costs): Likewise. | |
24495 | * config/i386/i386.c (ix86_rtx_costs): Likewise. | |
24496 | * config/ia64/ia64.c (ia64_rtx_costs): Likewise. | |
24497 | * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise. | |
24498 | * config/lm32/lm32.c (lm32_rtx_costs): Likewise. | |
24499 | * config/m32c/m32c.c (m32c_rtx_costs): Likewise. | |
24500 | * config/m32r/m32r.c (m32r_rtx_costs): Likewise. | |
24501 | * config/m68k/m68k.c (m68k_rtx_costs): Likewise. | |
24502 | * config/mcore/mcore.c (mcore_rtx_costs): Likewise. | |
24503 | * config/mep/mep.c (mep_rtx_cost): Likewise. | |
24504 | * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise. | |
24505 | * config/mips/mips.c (mips_rtx_costs): Likewise. | |
24506 | * config/mmix/mmix.c (mmix_rtx_costs): Likewise. | |
24507 | * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise. | |
24508 | * config/msp430/msp430.c (msp430_rtx_costs): Likewise. | |
24509 | * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise. | |
24510 | * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise. | |
24511 | * config/nds32/nds32.c (nds32_rtx_costs): Likewise. | |
24512 | * config/nios2/nios2.c (nios2_rtx_costs): Likewise. | |
24513 | * config/pa/pa.c (hppa_rtx_costs): Likewise. | |
24514 | * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise. | |
24515 | * config/rl78/rl78.c (rl78_rtx_costs): Likewise. | |
24516 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise. | |
24517 | * config/s390/s390.c (s390_rtx_costs): Likewise. | |
24518 | * config/sh/sh.c (sh_rtx_costs): Likewise. | |
24519 | * config/sparc/sparc.c (sparc_rtx_costs): Likewise. | |
24520 | * config/spu/spu.c (spu_rtx_costs): Likewise. | |
24521 | * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise. | |
24522 | * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise. | |
24523 | * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise. | |
24524 | * config/v850/v850.c (v850_rtx_costs): Likewise. | |
24525 | * config/vax/vax.c (vax_rtx_costs): Likewise. | |
24526 | * config/visium/visium.c (visium_rtx_costs): Likewise. | |
24527 | * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise. | |
24528 | * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of | |
24529 | "code" param, and pass as outer_code to first rtx_cost call. Pass | |
24530 | mode to rtx_cost calls. | |
24531 | (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost | |
24532 | calls. | |
24533 | (aarch64_rtx_costs_wrapper): Update. | |
24534 | * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs, | |
24535 | arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update | |
24536 | rtx_cost calls. | |
24537 | * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost | |
24538 | and rtx_cost calls. | |
24539 | (avr_operand_rtx_cost): Similarly. | |
24540 | (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost | |
24541 | for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE. | |
24542 | * config/mips/mips.c (mips_stack_address_p): Comment typo. | |
24543 | (mips_binary_cost): Update rtx_cost and set_src_cost calls. | |
24544 | (mips_rtx_costs): Use GET_MODE (x) to detect const_int. | |
24545 | * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to | |
24546 | rtx_cost. | |
24547 | (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost. | |
24548 | * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update. | |
24549 | * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call. | |
24550 | * doc/tm.texi: Regenerate. | |
24551 | ||
24552 | 2015-07-07 Andrew MacLeod <amacleod@redhat.com> | |
24553 | ||
24554 | * tree-core.h: Include symtab.h. | |
24555 | * rtl.h: Include hard-reg-set.h but not flags.h. | |
24556 | (HARD_CONST): Remove condition compilation involving HARD_CONST since | |
24557 | hard-reg-set.h is always included. | |
24558 | * regs.h: Don't include hard-reg-set.h or rtl.h. | |
24559 | * cfg.h: Include dominance.h. | |
24560 | * gimple.h: Include tree-ssa-alias.h and gimple-expr.h. | |
24561 | * backend.h: New. Aggregate commonly used backend header files. | |
24562 | * gimple-ssa.h: Don't include tree-hasher.h. | |
24563 | * ssa.h: New. Aggregate commonly used SSA header files. | |
24564 | * regset.h: Remove bitmap.h and hard-reg-set.h #includes. | |
24565 | * sel-sched-ir.h: Flatten includes. | |
24566 | * lra-int.h: Flatten completely. | |
24567 | * sel-sched-dump.h: Flatten includes. | |
24568 | * ira-int.h: Flatten includes. | |
24569 | * gimple-streamer.h: Remove all includes. | |
24570 | * cfgloop.h: Remove all #includes except cfgloopmanip.h. | |
24571 | * resource.h: Flatten hard-reg-set.h and df.h. | |
24572 | * sched-int.h: Flatten insn-arrt.h and df.h. | |
24573 | * valtrack.h: flatten bitmap.h, df.h, and rtl.h | |
24574 | * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h. | |
24575 | * genattrtab.c (write_header): Adjust generated includes. | |
24576 | * genautomata.c (main): Likewise. | |
24577 | * genconditions.c (write-header): Likewise. | |
24578 | * genemit.c (main): Likewise. | |
24579 | * gengtype.c (open_base_files): Likewise. | |
24580 | * genopinit.c (main): Likewise. | |
24581 | * genoutput.c (output_prologue): Likewise. | |
24582 | * genpeep.c (main): Likewise. | |
24583 | * genpreds.c (write_insn_preds_c): Likewise. | |
24584 | * genrecog.c (write_header): Likewise. | |
24585 | * alias.c: Adjust includes. | |
24586 | * asan.c: Likewise. | |
24587 | * attribs.c: Likewise. | |
24588 | * auto-inc-dec.c: Likewise. | |
24589 | * auto-profile.c: Likewise. | |
24590 | * bb-reorder.c: Likewise. | |
24591 | * bt-load.c: Likewise. | |
24592 | * builtins.c: Likewise. | |
24593 | * caller-save.c: Likewise. | |
24594 | * calls.c: Likewise. | |
24595 | * ccmp.c: Likewise. | |
24596 | * cfg.c: Likewise. | |
24597 | * cfganal.c: Likewise. | |
24598 | * cfgbuild.c: Likewise. | |
24599 | * cfgcleanup.c: Likewise. | |
24600 | * cfgexpand.c: Likewise. | |
24601 | * cfghooks.c: Likewise. | |
24602 | * cfgloop.c: Likewise. | |
24603 | * cfgloopanal.c: Likewise. | |
24604 | * cfgloopmanip.c: Likewise. | |
24605 | * cfgrtl.c: Likewise. | |
24606 | * cgraph.c: Likewise. | |
24607 | * cgraphbuild.c: Likewise. | |
24608 | * cgraphclones.c: Likewise. | |
24609 | * cgraphunit.c: Likewise. | |
24610 | * cilk-common.c: Likewise. | |
24611 | * combine-stack-adj.c: Likewise. | |
24612 | * combine.c: Likewise. | |
24613 | * compare-elim.c: Likewise. | |
24614 | * convert.c: Likewise. | |
24615 | * coverage.c: Likewise. | |
24616 | * cppbuiltin.c: Likewise. | |
24617 | * cprop.c: Likewise. | |
24618 | * cse.c: Likewise. | |
24619 | * cselib.c: Likewise. | |
24620 | * data-streamer-in.c: Likewise. | |
24621 | * data-streamer-out.c: Likewise. | |
24622 | * data-streamer.c: Likewise. | |
24623 | * dbxout.c: Likewise. | |
24624 | * dce.c: Likewise. | |
24625 | * ddg.c: Likewise. | |
24626 | * debug.c: Likewise. | |
24627 | * df-core.c: Likewise. | |
24628 | * df-problems.c: Likewise. | |
24629 | * df-scan.c: Likewise. | |
24630 | * dfp.c: Likewise. | |
24631 | * dojump.c: Likewise. | |
24632 | * dominance.c: Likewise. | |
24633 | * domwalk.c: Likewise. | |
24634 | * double-int.c: Likewise. | |
24635 | * dse.c: Likewise. | |
24636 | * dumpfile.c: Likewise. | |
24637 | * dwarf2asm.c: Likewise. | |
24638 | * dwarf2cfi.c: Likewise. | |
24639 | * dwarf2out.c: Likewise. | |
24640 | * emit-rtl.c: Likewise. | |
24641 | * et-forest.c: Likewise. | |
24642 | * except.c: Likewise. | |
24643 | * explow.c: Likewise. | |
24644 | * expmed.c: Likewise. | |
24645 | * expr.c: Likewise. | |
24646 | * final.c: Likewise. | |
24647 | * fixed-value.c: Likewise. | |
24648 | * fold-const.c: Likewise. | |
24649 | * function.c: Likewise. | |
24650 | * fwprop.c: Likewise. | |
24651 | * gcc-plugin.h: Likewise. | |
24652 | * gcse-common.c: Likewise. | |
24653 | * gcse.c: Likewise. | |
24654 | * generic-match-head.c: Likewise. | |
24655 | * ggc-page.c: Likewise. | |
24656 | * gimple-builder.c: Likewise. | |
24657 | * gimple-expr.c: Likewise. | |
24658 | * gimple-fold.c: Likewise. | |
24659 | * gimple-iterator.c: Likewise. | |
24660 | * gimple-low.c: Likewise. | |
24661 | * gimple-match-head.c: Likewise. | |
24662 | * gimple-pretty-print.c: Likewise. | |
24663 | * gimple-ssa-isolate-paths.c: Likewise. | |
24664 | * gimple-ssa-strength-reduction.c: Likewise. | |
24665 | * gimple-streamer-in.c: Likewise. | |
24666 | * gimple-streamer-out.c: Likewise. | |
24667 | * gimple-walk.c: Likewise. | |
24668 | * gimple.c: Likewise. | |
24669 | * gimplify-me.c: Likewise. | |
24670 | * gimplify.c: Likewise. | |
24671 | * godump.c: Likewise. | |
24672 | * graph.c: Likewise. | |
24673 | * graphite-blocking.c: Likewise. | |
24674 | * graphite-dependences.c: Likewise. | |
24675 | * graphite-interchange.c: Likewise. | |
24676 | * graphite-isl-ast-to-gimple.c: Likewise. | |
24677 | * graphite-optimize-isl.c: Likewise. | |
24678 | * graphite-poly.c: Likewise. | |
24679 | * graphite-scop-detection.c: Likewise. | |
24680 | * graphite-sese-to-poly.c: Likewise. | |
24681 | * graphite.c: Likewise. | |
24682 | * haifa-sched.c: Likewise. | |
24683 | * hw-doloop.c: Likewise. | |
24684 | * ifcvt.c: Likewise. | |
24685 | * init-regs.c: Likewise. | |
24686 | * internal-fn.c: Likewise. | |
24687 | * ipa-chkp.c: Likewise. | |
24688 | * ipa-comdats.c: Likewise. | |
24689 | * ipa-cp.c: Likewise. | |
24690 | * ipa-devirt.c: Likewise. | |
24691 | * ipa-icf-gimple.c: Likewise. | |
24692 | * ipa-icf.c: Likewise. | |
24693 | * ipa-inline-analysis.c: Likewise. | |
24694 | * ipa-inline-transform.c: Likewise. | |
24695 | * ipa-inline.c: Likewise. | |
24696 | * ipa-polymorphic-call.c: Likewise. | |
24697 | * ipa-profile.c: Likewise. | |
24698 | * ipa-prop.c: Likewise. | |
24699 | * ipa-pure-const.c: Likewise. | |
24700 | * ipa-ref.c: Likewise. | |
24701 | * ipa-reference.c: Likewise. | |
24702 | * ipa-split.c: Likewise. | |
24703 | * ipa-utils.c: Likewise. | |
24704 | * ipa-visibility.c: Likewise. | |
24705 | * ipa.c: Likewise. | |
24706 | * ira-build.c: Likewise. | |
24707 | * ira-color.c: Likewise. | |
24708 | * ira-conflicts.c: Likewise. | |
24709 | * ira-costs.c: Likewise. | |
24710 | * ira-emit.c: Likewise. | |
24711 | * ira-lives.c: Likewise. | |
24712 | * ira.c: Likewise. | |
24713 | * jump.c: Likewise. | |
24714 | * langhooks.c: Likewise. | |
24715 | * lcm.c: Likewise. | |
24716 | * loop-doloop.c: Likewise. | |
24717 | * loop-init.c: Likewise. | |
24718 | * loop-invariant.c: Likewise. | |
24719 | * loop-iv.c: Likewise. | |
24720 | * loop-unroll.c: Likewise. | |
24721 | * lower-subreg.c: Likewise. | |
24722 | * lra-assigns.c: Likewise. | |
24723 | * lra-coalesce.c: Likewise. | |
24724 | * lra-constraints.c: Likewise. | |
24725 | * lra-eliminations.c: Likewise. | |
24726 | * lra-lives.c: Likewise. | |
24727 | * lra-remat.c: Likewise. | |
24728 | * lra-spills.c: Likewise. | |
24729 | * lra.c: Likewise. | |
24730 | * lto-cgraph.c: Likewise. | |
24731 | * lto-compress.c: Likewise. | |
24732 | * lto-opts.c: Likewise. | |
24733 | * lto-section-in.c: Likewise. | |
24734 | * lto-section-out.c: Likewise. | |
24735 | * lto-streamer-in.c: Likewise. | |
24736 | * lto-streamer-out.c: Likewise. | |
24737 | * lto-streamer.c: Likewise. | |
24738 | * mcf.c: Likewise. | |
24739 | * mode-switching.c: Likewise. | |
24740 | * modulo-sched.c: Likewise. | |
24741 | * omega.c: Likewise. | |
24742 | * omp-low.c: Likewise. | |
24743 | * optabs.c: Likewise. | |
24744 | * opts-global.c: Likewise. | |
24745 | * passes.c: Likewise. | |
24746 | * plugin.c: Likewise. | |
24747 | * postreload-gcse.c: Likewise. | |
24748 | * postreload.c: Likewise. | |
24749 | * predict.c: Likewise. | |
24750 | * print-rtl.c: Likewise. | |
24751 | * print-tree.c: Likewise. | |
24752 | * profile.c: Likewise. | |
24753 | * real.c: Likewise. | |
24754 | * realmpfr.c: Likewise. | |
24755 | * recog.c: Likewise. | |
24756 | * ree.c: Likewise. | |
24757 | * reg-stack.c: Likewise. | |
24758 | * regcprop.c: Likewise. | |
24759 | * reginfo.c: Likewise. | |
24760 | * regrename.c: Likewise. | |
24761 | * regstat.c: Likewise. | |
24762 | * reload.c: Likewise. | |
24763 | * reload1.c: Likewise. | |
24764 | * reorg.c: Likewise. | |
24765 | * resource.c: Likewise. | |
24766 | * rtl-chkp.c: Likewise. | |
24767 | * rtlanal.c: Likewise. | |
24768 | * rtlhooks.c: Likewise. | |
24769 | * sanopt.c: Likewise. | |
24770 | * sched-deps.c: Likewise. | |
24771 | * sched-ebb.c: Likewise. | |
24772 | * sched-rgn.c: Likewise. | |
24773 | * sched-vis.c: Likewise. | |
24774 | * sdbout.c: Likewise. | |
24775 | * sel-sched-dump.c: Likewise. | |
24776 | * sel-sched-ir.c: Likewise. | |
24777 | * sel-sched.c: Likewise. | |
24778 | * sese.c: Likewise. | |
24779 | * shrink-wrap.c: Likewise. | |
24780 | * simplify-rtx.c: Likewise. | |
24781 | * stack-ptr-mod.c: Likewise. | |
24782 | * stmt.c: Likewise. | |
24783 | * stor-layout.c: Likewise. | |
24784 | * store-motion.c: Likewise. | |
24785 | * stringpool.c: Likewise. | |
24786 | * symtab.c: Likewise. | |
24787 | * target-globals.c: Likewise. | |
24788 | * targhooks.c: Likewise. | |
24789 | * toplev.c: Likewise. | |
24790 | * tracer.c: Likewise. | |
24791 | * trans-mem.c: Likewise. | |
24792 | * tree-affine.c: Likewise. | |
24793 | * tree-browser.c: Likewise. | |
24794 | * tree-call-cdce.c: Likewise. | |
24795 | * tree-cfg.c: Likewise. | |
24796 | * tree-cfgcleanup.c: Likewise. | |
24797 | * tree-chkp-opt.c: Likewise. | |
24798 | * tree-chkp.c: Likewise. | |
24799 | * tree-chrec.c: Likewise. | |
24800 | * tree-complex.c: Likewise. | |
24801 | * tree-data-ref.c: Likewise. | |
24802 | * tree-dfa.c: Likewise. | |
24803 | * tree-diagnostic.c: Likewise. | |
24804 | * tree-dump.c: Likewise. | |
24805 | * tree-eh.c: Likewise. | |
24806 | * tree-emutls.c: Likewise. | |
24807 | * tree-if-conv.c: Likewise. | |
24808 | * tree-inline.c: Likewise. | |
24809 | * tree-into-ssa.c: Likewise. | |
24810 | * tree-iterator.c: Likewise. | |
24811 | * tree-loop-distribution.c: Likewise. | |
24812 | * tree-nested.c: Likewise. | |
24813 | * tree-nrv.c: Likewise. | |
24814 | * tree-object-size.c: Likewise. | |
24815 | * tree-outof-ssa.c: Likewise. | |
24816 | * tree-parloops.c: Likewise. | |
24817 | * tree-phinodes.c: Likewise. | |
24818 | * tree-predcom.c: Likewise. | |
24819 | * tree-pretty-print.c: Likewise. | |
24820 | * tree-profile.c: Likewise. | |
24821 | * tree-scalar-evolution.c: Likewise. | |
24822 | * tree-sra.c: Likewise. | |
24823 | * tree-ssa-address.c: Likewise. | |
24824 | * tree-ssa-alias.c: Likewise. | |
24825 | * tree-ssa-ccp.c: Likewise. | |
24826 | * tree-ssa-coalesce.c: Likewise. | |
24827 | * tree-ssa-copy.c: Likewise. | |
24828 | * tree-ssa-copyrename.c: Likewise. | |
24829 | * tree-ssa-dce.c: Likewise. | |
24830 | * tree-ssa-dom.c: Likewise. | |
24831 | * tree-ssa-dse.c: Likewise. | |
24832 | * tree-ssa-forwprop.c: Likewise. | |
24833 | * tree-ssa-ifcombine.c: Likewise. | |
24834 | * tree-ssa-live.c: Likewise. | |
24835 | * tree-ssa-loop-ch.c: Likewise. | |
24836 | * tree-ssa-loop-im.c: Likewise. | |
24837 | * tree-ssa-loop-ivcanon.c: Likewise. | |
24838 | * tree-ssa-loop-ivopts.c: Likewise. | |
24839 | * tree-ssa-loop-manip.c: Likewise. | |
24840 | * tree-ssa-loop-niter.c: Likewise. | |
24841 | * tree-ssa-loop-prefetch.c: Likewise. | |
24842 | * tree-ssa-loop-unswitch.c: Likewise. | |
24843 | * tree-ssa-loop.c: Likewise. | |
24844 | * tree-ssa-math-opts.c: Likewise. | |
24845 | * tree-ssa-operands.c: Likewise. | |
24846 | * tree-ssa-phiopt.c: Likewise. | |
24847 | * tree-ssa-phiprop.c: Likewise. | |
24848 | * tree-ssa-pre.c: Likewise. | |
24849 | * tree-ssa-propagate.c: Likewise. | |
24850 | * tree-ssa-reassoc.c: Likewise. | |
24851 | * tree-ssa-sccvn.c: Likewise. | |
24852 | * tree-ssa-scopedtables.c: Likewise. | |
24853 | * tree-ssa-sink.c: Likewise. | |
24854 | * tree-ssa-strlen.c: Likewise. | |
24855 | * tree-ssa-structalias.c: Likewise. | |
24856 | * tree-ssa-tail-merge.c: Likewise. | |
24857 | * tree-ssa-ter.c: Likewise. | |
24858 | * tree-ssa-threadedge.c: Likewise. | |
24859 | * tree-ssa-threadupdate.c: Likewise. | |
24860 | * tree-ssa-uncprop.c: Likewise. | |
24861 | * tree-ssa-uninit.c: Likewise. | |
24862 | * tree-ssa.c: Likewise. | |
24863 | * tree-ssanames.c: Likewise. | |
24864 | * tree-stdarg.c: Likewise. | |
24865 | * tree-streamer-in.c: Likewise. | |
24866 | * tree-streamer-out.c: Likewise. | |
24867 | * tree-streamer.c: Likewise. | |
24868 | * tree-switch-conversion.c: Likewise. | |
24869 | * tree-tailcall.c: Likewise. | |
24870 | * tree-vect-data-refs.c: Likewise. | |
24871 | * tree-vect-generic.c: Likewise. | |
24872 | * tree-vect-loop-manip.c: Likewise. | |
24873 | * tree-vect-loop.c: Likewise. | |
24874 | * tree-vect-patterns.c: Likewise. | |
24875 | * tree-vect-slp.c: Likewise. | |
24876 | * tree-vect-stmts.c: Likewise. | |
24877 | * tree-vectorizer.c: Likewise. | |
24878 | * tree-vrp.c: Likewise. | |
24879 | * tree.c: Likewise. | |
24880 | * tsan.c: Likewise. | |
24881 | * ubsan.c: Likewise. | |
24882 | * valtrack.c: Likewise. | |
24883 | * value-prof.c: Likewise. | |
24884 | * var-tracking.c: Likewise. | |
24885 | * varasm.c: Likewise. | |
24886 | * varpool.c: Likewise. | |
24887 | * vmsdbgout.c: Likewise. | |
24888 | * vtable-verify.c: Likewise. | |
24889 | * web.c: Likewise. | |
24890 | * wide-int.cc: Likewise. | |
24891 | * xcoffout.c: Likewise. | |
24892 | * config/aarch64/aarch64-builtins.c: Likewise. | |
24893 | * config/aarch64/aarch64.c: Likewise. | |
24894 | * config/aarch64/cortex-a57-fma-steering.c: Likewise. | |
24895 | * config/alpha/alpha.c: Likewise. | |
24896 | * config/arc/arc.c: Likewise. | |
24897 | * config/arm/aarch-common.c: Likewise. | |
24898 | * config/arm/arm-builtins.c: Likewise. | |
24899 | * config/arm/arm-c.c: Likewise. | |
24900 | * config/arm/arm.c: Likewise. | |
24901 | * config/avr/avr-c.c: Likewise. | |
24902 | * config/avr/avr-log.c: Likewise. | |
24903 | * config/avr/avr.c: Likewise. | |
24904 | * config/bfin/bfin.c: Likewise. | |
24905 | * config/c6x/c6x.c: Likewise. | |
24906 | * config/cr16/cr16.c: Likewise. | |
24907 | * config/cris/cris.c: Likewise. | |
24908 | * config/darwin-c.c: Likewise. | |
24909 | * config/darwin.c: Likewise. | |
24910 | * config/epiphany/epiphany.c: Likewise. | |
24911 | * config/epiphany/mode-switch-use.c: Likewise. | |
24912 | * config/epiphany/resolve-sw-modes.c: Likewise. | |
24913 | * config/fr30/fr30.c: Likewise. | |
24914 | * config/frv/frv.c: Likewise. | |
24915 | * config/ft32/ft32.c: Likewise. | |
24916 | * config/h8300/h8300.c: Likewise. | |
24917 | * config/i386/i386-c.c: Likewise. | |
24918 | * config/i386/i386.c: Likewise. | |
24919 | * config/i386/msformat-c.c: Likewise. | |
24920 | * config/i386/winnt-cxx.c: Likewise. | |
24921 | * config/i386/winnt-stubs.c: Likewise. | |
24922 | * config/i386/winnt.c: Likewise. | |
24923 | * config/ia64/ia64-c.c: Likewise. | |
24924 | * config/ia64/ia64.c: Likewise. | |
24925 | * config/iq2000/iq2000.c: Likewise. | |
24926 | * config/lm32/lm32.c: Likewise. | |
24927 | * config/m32c/m32c-pragma.c: Likewise. | |
24928 | * config/m32c/m32c.c: Likewise. | |
24929 | * config/m32r/m32r.c: Likewise. | |
24930 | * config/m68k/m68k.c: Likewise. | |
24931 | * config/mcore/mcore.c: Likewise. | |
24932 | * config/mep/mep-pragma.c: Likewise. | |
24933 | * config/mep/mep.c: Likewise. | |
24934 | * config/microblaze/microblaze-c.c: Likewise. | |
24935 | * config/microblaze/microblaze.c: Likewise. | |
24936 | * config/mips/mips.c: Likewise. | |
24937 | * config/mmix/mmix.c: Likewise. | |
24938 | * config/mn10300/mn10300.c: Likewise. | |
24939 | * config/moxie/moxie.c: Likewise. | |
24940 | * config/msp430/msp430-c.c: Likewise. | |
24941 | * config/msp430/msp430.c: Likewise. | |
24942 | * config/nds32/nds32-cost.c: Likewise. | |
24943 | * config/nds32/nds32-fp-as-gp.c: Likewise. | |
24944 | * config/nds32/nds32-intrinsic.c: Likewise. | |
24945 | * config/nds32/nds32-isr.c: Likewise. | |
24946 | * config/nds32/nds32-md-auxiliary.c: Likewise. | |
24947 | * config/nds32/nds32-memory-manipulation.c: Likewise. | |
24948 | * config/nds32/nds32-pipelines-auxiliary.c: Likewise. | |
24949 | * config/nds32/nds32-predicates.c: Likewise. | |
24950 | * config/nds32/nds32.c: Likewise. | |
24951 | * config/nios2/nios2.c: Likewise. | |
24952 | * config/nvptx/nvptx.c: Likewise. | |
24953 | * config/pa/pa.c: Likewise. | |
24954 | * config/pdp11/pdp11.c: Likewise. | |
24955 | * config/rl78/rl78-c.c: Likewise. | |
24956 | * config/rl78/rl78.c: Likewise. | |
24957 | * config/rs6000/rs6000-c.c: Likewise. | |
24958 | * config/rs6000/rs6000.c: Likewise. | |
24959 | * config/rx/rx.c: Likewise. | |
24960 | * config/s390/s390-c.c: Likewise. | |
24961 | * config/s390/s390.c: Likewise. | |
24962 | * config/sh/sh-c.c: Likewise. | |
24963 | * config/sh/sh-mem.cc: Likewise. | |
24964 | * config/sh/sh.c: Likewise. | |
24965 | * config/sh/sh_optimize_sett_clrt.cc: Likewise. | |
24966 | * config/sh/sh_treg_combine.cc: Likewise. | |
24967 | * config/sol2-c.c: Likewise. | |
24968 | * config/sol2-cxx.c: Likewise. | |
24969 | * config/sol2-stubs.c: Likewise. | |
24970 | * config/sol2.c: Likewise. | |
24971 | * config/sparc/sparc-c.c: Likewise. | |
24972 | * config/sparc/sparc.c: Likewise. | |
24973 | * config/spu/spu-c.c: Likewise. | |
24974 | * config/spu/spu.c: Likewise. | |
24975 | * config/stormy16/stormy16.c: Likewise. | |
24976 | * config/tilegx/mul-tables.c: Likewise. | |
24977 | * config/tilegx/tilegx-c.c: Likewise. | |
24978 | * config/tilegx/tilegx.c: Likewise. | |
24979 | * config/tilepro/mul-tables.c: Likewise. | |
24980 | * config/tilepro/tilepro-c.c: Likewise. | |
24981 | * config/tilepro/tilepro.c: Likewise. | |
24982 | * config/v850/v850-c.c: Likewise. | |
24983 | * config/v850/v850.c: Likewise. | |
24984 | * config/vax/vax.c: Likewise. | |
24985 | * config/visium/visium.c: Likewise. | |
24986 | * config/vms/vms-c.c: Likewise. | |
24987 | * config/vms/vms.c: Likewise. | |
24988 | * config/vxworks.c: Likewise. | |
24989 | * config/xtensa/xtensa.c: Likewise. | |
24990 | ||
24991 | 2015-07-07 Uros Bizjak <ubizjak@gmail.com> | |
24992 | ||
24993 | * config/i386/i386.md (*jcc_bt<mode>): Only split before reload. | |
24994 | Remove operand constraints. Change operand 2 predicate to | |
24995 | nonmemory operand. Limit const_int values to mode bitsize. Only | |
24996 | allow const_int values less than 32 when optimizing for size. | |
24997 | (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload. | |
24998 | Remove operand constraints. | |
24999 | (*bt<mode>): Use SImode for const_int values less than 32. | |
25000 | (regmode): Remove mode attribute. | |
25001 | ||
25002 | 2015-07-07 Anatoly Sokolov <aesok@post.ru> | |
25003 | ||
25004 | * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros. | |
25005 | * config/moxie/moxie.c (moxie_reg_ok_for_base_p, | |
25006 | moxie_legitimate_address_p): New functions. | |
25007 | (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define. | |
25008 | ||
25009 | 2015-07-07 Tom de Vries <tom@codesourcery.com> | |
25010 | ||
25011 | PR tree-optimization/66642 | |
25012 | * tree-parloops.c (transform_to_exit_first_loop_alt): Update function | |
25013 | header comment. Rename split_edge variable to edge_at_split. Split | |
25014 | exit edge to create new loop exit bb. Insert loop exit phis in new | |
25015 | loop exit bb. | |
25016 | ||
25017 | 2015-07-07 Tom de Vries <tom@codesourcery.com> | |
25018 | ||
25019 | * tree-cfg.c (get_virtual_phi): New function. | |
25020 | * tree-cfg.h (get_virtual_phi): Declare. | |
25021 | * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs) | |
25022 | (rewrite_virtuals_into_loop_closed_ssa): New function. | |
25023 | * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa): | |
25024 | Declare. | |
25025 | * tree-parloops.c (replace_uses_in_bbs_by): Remove. | |
25026 | (transform_to_exit_first_loop_alt): Use | |
25027 | rewrite_virtuals_into_loop_closed_ssa. | |
25028 | ||
25029 | 2015-07-07 Richard Biener <rguenther@suse.de> | |
25030 | ||
25031 | * fold-const.c (fold_binary_loc): Move | |
25032 | (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ... | |
25033 | * match.pd: ... here. | |
25034 | Add (X * C1) % C2 -> 0 simplification pattern derived from | |
25035 | extract_muldiv_1. | |
25036 | ||
25037 | 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org> | |
25038 | ||
25039 | PR target/66780 | |
25040 | * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 | |
25041 | change for target/65249. | |
25042 | ||
25043 | 2015-07-07 Paulo Matos <pmatos@broadcom.com> | |
25044 | ||
25045 | * symtab.c (address_matters_1): Fix typo in comment above. | |
25046 | (can_increase_alignment_p): Likewise. | |
25047 | ||
25048 | 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
25049 | ||
25050 | * function.c (free_after_compilation): Clear PROP_cfg in | |
25051 | f->curr_properties. | |
25052 | ||
25053 | 2015-07-07 Richard Biener <rguenther@suse.de> | |
25054 | ||
25055 | * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we | |
25056 | add which use to. | |
25057 | (add_control_edge): Remove excessive vertical space in dumping. | |
25058 | (process_ssa_edge_worklist): Simulate at most one statement and | |
25059 | return whether we did. Do not simulate PHIs if they are in a | |
25060 | BB not yet simulated. | |
25061 | (ssa_propagate): Adjust to always drain the BB worklist whenever | |
25062 | a BB is available there, likewise the VARYING edges list before | |
25063 | the interesting edge list. | |
25064 | ||
25065 | 2015-07-07 Christian Bruel <christian.bruel@st.com> | |
25066 | ||
25067 | PR target/52144 | |
25068 | * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete. | |
25069 | ||
25070 | 2015-07-07 Richard Biener <rguenther@suse.de> | |
25071 | ||
25072 | PR middle-end/66739 | |
25073 | * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use | |
25074 | A - B. | |
25075 | ||
25076 | 2015-07-06 Uros Bizjak <ubizjak@gmail.com> | |
25077 | ||
25078 | * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48 | |
25079 | modes for operands 0 and 3. Use SImode for operands 2 and 3. | |
25080 | Copy operand 0 to a temporary if !ext_register_operand. Remove | |
25081 | ancient extract_bit_field workaround. | |
25082 | (insv<mode>_1): Rename from mov<mode>_insv_1. | |
25083 | (*insvqi): Rename from *movqi_insv_2. | |
25084 | * config/i386/i386.c (emit_i386_cw_initialization): Update calls | |
25085 | for renamed insvsi_1. | |
25086 | (promote_duplicated_reg): Ditto for renamed insv<mode>_1. | |
25087 | ||
25088 | 2015-07-06 Nathan Sidwell <nathan@codesourcery.com> | |
25089 | ||
25090 | * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix | |
25091 | call to nvptx_reorg_subreg. | |
25092 | ||
25093 | 2015-07-06 Jim Wilson <jim.wilson@linaro.org> | |
25094 | ||
25095 | * graphite-blocking.c (HAVE_isl): Include <stddef.h>. | |
25096 | * graphite-dependencies.c, graphite-interchange.c, | |
25097 | graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c, | |
25098 | graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c: | |
25099 | Likewise. | |
25100 | ||
25101 | 2015-07-06 Marc Glisse <marc.glisse@inria.fr> | |
25102 | ||
25103 | * match.pd: Remove element_mode inside HONOR_*. | |
25104 | (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types. | |
25105 | (~X | X -> -1, ~X ^ X -> -1): Merge. | |
25106 | * tree.c (build_each_one_cst): New function. | |
25107 | * tree.h (build_each_one_cst): Likewise. | |
25108 | ||
25109 | 2015-07-06 H.J. Lu <hongjiu.lu@intel.com> | |
25110 | ||
25111 | * config/i386/i386-c.c (ix86_target_macros_internal): Handle | |
25112 | PROCESSOR_IAMCU. | |
25113 | ||
25114 | 2015-07-06 Steve Ellcey <sellcey@imgtec.com> | |
25115 | ||
25116 | * config.gcc <mips*-*-*>: Add fused-madd.opt. | |
25117 | * config/mips/mips.opt (mfused-madd): Remove. | |
25118 | * config/mips/mips.c (mips_rtx_costs): Update cost calculations. | |
25119 | * config/mips/mips.h (TARGET_MIPS8000): New. | |
25120 | (ISA_HAS_FP_MADD4_MSUB4): Remove. | |
25121 | (ISA_HAS_FP_MADDF_MSUBF): Remove. | |
25122 | (ISA_HAS_FP_MADD3_MSUB3): Remove. | |
25123 | (ISA_HAS_NMADD4_NMSUB4): Remove. | |
25124 | (ISA_HAS_NMADD3_NMSUB3): Remove. | |
25125 | (ISA_HAS_FUSED_MADD4): New. | |
25126 | (ISA_HAS_UNFUSED_MADD4): New. | |
25127 | (ISA_HAS_FUSED_MADDF): New. | |
25128 | (ISA_HAS_FUSED_MADD3): New. | |
25129 | * config/mips/mips.md: (fma<mode>4) Change from insn to expand. | |
25130 | (*fma<mode>4_madd3) New. | |
25131 | (*fma<mode>4_madd4) New. | |
25132 | (*fma<mode>4_maddf) New. | |
25133 | (fms<mode>4) New. | |
25134 | (*fms<mode>4_msub3) New. | |
25135 | (*fms<mode>4_msub4) New. | |
25136 | (fnma<mode>4) New. | |
25137 | (*fnma<mode>4_nmadd3) New. | |
25138 | (*fnma<mode>4_nmadd4) New. | |
25139 | (fnms<mode>4) New. | |
25140 | (*fnms<mode>4_nmsub3) New. | |
25141 | (*fnms<mode>4_nmsub4) New. | |
25142 | (*madd4<mode>) Modify to be unfused only. | |
25143 | (*msub4<mode>) Modify to be unfused only. | |
25144 | (*nmadd4<mode>) Modify to be unfused only. | |
25145 | (*nmsub4<mode>) Modify to be unfused only. | |
25146 | (*madd3<mode>) Remove. | |
25147 | (*msub3<mode>) Remove. | |
25148 | (*nmadd3<mode>) Remove. | |
25149 | (*nmsub3<mode>) Remove. | |
25150 | (*nmadd3<mode>_fastmath) Remove. | |
25151 | (*nmsub3<mode>_fastmath) Remove. | |
25152 | (*nmadd4<mode>_fastmath) Update condition. | |
25153 | (*nmsub4<mode>_fastmath) Update condition. | |
25154 | ||
25155 | 2015-07-06 Alan Lawrence <alan.lawrence@arm.com> | |
25156 | ||
25157 | PR target/65956 | |
25158 | * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer | |
25159 | alignment attribute, exploring one level down for records and arrays. | |
25160 | ||
25161 | 2015-07-06 Uros Bizjak <ubizjak@gmail.com> | |
25162 | ||
25163 | * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24 | |
25164 | modes for operands 0 and 1. Use SImode for operands 2 and 3. | |
25165 | Copy operand 1 to a temporary if !ext_register_operand. Remove | |
25166 | ancient extract_bit_field workaround. | |
25167 | (*extv<mode>): Rename from *mov<mode>_extv_1. | |
25168 | (*extvqi): Rename from *movqi_extv_1. | |
25169 | (extzv<mode>): Rename from extzv. Use SWI248 modes for | |
25170 | operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1 | |
25171 | to a temporary if !ext_register_operand. Remove ancient | |
25172 | extract_bit_field workaround. | |
25173 | (*extzv<mode>): Rename from *mov<mode>_extzv_1. | |
25174 | (*extzvqi): Rename from *movqi_extzv_2. | |
25175 | (*testqi_ext_3): Remove modes from const_int_operand predicated | |
25176 | operands. Add "n" constraint. | |
25177 | (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated | |
25178 | operand. Add "J" constraint. | |
25179 | (*btsq, *btrq, *btcq peephole2s): Remove mode from | |
25180 | const_0_to_63 predicated operand. | |
25181 | (regmode): New insn attribute. | |
25182 | (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate | |
25183 | to nonmemory_operand. Use regmode insn attribute. | |
25184 | (*jcc_bt<mode>_1): Convert operand 2 to SImode. | |
25185 | (*jcc_bt<mode>_mask): Remove mode from operand 3. | |
25186 | (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns. | |
25187 | (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated | |
25188 | operands. Use "N" constraint instead of "n". | |
25189 | ||
25190 | 2015-07-06 Alan Lawrence <alan.lawrence@arm.com> | |
25191 | ||
25192 | * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state. | |
25193 | ||
25194 | 2015-07-06 H.J. Lu <hongjiu.lu@intel.com> | |
25195 | ||
25196 | PR target/66749 | |
25197 | * config/i386/i386.c (iamcu_cost): New. | |
25198 | (m_IAMCU): Likewise. | |
25199 | (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU. | |
25200 | (processor_target_table): Add an entry for "iamcu". | |
25201 | (processor_alias_table): Likewise. | |
25202 | (ix86_issue_rate): Handle PROCESSOR_IAMCU. | |
25203 | (ix86_adjust_cost): Likewise. | |
25204 | (ia32_multipass_dfa_lookahead): Likewise. | |
25205 | * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU. | |
25206 | * config/i386/x86-tune.def: Updated for m_IAMCU. | |
25207 | ||
25208 | 2015-07-06 Richard Biener <rguenther@suse.de> | |
25209 | ||
25210 | PR tree-optimization/66772 | |
25211 | * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy | |
25212 | values are available in the PHI node BB when there are | |
25213 | still unexecutable edges. | |
25214 | ||
25215 | 2015-07-06 Richard Biener <rguenther@suse.de> | |
25216 | ||
25217 | PR tree-optimization/66767 | |
25218 | * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): | |
25219 | Make sure to build the alignment test on a SSA name without | |
25220 | final alignment info valid only if the alignment test | |
25221 | evaluates to true. | |
25222 | ||
25223 | 2015-07-06 Bernd Schmidt <bernds@codesourcery.com> | |
25224 | ||
25225 | PR target/66620 | |
25226 | * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and | |
25227 | loop start when inserting LSETUP. | |
25228 | ||
25229 | 2015-07-06 H.J. Lu <hongjiu.lu@intel.com> | |
25230 | ||
25231 | PR target/53383 | |
25232 | * config/i386/i386.c (ix86_option_override_internal): Allow | |
25233 | -mincoming-stack-boundary=3 for 64-bit if SSE is disabled. | |
25234 | ||
25235 | 2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
25236 | ||
25237 | * read-md.c (decimal_string): Rename to ... | |
25238 | (md_decimal_string): ... this. | |
25239 | (handle_enum): Reflect this. | |
25240 | ||
25241 | 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
25242 | ||
25243 | PR target/66731 | |
25244 | * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math. | |
25245 | ||
25246 | 2015-07-06 Richard Biener <rguenther@suse.de> | |
25247 | ||
25248 | PR middle-end/66759 | |
25249 | * match.pd: Add missing constraint of y to REAL_CST in | |
25250 | REAL_CST - x CMP y to y - CST CMP x simplification. | |
25251 | ||
25252 | 2015-07-06 Eric Botcazou <ebotcazou@adacore.com> | |
25253 | ||
25254 | PR tree-optimization/66757 | |
25255 | * match.pd: Add missing condition to ~X ^ C -> X ^ ~C. | |
25256 | ||
25257 | 2015-07-05 Chung-Lin Tang <cltang@codesourcery.com> | |
dfb6d139 | 25258 | Sandra Loosemore <sandra@codesourcery.com> |
fb2c1edd | 25259 | |
25260 | * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p): | |
25261 | Delete extern declaration. | |
25262 | (gprel_constant_p): Add extern declaration. | |
25263 | * config/nios2/constraints.md ("S"): Use gprel_constant_p | |
25264 | instead of nios2_symbol_ref_in_small_data_p. | |
25265 | * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise. | |
25266 | (nios2_symbol_ref_in_small_data_p): Make static. | |
25267 | (gprel_constant_p): Make non-static. | |
25268 | ||
25269 | 2015-07-05 Gerald Pfeifer <gerald@pfeifer.com> | |
25270 | ||
25271 | * doc/fragments.texi (Target Fragment): Convert debian.org | |
25272 | link to use https. | |
25273 | * doc/install.texi (Configuration): Ditto. | |
25274 | ||
25275 | 2015-07-05 Jakub Jelinek <jakub@redhat.com> | |
25276 | ||
25277 | PR tree-optimization/66718 | |
25278 | * tree-vect-stmts.c (vectorizable_call): Replace uses of | |
25279 | GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0. | |
25280 | ||
25281 | PR tree-optimization/66718 | |
25282 | * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store, | |
25283 | vectorizable_load, vectorizable_condition): Move vectype, | |
25284 | nunits, ncopies computation after checking what kind of statement | |
25285 | stmt is. | |
25286 | ||
25287 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25288 | ||
25289 | * target-insns.def (extv, extzv, insv): New targetm instruction | |
25290 | patterns. | |
25291 | * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_* | |
25292 | interface. | |
25293 | * recog.c (simplify_while_replacing): Likewise. | |
25294 | ||
25295 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25296 | ||
25297 | * target-insns.def (doloop_begin, doloop_end): New targetm | |
25298 | instruction patterns. | |
25299 | * loop-init.c: Include target.h. | |
25300 | (pass_loop2::gate): Use the new targetm patterns instead of | |
25301 | HAVE_*/gen_* interface. | |
25302 | (pass_rtl_doloop::gate): Likewise. | |
25303 | (pass_rtl_doloop::execute): Remove preprocessor condition. | |
25304 | * hw-doloop.c: Build unconditionally. | |
25305 | * loop-doloop.c: Likewise. | |
25306 | (doloop_optimize): Use the new targetm patterns instead of | |
25307 | HAVE_*/gen_* interface. | |
25308 | (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *. | |
25309 | * modulo-sched.c (doloop_register_get): Likewise. | |
25310 | ||
25311 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25312 | ||
25313 | * target-insns.def (clear_cache): New targetm instruction pattern. | |
25314 | * builtins.c (expand_builtin___clear_cache): Use it instead of | |
25315 | HAVE_*/gen_* interface. | |
25316 | ||
25317 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25318 | ||
25319 | * target-insns.def (allocate_stack, check_stack, probe_stack) | |
25320 | (probe_stack_address, split_stack_prologue, split_stack_space_check): | |
25321 | New targetm instruction patterns. | |
25322 | * explow.c (allocate_dynamic_stack_space): Use them instead of | |
25323 | HAVE_*/gen_* interface. | |
25324 | (emit_stack_probe): Likewise. | |
25325 | (probe_stack_range): Likewise. | |
25326 | * function.c (thread_prologue_and_epilogue_insns): Likewise. | |
25327 | ||
25328 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25329 | ||
25330 | * target-insns.def (stack_protect_set, stack_protect_test): New | |
25331 | targetm instruction patterns. | |
25332 | * cfgexpand.c (stack_protect_prologue): Use them instead of | |
25333 | HAVE_*/gen_* interface. | |
25334 | * function.c (stack_protect_epilogue): Likewise. | |
25335 | ||
25336 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25337 | ||
25338 | * expr.h (gen_move_insn_uncast): Delete. | |
25339 | * expr.c (gen_move_insn_uncast): Delete. | |
25340 | ||
25341 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25342 | ||
25343 | * target-insns.def (restore_stack_block, restore_stack_function) | |
25344 | (restore_stack_nonlocal, save_stack_block, save_stack_function) | |
25345 | (save_stack_nonlocal): New targetm instruction patterns. | |
25346 | * builtins.c (expand_builtin_apply): Use them instead of | |
25347 | HAVE_*/gen_* interface. | |
25348 | * explow.c (emit_stack_save, emit_stack_restore): Likewise. | |
25349 | ||
25350 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25351 | ||
25352 | * target-insns.def (trap): New targetm instruction pattern. | |
25353 | * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_* | |
25354 | interface. | |
25355 | * explow.c (allocate_dynamic_stack_space): Likewise. | |
25356 | * ifcvt.c (find_if_header): Likewise. | |
25357 | ||
25358 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25359 | ||
25360 | * target-insns.def (prefetch): New targetm instruction pattern. | |
25361 | * tree-ssa-loop-prefetch.c: Include targeth. | |
25362 | (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead | |
25363 | of HAVE_*/gen_* interface. | |
25364 | * builtins.c (expand_builtin_prefetch): Likewise. | |
25365 | * toplev.c (process_options): Likewise. | |
25366 | ||
25367 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25368 | ||
25369 | * target-insns.def (untyped_call, untyped_return): New targetm | |
25370 | instruction patterns. | |
25371 | * builtins.c (expand_builtin_apply): Use them instead of | |
25372 | HAVE_*/gen_* interface. | |
25373 | (result_vector): Define unconditionally. | |
25374 | ||
25375 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25376 | ||
25377 | * target-insns.def (builtin_longjmp, builtin_setjmp_receiver) | |
25378 | (builtin_setjmp_setup, exception_receiver, nonlocal_goto) | |
25379 | (nonlocal_goto_receiver): New targetm instruction patterns. | |
25380 | * builtins.c (expand_builtin_setjmp_setup): Use them instead | |
25381 | of HAVE_*/gen_* interface. | |
25382 | (expand_builtin_setjmp_receiver): Likewise. | |
25383 | (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise. | |
25384 | * except.c (expand_dw2_landing_pad_for_region): Likewise. | |
25385 | ||
25386 | 2015-07-05 Richard Sandiford <richard.sandiford@arm.com> | |
25387 | ||
25388 | * target.def: Add code_for_* hooks. | |
25389 | * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros. | |
25390 | * defaults.h (HAVE_tablejump, gen_tablejump): Delete. | |
25391 | * target-insns.def (casesi, tablejump): New targetm instruction | |
25392 | patterns. | |
25393 | * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface. | |
25394 | (do_tablejump): Likewise. | |
25395 | * stmt.c (expand_switch_as_decision_tree_p): Likewise. | |
25396 | (expand_sjlj_dispatch_table): Likewise. | |
25397 | * targhooks.c (default_case_values_threshold): Likewise. | |
25398 | ||
25399 | 2015-07-04 Sandra Loosemore <sandra@codesourcery.com> | |
25400 | ||
25401 | * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant. | |
25402 | Use rtx_insn * instead of rtx. | |
25403 | (nios2_emit_add_constant): Use rtx_insn * instead of rtx. | |
25404 | (nios2_expand_prologue, nios2_expand_epilogue): Likewise. | |
25405 | (nios2_call_tls_get_addr): Likewise. | |
25406 | (nios2_emit_expensive_div): Likewise. | |
25407 | (nios2_emit_move_sequence): Change return type to bool. | |
25408 | * config/nios2/nios2-protos.h (nios2_emit_move_sequence): | |
25409 | Change return type to bool. | |
25410 | ||
25411 | 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
25412 | ||
25413 | PR target/66747 | |
25414 | * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences. | |
25415 | ||
25416 | 2015-07-04 John David Anglin <danglin@gcc.gnu.org> | |
25417 | ||
25418 | PR target/66114 | |
25419 | * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead | |
25420 | of register_operand. Remove constraint. | |
25421 | ||
25422 | 2015-07-04 Marc Glisse <marc.glisse@inria.fr> | |
25423 | ||
25424 | * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check | |
25425 | the first argument. | |
25426 | ||
25427 | 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com> | |
25428 | ||
25429 | * attribs.c (decl_attributes): Guard inform with the return value | |
25430 | of the preceding warning. | |
25431 | ||
25432 | 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com> | |
25433 | ||
25434 | * doc/invoke.texi (moverride): Move to correct section. | |
25435 | ||
25436 | 2015-07-03 Richard Biener <rguenther@suse.de> | |
25437 | ||
25438 | * genmatch.c (commutative_tree_code, commutative_ternary_tree_code): | |
25439 | Copy from tree.c | |
25440 | (dt_operand::gen_gimple_expr): After valueizing operands | |
25441 | re-canonicalize operand order for commutative tree codes. | |
25442 | ||
25443 | 2015-07-03 H.J. Lu <hongjiu.lu@intel.com> | |
25444 | ||
25445 | PR target/66746. | |
25446 | * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__ | |
25447 | is defined. | |
25448 | (__crc32w): Likewise. | |
25449 | (__crc32d): Likewise. | |
25450 | (__rdpmc): Likewise. | |
25451 | (__rdtscp): Likewise. | |
25452 | (_rdpmc): Likewise. | |
25453 | (_rdtscp): Likewise. | |
25454 | * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__ | |
25455 | is defined. | |
25456 | ||
25457 | 2015-07-03 Richard Biener <rguenther@suse.de> | |
25458 | ||
25459 | * fold-const.c (fold_mathfn_compare): Remove. | |
25460 | (fold_inf_compare): Likewise. | |
25461 | (fold_comparison): Move floating point comparison simplifications... | |
25462 | * match.pd: ... to patterns here. Introduce simple_comparisons | |
25463 | operator list and use it for patterns formerly in fold_comparison. | |
25464 | ||
25465 | 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com> | |
25466 | ||
25467 | PR tree-optimization/66119 | |
25468 | * toplev.c (process_options): Don't set up default values for | |
25469 | the sra_max_scalarization_size_{speed,size} parameters. | |
25470 | * tree-sra (analyze_all_variable_accesses): If no values | |
25471 | have been set for the sra_max_scalarization_size_{speed,size} | |
25472 | parameters, call get_move_ratio to get target defaults. | |
25473 | ||
25474 | 2015-07-03 Richard Biener <rguenther@suse.de> | |
25475 | ||
25476 | * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding... | |
25477 | * match.pd: ... here. | |
25478 | ||
25479 | 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com> | |
25480 | ||
25481 | PR target/37072 | |
25482 | * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387 | |
25483 | is not actually the default on FreeBSD. | |
25484 | ||
25485 | 2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
25486 | ||
25487 | * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in | |
25488 | definition. | |
25489 | (CMPGE_8HI): Likewise. | |
25490 | (CMPGE_4SI): Likewise. | |
25491 | (CMPGE_2DI): Likewise. | |
25492 | (CMPGE_U16QI): Likewise. | |
25493 | (CMPGE_U8HI): Likewise. | |
25494 | (CMPGE_U4SI): Likewise. | |
25495 | (CMPGE_U2DI): Likewise. | |
25496 | (CMPLE_16QI): Likewise. | |
25497 | (CMPLE_8HI): Likewise. | |
25498 | (CMPLE_4SI): Likewise. | |
25499 | (CMPLE_2DI): Likewise. | |
25500 | (CMPLE_U16QI): Likewise. | |
25501 | (CMPLE_U8HI): Likewise. | |
25502 | (CMPLE_U4SI): Likewise. | |
25503 | (CMPLE_U2DI): Likewise. | |
25504 | * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add | |
25505 | overloads for ALTIVEC_BUILTIN_VEC_CMPGE and | |
25506 | ALTIVEC_BUILTIN_VEC_CMPLE. | |
25507 | * config/rs6000/vector.md (vector_ge<mode>): Restrict to | |
25508 | floating-point vector modes. | |
25509 | (vector_nlt<mode>): New define_expand. | |
25510 | (vector_nltu<mode>): Likewise. | |
25511 | (vector_ngt<mode>): Likewise. | |
25512 | (vector_ngtu<mode>): Likewise. | |
25513 | ||
25514 | 2015-07-02 Segher Boessenkool <segher@kernel.crashing.org> | |
25515 | ||
25516 | PR rtl-optimization/66706 | |
25517 | * combine.c (make_compound_operation): If an AND of SUBREG of | |
25518 | LSHIFTRT does not simplify, see if just the AND of SUBREG does. | |
25519 | ||
25520 | 2015-07-02 Alan Lawrence <alan.lawrence@arm.com> | |
25521 | ||
25522 | * tree-pass.h (make_pass_ch_vect): New. | |
25523 | * passes.def: Add pass_ch_vect just before pass_if_conversion. | |
25524 | ||
25525 | * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect, | |
25526 | pass_ch::process_loop_p, pass_ch_vect::process_loop_p, | |
25527 | make_pass_ch_vect): New. | |
25528 | (pass_ch): Extend ch_base. | |
25529 | ||
25530 | (pass_ch::execute): Move all but loop_optimizer_init/finalize to... | |
25531 | (ch_base::copy_headers): ...here. | |
25532 | ||
25533 | 2015-07-02 Richard Biener <rguenther@suse.de> | |
25534 | ||
25535 | * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR. | |
25536 | * fold-const.c (get_pointer_modulus_and_residue): Remove. | |
25537 | (fold_binary_loc): Implement (T)ptr & CST in terms of | |
25538 | get_pointer_alignment_1. | |
25539 | * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): | |
25540 | Make sure to build the alignment test on a SSA name without | |
25541 | final alignment info valid only after the prologue. | |
25542 | ||
25543 | 2015-07-02 Hans-Peter Nilsson <hp@axis.com> | |
25544 | ||
25545 | * config/cris/cris.md ("epilogue"): Remove condition. | |
25546 | ("prologue"): Ditto. | |
25547 | ||
25548 | 2015-07-02 Richard Biener <rguenther@suse.de> | |
25549 | ||
25550 | * tree-ssa-dom.c (build_and_record_new_cond): Add optional | |
25551 | parameter to record a condition that is false. | |
25552 | (record_conditions): When recording an extra NE_EXPR that is | |
25553 | true also record a EQ_EXPR that is false. | |
25554 | ||
25555 | 2015-07-02 Bin Cheng <bin.cheng@arm.com> | |
25556 | ||
25557 | * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack. | |
25558 | (tree_ssa_iv_optimize_init): Initialize iv_obstack. | |
25559 | (alloc_iv): New parameter. Allocate struct iv using obstack_alloc. | |
25560 | (set_iv, find_interesting_uses_address, add_candidate_1): New | |
25561 | argument to alloc_iv. | |
25562 | (find_interesting_uses_op, find_interesting_uses_cond): Don't | |
25563 | duplicate struct iv. | |
25564 | (free_loop_data): Don't free struct iv explicitly. | |
25565 | (tree_ssa_iv_optimize_finalize): Free iv_obstack. | |
25566 | ||
25567 | 2015-07-01 DJ Delorie <dj@redhat.com> | |
25568 | ||
25569 | * config/s390/tpf.h (LIBSTDCXX): Change to CPP1. | |
25570 | (LIB_SPEC): Add. | |
25571 | (SUPPORTS_DISCRIMINATOR): Define. | |
25572 | ||
25573 | 2015-07-01 Richard Sandiford <richard.sandiford@arm.com> | |
25574 | ||
25575 | PR bootstrap/66685 | |
25576 | * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if | |
25577 | there are no CALLs in the same pattern. | |
25578 | ||
25579 | 2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
25580 | ||
25581 | PR rtl-optimization/61047 | |
25582 | * rtlanal.c (get_initial_register_offset): New function. | |
25583 | (rtx_addr_can_trap_p_1): Check offsets of stack references. | |
25584 | ||
25585 | 2015-07-01 Richard Biener <rguenther@suse.de> | |
25586 | ||
25587 | * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y, | |
25588 | X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and | |
25589 | ~X CMP C -> X CMP' ~C to ... | |
25590 | * match.pd: ... patterns here. | |
25591 | ||
25592 | 2015-07-01 Nick Clifton <nickc@redhat.com> | |
25593 | ||
25594 | * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store | |
25595 | a 16-bit value into a 20-bit memory slot. | |
25596 | ||
25597 | 2015-07-01 Jiong Wang <jiong.wang@arm.com> | |
25598 | ||
25599 | * doc/sourcebuild.texi (AArch64-specific attributes): Document | |
25600 | "aarch64_tiny", "aarch64_small", "aarch64_large", | |
25601 | "aarch64_little_endian", "aarch64_big_endian". | |
25602 | ||
25603 | 2015-07-01 Jiong Wang <jiong.wang@arm.com> | |
25604 | ||
25605 | * doc/sourcebuild.texi (AArch64-specific attributes): New subsection. | |
25606 | Document "aarch64_small_fpic". | |
25607 | ||
25608 | 2015-07-01 Jiong Wang <jiong.wang@arm.com> | |
25609 | ||
25610 | * configure.ac: Add check for aarch64 assembler -fpic relocation | |
25611 | modifier support. | |
25612 | * configure: Regenerate. | |
25613 | * config.in: Regenerate. | |
25614 | * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back | |
25615 | to -fPIC if not support of -fpic relocation modifier in assembler. | |
25616 | ||
25617 | 2015-07-01 Richard Sandiford <richard.sandiford@arm.com> | |
25618 | ||
25619 | PR bootstrap/66685 | |
25620 | * rtl.c (classify_insn): Handle returns in PARALLELs. | |
25621 | ||
25622 | 2015-07-01 Eric Botcazou <ebotcazou@adacore.com> | |
25623 | ||
25624 | PR middle-end/66633 | |
25625 | * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain | |
25626 | to true if the function is nested and if not optimizing. | |
25627 | (convert_local_omp_clauses): Initialize need_frame to true if the | |
25628 | function contains nested functions and if not optimizing. | |
25629 | ||
25630 | 2015-07-01 Richard Biener <rguenther@suse.de> | |
25631 | ||
25632 | * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and | |
25633 | (X & Y) ^ Y -> ~X & Y transforms to ... | |
25634 | * match.pd: ... here. | |
25635 | ||
dfb6d139 | 25636 | 2015-07-01 Richard Biener <rguenther@suse.de> |
fb2c1edd | 25637 | |
25638 | * genmatch.c (expr::gen_transform): Shortcut re-simplifying | |
25639 | of converts to avoid uninteresting noise from the conversion | |
25640 | simplifying patterns. | |
25641 | ||
dfb6d139 | 25642 | 2015-06-30 Sandra Loosemore <sandra@codesourcery.com> |
fb2c1edd | 25643 | |
25644 | * config/c6x/c6x.c (try_rename_operands): Do not depend on | |
25645 | gcc_assert evaluating its argument for side-effect. | |
25646 | ||
25647 | 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org> | |
25648 | ||
25649 | PR target/64833 | |
25650 | * config/sh/sh.md (casesi_worker_1): Set length to 8 when | |
25651 | flag_pic is set. | |
25652 | ||
25653 | 2015-06-30 Eric Botcazou <ebotcazou@adacore.com> | |
25654 | ||
25655 | * lto-streamer-out.c (class DFS): Adjust hash_scc method. | |
25656 | (DFS::DFS): Pass this_ref_p and ref_p to hash_scc. | |
25657 | (hash_scc): Add this_ref_p and ref_p parameters and pass them | |
25658 | to the inner DFS walk. | |
25659 | ||
25660 | 2015-06-30 Richard Sandiford <richard.sandiford@arm.com> | |
25661 | ||
25662 | * target-insns.def (jump): New targetm instruction pattern. | |
25663 | * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump | |
25664 | instead of gen_jump. | |
25665 | (fix_up_crossing_landing_pad): Likewise. | |
25666 | (add_labels_and_missing_jumps): Likewise. | |
25667 | (fix_crossing_conditional_branches): Likewise. | |
25668 | * cfgrtl.c (try_redirect_by_replacing_jump): Likewise. | |
25669 | (force_nonfallthru_and_redirect): Likewise. | |
25670 | * cse.c (cse_insn): Likewise. | |
25671 | * expmed.c (expand_divmod): Likewise. | |
25672 | * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise. | |
25673 | * haifa-sched.c (init_before_recovery): Likewise. | |
25674 | (sched_create_recovery_edges): Likewise. | |
25675 | * ifcvt.c (find_cond_trap): Likewise. | |
25676 | * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise. | |
25677 | (expand_float, expand_fix): Likewise. | |
25678 | * stmt.c (emit_jump): Likewise. | |
25679 | ||
25680 | 2015-06-30 Richard Sandiford <richard.sandiford@arm.com> | |
25681 | ||
25682 | * defaults.h (HAVE_load_multiple, gen_load_multiple) | |
25683 | (HAVE_store_multiple, gen_store_multiple): Delete. | |
25684 | * target-insns.def (load_multiple, store_multiple): New targetm | |
25685 | instruction patterns. | |
25686 | * expr.c (move_block_to_reg, move_block_from_reg): Use them instead | |
25687 | of HAVE_*/gen_* interface. | |
25688 | ||
25689 | 2015-06-30 Richard Sandiford <richard.sandiford@arm.com> | |
25690 | ||
25691 | * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence) | |
25692 | (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence) | |
25693 | (gen_mem_signal_fence): Delete. | |
25694 | * target-insns.def (mem_signal_fence, mem_thread_fence) | |
25695 | (memory_barrier): New targetm instruction patterns. | |
25696 | * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_* | |
25697 | interface. | |
25698 | (expand_mem_signal_fence): Likewise. | |
25699 | ||
25700 | 2015-06-30 Richard Sandiford <richard.sandiford@arm.com> | |
25701 | ||
25702 | * defaults.h (HAVE_epilogue, gen_epilogue): Delete. | |
25703 | * target-insns.def (epilogue, prologue, sibcall_prologue): New | |
25704 | targetm instruction patterns. | |
25705 | * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_* | |
25706 | interface. | |
25707 | * calls.c (expand_call): Likewise. | |
25708 | * cfgrtl.c (cfg_layout_finalize): Likewise. | |
25709 | * df-scan.c (df_get_entry_block_def_set): Likewise. | |
25710 | (df_get_exit_block_use_set): Likewise. | |
25711 | * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise. | |
25712 | * final.c (final_start_function): Likewise. | |
25713 | * function.c (thread_prologue_and_epilogue_insns): Likewise. | |
25714 | (reposition_prologue_and_epilogue_notes): Likewise. | |
25715 | * reorg.c (find_end_label): Likewise. | |
25716 | * toplev.c (process_options): Likewise. | |
25717 | ||
25718 | 2015-06-30 David Malcolm <dmalcolm@redhat.com> | |
25719 | ||
25720 | * typed-splay-tree.h: New file. | |
25721 | ||
25722 | 2015-06-30 Vladimir Makarov <vmakarov@redhat.com> | |
25723 | ||
25724 | PR debug/66691 | |
25725 | * lra-int.h (lra_substitute_pseudo): Add a parameter. | |
25726 | (lra_substitute_pseudo_within_insn): Ditto. | |
25727 | * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg | |
25728 | of constant. | |
25729 | (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it | |
25730 | to lra_substitute_pseudo. | |
25731 | * lra-lives.c (process_bb_lives): Add an argument to | |
25732 | lra_substitute_pseudo_within_insn call. | |
25733 | * lra-constraints.c (inherit_reload_reg, split_reg): Add an | |
25734 | argument to lra_substitute_pseudo and | |
25735 | lra_substitute_pseudo_within_insn calls. | |
25736 | (remove_inheritance_pseudos, undo_optional_reloads): Ditto. | |
25737 | ||
25738 | 2015-06-30 H.J. Lu <hongjiu.lu@intel.com> | |
25739 | ||
25740 | * configure: Regenerated. | |
25741 | ||
25742 | 2015-06-30 H.J. Lu <hongjiu.lu@intel.com> | |
25743 | ||
25744 | * config.gcc: Support i[34567]86-*-elfiamcu target. | |
25745 | * config/i386/iamcu.h: New. | |
25746 | * config/i386/i386.opt: Add -miamcu. | |
25747 | * doc/invoke.texi: Document -miamcu. | |
25748 | * common/config/i386/i386-common.c (ix86_handle_option): Turn | |
25749 | off x87/MMX/SSE/AVX codegen for -miamcu. | |
25750 | * config/i386/i386-c.c (ix86_target_macros_internal): Define | |
25751 | __iamcu/__iamcu__ for -miamcu. | |
25752 | * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set | |
25753 | to MIN_STACK_BOUNDARY if TARGET_IAMCU is true. | |
25754 | (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true. | |
25755 | * config/i386/i386.c (ix86_option_override_internal): Ignore and | |
25756 | warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel | |
25757 | MCU by default. Default long double to 64-bit for Intel MCU. | |
25758 | Turn on -freg-struct-return for Intel MCU. Issue an error when | |
25759 | -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or | |
25760 | AVX is turned on. | |
25761 | (function_arg_advance_32): Pass value whose size is no larger | |
25762 | than 8 bytes in registers for Intel MCU. | |
25763 | (function_arg_32): Likewise. | |
25764 | (ix86_return_in_memory): Return value whose size is no larger | |
25765 | than 8 bytes in registers for Intel MCU. | |
25766 | (iamcu_alignment): New function. | |
25767 | (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is | |
25768 | true. | |
25769 | (ix86_local_alignment): Don't increase alignment for Intel MCU. | |
25770 | (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is | |
25771 | true. | |
25772 | ||
25773 | 2015-06-30 Marek Polacek <polacek@redhat.com> | |
25774 | ||
25775 | * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert | |
25776 | both operands of the resulting expression. | |
25777 | ||
25778 | * match.pd (~x | x): Don't use tree_nop_conversion_p. Build | |
25779 | the final expression with the operand's type and then convert | |
25780 | it to the type of the expression. | |
25781 | ||
25782 | 2015-06-30 Richard Biener <rguenther@suse.de> | |
25783 | ||
25784 | * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and | |
25785 | ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2), | |
25786 | (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ... | |
25787 | * match.pd: ... to patterns here. | |
25788 | ||
25789 | 2015-06-30 Richard Biener <rguenther@suse.de> | |
25790 | ||
25791 | PR tree-optimization/66704 | |
25792 | * tree-vect-data-refs.c (vect_setup_realignment): Use | |
25793 | make_ssa_name for non-SSA name source. | |
25794 | ||
25795 | 2015-06-30 Jakub Jelinek <jakub@redhat.com> | |
25796 | ||
25797 | PR middle-end/66702 | |
25798 | * omp-low.c (simd_clone_adjust): Handle addressable linear | |
25799 | or uniform parameters or non-gimple type uniform parameters. | |
25800 | ||
25801 | 2015-06-30 Richard Biener <rguenther@suse.de> | |
25802 | ||
25803 | * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x), | |
25804 | ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of | |
25805 | ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ... | |
25806 | * match.pd: ... here. | |
25807 | Add a few cases of A - B -> A + (-B) when B "easily" negates. | |
25808 | Move (x & y) | x -> x and friends before | |
25809 | (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2). | |
25810 | ||
25811 | 2015-06-30 Eric Botcazou <ebotcazou@adacore.com> | |
25812 | ||
25813 | * config/sparc/leon.md (leon_load): Enable for all LEON variants if | |
25814 | -mfix-ut699 is not specified. | |
25815 | (leon3_load): Rename into... | |
25816 | (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699 | |
25817 | is specified. | |
25818 | ||
25819 | 2015-06-30 Marek Polacek <polacek@redhat.com> | |
25820 | ||
25821 | * fold-const.c (fold_binary_loc): Move ~X | X folding ... | |
25822 | * match.pd: ... here. | |
25823 | ||
25824 | 2015-06-30 Richard Biener <rguenther@suse.de> | |
25825 | ||
25826 | * target-insns.def (canonicalize_funcptr_for_compare): Add. | |
25827 | * fold-const.c (build_range_check): Replace uses of | |
25828 | HAVE_canonicalize_funcptr_for_compare. | |
25829 | (fold_widened_comparison): Likewise. | |
25830 | (fold_sign_changed_comparison): Likewise. | |
25831 | * dojump.c: Include "target.h". | |
25832 | (do_compare_and_jump): Replace uses of | |
25833 | HAVE_canonicalize_funcptr_for_compare and | |
25834 | gen_canonicalize_funcptr_for_compare. | |
25835 | * expr.c (do_store_flag): Likewise. | |
25836 | ||
25837 | 2015-06-30 Tom de Vries <tom@codesourcery.com> | |
25838 | ||
25839 | PR tree-optimization/66652 | |
25840 | * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use | |
25841 | max_loop_iterations to determine if nit + 1 overflows. | |
25842 | ||
25843 | 2015-06-30 Richard Biener <rguenther@suse.de> | |
25844 | ||
25845 | * tree-vrp.c (register_edge_assert_for_2): Also register | |
25846 | asserts for dominating conversion results. | |
25847 | ||
25848 | 2015-06-30 Bin Cheng <bin.cheng@arm.com> | |
25849 | ||
25850 | * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name | |
25851 | field in struct iv. | |
25852 | ||
25853 | 2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com> | |
25854 | ||
25855 | PR target/66509 | |
25856 | * configure.ac: Fix filds and fildq test for 64-bit. | |
25857 | * configure: Regenerated. | |
25858 | ||
25859 | 2015-06-29 Nathan Sidwell <nathan@codesourcery.com> | |
25860 | ||
25861 | * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ... | |
25862 | (nvptx_reorg): Here. Keep the non-subreg pieces. | |
25863 | ||
25864 | 2015-06-29 H.J. Lu <hongjiu.lu@intel.com> | |
25865 | ||
25866 | * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use | |
25867 | PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined. | |
25868 | ||
25869 | 2015-06-29 Uros Bizjak <ubizjak@gmail.com> | |
25870 | ||
25871 | * config/i386/i386.md (*jcc_1): Use %! in asm template. | |
25872 | Set attribute "length_nobnd" instead of "length". | |
25873 | (*jcc_2): Ditto. | |
25874 | (jump): Ditto. | |
25875 | (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns. | |
25876 | ||
25877 | 2015-06-29 Sandra Loosemore <sandra@codesourcery.com> | |
25878 | ||
25879 | * config/nios2/nios2.c (nios2_delegitimize_address): Make | |
25880 | assert less restrictive. | |
25881 | ||
25882 | 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
25883 | ||
25884 | PR fortran/66605 | |
25885 | * cgraphunit.c (cgraph_node::finalize_function): Do not call | |
25886 | do_warn_unused_parameter. | |
25887 | * function.c (do_warn_unused_parameter): Move from here. | |
25888 | * function.h (do_warn_unused_parameter): Do not declare. | |
25889 | ||
25890 | 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> | |
25891 | ||
25892 | PR target/65697 | |
25893 | * gcc.target/arm/armv-sync-comp-swap.c: New. | |
25894 | * gcc.target/arm/armv-sync-op-acquire.c: New. | |
25895 | * gcc.target/arm/armv-sync-op-full.c: New. | |
25896 | * gcc.target/arm/armv-sync-op-release.c: New. | |
25897 | ||
25898 | 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> | |
25899 | ||
25900 | PR target/65697 | |
25901 | * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an | |
25902 | initial acquire barrier with final barrier. | |
25903 | ||
25904 | 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> | |
25905 | ||
25906 | PR target/65697 | |
25907 | * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an | |
25908 | initial acquire barrier with final barrier. | |
25909 | ||
25910 | 2015-06-29 Richard Henderson <rth@redhat.com> | |
25911 | ||
25912 | * config/i386/constraints.md (Bf): New constraint. | |
25913 | * config/i386/i386-c.c (ix86_target_macros): Define | |
25914 | __GCC_ASM_FLAG_OUTPUTS__. | |
25915 | * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints | |
25916 | as flags outputs. | |
25917 | * doc/extend.texi (FlagOutputOperands): Document them. | |
25918 | ||
25919 | 2015-06-29 Jiong Wang <jiong.wang@arm.com> | |
25920 | ||
25921 | * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration. | |
25922 | * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new | |
25923 | unspec name. | |
25924 | (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name. | |
25925 | * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename | |
25926 | SYMBOL_SMALL_TPREL to SYMBOL_TLSLE. | |
25927 | (aarch64_symbol_context): Ditto. | |
25928 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto | |
25929 | and use new pattern name. | |
25930 | (aarch64_expand_mov_immediate): Ditto. | |
25931 | (aarch64_print_operand): Ditto. | |
25932 | (aarch64_classify_tls_symbol): Ditto. | |
25933 | ||
25934 | 2015-06-29 Marek Polacek <polacek@redhat.com> | |
25935 | Marc Glisse <marc.glisse@inria.fr> | |
25936 | ||
25937 | * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ... | |
25938 | * match.pd: ... pattern here. | |
25939 | ||
25940 | 2015-06-29 Tom de Vries <tom@codesourcery.com> | |
25941 | ||
25942 | * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify | |
25943 | function structure. | |
25944 | ||
25945 | 2015-06-29 Matthew Wahab <matthew.wahab@arm.com> | |
25946 | ||
25947 | * doc/invoke.texi (Aarch64 Options, -march): Split out arch and | |
25948 | feature description, split out the native option, add a link to | |
25949 | the feature documentation, rearrange and slightly rewrite text. | |
25950 | (Aarch64 options, -mcpu): Likewise. | |
25951 | (Aarch64 options, Feature Modifiers): Add an anchor. Mention | |
25952 | +rdma implies Adv. SIMD. | |
25953 | ||
25954 | 2015-06-29 Marek Polacek <polacek@redhat.com> | |
25955 | ||
25956 | PR c/66322 | |
25957 | * function.c (stack_protect_epilogue): Remove a cast to int. | |
25958 | * doc/invoke.texi: Update -Wswitch-bool description. | |
25959 | ||
25960 | 2015-06-29 Richard Biener <rguenther@suse.de> | |
25961 | ||
25962 | * genmatch.c (add_operator): Treat ADDR_EXPR as atom. | |
25963 | * fold-const.c (fold_binary_loc): Move &A - &B simplification | |
25964 | via ptr_difference_const ... | |
25965 | * match.pd: ... here. | |
25966 | When matching (X ^ Y) == Y also match with swapped operands. | |
25967 | ||
25968 | 2015-06-29 Richard Biener <rguenther@suse.de> | |
25969 | ||
25970 | * lto-streamer.h (LTO_major_version): Bump to 5. | |
25971 | ||
25972 | 2015-06-29 Richard Biener <rguenther@suse.de> | |
25973 | ||
25974 | PR tree-optimization/66677 | |
25975 | * tree-vect-stmts.c (vect_transform_stmt): Make assert about | |
25976 | STMT_VINFO_VEC_STMT clobbering less strict. | |
25977 | ||
25978 | 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org> | |
25979 | ||
25980 | PR middle-end/64130 | |
25981 | * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned | |
25982 | division, compute max and min when value ranges for dividend and | |
25983 | divisor are available. | |
25984 | ||
dfb6d139 | 25985 | 2015-06-28 Chung-Lin Tang <cltang@codesourcery.com> |
25986 | Sandra Loosemore <sandra@codesourcery.com> | |
fb2c1edd | 25987 | |
25988 | * regrename.h (regrename_do_replace): Change to return bool. | |
25989 | * regrename.c (rename_chains): Check return value of | |
25990 | regname_do_replace. | |
25991 | (regrename_do_replace): Re-validate the modified insns and | |
25992 | return bool status. | |
25993 | * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain): | |
25994 | Update to match rename_chains changes. | |
25995 | * config/c6x/c6x.c (try_rename_operands): Assert that | |
25996 | regrename_do_replace returns true. | |
25997 | ||
25998 | 2015-06-28 Uros Bizjak <ubizjak@gmail.com> | |
25999 | ||
26000 | * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode | |
26001 | operand 2 here. Use copy_addr_to_reg to copy non-index | |
26002 | register operand 2 to a temporary. | |
26003 | (<mode>_stx): Ditto for operand 1. | |
26004 | (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel. | |
26005 | * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here. | |
26006 | (ix86_store_bounds): Ditto. | |
26007 | ||
26008 | 2015-06-27 Patrick Palka <ppalka@gcc.gnu.org> | |
26009 | ||
26010 | * print-tree.c (print_node) [TREE_VEC]: Print its length. | |
26011 | ||
26012 | 2015-06-26 Andrew MacLeod <amacleod@redhat.com> | |
26013 | ||
26014 | * gimple.c (gimple_call_set_fndecl): Remove. | |
26015 | * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call | |
26016 | build1_loc directly instead of build_fold_addr_expr_loc. | |
26017 | ||
26018 | 2015-06-26 Richard Sandiford <richard.sandiford@arm.com> | |
26019 | ||
26020 | * hash-map.h (hash_map::traverse): Use the definition of the | |
26021 | Key typedef rather than the typedef itself. | |
26022 | ||
26023 | 2015-06-26 Martin Jambor <mjambor@suse.cz> | |
26024 | ||
26025 | PR debug/66301 | |
26026 | * tree-ssa-pre.c (before_dom_children): Check that dump_file is not | |
26027 | NULL instead of calling dump_enabled_p. | |
26028 | ||
26029 | 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com> | |
26030 | ||
26031 | * config/aarch64/aarch64.opt: (override): New. | |
26032 | * doc/invoke.texi (override): Document. | |
26033 | * config/aarch64/aarch64.c (aarch64_flag_desc): New | |
26034 | (aarch64_fusible_pairs): Likewise. | |
26035 | (aarch64_tuning_flags): Likewise. | |
26036 | (aarch64_tuning_override_function): Likewise. | |
26037 | (aarch64_tuning_override_functions): Likewise. | |
26038 | (aarch64_parse_one_option_token): Likewise. | |
26039 | (aarch64_parse_boolean_options): Likewise. | |
26040 | (aarch64_parse_fuse_string): Likewise. | |
26041 | (aarch64_parse_tune_string): Likewise. | |
26042 | (aarch64_parse_one_override_token): Likewise. | |
26043 | (aarch64_parse_override_string): Likewise. | |
26044 | (aarch64_override_options): Parse the -override string if it | |
26045 | is present. | |
26046 | ||
26047 | 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com> | |
26048 | ||
26049 | * config/aarch64/aarch64-protos.h (tune_params): Remove | |
26050 | const from members. | |
26051 | (aarch64_tune_params): Remove const, change to no longer be | |
26052 | a pointer. | |
26053 | * config/aarch64/aarch64.c (aarch64_tune_params): Remove const, | |
26054 | change to no longer be a pointer, initialize to generic_tunings. | |
26055 | (aarch64_min_divisions_for_recip_mul): Change dereference of | |
26056 | aarch64_tune_params to member access. | |
26057 | (aarch64_reassociation_width): Likewise. | |
26058 | (aarch64_rtx_mult_cost): Likewise. | |
26059 | (aarch64_address_cost): Likewise. | |
26060 | (aarch64_branch_cost): Likewise. | |
26061 | (aarch64_rtx_costs): Likewise. | |
26062 | (aarch64_register_move_cost): Likewise. | |
26063 | (aarch64_memory_move_cost): Likewise. | |
26064 | (aarch64_sched_issue_rate): Likewise. | |
26065 | (aarch64_builtin_vectorization_cost): Likewise. | |
26066 | (aarch64_override_options): Take a copy of the selected tuning | |
26067 | struct in to aarch64_tune_params, rather than just setting | |
26068 | a pointer, change dereferences of aarch64_tune_params to member | |
26069 | accesses. | |
26070 | (aarch64_override_options_after_change): Change dereferences of | |
26071 | aarch64_tune_params to member access. | |
26072 | (aarch64_macro_fusion_p): Likewise. | |
26073 | (aarch_macro_fusion_pair_p): Likewise. | |
26074 | * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise. | |
26075 | ||
26076 | 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com> | |
26077 | ||
26078 | * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete. | |
26079 | (aarch64_tune_flags): Likewise. | |
26080 | (AARCH64_TUNE_FMA_STEERING): Likewise. | |
26081 | * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference | |
26082 | to AARCH64_FL_USE_FMA_STEERING_PASS. | |
26083 | (cortex-a57.cortex-a53): Likewise. | |
26084 | (cortex-a72): Use cortexa72_tunings. | |
26085 | (cortex-a72.cortex-a53): Likewise. | |
26086 | (exynos-m1): Likewise. | |
26087 | * config/aarch64/aarch64-protos.h (tune_params): Add | |
26088 | a field: extra_tuning_flags. | |
26089 | * config/aarch64/aarch64-tuning-flags.def: New. | |
26090 | * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New. | |
26091 | (aarch64_extra_tuning_flags): Likewise. | |
26092 | (aarch64_tune_params): Declare here. | |
26093 | * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags. | |
26094 | (cortexa53_tunings): Likewise. | |
26095 | (cortexa57_tunings): Likewise. | |
26096 | (thunderx_tunings): Likewise. | |
26097 | (xgene1_tunings): Likewise. | |
26098 | (cortexa72_tunings): New. | |
26099 | * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h. | |
26100 | (gate): Check against aarch64_tune_params. | |
26101 | * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on | |
26102 | aarch64-protos.h. | |
26103 | ||
26104 | 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com> | |
26105 | ||
26106 | * config/aarch64/aarch64-fusion-pairs.def: New. | |
26107 | * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New. | |
26108 | * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to | |
26109 | aarch64_fusion_pairs. | |
26110 | (AARCH64_FUSE_MOV_MOVK): Likewise. | |
26111 | (AARCH64_FUSE_ADRP_ADD): Likewise. | |
26112 | (AARCH64_FUSE_MOVK_MOVK): Likewise. | |
26113 | (AARCH64_FUSE_ADRP_LDR): Likewise. | |
26114 | (AARCH64_FUSE_CMP_BRANCH): Likewise. | |
26115 | ||
26116 | 2015-06-26 Jiong Wang <jiong.wang@arm.com> | |
26117 | ||
26118 | * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type | |
26119 | SYMBOL_SMALL_GOT_28K. | |
26120 | * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT | |
26121 | relocation modifiers. | |
26122 | (unspec): New enum "UNSPEC_GOTMALLPIC28K. | |
26123 | (ldr_got_small_28k_<mode>): New. | |
26124 | (ldr_got_small_28k_sidi): New. | |
26125 | * config/aarch64/iterators.md (got_modifier): New mode iterator. | |
26126 | * config/aarch64/aarch64-otps.h (aarch64_code_model): New model. | |
26127 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support | |
26128 | SYMBOL_SMALL_GOT_28K. | |
26129 | (aarch64_rtx_costs): Add costs for new instruction sequences. | |
26130 | (initialize_aarch64_code_model): Initialize new model. | |
26131 | (aarch64_classify_symbol): Recognize new model and new symbol classification. | |
26132 | (aarch64_asm_preferred_eh_data_format): Support new model. | |
26133 | (aarch64_load_symref_appropriately): Generate new instruction | |
26134 | sequences for -fpic. | |
26135 | (TARGET_USE_PSEUDO_PIC_REG): New definition. | |
26136 | (aarch64_use_pseudo_pic_reg): New function. | |
26137 | ||
26138 | 2015-06-26 Jiong Wang <jiong.wang@arm.com> | |
26139 | ||
26140 | * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename | |
26141 | SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G. | |
26142 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto. | |
26143 | (aarch64_expand_mov_immediate): Ditto. | |
26144 | (aarch64_print_operand): Ditto. | |
26145 | (aarch64_classify_symbol): Ditto. | |
26146 | ||
26147 | 2015-06-26 Nathan Sidwell <nathan@codesourcery.com> | |
26148 | ||
26149 | * config/nvptx/nvptx.md (call_operation): Remove unused variables. | |
26150 | ||
26151 | 2015-06-26 Bin Cheng <bin.cheng@arm.com> | |
26152 | ||
26153 | PR bootstrap/66638 | |
26154 | * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if | |
26155 | assertion failed. Remove assertion itself. | |
26156 | ||
26157 | 2015-06-26 Richard Biener <rguenther@suse.de> | |
26158 | ||
26159 | * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B | |
26160 | and -A CMP CST -> A CMP -CST which is redundant with a pattern | |
26161 | in match.pd. | |
26162 | Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y, | |
26163 | (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and | |
26164 | (X ^ C1) op C2 -> X op (C1 ^ C2) to ... | |
26165 | * match.pd: ... patterns here. | |
26166 | ||
26167 | 2015-06-26 Marek Polacek <polacek@redhat.com> | |
26168 | ||
26169 | * match.pd ((x | y) & ~(x & y) -> x ^ y, | |
26170 | (x | y) & (~x ^ y) -> x & y): New patterns. | |
26171 | ||
26172 | 2015-06-26 Richard Sandiford <richard.sandiford@arm.com> | |
26173 | ||
26174 | * rtl.h (emit): Add an optional boolean parameter to control | |
26175 | whether barriers are emitted. | |
26176 | * emit-rtl.c (emit): Likewise. | |
26177 | * gensupport.c (get_emit_function): Return null rather than "emit". | |
26178 | * genemit.c (gen_emit_seq): Handle the null return value. | |
26179 | Don't emit barriers after the final instruction in the sequence. | |
26180 | * gentarget-def.c (main): Don't emit barriers after the instruction. | |
26181 | ||
26182 | 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
26183 | ||
26184 | * config/arm/arm.c (arm_output_multireg_pop): Fix use of | |
26185 | TARGET_UNIFIED_ASM. | |
26186 | ||
26187 | 2015-06-26 Richard Biener <rguenther@suse.de> | |
26188 | ||
26189 | * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math. | |
26190 | ||
26191 | 2015-06-26 Richard Biener <rguenther@suse.de> | |
26192 | ||
26193 | * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2)) | |
26194 | irrespective on whether the inner operation has a single use | |
26195 | of both off are constant. | |
26196 | ||
26197 | 2015-06-26 Uros Bizjak <ubizjak@gmail.com> | |
26198 | Segher Boessenkool <segher@kernel.crashing.org> | |
26199 | ||
26200 | PR target/66412 | |
26201 | * config/i386/i386.md (various splitters): Use shallow_copy_rtx | |
26202 | before doing PUT_MODE or PUT_CODE on operands to avoid | |
26203 | in-place RTX modification. | |
26204 | ||
26205 | 2015-06-25 H.J. Lu <hongjiu.lu@intel.com> | |
26206 | ||
26207 | * gentarget-def.c (def_target_insn): Cast return of strtol to | |
26208 | unsigned int. | |
26209 | ||
26210 | 2015-06-25 Andrew MacLeod <amacleod@redhat.com> | |
26211 | ||
26212 | * gimple.h (gimple_call_set_fn): Move inline function. | |
26213 | * gimple.c (gimple_call_set_fn): Relocate here. | |
26214 | ||
26215 | 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org> | |
26216 | ||
26217 | PR target/65979 | |
26218 | PR target/66611 | |
26219 | * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if | |
26220 | the replacement insn will work. | |
26221 | ||
26222 | 2015-06-25 H.J. Lu <hongjiu.lu@intel.com> | |
26223 | ||
26224 | * gcc.c (driver_handle_option): Validate -pie if PIE is enabled | |
26225 | by default. | |
26226 | ||
26227 | 2015-06-25 Andrew MacLeod <amacleod@redhat.com> | |
26228 | ||
26229 | * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations. | |
26230 | * cgraph.h: Include ipa-ref.h and plugin-api.h. | |
26231 | (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here. | |
26232 | (symtab_node::address_can_be_compared_p): Move function. | |
26233 | * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function | |
26234 | definition here. | |
26235 | * asan.c: Remove ipa-ref.h and plugin-api.h from include list. | |
26236 | * auto-profile.c: Likewise. | |
26237 | * bb-reorder.c: Likewise. | |
26238 | * builtins.c: Likewise. | |
26239 | * calls.c: Likewise. | |
26240 | * cfgexpand.c: Likewise. | |
26241 | * cgraphbuild.c: Likewise. | |
26242 | * cgraphclones.c: Likewise. | |
26243 | * cgraphunit.c: Likewise. | |
26244 | * combine.c: Likewise. | |
26245 | * coverage.c: Likewise. | |
26246 | * data-streamer-in.c: Likewise. | |
26247 | * data-streamer-out.c: Likewise. | |
26248 | * data-streamer.c: Likewise. | |
26249 | * dbxout.c: Likewise. | |
26250 | * dwarf2out.c: Likewise. | |
26251 | * except.c: Likewise. | |
26252 | * expr.c: Likewise. | |
26253 | * final.c: Likewise. | |
26254 | * fold-const.c: Likewise. | |
26255 | * ggc-page.c: Likewise. | |
26256 | * gimple-fold.c: Likewise. | |
26257 | * gimple-iterator.c: Likewise. | |
26258 | * gimple-pretty-print.c: Likewise. | |
26259 | * gimple-streamer-in.c: Likewise. | |
26260 | * gimple-streamer-out.c: Likewise. | |
26261 | * gimple.c: Likewise. | |
26262 | * gimplify.c: Likewise. | |
26263 | * ipa-chkp.c: Likewise. | |
26264 | * ipa-comdats.c: Likewise. | |
26265 | * ipa-cp.c: Likewise. | |
26266 | * ipa-devirt.c: Likewise. | |
26267 | * ipa-icf-gimple.c: Likewise. | |
26268 | * ipa-icf.c: Likewise. | |
26269 | * ipa-inline-analysis.c: Likewise. | |
26270 | * ipa-inline-transform.c: Likewise. | |
26271 | * ipa-inline.c: Likewise. | |
26272 | * ipa-polymorphic-call.c: Likewise. | |
26273 | * ipa-profile.c: Likewise. | |
26274 | * ipa-prop.c: Likewise. | |
26275 | * ipa-pure-const.c: Likewise. | |
26276 | * ipa-ref.c: Likewise. | |
26277 | * ipa-reference.c: Likewise. | |
26278 | * ipa-split.c: Likewise. | |
26279 | * ipa-utils.c: Likewise. | |
26280 | * ipa-visibility.c: Likewise. | |
26281 | * ipa.c: Likewise. | |
26282 | * langhooks.c: Likewise. | |
26283 | * lto-cgraph.c: Likewise. | |
26284 | * lto-compress.c: Likewise. | |
26285 | * lto-opts.c: Likewise. | |
26286 | * lto-section-in.c: Likewise. | |
26287 | * lto-section-out.c: Likewise. | |
26288 | * lto-streamer-in.c: Likewise. | |
26289 | * lto-streamer-out.c: Likewise. | |
26290 | * lto-streamer.c: Likewise. | |
26291 | * omp-low.c: Likewise. | |
26292 | * opts-global.c: Likewise. | |
26293 | * passes.c: Likewise. | |
26294 | * predict.c: Likewise. | |
26295 | * print-tree.c: Likewise. | |
26296 | * profile.c: Likewise. | |
26297 | * ree.c: Likewise. | |
26298 | * sanopt.c: Likewise. | |
26299 | * stor-layout.c: Likewise. | |
26300 | * symtab.c: Likewise. | |
26301 | * toplev.c: Likewise. | |
26302 | * trans-mem.c: Likewise. | |
26303 | * tree-cfg.c: Likewise. | |
26304 | * tree-chkp.c: Likewise. | |
26305 | * tree-eh.c: Likewise. | |
26306 | * tree-emutls.c: Likewise. | |
26307 | * tree-inline.c: Likewise. | |
26308 | * tree-nested.c: Likewise. | |
26309 | * tree-parloops.c: Likewise. | |
26310 | * tree-pretty-print.c: Likewise. | |
26311 | * tree-profile.c: Likewise. | |
26312 | * tree-sra.c: Likewise. | |
26313 | * tree-ssa-alias.c: Likewise. | |
26314 | * tree-ssa-live.c: Likewise. | |
26315 | * tree-ssa-loop-ivcanon.c: Likewise. | |
26316 | * tree-ssa-loop-ivopts.c: Likewise. | |
26317 | * tree-ssa-pre.c: Likewise. | |
26318 | * tree-ssa-sccvn.c: Likewise. | |
26319 | * tree-ssa-strlen.c: Likewise. | |
26320 | * tree-ssa-structalias.c: Likewise. | |
26321 | * tree-streamer-in.c: Likewise. | |
26322 | * tree-streamer-out.c: Likewise. | |
26323 | * tree-streamer.c: Likewise. | |
26324 | * tree-switch-conversion.c: Likewise. | |
26325 | * tree-tailcall.c: Likewise. | |
26326 | * tree-vect-data-refs.c: Likewise. | |
26327 | * tree-vect-stmts.c: Likewise. | |
26328 | * tree-vectorizer.c: Likewise. | |
26329 | * tree.c: Likewise. | |
26330 | * tsan.c: Likewise. | |
26331 | * ubsan.c: Likewise. | |
26332 | * value-prof.c: Likewise. | |
26333 | * varasm.c: Likewise. | |
26334 | * varpool.c: Likewise. | |
26335 | * config/arm/arm.c: Likewise. | |
26336 | * config/bfin/bfin.c: Likewise. | |
26337 | * config/c6x/c6x.c: Likewise. | |
26338 | * config/cris/cris.c: Likewise. | |
26339 | * config/darwin-c.c: Likewise. | |
26340 | * config/darwin.c: Likewise. | |
26341 | * config/i386/i386.c: Likewise. | |
26342 | * config/i386/winnt.c: Likewise. | |
26343 | * config/microblaze/microblaze.c: Likewise. | |
26344 | * config/mips/mips.c: Likewise. | |
26345 | * config/rs6000/rs6000.c: Likewise. | |
26346 | * config/rx/rx.c: Likewise. | |
26347 | * config/s390/s390.c: Likewise. | |
26348 | * config/tilegx/mul-tables.c: Likewise. | |
26349 | ||
26350 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26351 | ||
26352 | * config/aarch64/aarch64.c, config/alpha/alpha.c, | |
26353 | config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, | |
26354 | config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c, | |
26355 | config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c, | |
26356 | config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, | |
26357 | config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, | |
26358 | config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, | |
26359 | config/microblaze/microblaze.c, config/mips/mips.c, | |
26360 | config/mmix/mmix.c, config/mn10300/mn10300.c, | |
26361 | config/moxie/moxie.c, config/msp430/msp430.c, | |
26362 | config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, | |
26363 | config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, | |
26364 | config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c, | |
26365 | config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, | |
26366 | config/stormy16/stormy16.c, config/tilegx/tilegx.c, | |
26367 | config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, | |
26368 | config/visium/visium.c, config/xtensa/xtensa.c: Add comment above | |
26369 | target-def.h include. | |
26370 | * config/ft32/ft32.c: Likewise. Fix misapplied hunk. | |
26371 | ||
26372 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26373 | ||
26374 | * Makefile.in (TARGET_DEF): Add target-insns.def. | |
26375 | (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h. | |
26376 | (build/gentarget-def.o): New rule. | |
26377 | (genprogrtl): Add target-def. | |
26378 | * target-insns.def, gentarget-def.c: New files. | |
26379 | * target.def: Add targetm.have_* and targetm.gen_* hooks, | |
26380 | based on the contents of target-insns.def. | |
26381 | * defaults.h (HAVE_simple_return, gen_simple_return): Delete. | |
26382 | (HAVE_return, gen_return): Delete. | |
26383 | * target-def.h: Include insn-target-def.h. | |
26384 | * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface | |
26385 | instead of direct calls. Rely on them to do the appropriate assertions. | |
26386 | * function.c (gen_return_pattern): Likewise. Return an rtx_insn *. | |
26387 | (convert_jumps_to_returns): Use targetm interface instead of | |
26388 | direct calls. | |
26389 | (thread_prologue_and_epilogue_insns): Likewise. | |
26390 | * reorg.c (find_end_label, dbr_schedule): Likewise. | |
26391 | * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise. | |
26392 | * shrink-wrap.c (convert_to_simple_return): Likewise. | |
26393 | (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED. | |
26394 | ||
26395 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26396 | ||
26397 | * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c, | |
26398 | config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c, | |
26399 | config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c, | |
26400 | config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c, | |
26401 | config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c, | |
26402 | config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c, | |
26403 | config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c, | |
26404 | config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c, | |
26405 | config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c, | |
26406 | config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c, | |
26407 | config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c, | |
26408 | config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c, | |
26409 | config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, | |
26410 | config/stormy16/stormy16.c, config/tilegx/tilegx.c, | |
26411 | config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c, | |
26412 | config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h | |
26413 | includes to end. | |
26414 | ||
26415 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26416 | ||
26417 | * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef. | |
26418 | (unbounded_int_hashmap_traits::key_type): Likewise. | |
26419 | * hash-map.h (hash_map): Get the key type from the traits. | |
26420 | * hash-traits.h (default_hash_traits): By default, inherit from the | |
26421 | template parameter. | |
26422 | * alias.c (alias_set_traits): Delete. | |
26423 | (alias_set_entry_d::children): Use alias_set_hash as the first | |
26424 | template parameter. | |
26425 | (record_alias_subset): Update accordingly. | |
26426 | * except.c (tree_hash_traits): Delete. | |
26427 | (type_to_runtime_map): Use tree_hash as the first template parameter. | |
26428 | (init_eh): Update accordingly. | |
26429 | * genmatch.c (capture_id_map_hasher): Delete. | |
26430 | (cid_map_t): Use nofree_string_hash as first template parameter. | |
26431 | * ipa-icf.h (symbol_compare_hashmap_traits): Delete. | |
26432 | * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs): | |
26433 | Use symbol_compare_hash as the first template parameter in | |
26434 | subdivide_hash_map. | |
26435 | * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete. | |
26436 | (mem_usage_pair::mem_map_t): Use mem_location_hash as the first | |
26437 | template parameter. | |
26438 | * passes.c (pass_registry_hasher): Delete. | |
26439 | (name_to_pass_map): Use nofree_string_hash as the first template | |
26440 | parameter. | |
26441 | (register_pass_name): Update accordingly. | |
26442 | * sanopt.c (sanopt_tree_map_traits): Delete. | |
26443 | (sanopt_tree_triplet_map_traits): Delete. | |
26444 | (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first | |
26445 | template parameter. | |
26446 | (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as | |
26447 | the first template parameter. | |
26448 | * sese.c (rename_map_hasher): Delete. | |
26449 | (rename_map_type): Use tree_ssa_name_hash as the first template | |
26450 | parameter. | |
26451 | * symbol-summary.h (function_summary::summary_hashmap_traits): Delete. | |
26452 | (function_summary::m_map): Use map_hash as the first template | |
26453 | parameter. | |
26454 | (function_summary::release): Update accordingly. | |
26455 | * tree-if-conv.c (phi_args_hash_traits): Delete. | |
26456 | (predicate_scalar_phi): Use tree_operand_hash as the first template | |
26457 | parameter to phi_arg_map. | |
26458 | * tree-inline.h (dependence_hasher): Delete. | |
26459 | (copy_body_data::dependence_map): Use dependence_hash as the first | |
26460 | template parameter. | |
26461 | * tree-inline.c (remap_dependence_clique): Update accordingly. | |
26462 | * tree-ssa-strlen.c (stridxlist_hash_traits): Delete. | |
26463 | (decl_to_stridxlist_htab): Use tree_decl_hash as the first template | |
26464 | parameter. | |
26465 | (addr_stridxptr): Update accordingly. | |
26466 | * value-prof.c (profile_id_traits): Delete. | |
26467 | (cgraph_node_map): Use profile_id_hash as the first template | |
26468 | parameter. | |
26469 | (init_node_map): Update accordingly. | |
26470 | * config/alpha/alpha.c (string_traits): Delete. | |
26471 | (machine_function::links): Use nofree_string_hash as the first | |
26472 | template parameter. | |
26473 | (alpha_use_linkage, alpha_write_linkage): Update accordingly. | |
26474 | * config/m32c/m32c.c (pragma_traits): Delete. | |
26475 | (pragma_htab): Use nofree_string_hash as the first template parameter. | |
26476 | (m32c_note_pragma_address): Update accordingly. | |
26477 | * config/mep/mep.c (pragma_traits): Delete. | |
26478 | (pragma_htab): Use nofree_string_hash as the first template parameter. | |
26479 | (mep_note_pragma_flag): Update accordingly. | |
26480 | * config/mips/mips.c (mips16_flip_traits): Delete. | |
26481 | (mflip_mips16_htab): Use nofree_string_hash as the first template | |
26482 | parameter. | |
26483 | (mflip_mips16_use_mips16_p): Update accordingly. | |
26484 | (local_alias_traits): Delete. | |
26485 | (mips16_local_aliases): Use nofree_string_hash as the first template | |
26486 | parameter. | |
26487 | (mips16_local_alias): Update accordingly. | |
26488 | ||
26489 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26490 | ||
26491 | * hash-map-traits.h (default_hashmap_traits): Delete. | |
26492 | ||
26493 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26494 | ||
26495 | * hash-map-traits.h (unbounded_hashmap_traits): New class. | |
26496 | (unbounded_int_hashmap_traits): Likewise. | |
26497 | * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits. | |
26498 | ||
26499 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26500 | ||
26501 | * ipa-icf.h (symbol_compare_hash): New class. | |
26502 | (symbol_compare_hashmap_traits): Use it. | |
26503 | * mem-stats.h (mem_alloc_description::mem_location_hash): New class. | |
26504 | (mem_alloc_description::mem_alloc_hashmap_traits): Use it. | |
26505 | (mem_alloc_description::reverse_mem_map_t): Remove redundant | |
26506 | default_hashmap_traits. | |
26507 | * sanopt.c (sanopt_tree_triplet_hash): New class. | |
26508 | (sanopt_tree_triplet_map_traits): Use it. | |
26509 | ||
26510 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26511 | ||
26512 | * gengtype-parse.c (require_template_declaration): Allow '+' in | |
26513 | template parameters. Consolidate cases. | |
26514 | * hash-traits.h (int_hash): New class. | |
26515 | * alias.c (alias_set_hash): New structure. | |
26516 | (alias_set_traits): Use it. | |
26517 | * symbol-summary.h (function_summary::map_hash): New class. | |
26518 | (function_summary::summary_hashmap_traits): Use it. | |
26519 | * tree-inline.h (dependence_hash): New class. | |
26520 | (dependence_hasher): Use it. | |
26521 | * tree-ssa-reassoc.c (oecount_hasher): Use int_hash. | |
26522 | * value-prof.c (profile_id_hash): New class. | |
26523 | (profile_id_traits): Use it. | |
26524 | ||
26525 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26526 | ||
26527 | * config/mips/mips.c (mips16_flip_traits): Use it. | |
26528 | (local_alias_traits, mips16_local_aliases): Convert from a map of | |
26529 | rtxes to a map of symbol names. | |
26530 | (mips16_local_alias): Update accordingly. | |
26531 | ||
26532 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26533 | ||
26534 | * hash-traits.h (string_hash, nofree_string_hash): New classes. | |
26535 | * genmatch.c (capture_id_map_hasher): Use nofree_string_hash. | |
26536 | * passes.c (pass_registry_hasher): Likewise. | |
26537 | * config/alpha/alpha.c (string_traits): Likewise. | |
26538 | * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise. | |
26539 | * config/m32c/m32c.c (pragma_traits): Likewise. | |
26540 | * config/mep/mep.c (pragma_traits): Likewise. | |
26541 | ||
26542 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26543 | ||
26544 | * tree-hash-traits.h (tree_hash): New class. | |
26545 | * except.c: Include tree-hash-traits.h. | |
26546 | (tree_hash_traits): Use tree_hash. | |
26547 | ||
26548 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26549 | ||
26550 | * tree-hash-traits.h (tree_ssa_name_hasher): New class. | |
26551 | * sese.c: Include tree-hash-traits.h. | |
26552 | (rename_map_hasher): Use tree_ssa_name_hasher. | |
26553 | ||
26554 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26555 | ||
26556 | * tree-hash-traits.h (tree_decl_hash): New class. | |
26557 | * tree-ssa-strlen.c: Include tree-hash-traits.h. | |
26558 | (stridxlist_hash_traits): Use tree_decl_hash. | |
26559 | ||
26560 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26561 | ||
26562 | * tree-hash-traits.h: New file. | |
26563 | (tree_operand_hash): New class. | |
26564 | * sanopt.c: Include tree-hash-traits.h. | |
26565 | (sanopt_tree_map_traits): Use tree_operand_hash. | |
26566 | * tree-if-conv.c: Include tree-hash-traits.h. | |
26567 | (phi_args_hash_traits): Use tree_operand_hash. | |
26568 | * tree-ssa-uncprop.c: Include tree-hash-traits.h. | |
26569 | (val_ssa_equiv_hash_traits): Use tree_operand_hash. | |
26570 | ||
26571 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26572 | ||
26573 | * hash-map-traits.h: Include hash-traits.h. | |
26574 | (simple_hashmap_traits): New class. | |
26575 | * mem-stats.h (hash_map): Change the default traits to | |
26576 | simple_hashmap_traits<default_hash_traits<Key> >. | |
26577 | ||
26578 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26579 | ||
26580 | * hash-table.h: Update comments. | |
26581 | ||
26582 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26583 | ||
26584 | * hash-traits.h (default_hash_traits): New structure. | |
26585 | * hash-set.h (default_hashset_traits): Delete. | |
26586 | (hash_set): Use default_hash_traits<Key> instead of | |
26587 | default_hashset_traits. Delete hash_entry type and use Key directly. | |
26588 | * ipa-devirt.c (pair_traits): Delete. | |
26589 | (default_hash_traits <type_pair>): Override. | |
26590 | (odr_subtypes_equivalent_p): Remove pair_types template parameter. | |
26591 | (odr_types_equivalent_p, add_type_duplicate): Likewise. | |
26592 | ||
26593 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26594 | ||
26595 | * hash-traits.h (typed_noop_remove): Don't require a pointer type. | |
26596 | ||
26597 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26598 | ||
26599 | * hash-table.h (has_is_deleted, is_deleted_helper): Delete. | |
26600 | (has_is_empty, is_empty_helper): Delete. | |
26601 | (has_mark_deleted, mark_deleted_helper): Delete. | |
26602 | (has_mark_empty, mark_empty_helper): Delete. | |
26603 | (hash_table::is_deleted): Call the Descriptor unconditionally. | |
26604 | (hash_table::is_empty): Likewise. | |
26605 | (hash_table::mark_deleted): Likewise. | |
26606 | (hash_table::mark_empty): Likewise. | |
26607 | ||
26608 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26609 | ||
26610 | * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove | |
26611 | redundant typedefs and members. | |
26612 | * coverage.c (counts_entry): Inherit from pointer_hash. Remove | |
26613 | redundant typedefs. | |
26614 | * dwarf2out.c (cu_hash_table_entry_hasher): Likewise. | |
26615 | * ipa-devirt.c (odr_name_hasher): Likewise. | |
26616 | (polymorphic_call_target_hasher): Likewise. | |
26617 | * ira-costs.c (cost_classes_hasher): Likewise. | |
26618 | * statistics.c (stats_counter_hasher): Likewise. | |
26619 | * trans-mem.c (log_entry_hasher): Likewise. | |
26620 | * tree-ssa-dom.c (expr_elt_hasher): Likewise. | |
26621 | * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise. | |
26622 | * tree-ssa-tail-merge.c (same_succ_def): Likewise. | |
26623 | * var-tracking.c (variable_hasher): Likewise. | |
26624 | * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash. | |
26625 | Remove redundant typedefs and members. | |
26626 | ||
26627 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26628 | ||
26629 | * hash-traits.h (ggc_cache_hasher): Rename to... | |
26630 | (ggc_cache_remove): ...this and remove typedefs. | |
26631 | (ggc_cache_ptr_hash): New class. | |
26632 | * hash-table.h: Update commentary. | |
26633 | * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash | |
26634 | rather than ggc_cache_hasher. | |
26635 | (const_wide_int_hasher, reg_attr_hasher): Likewise. | |
26636 | (const_double_hasher, const_fixed_hasher): Likewise. | |
26637 | * function.c (insn_cache_hasher): Likewise. | |
26638 | * trans-mem.c (tm_wrapper_hasher): Likewise. | |
26639 | * tree.h (tree_decl_map_cache_hasher): Likewise. | |
26640 | * tree.c (type_cache_hasher, int_cst_hasher): Likewise. | |
26641 | (cl_option_hasher, tree_vec_map_cache_hasher): Likewise. | |
26642 | * ubsan.c (tree_type_map_cache_hasher): Likewise. | |
26643 | * varasm.c (tm_clone_hasher): Likewise. | |
26644 | * config/i386/i386.c (dllimport_hasher): Likewise. | |
26645 | * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise. | |
26646 | (tree_hasher): Likewise. | |
26647 | ||
26648 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26649 | ||
26650 | * hash-traits.h (ggc_hasher): Rename to... | |
26651 | (ggc_remover): ...this and remove typedefs. | |
26652 | (ggc_cache_hasher): Update accordingly. Add typedefs. | |
26653 | (ggc_ptr_hash): New class. | |
26654 | * hash-table.h: Update comment. | |
26655 | * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than | |
26656 | ggc_hasher. | |
26657 | * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise. | |
26658 | (tree_descriptor_hasher): Likewise. | |
26659 | * cgraph.c (function_version_hasher): Likewise. | |
26660 | * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise. | |
26661 | (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise. | |
26662 | (dw_loc_list_hasher, addr_hasher): Likewise. | |
26663 | * function.h (used_type_hasher): Likewise. | |
26664 | * function.c (temp_address_hasher): Likewise. | |
26665 | * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise. | |
26666 | * libfuncs.h (libfunc_hasher): Likewise. | |
26667 | * lto-streamer.h (decl_state_hasher): Likewise. | |
26668 | * optabs.c (libfunc_decl_hasher): Likewise. | |
26669 | * tree-scalar-evolution.c (scev_info_hasher): Likewise. | |
26670 | * varasm.c (section_hasher, object_block_hasher): Likewise. | |
26671 | (const_rtx_desc_hasher): Likewise. | |
26672 | * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise. | |
26673 | * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise. | |
26674 | ||
26675 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26676 | ||
26677 | * hash-traits.h (free_ptr_hash): New class. | |
26678 | * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash | |
26679 | rather than typed_free_remove. Remove redudant typedefs. | |
26680 | (external_ref_hasher): Likewise. | |
26681 | * except.c (action_record_hasher, ttypes_filter_hasher): Likewise. | |
26682 | (ehspec_hasher): Likewise. | |
26683 | * ggc-common.c (saving_hasher): Likewise. | |
26684 | * gimplify.c (gimplify_hasher): Likewise. | |
26685 | * haifa-sched.c (delay_i2_hasher): Likewise. | |
26686 | * loop-invariant.c (invariant_expr_hasher): Likewise. | |
26687 | * loop-iv.c (biv_entry_hasher): Likewise. | |
26688 | * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise. | |
26689 | * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise. | |
26690 | * tree-cfg.c (locus_discrim_hasher): Likewise. | |
26691 | * tree-eh.c (finally_tree_hasher): Likewise. | |
26692 | * tree-into-ssa.c (var_info_hasher): Likewise. | |
26693 | * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise. | |
26694 | * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise. | |
26695 | * tree-ssa-phiopt.c (ssa_names_hasher): Likewise. | |
26696 | * tree-ssa-pre.c (expr_pred_trans_d): Likewise. | |
26697 | * tree-ssa-sccvn.c (vn_constant_hasher): Likewise. | |
26698 | * tree-ssa-structalias.c (equiv_class_hasher): Likewise. | |
26699 | (shared_bitmap_hasher): Likewise. | |
26700 | * tree-ssa-threadupdate.c (redirection_data): Likewise. | |
26701 | * tree-vectorizer.h (peel_info_hasher): Likewise. | |
26702 | * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise. | |
26703 | * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise. | |
26704 | ||
26705 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26706 | ||
26707 | * hash-table.h: Update comments. | |
26708 | * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove. | |
26709 | (nofree_ptr_hash): New class. | |
26710 | * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather | |
26711 | than typed_noop_remove. Remove redudant typedefs. | |
26712 | * attribs.c (attribute_hasher): Likewise. | |
26713 | * cfg.c (bb_copy_hasher): Likewise. | |
26714 | * cselib.c (cselib_hasher): Likewise. | |
26715 | * dse.c (invariant_group_base_hasher): Likewise. | |
26716 | * dwarf2cfi.c (trace_info_hasher): Likewise. | |
26717 | * dwarf2out.c (macinfo_entry_hasher): Likewise. | |
26718 | (comdat_type_hasher, loc_list_hasher): Likewise. | |
26719 | * gcse.c (pre_ldst_expr_hasher): Likewise. | |
26720 | * genmatch.c (id_base): Likewise. | |
26721 | * genrecog.c (test_pattern_hasher): Likewise. | |
26722 | * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise. | |
26723 | * haifa-sched.c (delay_i1_hasher): Likewise. | |
26724 | * hard-reg-set.h (simplifiable_subregs_hasher): Likewise. | |
26725 | * ipa-icf.h (congruence_class_group_hash): Likewise. | |
26726 | * ipa-profile.c (histogram_hash): Likewise. | |
26727 | * ira-color.c (allocno_hard_regs_hasher): Likewise. | |
26728 | * lto-streamer.h (string_slot_hasher): Likewise. | |
26729 | * lto-streamer.c (tree_entry_hasher): Likewise. | |
26730 | * plugin.c (event_hasher): Likewise. | |
26731 | * postreload-gcse.c (expr_hasher): Likewise. | |
26732 | * store-motion.c (st_expr_hasher): Likewise. | |
26733 | * tree-sra.c (uid_decl_hasher): Likewise. | |
26734 | * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise. | |
26735 | (ssa_name_var_hash): Likewise. | |
26736 | * tree-ssa-live.c (tree_int_map_hasher): Likewise. | |
26737 | * tree-ssa-loop-im.c (mem_ref_hasher): Likewise. | |
26738 | * tree-ssa-pre.c (pre_expr_d): Likewise. | |
26739 | * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise. | |
26740 | * vtable-verify.h (registration_hasher): Likewise. | |
26741 | * vtable-verify.c (vtbl_map_hasher): Likewise. | |
26742 | * config/arm/arm.c (libcall_hasher): Likewise. | |
26743 | * config/i386/winnt.c (wrapped_symbol_hasher): Likewise. | |
26744 | * config/ia64/ia64.c (bundle_state_hasher): Likewise. | |
26745 | * config/sol2.c (comdat_entry_hasher): Likewise. | |
26746 | * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash. | |
26747 | (print_fold_checksum, fold_checksum_tree): Likewise. | |
26748 | (debug_fold_checksum, fold_build1_stat_loc): Likewise. | |
26749 | (fold_build2_stat_loc, fold_build3_stat_loc): Likewise. | |
26750 | (fold_build_call_array_loc): Likewise. | |
26751 | * tree-ssa-ccp.c (gimple_htab): Likewise. | |
26752 | * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash | |
26753 | rather than pointer_type. | |
26754 | ||
26755 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26756 | ||
26757 | * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty) | |
26758 | (pointer_hash::is_deleted, pointer_hash::is_empty): New functions. | |
26759 | ||
26760 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26761 | ||
26762 | * hash-traits.h (ggc_hasher::remove): Take a reference parameter. | |
26763 | (ggc_hasher::ggc_mx): Likewise. | |
26764 | (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions | |
26765 | that duplicate ggc_hasher ones. | |
26766 | ||
26767 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26768 | ||
26769 | * hash-table.h (hash_table): Add gt_cleare_cache as a friend. | |
26770 | (gt_cleare_cache): Check here for deleted and empty entries. | |
26771 | Replace handle_cache_entry with a call to keep_cache_entry. | |
26772 | * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete. | |
26773 | (ggc_cache_hasher::keep_cache_entry): New function. | |
26774 | * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete. | |
26775 | (tm_wrapper_hasher::keep_cache_entry): New function. | |
26776 | * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete. | |
26777 | (tree_vec_map_cache_hasher::keep_cache_entry): New function. | |
26778 | * tree.c (type_cache_hasher::handle_cache_entry): Delete. | |
26779 | (type_cache_hasher::keep_cache_entry): New function. | |
26780 | (tree_vec_map_cache_hasher::handle_cache_entry): Delete. | |
26781 | (tree_vec_map_cache_hasher::keep_cache_entry): New function. | |
26782 | * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete. | |
26783 | (tree_type_map_cache_hasher::keep_cache_entry): New function. | |
26784 | * varasm.c (tm_clone_hasher::handle_cache_entry): Delete. | |
26785 | (tm_clone_hasher::keep_cache_entry): New function. | |
26786 | * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete. | |
26787 | (dllimport_hasher::keep_cache_entry): New function. | |
26788 | ||
26789 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26790 | ||
26791 | * hash-table.h: Include hash-traits.h. | |
26792 | (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher) | |
26793 | (ggc_cache_hasher): Move to... | |
26794 | * hash-traits.h: ...this new file. | |
26795 | ||
26796 | 2015-06-25 Andrew MacLeod <amacleod@redhat.com> | |
26797 | ||
26798 | * tree-core.h (struct tree_optimization_option): Make opts a pointer to | |
26799 | struct cl_optimization. | |
26800 | * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it. | |
26801 | * tree.c (make_node_stat): Allocate cl_optimization struct. | |
26802 | (copy_node_stat): Allocate and copy cl_optimization struct. | |
26803 | ||
26804 | 2015-06-25 Andrew MacLeod <amacleod@redhat.com> | |
26805 | ||
26806 | * function.h (struct incoming_args): Move struct. | |
26807 | (pass_by_reference, reference_callee_copied): Remove prototypes. | |
26808 | * emit-rtl.h (struct incoming_args): Relocate struct here. | |
26809 | * calls.h (pass_by_reference, reference_callee_copied): Relocate | |
26810 | prototypes here. | |
26811 | * function.c (pass_by_reference, reference_callee_copied): Move. | |
26812 | * calls.c (pass_by_reference, reference_callee_copied): Relocate here. | |
26813 | * cfgloop.h: Don't include tm.h or hard-reg-set.h. | |
26814 | * ipa-chkp.c: Include calls.h. | |
26815 | ||
26816 | 2015-06-25 Andrew Macleod <amacleod@redhat.com> | |
26817 | ||
26818 | * alias.h (alias_set_type): Move typedef. | |
26819 | * coretypes.h (alias_set_type): Relocate typedef here. | |
26820 | * rtl.h: Don't include alias.h. | |
26821 | ||
26822 | 2015-06-25 Andrew MacLeod <amacleod@redhat.com> | |
26823 | ||
26824 | * cgraph.h (cgraph_rtl_info): Move to rtl.h | |
26825 | (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of | |
26826 | and instance. | |
26827 | * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available. | |
26828 | * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one | |
26829 | doesn't exist. | |
26830 | * calls.c: Include hard-reg-set.h before rtl.h. | |
26831 | * ira.c: Likewise. | |
26832 | ||
26833 | 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn> | |
26834 | Vladimir Makarov <vmakarov@redhat.com> | |
26835 | ||
26836 | * ira-color.c (assign_hard_reg): Remove unecessary bitmap check. | |
26837 | Add assert. | |
26838 | ||
26839 | 2015-06-25 Richard Biener <rguenther@suse.de> | |
26840 | ||
26841 | * fold-const.c (fold_binary_loc): Move simplification of | |
26842 | (X <<>> C1) & C2 ... | |
26843 | * match.pd: ... here. | |
26844 | ||
26845 | 2015-06-25 Eric Botcazou <ebotcazou@adacore.com> | |
26846 | ||
26847 | * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches. | |
26848 | ||
26849 | 2015-06-25 Richard Sandiford <richard.sandiford@arm.com> | |
26850 | ||
26851 | * match.pd: Add patterns for vec_conds between 1 and 0. | |
26852 | ||
26853 | 2015-06-25 Richard Biener <rguenther@suse.de> | |
26854 | ||
26855 | * tree-vect-stmts.c (vectorizable_conversion): Do not set | |
26856 | STMT_VINFO_VEC_STMT for SLP. | |
26857 | (vectorizable_store): Likewise. | |
26858 | (vectorizable_load): Likewise. | |
26859 | (vect_transform_stmt): Catch SLP vectorization clobbering | |
26860 | STMT_VINFO_VEC_STMT. | |
26861 | ||
26862 | 2015-06-25 Richard Biener <rguenther@suse.de> | |
26863 | ||
26864 | * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug | |
26865 | dumping. | |
26866 | (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and | |
26867 | cleanup resulting dead code and parameters. | |
26868 | (vect_transform_slp_perm_load): Adjust. | |
26869 | ||
26870 | 2015-06-25 Nick Clifton <nickc@redhat.com> | |
26871 | ||
26872 | * config/bfin/bfin.c (bfin_expand_prologue): Set | |
26873 | current_function_static_stack_size if flag_stack_usage_info is set. | |
26874 | * config/ft32/ft32.c (ft32_expand_prologue): Likewise. | |
26875 | * config/h8300/h8300.c (h8300_expand_prologue): Likewise. | |
26876 | * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise. | |
26877 | * config/m32c/m32c.c (m32c_emit_prologue): Likewise. | |
26878 | ||
26879 | 2015-06-25 Tom de Vries <tom@codesourcery.com> | |
26880 | ||
26881 | * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header | |
26882 | comment that the generated IV is unsigned. | |
26883 | ||
26884 | 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
26885 | ||
26886 | PR target/29693 | |
26887 | * config/arm/arm.c (arm_dbx_register_number): Return | |
26888 | DWARF_FRAME_REGISTERS by default. | |
26889 | ||
26890 | 2015-06-25 Tom de Vries <tom@codesourcery.com> | |
26891 | ||
26892 | * dominance.c (calculate_dominance_info): Fix verify_dominators call | |
26893 | argument. Call verify_dominator when reusing dominator info. | |
26894 | ||
26895 | 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org> | |
26896 | ||
26897 | PR target/66563 | |
26898 | * config/sh/sh.md (GOTaddr2picreg): Add a new operand for | |
26899 | an additional element of the unspec vector. Modify indices | |
26900 | of operands. | |
26901 | (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg. | |
26902 | * config/sh/sh.c (prepare_move_operands): Pass incremented | |
26903 | const_int to gen_GOTaddr2picreg. | |
26904 | (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg. | |
26905 | ||
26906 | 2015-06-24 Alan Lawrence <alan.lawrence@arm.com> | |
26907 | ||
26908 | * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2): | |
26909 | Condition on TARGET_FLOAT. | |
26910 | ||
26911 | 2015-06-24 Alan Lawrence <alan.lawrence@arm.com> | |
26912 | ||
26913 | * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd | |
26914 | and (no)crypto. | |
26915 | ||
26916 | 2015-06-24 Alan Lawrence <alan.lawrence@arm.com> | |
26917 | ||
26918 | * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New. | |
26919 | ||
26920 | * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use | |
26921 | aarch64_err_no_fpadvsimd. | |
26922 | ||
26923 | * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New. | |
26924 | (aarch64_layout_arg, aarch64_init_cumulative_args): Use | |
26925 | aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs. | |
26926 | (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs): | |
26927 | Turn error into assert, test TARGET_FLOAT. | |
26928 | (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test | |
26929 | TARGET_FLOAT. | |
26930 | ||
26931 | 2015-06-24 Aldy Hernandez <aldyh@redhat.com> | |
26932 | ||
26933 | PR debug/66482 | |
26934 | * dwarf2out.c (gen_formal_parameter_die): Remove assert. | |
26935 | ||
26936 | 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com> | |
26937 | ||
26938 | * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype. | |
26939 | ||
dfb6d139 | 26940 | 2015-06-24 Renlin Li <renlin.li@arm.com> |
fb2c1edd | 26941 | |
26942 | * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add | |
26943 | __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR. | |
26944 | ||
26945 | 2015-06-24 Richard Biener <rguenther@suse.de> | |
26946 | ||
26947 | * genmatch.c (enum tree_code): Add VIEW_CONVERT[012]. | |
26948 | (main): Likewise. | |
26949 | (lower_opt_convert): Support lowering of conditional view_convert. | |
26950 | (parser::parse_operation): Likewise. | |
26951 | (parser::parse_for): Likewise. | |
26952 | ||
26953 | 2015-06-24 Renlin Li <renlin.li@arm.com> | |
26954 | ||
26955 | * varasm.c (emit_local): Use unsigned int for align variable. | |
26956 | ||
26957 | 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
26958 | ||
26959 | PR target/63408 | |
26960 | * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable | |
26961 | for negative numbers. | |
26962 | ||
26963 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
26964 | ||
26965 | PR rtl-optimization/66306 | |
26966 | * reload.c (find_reloads): Swap the match_dup info for | |
26967 | commutative operands. | |
26968 | ||
26969 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
26970 | ||
26971 | * config/s390/vx-builtins.md | |
26972 | ("vec_scatter_element<mode>_<non_vec_int>") | |
26973 | ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode | |
26974 | attribute with bhfgq. | |
26975 | ||
26976 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
26977 | ||
26978 | * config/s390/s390-builtins.def: Fix vpopct instruction comments. | |
26979 | ||
26980 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
26981 | ||
26982 | * config/s390/s390-builtin-types.def: Add flag to indicate the | |
26983 | options under which the function type is needed. | |
26984 | * config/s390/s390-builtins.def: Add flag to indicate the options | |
26985 | under which the builtin is enabled. | |
26986 | * config/s390/s390-builtins.h: Add flags parameter to macro | |
26987 | definitions. | |
26988 | (bflags_for_builtin): New function. | |
26989 | (flags_for_builtin): Renamed to ... | |
26990 | (opflags_for_builtin): ... this. | |
26991 | * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename | |
26992 | flags_for_builtin to bflags_for_builtin and | |
26993 | flags_overloaded_builtin_var to opflags_overloaded_builtin_var. | |
26994 | * config/s390/s390.c: Add initialization of bflags_builtin and | |
26995 | opflags_builtin arrays. | |
26996 | Remove code for flags_builtin. | |
26997 | (s390_init_builtins): Only create builtin function types if one of | |
26998 | their flags is active. | |
26999 | Only create builtins if all of their flags are active. | |
27000 | (s390_expand_builtin): Rename flags_for_builtin to | |
27001 | opflags_for_builtin. | |
27002 | ||
27003 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
27004 | ||
27005 | * config/s390/vecintrin.h: Remove internal builtins. | |
27006 | ||
27007 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
27008 | ||
27009 | * config/s390/s390.c (s390_secondary_reload): Fix check for | |
27010 | GENERAL_REGS register class. | |
27011 | ||
27012 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
27013 | ||
27014 | * config/s390/s390.c (s390_support_vector_misalignment): Call | |
27015 | default implementation for !TARGET_VX. | |
27016 | ||
27017 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
27018 | ||
27019 | * config/s390/s390.c (s390_legitimate_constant_p): Add | |
27020 | TARGET_VX check. | |
27021 | ||
27022 | 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
27023 | ||
27024 | * config/s390/s390.c (s390_vector_abi): New variable definition. | |
27025 | (s390_check_type_for_vector_abi): New function. | |
27026 | (TARGET_ASM_FILE_END): New macro definition. | |
27027 | (s390_asm_file_end): New function. | |
27028 | (s390_function_arg): Call s390_check_type_for_vector_abi. | |
27029 | (s390_gimplify_va_arg): Likewise. | |
27030 | * configure: Regenerate. | |
27031 | * configure.ac: Check for .gnu_attribute Binutils feature. | |
27032 | ||
27033 | 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com> | |
27034 | ||
27035 | PR target/65803 | |
27036 | * config/bfin/bfin.c (hwloop_optimize): Initialize | |
27037 | JUMP_LABEL for newly created jump. | |
27038 | ||
27039 | 2015-06-23 Tristan Gingold <gingold@adacore.com> | |
27040 | ||
27041 | * collect-utils.c (collect_wait): Unlink the response file here | |
27042 | instead of... | |
27043 | (do_wait): ...here. | |
27044 | (utils_cleanup): ...and here. | |
27045 | ||
27046 | 2015-06-23 Richard Sandiford <richard.sandiford@arm.com> | |
27047 | ||
27048 | * df-scan.c: Don't include target-def.h. | |
27049 | * targhooks.c: Likewise. | |
27050 | * config/arm/arm-c.c: Likewise. | |
27051 | * config/i386/i386-c.c: Likewise. | |
27052 | * config/nds32/nds32-cost.c: Likewise. | |
27053 | * config/nds32/nds32-fp-as-gp.c: Likewise. | |
27054 | * config/nds32/nds32-intrinsic.c: Likewise. | |
27055 | * config/nds32/nds32-isr.c: Likewise. | |
27056 | * config/nds32/nds32-md-auxiliary.c: Likewise. | |
27057 | * config/nds32/nds32-memory-manipulation.c: Likewise. | |
27058 | * config/nds32/nds32-pipelines-auxiliary.c: Likewise. | |
27059 | * config/nds32/nds32-predicates.c: Likewise. | |
27060 | ||
27061 | 2015-06-23 Richard Biener <rguenther@suse.de> | |
27062 | ||
27063 | PR tree-optimization/66636 | |
27064 | * tree-vect-stmts.c (vectorizable_store): Properly compute the | |
27065 | def type for further defs for strided stores. | |
27066 | ||
27067 | 2015-06-23 Nathan Sidwell <nathan@codesourcery.com> | |
27068 | ||
27069 | * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New | |
27070 | conditional selects. | |
27071 | (setcc_int<mode>, setcc_float<mode>): Reformat. | |
27072 | ||
27073 | 2015-06-23 Marek Polacek <polacek@redhat.com> | |
27074 | ||
27075 | * match.pd ((x + y) - (x | y) -> x & y, | |
27076 | (x + y) - (x & y) -> x | y): New patterns. | |
27077 | ||
27078 | 2015-06-23 Ludovic Courtès <ludo@gnu.org> | |
27079 | ||
27080 | PR 65711 | |
27081 | * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move | |
27082 | '-dynamic-linker' within %{!shared: ...}. | |
27083 | ||
27084 | 2015-06-23 Uros Bizjak <ubizjak@gmail.com> | |
27085 | ||
27086 | PR target/66560 | |
27087 | * config/i386/predicates.md (addsub_vm_operator): New predicate. | |
27088 | (addsub_vs_operator): Ditto. | |
27089 | (addsub_vs_parallel): Ditto. | |
27090 | * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes. | |
27091 | (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3): | |
27092 | Put minus RTX before plus and adjust vec_merge selector. | |
27093 | (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1) | |
27094 | (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s) | |
27095 | (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns. | |
27096 | (addsub vec_merge splitters): New combiner splitters. | |
27097 | (addsub vec_select/vec_concat splitters): Ditto. | |
27098 | ||
27099 | 2015-06-23 Bin Cheng <bin.cheng@arm.com> | |
27100 | ||
27101 | PR tree-optimization/66449 | |
27102 | * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use | |
27103 | POINTER_PLUS_EXPR for pointers. | |
27104 | ||
27105 | 2015-06-23 Alan Modra <amodra@gmail.com> | |
27106 | ||
27107 | * rtlanal.c (commutative_operand_precedence): Correct comments. | |
27108 | * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward | |
27109 | declaration. Return an int. Distinguish REG,REG return from | |
27110 | others. | |
27111 | (struct simplify_plus_minus_op_data): Make local to function. | |
27112 | (simplify_plus_minus): Don't set canonicalized if merely sorting | |
27113 | registers. Avoid packing ops if nothing changes. White space fixes. | |
27114 | ||
27115 | 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com> | |
27116 | ||
27117 | * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if | |
27118 | -fdump-ada-spec is passed but not if -fsyntax-only is. | |
27119 | ||
27120 | 2015-06-22 Vladimir Makarov <vmakarov@redhat.com> | |
27121 | ||
27122 | PR bootstrap/63740 | |
27123 | * lra-lives.c (process_bb_lives): Check insn copying the same | |
27124 | reload pseudo and don't create a copy for it. | |
27125 | ||
27126 | 2015-06-22 Tom de Vries <tom@codesourcery.com> | |
27127 | ||
27128 | * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt | |
27129 | for cond_stmt. | |
27130 | ||
27131 | 2015-06-22 Tom de Vries <tom@codesourcery.com> | |
27132 | ||
27133 | * builtins.def (DEF_GOMP_BUILTIN): Test | |
27134 | 'flag_tree_parallelize_loops > 1' instead of | |
27135 | 'flag_tree_parallelize_loops'. Test flag_cilkplus. | |
27136 | ||
27137 | 2015-06-22 Tom de Vries <tom@codesourcery.com> | |
27138 | ||
27139 | * dominance.c (calculate_dominance_info): Verify dominators if | |
27140 | early-out. | |
27141 | ||
27142 | 2015-06-22 Marek Polacek <polacek@redhat.com> | |
27143 | ||
27144 | * match.pd ((x ^ y) ^ (x | y) -> x & y, | |
27145 | (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y, | |
27146 | (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y, | |
27147 | (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns. | |
27148 | ||
27149 | 2015-06-22 Uros Bizjak <ubizjak@gmail.com> | |
27150 | ||
27151 | PR target/65871 | |
27152 | * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the | |
27153 | cost of embedded comparison. | |
27154 | ||
27155 | 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
27156 | ||
27157 | PR target/65914 | |
27158 | * config/rs6000/predicates.md (altivec_register_operand): Permit | |
27159 | virtual stack registers. | |
27160 | (vsx_register_operand): Likewise. | |
27161 | (vfloat_operand): Likewise. | |
27162 | (vint_operand): Likewise. | |
27163 | (vlogical_operand): Likewise. | |
27164 | ||
27165 | 2015-06-22 Richard Biener <rguenther@suse.de> | |
27166 | ||
27167 | * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec | |
27168 | and single_scalar_iteration_cost members. | |
27169 | (LOOP_VINFO_SCALAR_ITERATION_COST): New. | |
27170 | (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise. | |
27171 | (vect_get_single_scalar_iteration_cost): Remove. | |
27172 | * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): | |
27173 | Use LOOP_VINFO_SCALAR_ITERATION_COST. | |
27174 | * tree-vect-loop.c (destroy_loop_vec_info): Free | |
27175 | scalar_cost_vec. | |
27176 | (vect_get_single_scalar_iteration_cost): Compute result into | |
27177 | LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and | |
27178 | LOOP_VINFO_SCALAR_ITERATION_COST. Make static. | |
27179 | (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost. | |
27180 | (vect_estimate_min_profitable_iters): Use them. | |
27181 | ||
27182 | 2015-06-22 Christian Bruel <christian.bruel@st.com> | |
27183 | ||
27184 | PR target/52144 | |
27185 | * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions | |
27186 | (TARGET_INSERT_ATTRIBUTES): Define. | |
27187 | (thumb_flipper): New var. | |
27188 | * config/arm/arm.opt (-mflip-thumb): New switch. | |
27189 | ||
27190 | 2015-06-22 Jan Hubicka <hubicka@ucw.cz> | |
27191 | Martin Liska <mliska@suse.cz> | |
27192 | ||
27193 | PR ipa/65908 | |
27194 | * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove | |
27195 | construction of arg_types. | |
27196 | (sem_function::sem_function): Likewise. | |
27197 | (sem_function::~sem_function): Remove destruction of arg_types. | |
27198 | (sem_function::compatible_parm_types_p): New function. | |
27199 | (sem_function::equals_wpa): Reorg matching of return values | |
27200 | and parameter types. | |
27201 | (sem_function::equals_private): Reorg mathcing of argument types. | |
27202 | (sem_function::parse_tree_args): Remove. | |
27203 | * ipa-icf.h (init_wpa): Do not call it. | |
27204 | (parse_tree_args): Remove. | |
27205 | (compatible_parm_types_p): Declare. | |
27206 | (result_type): Remove. | |
27207 | (arg_types): Remove. | |
27208 | ||
27209 | 2015-06-22 Jan Hubicka <hubicka@ucw.cz> | |
27210 | ||
27211 | PR ipa/66351 | |
27212 | * ipa-polymorphic-call.c | |
27213 | (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when | |
27214 | initializing alias oracle; fix formating; set base_alias_set if it | |
27215 | is known. | |
27216 | ||
27217 | 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com> | |
27218 | ||
27219 | * auto-inc-dec.c (reverse_mem, reverse_inc): Remove. | |
27220 | (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}. | |
27221 | (find_inc): Likewise. | |
27222 | * combine.c (combine_simplify_rtx): Use std::swap instead of manually | |
27223 | swapping. | |
27224 | * df-core.c (df_worklist_dataflow_doublequeue): Likewise. | |
27225 | * df-scan.c (df_swap_refs): Remove. | |
27226 | (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs. | |
27227 | * dominance.c (link_roots): Use std::swap instead of manually swapping. | |
27228 | * expr.c (expand_expr_real_2, do_store_flag): Likewise. | |
27229 | * fold-const.c (fold_relational_const): Likewise. | |
27230 | * genattrtab.c (simplify_test_exp): Likewise. | |
27231 | * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3, | |
27232 | gimple_simplify): Likewise. | |
27233 | * ifcvt.c (noce_try_abs, find_if_header): Likewise. | |
27234 | * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise. | |
27235 | * ipa-devirt.c (add_type_duplicate): Likewise. | |
27236 | * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise. | |
27237 | * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise. | |
27238 | * lra.c (lra_create_copy): Likewise. | |
27239 | * lto-streamer-out.c (DFS::DFS): Likewise. | |
27240 | * modulo-sched.c (get_sched_window): Likewise. | |
27241 | * omega.c (omega_pretty_print_problem): Likewise. | |
27242 | * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise. | |
27243 | * reload1.c (reloads_unique_chain_p): Likewise. | |
27244 | * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove. | |
27245 | (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and | |
27246 | use std::swap. | |
27247 | * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of | |
27248 | manually swapping. | |
27249 | * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi, | |
27250 | predicate_mem_writes): Likewise. | |
27251 | * tree-loop-distribution.c (pg_add_dependence_edges): Likewise. | |
27252 | * tree-predcom.c (combine_chains): Likewise. | |
27253 | * tree-ssa-alias.c (nonoverlapping_component_refs_p, | |
27254 | refs_may_alias_p_1): Likewise. | |
27255 | * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise. | |
27256 | * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise. | |
27257 | * tree-ssa-loop-niter.c (refine_bounds_using_guard, | |
27258 | number_of_iterations_cond): Likewise. | |
27259 | * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise. | |
27260 | * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise. | |
27261 | * tree-vect-slp.c (vect_build_slp_tree): Likewise. | |
27262 | * tree-vect-stmts.c (supportable_widening_operation): Likewise. | |
27263 | * tree-vrp.c (extract_range_from_binary_expr_1, | |
27264 | extract_range_from_unary_expr_1): Likewise. | |
27265 | ||
27266 | 2015-06-20 Marek Polacek <polacek@redhat.com> | |
27267 | ||
27268 | * common.opt (fsanitize-undefined-trap-on-error): Add Driver. | |
27269 | ||
27270 | 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org> | |
27271 | ||
27272 | PR target/66591 | |
27273 | * config/sh/sh.c (prepare_move_operands): Replace subreg | |
27274 | index term with R0 for base and index addressing. | |
27275 | ||
27276 | 2015-06-19 Jim Wilson <jim.wilson@linaro.org> | |
27277 | ||
27278 | * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if | |
27279 | op1 is an fp zero. | |
27280 | (movsf_aarch64): Change condition from register_operand to | |
27281 | aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to | |
27282 | load1. Change type for alternative 7 to store1. | |
27283 | (movdf_aarch64): Likewise. | |
27284 | ||
27285 | 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com> | |
27286 | ||
27287 | * config/vax/vax.md: Adjust sign/zero extend patterns to | |
27288 | handle SUBREGs in operands[1]. | |
27289 | ||
27290 | 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
27291 | ||
27292 | * config/i386/i386.c (ix86_function_versions): Use std::swap instead | |
27293 | of manually swapping. | |
27294 | (expand_vec_perm_interleave2): Likewise. | |
27295 | ||
27296 | 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com> | |
27297 | ||
27298 | * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't | |
27299 | reuse bounds created for abnormal ssa names. | |
27300 | ||
27301 | 2015-06-19 Jakub Jelinek <jakub@redhat.com> | |
27302 | ||
27303 | * config/nvptx/nvptx.md (allocate_stack): Rename to... | |
27304 | (allocate_stack_<mode>): ... this, and add :P on both | |
27305 | match_operand and unspec. | |
27306 | (allocate_stack): New expander. | |
27307 | ||
27308 | 2015-06-19 Christian Bruel <christian.bruel@st.com> | |
27309 | ||
27310 | PR target/66541 | |
27311 | PR target/52144 | |
27312 | * config/arm/arm.c (arm_set_current_function): Handle | |
27313 | explicit default options. | |
27314 | ||
27315 | 2015-06-18 Uros Bizjak <ubizjak@gmail.com> | |
27316 | ||
27317 | * config/i386/i386.md (*movsicc_noc_zext): New insn. | |
27318 | (zero-extended cmove with mem peephole2): New pattern. | |
27319 | (cmove with mem peephole2): Merge patterns. | |
27320 | ||
27321 | 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org> | |
27322 | ||
27323 | * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete. | |
27324 | ||
27325 | 2015-06-18 Steve Ellcey <sellcey@imgtec.com> | |
27326 | ||
27327 | * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check. | |
27328 | * config/mips/mips.md (*madd4<mode>): Ditto. | |
27329 | (*nmadd3<mode>) Ditto. | |
27330 | (*nmadd4<mode>_fastmath): Ditto. | |
27331 | (*nmadd3<mode>_fastmath): Ditto. | |
27332 | (*nmsub4<mode>): Ditto. | |
27333 | (*nmsub3<mode>): Ditto. | |
27334 | (*nmsub4<mode>_fastmath): Ditto. | |
27335 | (*nmsub3<mode>_fastmath): Ditto. | |
27336 | ||
27337 | 2015-06-18 Michael Matz <matz@suse.de> | |
27338 | ||
27339 | PR middle-end/66253 | |
27340 | * tree-vect-stmts.c (vectorizable_store): Implement non-SLP | |
27341 | grouped strided stores. | |
27342 | (vectorizable_load): Don't use the DR from first_stmt in | |
27343 | the non-SLP grouped strided case. | |
27344 | ||
27345 | 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> | |
27346 | ||
27347 | PR target/66569 | |
27348 | * function.c (assign_bounds): Add arguments assign_regs, | |
27349 | assign_special, assign_bt. | |
27350 | (assign_parms): For vararg functions handle bounds in BT | |
27351 | and special slots after incoming vararg bounds. | |
27352 | ||
27353 | 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> | |
27354 | ||
27355 | PR middle-end/66568 | |
27356 | * cfgexpand.c (expand_return): Handle missing bounds. | |
27357 | (expand_gimple_stmt_1): Likewise. | |
27358 | * tree-chkp.c (chkp_expand_zero_bounds): New. | |
27359 | * tree-chkp.h (chkp_expand_zero_bounds): New. | |
27360 | ||
27361 | 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com> | |
27362 | ||
27363 | PR middle-end/66567 | |
27364 | * ipa-chkp.c (chkp_maybe_create_clone): Require | |
27365 | functions to be instrumentable. | |
27366 | * tree-chkp.c (chkp_replace_function_pointer): Use | |
27367 | chkp_instrumentable_p instead of attribute check. | |
27368 | ||
27369 | 2015-06-18 Richard Biener <rguenther@suse.de> | |
27370 | ||
27371 | PR tree-optimization/66510 | |
27372 | * tree-vect-stmts.c (vectorizable_load): Properly compute the | |
27373 | number of vector loads for SLP permuted loads. | |
27374 | * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also | |
27375 | check the stride for loop vectorization. | |
27376 | (vect_enhance_data_refs_alignment): Deal with SLP adjusted | |
27377 | vectorization factor. | |
27378 | (vect_analyze_group_access): If the group size is not a power | |
27379 | of two require a epilogue loop. | |
27380 | * tree-vect-loop.c (vect_analyze_loop_2): Move alignment | |
27381 | compute and optimizing and alias test pruning after final | |
27382 | vectorization factor computation. | |
27383 | * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on | |
27384 | vector alignment. | |
27385 | (vect_transform_slp_perm_load): Properly compute the original | |
27386 | number of vector load stmts. | |
27387 | ||
27388 | 2015-06-18 Uros Bizjak <ubizjak@gmail.com> | |
27389 | ||
27390 | * doc/invoke.texi (-fsanitize-sections): Split @var to avoid | |
27391 | "unlikely character , in @var" warning. | |
27392 | ||
27393 | 2015-06-17 Uros Bizjak <ubizjak@gmail.com> | |
27394 | ||
27395 | * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code. | |
27396 | (ix86_function_arg_advance): Ditto. | |
27397 | (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part. | |
27398 | ||
27399 | 2015-06-17 Andrew MacLeod <amacleod@redhat.com> | |
27400 | ||
27401 | * function.h (struct rtl_data): Remove struct and accessor macros. | |
27402 | * emit-rtl.h (struct rtl_data): Relocate to here. | |
27403 | * Makefile.in (GTFILES): Add emit-rtl.h. | |
27404 | * df-core.c: Include emit-rtl.h. | |
27405 | * genattrtab.c: Likewise. | |
27406 | * genconditions.c: Likewise. | |
27407 | * genpreds.c: Likewise. | |
27408 | * genrecog.c: Likewise. | |
27409 | * regcprop.c: Likewise. | |
27410 | * resource.c: Likewise. | |
27411 | * sched-rgn.c: Likewise. | |
27412 | * config/aarch64/cortex-a57-fma-steering.c: Likewise. | |
27413 | * config/i386/winnt.c: Likewise. | |
27414 | ||
27415 | 2015-06-17 Jakub Jelinek <jakub@redhat.com> | |
27416 | ||
27417 | PR middle-end/66429 | |
27418 | * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun | |
27419 | instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops | |
27420 | and has_force_vectorize_loops flags from cfun into | |
27421 | child_cfun. | |
27422 | (expand_omp_simd): For broken loop, set cfun->has_simduid_loops | |
27423 | if simduid is non-NULL. | |
27424 | * tree-pass.h (make_pass_simduid_cleanup): New prototype. | |
27425 | * passes.def (pass_simduid_cleanup): Add new pass after loop | |
27426 | passes. | |
27427 | * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary | |
27428 | indirection from htab argument's type. | |
27429 | (shrink_simd_arrays): New function. | |
27430 | (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller. | |
27431 | Don't call adjust_simduid_builtins if there are no loops. | |
27432 | (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables. | |
27433 | (pass_simduid_cleanup::execute): New method. | |
27434 | (make_pass_simduid_cleanup): New function. | |
27435 | ||
27436 | 2017-06-17 Andrew MacLeod <amacleod@redhat.com> | |
27437 | ||
27438 | * tree-core.h (tree_target_option): Make opts field a pointer to a | |
27439 | cl_target_option instead of an instance of the struct. | |
27440 | * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of | |
27441 | the structure. | |
27442 | * tree.c (make_node_stat ): Allocate a cl_target_option struct for | |
27443 | TARGET_OPTION_NODE. | |
27444 | (copy_node_stat): Allocate and copy struct cl_target_option. | |
27445 | ||
27446 | 2015-06-17 Andrew MacLeod <amacleod@redhat.com> | |
27447 | ||
27448 | * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute): | |
27449 | Remove conditional exposure of prototypes. | |
27450 | (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete. | |
27451 | * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro | |
27452 | definitions in tree.h with functions. | |
27453 | * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use | |
27454 | anon_aggrname_p. | |
27455 | * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise. | |
27456 | ||
27457 | 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org> | |
27458 | ||
27459 | * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to... | |
27460 | (*cmp<mode>_signed): ... this. | |
27461 | (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to... | |
27462 | (*cmp<mode>_unsigned): ... this. Remove %b. | |
27463 | ||
27464 | 2015-06-17 Andrew MacLeod <amacleod@redhat.com> | |
27465 | ||
27466 | * coretypes.h: Include input.h and as-a.h. | |
27467 | * rtl.h: Include input.h and as-a.h for generator files. | |
27468 | * hwint.c: Include coretypes.h, don't include diagnostic-core.h. | |
27469 | * vec.c: Don't include diagnostic-core.h. | |
27470 | * alias.c: Do not include input.h, line-map.h or is-a.h. | |
27471 | * asan.c: Likewise. | |
27472 | * attribs.c: Likewise. | |
27473 | * auto-inc-dec.c: Likewise. | |
27474 | * auto-profile.c: Likewise. | |
27475 | * bb-reorder.c: Likewise. | |
27476 | * bt-load.c: Likewise. | |
27477 | * builtins.c: Likewise. | |
27478 | * caller-save.c: Likewise. | |
27479 | * calls.c: Likewise. | |
27480 | * ccmp.c: Likewise. | |
27481 | * cfg.c: Likewise. | |
27482 | * cfganal.c: Likewise. | |
27483 | * cfgbuild.c: Likewise. | |
27484 | * cfgcleanup.c: Likewise. | |
27485 | * cfgexpand.c: Likewise. | |
27486 | * cfghooks.c: Likewise. | |
27487 | * cfgloop.c: Likewise. | |
27488 | * cfgloop.h: Likewise. | |
27489 | * cfgloopanal.c: Likewise. | |
27490 | * cfgloopmanip.c: Likewise. | |
27491 | * cfgrtl.c: Likewise. | |
27492 | * cgraph.c: Likewise. | |
27493 | * cgraphbuild.c: Likewise. | |
27494 | * cgraphclones.c: Likewise. | |
27495 | * cgraphunit.c: Likewise. | |
27496 | * cilk-common.c: Likewise. | |
27497 | * combine-stack-adj.c: Likewise. | |
27498 | * combine.c: Likewise. | |
27499 | * compare-elim.c: Likewise. | |
27500 | * convert.c: Likewise. | |
27501 | * coverage.c: Likewise. | |
27502 | * cppbuiltin.c: Likewise. | |
27503 | * cprop.c: Likewise. | |
27504 | * cse.c: Likewise. | |
27505 | * cselib.c: Likewise. | |
27506 | * data-streamer-in.c: Likewise. | |
27507 | * data-streamer-out.c: Likewise. | |
27508 | * data-streamer.c: Likewise. | |
27509 | * dbxout.c: Likewise. | |
27510 | * dce.c: Likewise. | |
27511 | * ddg.c: Likewise. | |
27512 | * debug.c: Likewise. | |
27513 | * df-core.c: Likewise. | |
27514 | * df-problems.c: Likewise. | |
27515 | * df-scan.c: Likewise. | |
27516 | * df.h: Likewise. | |
27517 | * dfp.c: Likewise. | |
27518 | * diagnostic-core.h: Likewise. | |
27519 | * diagnostic.c: Likewise. | |
27520 | * dojump.c: Likewise. | |
27521 | * dominance.c: Likewise. | |
27522 | * domwalk.c: Likewise. | |
27523 | * double-int.c: Likewise. | |
27524 | * dse.c: Likewise. | |
27525 | * dumpfile.c: Likewise. | |
27526 | * dumpfile.h: Likewise. | |
27527 | * dwarf2asm.c: Likewise. | |
27528 | * dwarf2cfi.c: Likewise. | |
27529 | * dwarf2out.c: Likewise. | |
27530 | * emit-rtl.c: Likewise. | |
27531 | * et-forest.c: Likewise. | |
27532 | * except.c: Likewise. | |
27533 | * explow.c: Likewise. | |
27534 | * expmed.c: Likewise. | |
27535 | * expr.c: Likewise. | |
27536 | * final.c: Likewise. | |
27537 | * fixed-value.c: Likewise. | |
27538 | * fold-const.c: Likewise. | |
27539 | * function.c: Likewise. | |
27540 | * fwprop.c: Likewise. | |
27541 | * gcc-plugin.h: Likewise. | |
27542 | * gcse.c: Likewise. | |
27543 | * generic-match-head.c: Likewise. | |
27544 | * ggc-page.c: Likewise. | |
27545 | * gimple-builder.c: Likewise. | |
27546 | * gimple-expr.c: Likewise. | |
27547 | * gimple-fold.c: Likewise. | |
27548 | * gimple-iterator.c: Likewise. | |
27549 | * gimple-low.c: Likewise. | |
27550 | * gimple-match-head.c: Likewise. | |
27551 | * gimple-pretty-print.c: Likewise. | |
27552 | * gimple-ssa-isolate-paths.c: Likewise. | |
27553 | * gimple-ssa-strength-reduction.c: Likewise. | |
27554 | * gimple-streamer-in.c: Likewise. | |
27555 | * gimple-streamer-out.c: Likewise. | |
27556 | * gimple-streamer.h: Likewise. | |
27557 | * gimple-walk.c: Likewise. | |
27558 | * gimple.c: Likewise. | |
27559 | * gimplify-me.c: Likewise. | |
27560 | * gimplify.c: Likewise. | |
27561 | * godump.c: Likewise. | |
27562 | * graph.c: Likewise. | |
27563 | * graphite-blocking.c: Likewise. | |
27564 | * graphite-dependences.c: Likewise. | |
27565 | * graphite-interchange.c: Likewise. | |
27566 | * graphite-isl-ast-to-gimple.c: Likewise. | |
27567 | * graphite-optimize-isl.c: Likewise. | |
27568 | * graphite-poly.c: Likewise. | |
27569 | * graphite-scop-detection.c: Likewise. | |
27570 | * graphite-sese-to-poly.c: Likewise. | |
27571 | * graphite.c: Likewise. | |
27572 | * haifa-sched.c: Likewise. | |
27573 | * hw-doloop.c: Likewise. | |
27574 | * ifcvt.c: Likewise. | |
27575 | * init-regs.c: Likewise. | |
27576 | * input.c: Likewise. | |
27577 | * internal-fn.c: Likewise. | |
27578 | * ipa-chkp.c: Likewise. | |
27579 | * ipa-comdats.c: Likewise. | |
27580 | * ipa-cp.c: Likewise. | |
27581 | * ipa-devirt.c: Likewise. | |
27582 | * ipa-icf-gimple.c: Likewise. | |
27583 | * ipa-icf.c: Likewise. | |
27584 | * ipa-inline-analysis.c: Likewise. | |
27585 | * ipa-inline-transform.c: Likewise. | |
27586 | * ipa-inline.c: Likewise. | |
27587 | * ipa-polymorphic-call.c: Likewise. | |
27588 | * ipa-profile.c: Likewise. | |
27589 | * ipa-prop.c: Likewise. | |
27590 | * ipa-pure-const.c: Likewise. | |
27591 | * ipa-ref.c: Likewise. | |
27592 | * ipa-reference.c: Likewise. | |
27593 | * ipa-split.c: Likewise. | |
27594 | * ipa-utils.c: Likewise. | |
27595 | * ipa-visibility.c: Likewise. | |
27596 | * ipa.c: Likewise. | |
27597 | * ira-build.c: Likewise. | |
27598 | * ira-color.c: Likewise. | |
27599 | * ira-conflicts.c: Likewise. | |
27600 | * ira-costs.c: Likewise. | |
27601 | * ira-emit.c: Likewise. | |
27602 | * ira-lives.c: Likewise. | |
27603 | * ira.c: Likewise. | |
27604 | * jump.c: Likewise. | |
27605 | * langhooks.c: Likewise. | |
27606 | * lcm.c: Likewise. | |
27607 | * loop-doloop.c: Likewise. | |
27608 | * loop-init.c: Likewise. | |
27609 | * loop-invariant.c: Likewise. | |
27610 | * loop-iv.c: Likewise. | |
27611 | * loop-unroll.c: Likewise. | |
27612 | * lower-subreg.c: Likewise. | |
27613 | * lra-assigns.c: Likewise. | |
27614 | * lra-coalesce.c: Likewise. | |
27615 | * lra-constraints.c: Likewise. | |
27616 | * lra-eliminations.c: Likewise. | |
27617 | * lra-lives.c: Likewise. | |
27618 | * lra-remat.c: Likewise. | |
27619 | * lra-spills.c: Likewise. | |
27620 | * lra.c: Likewise. | |
27621 | * lto-cgraph.c: Likewise. | |
27622 | * lto-compress.c: Likewise. | |
27623 | * lto-opts.c: Likewise. | |
27624 | * lto-section-in.c: Likewise. | |
27625 | * lto-section-out.c: Likewise. | |
27626 | * lto-streamer-in.c: Likewise. | |
27627 | * lto-streamer-out.c: Likewise. | |
27628 | * lto-streamer.c: Likewise. | |
27629 | * mcf.c: Likewise. | |
27630 | * mode-switching.c: Likewise. | |
27631 | * modulo-sched.c: Likewise. | |
27632 | * omega.c: Likewise. | |
27633 | * omp-low.c: Likewise. | |
27634 | * optabs.c: Likewise. | |
27635 | * opts-global.c: Likewise. | |
27636 | * opts.h: Likewise. | |
27637 | * passes.c: Likewise. | |
27638 | * plugin.c: Likewise. | |
27639 | * postreload-gcse.c: Likewise. | |
27640 | * postreload.c: Likewise. | |
27641 | * predict.c: Likewise. | |
27642 | * pretty-print.h: Likewise. | |
27643 | * print-rtl.c: Likewise. | |
27644 | * print-tree.c: Likewise. | |
27645 | * profile.c: Likewise. | |
27646 | * real.c: Likewise. | |
27647 | * realmpfr.c: Likewise. | |
27648 | * recog.c: Likewise. | |
27649 | * ree.c: Likewise. | |
27650 | * reg-stack.c: Likewise. | |
27651 | * regcprop.c: Likewise. | |
27652 | * reginfo.c: Likewise. | |
27653 | * regrename.c: Likewise. | |
27654 | * regstat.c: Likewise. | |
27655 | * reload.c: Likewise. | |
27656 | * reload1.c: Likewise. | |
27657 | * reorg.c: Likewise. | |
27658 | * resource.c: Likewise. | |
27659 | * rtl-chkp.c: Likewise. | |
27660 | * rtl-error.c: Likewise. | |
27661 | * rtlanal.c: Likewise. | |
27662 | * rtlhooks.c: Likewise. | |
27663 | * sanopt.c: Likewise. | |
27664 | * sched-deps.c: Likewise. | |
27665 | * sched-ebb.c: Likewise. | |
27666 | * sched-rgn.c: Likewise. | |
27667 | * sched-vis.c: Likewise. | |
27668 | * sdbout.c: Likewise. | |
27669 | * sel-sched-dump.c: Likewise. | |
27670 | * sel-sched-ir.c: Likewise. | |
27671 | * sel-sched.c: Likewise. | |
27672 | * sese.c: Likewise. | |
27673 | * shrink-wrap.c: Likewise. | |
27674 | * simplify-rtx.c: Likewise. | |
27675 | * stack-ptr-mod.c: Likewise. | |
27676 | * statistics.c: Likewise. | |
27677 | * stmt.c: Likewise. | |
27678 | * stor-layout.c: Likewise. | |
27679 | * store-motion.c: Likewise. | |
27680 | * streamer-hooks.c: Likewise. | |
27681 | * stringpool.c: Likewise. | |
27682 | * symtab.c: Likewise. | |
27683 | * target-globals.c: Likewise. | |
27684 | * targhooks.c: Likewise. | |
27685 | * toplev.c: Likewise. | |
27686 | * tracer.c: Likewise. | |
27687 | * trans-mem.c: Likewise. | |
27688 | * tree-affine.c: Likewise. | |
27689 | * tree-browser.c: Likewise. | |
27690 | * tree-call-cdce.c: Likewise. | |
27691 | * tree-cfg.c: Likewise. | |
27692 | * tree-cfgcleanup.c: Likewise. | |
27693 | * tree-chkp-opt.c: Likewise. | |
27694 | * tree-chkp.c: Likewise. | |
27695 | * tree-chrec.c: Likewise. | |
27696 | * tree-complex.c: Likewise. | |
27697 | * tree-data-ref.c: Likewise. | |
27698 | * tree-dfa.c: Likewise. | |
27699 | * tree-diagnostic.c: Likewise. | |
27700 | * tree-dump.c: Likewise. | |
27701 | * tree-eh.c: Likewise. | |
27702 | * tree-emutls.c: Likewise. | |
27703 | * tree-if-conv.c: Likewise. | |
27704 | * tree-inline.c: Likewise. | |
27705 | * tree-into-ssa.c: Likewise. | |
27706 | * tree-iterator.c: Likewise. | |
27707 | * tree-loop-distribution.c: Likewise. | |
27708 | * tree-nested.c: Likewise. | |
27709 | * tree-nrv.c: Likewise. | |
27710 | * tree-object-size.c: Likewise. | |
27711 | * tree-outof-ssa.c: Likewise. | |
27712 | * tree-parloops.c: Likewise. | |
27713 | * tree-phinodes.c: Likewise. | |
27714 | * tree-predcom.c: Likewise. | |
27715 | * tree-pretty-print.c: Likewise. | |
27716 | * tree-profile.c: Likewise. | |
27717 | * tree-scalar-evolution.c: Likewise. | |
27718 | * tree-sra.c: Likewise. | |
27719 | * tree-ssa-address.c: Likewise. | |
27720 | * tree-ssa-alias.c: Likewise. | |
27721 | * tree-ssa-ccp.c: Likewise. | |
27722 | * tree-ssa-coalesce.c: Likewise. | |
27723 | * tree-ssa-copy.c: Likewise. | |
27724 | * tree-ssa-copyrename.c: Likewise. | |
27725 | * tree-ssa-dce.c: Likewise. | |
27726 | * tree-ssa-dom.c: Likewise. | |
27727 | * tree-ssa-dse.c: Likewise. | |
27728 | * tree-ssa-forwprop.c: Likewise. | |
27729 | * tree-ssa-ifcombine.c: Likewise. | |
27730 | * tree-ssa-live.c: Likewise. | |
27731 | * tree-ssa-loop-ch.c: Likewise. | |
27732 | * tree-ssa-loop-im.c: Likewise. | |
27733 | * tree-ssa-loop-ivcanon.c: Likewise. | |
27734 | * tree-ssa-loop-ivopts.c: Likewise. | |
27735 | * tree-ssa-loop-manip.c: Likewise. | |
27736 | * tree-ssa-loop-niter.c: Likewise. | |
27737 | * tree-ssa-loop-prefetch.c: Likewise. | |
27738 | * tree-ssa-loop-unswitch.c: Likewise. | |
27739 | * tree-ssa-loop.c: Likewise. | |
27740 | * tree-ssa-math-opts.c: Likewise. | |
27741 | * tree-ssa-operands.c: Likewise. | |
27742 | * tree-ssa-phiopt.c: Likewise. | |
27743 | * tree-ssa-phiprop.c: Likewise. | |
27744 | * tree-ssa-pre.c: Likewise. | |
27745 | * tree-ssa-propagate.c: Likewise. | |
27746 | * tree-ssa-reassoc.c: Likewise. | |
27747 | * tree-ssa-sccvn.c: Likewise. | |
27748 | * tree-ssa-scopedtables.c: Likewise. | |
27749 | * tree-ssa-sink.c: Likewise. | |
27750 | * tree-ssa-strlen.c: Likewise. | |
27751 | * tree-ssa-structalias.c: Likewise. | |
27752 | * tree-ssa-tail-merge.c: Likewise. | |
27753 | * tree-ssa-ter.c: Likewise. | |
27754 | * tree-ssa-threadedge.c: Likewise. | |
27755 | * tree-ssa-threadupdate.c: Likewise. | |
27756 | * tree-ssa-uncprop.c: Likewise. | |
27757 | * tree-ssa-uninit.c: Likewise. | |
27758 | * tree-ssa.c: Likewise. | |
27759 | * tree-ssanames.c: Likewise. | |
27760 | * tree-stdarg.c: Likewise. | |
27761 | * tree-streamer-in.c: Likewise. | |
27762 | * tree-streamer-out.c: Likewise. | |
27763 | * tree-streamer.c: Likewise. | |
27764 | * tree-switch-conversion.c: Likewise. | |
27765 | * tree-tailcall.c: Likewise. | |
27766 | * tree-vect-data-refs.c: Likewise. | |
27767 | * tree-vect-generic.c: Likewise. | |
27768 | * tree-vect-loop-manip.c: Likewise. | |
27769 | * tree-vect-loop.c: Likewise. | |
27770 | * tree-vect-patterns.c: Likewise. | |
27771 | * tree-vect-slp.c: Likewise. | |
27772 | * tree-vect-stmts.c: Likewise. | |
27773 | * tree-vectorizer.c: Likewise. | |
27774 | * tree-vrp.c: Likewise. | |
27775 | * tree.c: Likewise. | |
27776 | * tsan.c: Likewise. | |
27777 | * ubsan.c: Likewise. | |
27778 | * valtrack.c: Likewise. | |
27779 | * value-prof.c: Likewise. | |
27780 | * var-tracking.c: Likewise. | |
27781 | * varasm.c: Likewise. | |
27782 | * varpool.c: Likewise. | |
27783 | * vmsdbgout.c: Likewise. | |
27784 | * vtable-verify.c: Likewise. | |
27785 | * web.c: Likewise. | |
27786 | * wide-int.cc: Likewise. | |
27787 | * xcoffout.c: Likewise. | |
27788 | * common/common-target.h: Do not include input.h, line-map.h or is-a.h. | |
27789 | * common/common-targhooks.c: Likewise. | |
27790 | * config/aarch64/aarch64-builtins.c: Likewise. | |
27791 | * config/aarch64/aarch64.c: Likewise. | |
27792 | * config/alpha/alpha.c: Likewise. | |
27793 | * config/arc/arc.c: Likewise. | |
27794 | * config/arm/aarch-common.c: Likewise. | |
27795 | * config/arm/arm-builtins.c: Likewise. | |
27796 | * config/arm/arm-c.c: Likewise. | |
27797 | * config/arm/arm.c: Likewise. | |
27798 | * config/avr/avr-c.c: Likewise. | |
27799 | * config/avr/avr-log.c: Likewise. | |
27800 | * config/avr/avr.c: Likewise. | |
27801 | * config/bfin/bfin.c: Likewise. | |
27802 | * config/c6x/c6x.c: Likewise. | |
27803 | * config/cr16/cr16.c: Likewise. | |
27804 | * config/cris/cris.c: Likewise. | |
27805 | * config/darwin-c.c: Likewise. | |
27806 | * config/darwin.c: Likewise. | |
27807 | * config/default-c.c: Likewise. | |
27808 | * config/epiphany/epiphany.c: Likewise. | |
27809 | * config/epiphany/mode-switch-use.c: Likewise. | |
27810 | * config/epiphany/resolve-sw-modes.c: Likewise. | |
27811 | * config/fr30/fr30.c: Likewise. | |
27812 | * config/frv/frv.c: Likewise. | |
27813 | * config/ft32/ft32.c: Likewise. | |
27814 | * config/glibc-c.c: Likewise. | |
27815 | * config/h8300/h8300.c: Likewise. | |
27816 | * config/i386/i386-c.c: Likewise. | |
27817 | * config/i386/i386.c: Likewise. | |
27818 | * config/i386/msformat-c.c: Likewise. | |
27819 | * config/i386/winnt-cxx.c: Likewise. | |
27820 | * config/i386/winnt-stubs.c: Likewise. | |
27821 | * config/i386/winnt.c: Likewise. | |
27822 | * config/ia64/ia64-c.c: Likewise. | |
27823 | * config/ia64/ia64.c: Likewise. | |
27824 | * config/iq2000/iq2000.c: Likewise. | |
27825 | * config/lm32/lm32.c: Likewise. | |
27826 | * config/m32c/m32c-pragma.c: Likewise. | |
27827 | * config/m32c/m32c.c: Likewise. | |
27828 | * config/m32r/m32r.c: Likewise. | |
27829 | * config/m68k/m68k.c: Likewise. | |
27830 | * config/mcore/mcore.c: Likewise. | |
27831 | * config/mep/mep-pragma.c: Likewise. | |
27832 | * config/mep/mep.c: Likewise. | |
27833 | * config/microblaze/microblaze-c.c: Likewise. | |
27834 | * config/microblaze/microblaze.c: Likewise. | |
27835 | * config/mips/mips.c: Likewise. | |
27836 | * config/mmix/mmix.c: Likewise. | |
27837 | * config/mn10300/mn10300.c: Likewise. | |
27838 | * config/moxie/moxie.c: Likewise. | |
27839 | * config/msp430/msp430-c.c: Likewise. | |
27840 | * config/msp430/msp430.c: Likewise. | |
27841 | * config/nds32/nds32-cost.c: Likewise. | |
27842 | * config/nds32/nds32-fp-as-gp.c: Likewise. | |
27843 | * config/nds32/nds32-intrinsic.c: Likewise. | |
27844 | * config/nds32/nds32-isr.c: Likewise. | |
27845 | * config/nds32/nds32-md-auxiliary.c: Likewise. | |
27846 | * config/nds32/nds32-memory-manipulation.c: Likewise. | |
27847 | * config/nds32/nds32-pipelines-auxiliary.c: Likewise. | |
27848 | * config/nds32/nds32-predicates.c: Likewise. | |
27849 | * config/nds32/nds32.c: Likewise. | |
27850 | * config/nios2/nios2.c: Likewise. | |
27851 | * config/nvptx/nvptx.c: Likewise. | |
27852 | * config/pa/pa.c: Likewise. | |
27853 | * config/pdp11/pdp11.c: Likewise. | |
27854 | * config/rl78/rl78-c.c: Likewise. | |
27855 | * config/rl78/rl78.c: Likewise. | |
27856 | * config/rs6000/rs6000-c.c: Likewise. | |
27857 | * config/rs6000/rs6000.c: Likewise. | |
27858 | * config/rx/rx.c: Likewise. | |
27859 | * config/s390/s390-c.c: Likewise. | |
27860 | * config/s390/s390.c: Likewise. | |
27861 | * config/sh/sh-c.c: Likewise. | |
27862 | * config/sh/sh-mem.cc: Likewise. | |
27863 | * config/sh/sh.c: Likewise. | |
27864 | * config/sh/sh_optimize_sett_clrt.cc: Likewise. | |
27865 | * config/sh/sh_treg_combine.cc: Likewise. | |
27866 | * config/sol2-c.c: Likewise. | |
27867 | * config/sol2-cxx.c: Likewise. | |
27868 | * config/sol2-stubs.c: Likewise. | |
27869 | * config/sol2.c: Likewise. | |
27870 | * config/sparc/sparc-c.c: Likewise. | |
27871 | * config/sparc/sparc.c: Likewise. | |
27872 | * config/spu/spu-c.c: Likewise. | |
27873 | * config/spu/spu.c: Likewise. | |
27874 | * config/stormy16/stormy16.c: Likewise. | |
27875 | * config/tilegx/mul-tables.c: Likewise. | |
27876 | * config/tilegx/tilegx-c.c: Likewise. | |
27877 | * config/tilegx/tilegx.c: Likewise. | |
27878 | * config/tilepro/mul-tables.c: Likewise. | |
27879 | * config/tilepro/tilepro-c.c: Likewise. | |
27880 | * config/tilepro/tilepro.c: Likewise. | |
27881 | * config/v850/v850-c.c: Likewise. | |
27882 | * config/v850/v850.c: Likewise. | |
27883 | * config/vax/vax.c: Likewise. | |
27884 | * config/visium/visium.c: Likewise. | |
27885 | * config/vms/vms-c.c: Likewise. | |
27886 | * config/vms/vms.c: Likewise. | |
27887 | * config/vxworks.c: Likewise. | |
27888 | * config/winnt-c.c: Likewise. | |
27889 | * config/xtensa/xtensa.c: Likewise. | |
27890 | ||
27891 | 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com> | |
27892 | ||
27893 | * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New | |
27894 | function. | |
27895 | (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro. | |
27896 | ||
27897 | 2015-06-17 Richard Biener <rguenther@suse.de> | |
27898 | ||
27899 | PR tree-optimization/66251 | |
27900 | * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized | |
27901 | stmts for SLP strided stores. | |
27902 | ||
27903 | Revert | |
27904 | 2015-05-22 Richard Biener <rguenther@suse.de> | |
27905 | ||
27906 | PR tree-optimization/66251 | |
27907 | * tree-vect-stmts.c (vectorizable_conversion): Properly | |
27908 | set STMT_VINFO_VEC_STMT even for the SLP case. | |
27909 | ||
27910 | 2015-05-26 Michael Matz <matz@suse.de> | |
27911 | ||
27912 | PR middle-end/66251 | |
27913 | * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set | |
27914 | STMT_VINFO_VEC_STMT, also with SLP. | |
27915 | ||
27916 | 2015-06-16 Uros Bizjak <ubizjak@gmail.com> | |
27917 | ||
27918 | PR target/56766 | |
27919 | * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern. | |
27920 | (*avx_addsubv4df3_1s): Ditto. | |
27921 | (*sse3_addsubv2df3_1): Ditto. | |
27922 | (*sse3_addsubv2df3_1s): Ditto. | |
27923 | (*avx_addsubv8sf3_1): Ditto. | |
27924 | (*avx_addsubv8sf3_1s): Ditto. | |
27925 | (*sse3_addsubv4sf3_1): Ditto. | |
27926 | (*sse3_addsubv4sf3_1s): Ditto. | |
27927 | ||
27928 | 2015-06-16 Steve Ellcey <sellcey@imgtec.com> | |
27929 | ||
27930 | * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New. | |
27931 | (SYSROOT_SUFFIX_SPEC): Update. | |
27932 | (SYSROOT_HEADERS_SUFFIX_SPEC): New. | |
27933 | (STARTFILE_PREFIX_SPEC): Update. | |
27934 | * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove. | |
27935 | (MULTILIB_REQUIRED): New. | |
27936 | (MULTILIB_OSDIRNAMES): New. | |
27937 | * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove. | |
27938 | (MULTILIB_REQUIRED): New. | |
27939 | (MULTILIB_OSDIRNAMES): New. | |
27940 | ||
27941 | 2015-06-16 Matthew Wahab <matthew.wahab@arm.com> | |
27942 | ||
27943 | * config/aarch64/aarch64-arches.def: Add "armv8.1-a". | |
27944 | * config/aarch64/aarch64-options-extensions.def: Update "fP", | |
27945 | "simd" and "crypto". Add "lse", "pan", "lor" and "rdma". | |
27946 | * config/aarch64/aarch64.h (AARCH64_FL_LSE): New. | |
27947 | (AARCH64_FL_PAN): New. | |
27948 | (AARCH64_FL_LOR): New. | |
27949 | (AARCH64_FL_RDMA): New. | |
27950 | (AARCH64_FL_FOR_ARCH8_1): New. | |
27951 | * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to | |
27952 | -march. Add "lse", "pan", "lor", "rdma" to feature modifiers. | |
27953 | ||
27954 | 2015-06-16 Martin Liska <mliska@suse.cz> | |
27955 | ||
27956 | * bitmap.c (dump_bitmap_statistics): Fix GNU coding style. | |
27957 | * hash-table.c (void dump_hash_table_loc_statistics): Add missing | |
27958 | guard. | |
27959 | ||
27960 | 2015-06-16 Richard Biener <rguenther@suse.de> | |
27961 | ||
27962 | * tree-vect-stmts.c (vectorizable_store): Adjust. | |
27963 | (vectorizable_load): Likewise. | |
27964 | * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): | |
27965 | Simplify. | |
27966 | (vect_create_data_ref_ptr): Likewise. | |
27967 | (bump_vector_ptr): Adjust. | |
27968 | ||
27969 | 2015-06-16 Richard Biener <rguenther@suse.de> | |
27970 | ||
27971 | * tree-vect-stmts.c (vectorizable_load): Properly start loads | |
27972 | with the first element if this is grouped loads. | |
27973 | ||
27974 | 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com> | |
27975 | ||
27976 | * config/arm/arm-protos.h (struct tune_params): Rename | |
27977 | log_op_non_sc to log_op_non_short_circuit, and rename enum | |
27978 | values to expand SC to SHORT_CIRCUIT. | |
27979 | * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC | |
27980 | to LOG_OP_NON_SHORT_CIRCUIT. | |
27981 | (arm_fastmul_tune):Likewise | |
27982 | (arm_strongarm_tune): Likewise. | |
27983 | (arm_xscale_tune): Likewise. | |
27984 | (arm_9e_tune): Likewise. | |
27985 | (arm_marvell_pj4_tune): Likewise. | |
27986 | (arm_v6t2_tune): Likewise. | |
27987 | (arm_cortex_tune): Likewise. | |
27988 | (arm_cortex_a8_tune): Likewise. | |
27989 | (arm_cortex_a7_tune): Likewise. | |
27990 | (arm_cortex_a15_tune): Likewise. | |
27991 | (arm_cortex_a53_tune): Likewise. | |
27992 | (arm_cortex_a57_tune): Likewise. | |
27993 | (arm_xgene1_tune): Likewise. | |
27994 | (arm_cortex_a5_tune): Likewise. | |
27995 | (arm_cortex_a9_tune): Likewise. | |
27996 | (arm_cortex_a12_tune): Likewise. | |
27997 | (arm_v7m_tune): Likewise. | |
27998 | (arm_cortex_m7_tune): Likewise. | |
27999 | (arm_v6m_tune): Likewise. | |
28000 | (arm_fa726te_tune): Likewise. | |
28001 | ||
28002 | 2015-06-15 David Edelsohn <dje.gcc@gmail.com> | |
28003 | ||
28004 | * altivec.md: Delete UNSPEC_VMLADDUHM. | |
28005 | (mulv4si3_p8): New pattern. | |
28006 | (mulv4si3): Use it for POWER8. | |
28007 | (mulv8hi3): Use vmladduhm with zero addend. | |
28008 | (altivec_vmladduhm): Descriptive RTL. | |
28009 | ||
28010 | 2015-06-15 Jim Wilson <jim.wilson@linaro.org> | |
28011 | ||
28012 | * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2 | |
28013 | to use neon_move instead of mov_imm. | |
28014 | (movdi_aarch64): Change alternative 14 to use neon_move not fmov. | |
28015 | (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd. | |
28016 | ||
28017 | * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move | |
28018 | aarch64_float_const_zero_rtx_p check before TFmode check. | |
28019 | * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is | |
28020 | an fp zero. | |
28021 | (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly | |
28022 | code and attributes to match. Change condition from register_operand | |
28023 | to aarch64_reg_or_fp_zero for op1. Change type for ldp from | |
28024 | neon_load1_2reg to load2. Change type for stp from neon_store1_2reg | |
28025 | to store2. | |
28026 | ||
28027 | 2015-06-15 Aldy Hernandez <aldyh@redhat.com> | |
28028 | ||
28029 | PR debug/66535 | |
28030 | * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if | |
28031 | there is no parent. | |
28032 | ||
28033 | 2015-06-14 Shiva Chen <shiva0217@gmail.com> | |
28034 | ||
28035 | * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for | |
28036 | HOST_WIDE_INT parameter. | |
28037 | ||
28038 | 2015-06-14 Jan Hubicka <hubicka@ucw.cz> | |
28039 | ||
28040 | PR ipa/66181 | |
28041 | * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK. | |
28042 | * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream | |
28043 | TYPE_NO_FORCE_BLK. | |
28044 | * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise. | |
28045 | ||
28046 | 2015-06-14 Richard Sandiford <richard.sandiford@arm.com> | |
28047 | ||
28048 | * rtl.h (classify_insn): Declare. | |
28049 | * emit-rtl.c (classify_insn): Move to... | |
28050 | * rtl.c: ...here and add generator support. | |
28051 | * gensupport.h (get_emit_function, needs_barrier_p): Declare. | |
28052 | * gensupport.c (get_emit_function, needs_barrier_p): New functions. | |
28053 | * genemit.c (gen_emit_seq): New function. | |
28054 | (gen_expand, gen_split): Use it. | |
28055 | ||
28056 | 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org> | |
28057 | ||
28058 | * tree.c (make_vector_stat): Fix comment to state that the | |
28059 | function returns a VECTOR_CST. | |
28060 | ||
28061 | 2015-06-13 Richard Sandiford <richard.sandiford@arm.com> | |
28062 | ||
28063 | * gensupport.h (add_implicit_parallel): Declare. | |
28064 | * genrecog.c (add_implicit_parallel): Move to... | |
28065 | * gensupport.c (add_implicit_parallel): ...here. | |
28066 | (process_one_cond_exec): Use it. | |
28067 | * genemit.c (gen_insn): Likewise. | |
28068 | ||
28069 | 2015-06-13 Iain Sandoe <iain@codesourcery.com> | |
28070 | ||
28071 | PR bootstrap/66448 | |
28072 | * passes.c (rest_of_decl_compilation): Do not register globals for | |
28073 | early debug if they are declared in built-ins. | |
28074 | ||
28075 | 2015-06-12 Aldy Hernandez <aldyh@redhat.com> | |
28076 | ||
28077 | * dwarf2out.c (check_die): Protect with ENABLE_CHECKING. | |
28078 | ||
28079 | 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
28080 | ||
28081 | * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of | |
28082 | manually swapping. | |
28083 | (noce_try_cmove_arith): Likewise. | |
28084 | (noce_get_alt_condition): Likewise. | |
28085 | ||
28086 | 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com> | |
28087 | ||
28088 | * common/config/i386/i386-common.c | |
28089 | (OPTION_MASK_ISA_MWAITX_SET): New. | |
28090 | (ix86_handle_option): Handle mwaitx. | |
28091 | * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h, | |
28092 | (x86_64-*-*): Likewise. | |
28093 | * config/i386/mwaitxintrin.h: New header. | |
28094 | * config/i386/cpuid.h (bit_MWAITX): Define. | |
28095 | * config/i386/driver-i386.c (host_detect_local_cpu): Detect | |
28096 | MWAITX support. | |
28097 | * config/i386/i386.opt (mwaitx): New. | |
28098 | * config/i386/i386-builtin-types.def | |
28099 | (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type. | |
28100 | * config/i386/i386-c.c: Define __MWAITX__ if needed. | |
28101 | * config/i386/i386.c (ix86_target_string): Define -mmwaitx option. | |
28102 | (PTA_MWAITX): New. | |
28103 | (ix86_option_override_internal): Handle new option. | |
28104 | (processor_alias_table): Added PTA_MWAITX. | |
28105 | (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx. | |
28106 | (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX. | |
28107 | (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and | |
28108 | IX86_BUILTIN_MONITORX built-ins. | |
28109 | * config/i386/i386.h (TARGET_MWAITX): New. | |
28110 | * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and | |
28111 | UNSPEC_MONITORX. | |
28112 | (mwaitx): New pattern. | |
28113 | (monitorx_<mode>): New pattern. | |
28114 | * config/i386/x86intrin.h: Include mwaitxintrin.h. | |
28115 | * doc/extend.texi: Document monitorx and mwaitx builtins. | |
28116 | * doc/invoke.texi: Document -mmwaitx option. | |
28117 | ||
28118 | 2015-06-12 Uros Bizjak <ubizjak@gmail.com> | |
28119 | ||
28120 | * emit-rtl.c (need_atomic_barrier_p): Mask model with | |
28121 | MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases. | |
28122 | ||
28123 | 2015-06-11 David Edelsohn <dje.gcc@gmail.com> | |
28124 | ||
28125 | * dbxout.c (xcoff_debug_hooks): Provide a function for | |
28126 | register_main_translation_unit hook. | |
28127 | ||
28128 | 2015-06-11 David Edelsohn <dje.gcc@gmail.com> | |
28129 | ||
28130 | * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC | |
28131 | variants cases from switch. | |
28132 | (rs6000_post_atomic_barrier): Same. | |
28133 | (rs6000_expand_atomic_compare_and_swap): Use memmodel_base. | |
28134 | (rs6000_expand_atomic_exchange): Same. | |
28135 | (rs6000_expand_atomic_op): Same. | |
28136 | * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove | |
28137 | SYNC variants cases from switch. | |
28138 | (atomic_load): Same. | |
28139 | (atomic_store): Same. | |
28140 | ||
28141 | 2015-06-11 John David Anglin <danglin@gcc.gnu.org> | |
28142 | ||
28143 | * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus | |
28144 | CONST_INT for goto. | |
28145 | ||
28146 | 2015-06-11 Aldy Hernandez <aldyh@redhat.com> | |
28147 | ||
28148 | PR bootstrap/66448 | |
28149 | * dwarf2out.c (check_die): Check for common duplicate attributes. | |
28150 | (add_location_or_const_value_attribute): Do not add duplicate | |
28151 | attributes. | |
28152 | (gen_formal_parameter_die): Do not add DW_AT_artificial the second | |
28153 | time around. | |
28154 | (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN. | |
28155 | (gen_type_die_with_usage): Call check_die. | |
28156 | (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING. | |
28157 | ||
28158 | 2015-06-11 Jason Merrill <jason@redhat.com> | |
28159 | ||
28160 | * dwarf2out.c (prune_unused_types): Handle unused top-level limbo | |
28161 | dies. | |
28162 | ||
28163 | 2015-06-11 Marek Polacek <polacek@redhat.com> | |
28164 | ||
28165 | * match.pd ((x & y) ^ (x | y)): Don't check for single_use. | |
28166 | ||
28167 | 2015-06-11 Eric Botcazou <ebotcazou@adacore.com> | |
28168 | ||
28169 | PR bootstrap/66252 | |
28170 | * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment. | |
28171 | * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order. | |
28172 | (*addx_extend_sp32): Fix pasto. | |
28173 | (*subx_extend): Rename into... | |
28174 | (*subx_extend_sp32): ...this. | |
28175 | (*adddi3_extend_sp32): Add earlyclobber. | |
28176 | (*subdi3_insn_sp32): Likewise. | |
28177 | (*subdi3_extend_sp32): Likewise. | |
28178 | (*and_not_di_sp32): Likewise. | |
28179 | (*or_not_di_sp32): Likewise. | |
28180 | (*xor_not_di_sp32): Likewise. | |
28181 | (*negdi2_sp32): Likewise. | |
28182 | (*one_cmpldi2_sp32): Likewise. | |
28183 | ||
28184 | 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> | |
28185 | ||
28186 | * debug.h (struct gcc_debug_hooks): Add a | |
28187 | register_main_translation_unit hook. | |
28188 | * debug.c (do_nothing_debug_hooks): Provide a function for this | |
28189 | new hook. | |
28190 | * dbxout.c (dbx_debug_hooks): Likewise. | |
28191 | * sdbout.c (sdb_debug_hooks): Likewise. | |
28192 | * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. | |
28193 | * dwarf2out.c (main_translation_unit): New global variable. | |
28194 | (dwarf2out_register_main_translation_unit): New function | |
28195 | implementing the new hook. | |
28196 | (dwarf2_debug_hooks): Assign | |
28197 | dwarf2out_register_main_translation_unit to this new hook. | |
28198 | (dwarf2out_init): Associate any main translation unit to | |
28199 | comp_unit_die (). | |
28200 | ||
28201 | 2015-06-11 Marek Polacek <polacek@redhat.com> | |
28202 | ||
28203 | * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern. | |
28204 | ||
28205 | 2015-06-11 Marek Polacek <polacek@redhat.com> | |
28206 | ||
28207 | * match.pd: Use single_use throughout. | |
28208 | ||
28209 | 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
28210 | ||
28211 | * config/arm/arm.c (arm_option_params_internal): When optimising | |
28212 | for speed set max_insns_skipped when arm_restrict_it. | |
28213 | ||
28214 | 2015-06-11 Christian Bruel <christian.bruel@st.com> | |
28215 | ||
28216 | PR target/52144 | |
28217 | * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define | |
28218 | macros in ... | |
28219 | (arm_cpu_builtins): New function. | |
28220 | (arm_pragma_target_parse): Call arm_cpu_builtins. | |
28221 | * config/arm/arm-protos.h (arm_cpu_builtins): Declare. | |
28222 | (arm_register_target_pragmas): Likewise. | |
28223 | * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): | |
28224 | Call arm_register_target_pragmas. | |
28225 | * config/arm/arm-c.c (arm_register_target_pragmas): New function. | |
28226 | (arm_pragma_target_parse): Likewise. | |
28227 | ||
28228 | 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org> | |
28229 | ||
28230 | * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative | |
28231 | of the second operand. | |
28232 | ||
28233 | 2015-06-10 Uros Bizjak <ubizjak@gmail.com> | |
28234 | ||
28235 | PR target/66473 | |
28236 | * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode | |
28237 | to prepare mask operand for AVX512 modes. | |
28238 | ||
28239 | 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com> | |
28240 | ||
28241 | PR target/66474 | |
28242 | * doc/md.texi (Machine Constraints): Document that on the PowerPC | |
28243 | if you use a constraint that targets a VSX register, you must use | |
28244 | %x<n> in the template. | |
28245 | ||
28246 | 2015-06-10 Max Filippov <jcmvbkbc@gmail.com> | |
28247 | ||
28248 | * config/xtensa/xtensa.h (TARGET_DEBUG): New definition. | |
28249 | * config/xtensa/xtensa.md (define_attr "type"): New type "trap". | |
28250 | (define_insn "trap"): New definition. | |
28251 | ||
28252 | 2015-06-10 Richard Biener <rguenther@suse.de> | |
28253 | ||
28254 | * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split | |
28255 | out from ... | |
28256 | (vect_supported_load_permutation_p): ... here. Handle | |
28257 | supportable permutations in reductions. | |
28258 | * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations | |
28259 | for vectorizing strided group loads. | |
28260 | ||
28261 | 2015-06-10 Jakub Jelinek <jakub@redhat.com> | |
28262 | ||
28263 | PR target/66470 | |
28264 | * config/i386/i386.c (ix86_split_long_move): For collisions | |
28265 | involving direct tls segment refs, move the UNSPEC_TP possibly | |
28266 | wrapped in ZERO_EXTEND out of the address for lea, to each of | |
28267 | the memory loads. | |
28268 | ||
28269 | 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
28270 | ||
28271 | * config/arm/sync.md (*memory_barrier): Use dmb ish instead of | |
28272 | dmb sy. Adjust tabs. | |
28273 | ||
28274 | 2015-06-10 Tom de Vries <tom@codesourcery.com> | |
28275 | ||
28276 | * omp-low.c (expand_omp_target): Remove duplicate declaration of node. | |
28277 | ||
28278 | 2015-06-10 Martin Liska <mliska@suse.cz> | |
28279 | ||
28280 | PR bootstrap/66471 | |
28281 | * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for | |
28282 | all enum values in mem_alloc_origin. | |
28283 | * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum | |
28284 | name. | |
28285 | * alloc-pool.h (pool_allocator::pool_allocator): Likewise. | |
28286 | * bitmap.c (bitmap_register): Likewise. | |
28287 | (dump_bitmap_statistics): Likewise. | |
28288 | * ggc-common.c (dump_ggc_loc_statistics): Likewise. | |
28289 | (ggc_record_overhead): Likewise. | |
28290 | * hash-map.h: Likewise. | |
28291 | * hash-set.h: Likewise. | |
28292 | * hash-table.c (void dump_hash_table_loc_statistics): Likewise. | |
28293 | * hash-table.h: Likewise. | |
28294 | * vec.c (vec_prefix::register_overhead): Likewise. | |
28295 | (vec_prefix::release_overhead): Likewise. | |
28296 | (dump_vec_loc_statistics): Likewise. | |
28297 | ||
28298 | 2015-06-09 Christian Bruel <christian.bruel@st.com> | |
28299 | ||
28300 | PR target/52144 | |
28301 | * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save. | |
28302 | * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare. | |
28303 | (arm_reset_previous_fndecl, arm_change_mode_p): Likewise. | |
28304 | * config/arm/arm.h (SWITCHABLE_TARGET): Define. | |
28305 | * config/arm/arm.c (arm_reset_previous_fndecl): New functions. | |
28306 | (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise. | |
28307 | (arm_valid_target_attribute_p): Likewise. | |
28308 | (arm_set_current_function, arm_can_inline_p): Likewise. | |
28309 | (arm_valid_target_attribute_rec): Likewise. | |
28310 | (arm_previous_fndecl): New variable. | |
28311 | (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define. | |
28312 | (TARGET_CAN_INLINE_P): Define. | |
28313 | (arm_asm_trampoline_template): Emit mode. | |
28314 | (arm_file_start): Don't set unified syntax. | |
28315 | (arm_declare_function_name): Set unified syntax and mode. | |
28316 | (arm_option_override): Init target_option_default_node. | |
28317 | and target_option_current_node. | |
28318 | * config/arm/arm.md (*call_value_symbol): Set mode when possible. | |
28319 | (*call_symbol): Likewise. | |
28320 | * doc/extend.texi: Document ARM/Thumb target attribute. | |
28321 | * doc/invoke.texi: Likewise. | |
28322 | ||
28323 | 2015-06-09 Alexandre Oliva <aoliva@redhat.com> | |
28324 | ||
28325 | Revert: | |
28326 | 2015-06-09 Alexandre Oliva <aoliva@redhat.com> | |
28327 | PR rtl-optimization/64164 | |
28328 | * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. | |
28329 | * tree-ssa-copyrename.c: Removed. | |
28330 | * opts.c (default_options_table): Drop -ftree-copyrename. Add | |
28331 | -ftree-coalesce-vars. | |
28332 | * passes.def: Drop all occurrences of pass_rename_ssa_copies. | |
28333 | * common.opt (ftree-copyrename): Ignore. | |
28334 | (ftree-coalesce-inlined-vars): Likewise. | |
28335 | * doc/invoke.texi: Remove the ignored options above. | |
28336 | * gimple-expr.h (gimple_can_coalesce_p): Move declaration | |
28337 | * tree-ssa-coalesce.h: ... here. | |
28338 | * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other | |
28339 | headers required by it. | |
28340 | * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing | |
28341 | across variables when flag_tree_coalesce_vars. Check register | |
28342 | use and promoted modes to allow coalescing. Moved to | |
28343 | tree-ssa-coalesce.c. | |
28344 | * tree-ssa-live.c (struct tree_int_map_hasher): Move along | |
28345 | with its member functions to tree-ssa-coalesce.c. | |
28346 | (var_map_base_init): Likewise. Renamed to | |
28347 | compute_samebase_partition_bases. | |
28348 | (partition_view_normal): Drop want_bases parameter. | |
28349 | (partition_view_bitmap): Likewise. | |
28350 | * tree-ssa-live.h: Adjust declarations. | |
28351 | * tree-ssa-coalesce.c: Include explow.h. | |
28352 | (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's | |
28353 | default defs at the entry point. | |
28354 | (dump_part_var_map): New. | |
28355 | (compute_optimized_partition_bases): New, called by... | |
28356 | (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead | |
28357 | of compute_samebase_partition_bases. Adjust. | |
28358 | * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. | |
28359 | * cfgexpand.c (leader_merge): New. | |
28360 | (get_rtl_for_parm_ssa_default_def): New. | |
28361 | (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA | |
28362 | vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. | |
28363 | (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop | |
28364 | redundant MEM attr setting. | |
28365 | (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed | |
28366 | from... | |
28367 | (expand_one_stack_var): ... this. New wrapper to check and | |
28368 | skip already expanded SSA partitions. | |
28369 | (record_alignment_for_reg_var): New, factored out of... | |
28370 | (expand_one_var): ... this. | |
28371 | (expand_one_ssa_partition): New. | |
28372 | (adjust_one_expanded_partition_var): New. | |
28373 | (expand_one_register_var): Check and skip already expanded SSA | |
28374 | partitions. | |
28375 | (expand_used_vars): Don't create DECLs for anonymous SSA | |
28376 | names. Expand all SSA partitions, then adjust all SSA names. | |
28377 | (pass::execute): Replace the loops that set | |
28378 | SA.partition_to_pseudo from partition leaders and cleared | |
28379 | DECL_RTL for multi-location variables, and that which used to | |
28380 | rename vars and set attrs, with one that clears DECL_RTL and | |
28381 | checks that PARMs and RESULTs default_defs match DECL_RTL. | |
28382 | * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. | |
28383 | * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. | |
28384 | * explow.c (promote_ssa_mode): New. | |
28385 | * explow.h (promote_ssa_mode): Declare. | |
28386 | * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. | |
28387 | * function.c: Include cfgexpand.h. | |
28388 | (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. | |
28389 | (use_register_for_parm_decl): Wrapper for the above to | |
28390 | special-case the result_ptr. | |
28391 | (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. | |
28392 | (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with | |
28393 | multiple locations. | |
28394 | (assign_parm_adjust_stack_rtl): Add all and parm arguments, | |
28395 | for rtl_for_parm. For SSA-assigned parms, zero stack_parm. | |
28396 | (assign_parm_setup_block): Prefer SSA-assigned location. | |
28397 | (assign_parm_setup_reg): Likewise. Use entry_parm for equiv | |
28398 | if stack_parm is NULL. | |
28399 | (assign_parm_setup_stack): Prefer SSA-assigned location. | |
28400 | (assign_parms): Maybe reset DECL_RTL of params. Adjust stack | |
28401 | rtl before testing for pointer bounds. Special-case result_ptr. | |
28402 | (expand_function_start): Maybe reset DECL_RTL of result. | |
28403 | Prefer SSA-assigned location for result and static chain. | |
28404 | Factor out DECL_RESULT and SET_DECL_RTL. | |
28405 | * tree-outof-ssa.c (insert_value_copy_on_edge): Handle | |
28406 | anonymous SSA names. Use promote_ssa_mode. | |
28407 | (get_temp_reg): Likewise. | |
28408 | (remove_ssa_form): Adjust. | |
28409 | * var-tracking.c (dataflow_set_clear_at_call): Take call_insn | |
28410 | and get its reg_usage for reg invalidation. | |
28411 | (compute_bb_dataflow): Pass it insn. | |
28412 | (emit_notes_in_bb): Likewise. | |
28413 | * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't | |
28414 | fail assert on conversion between unsigned types. | |
28415 | ||
28416 | 2015-06-09 Tom de Vries <tom@codesourcery.com> | |
28417 | ||
28418 | PR tree-optimization/65460 | |
28419 | * omp-low.c (expand_omp_target): Set parallelized_function on | |
28420 | cgraph_node for child_fn. | |
28421 | ||
28422 | 2015-06-09 Tom de Vries <tom@codesourcery.com> | |
28423 | ||
28424 | * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function | |
28425 | parallelized_function before add_new_function. | |
28426 | ||
28427 | 2015-06-09 Andrew MacLeod <amacleod@redhat.com> | |
28428 | ||
28429 | * gcc-plugin.h: Move decls to plugin.h and include it. | |
28430 | * plugin.h: Relocate decls from gcc-plugin.h | |
28431 | * ggc-page.c: Include required header files. | |
28432 | * passes.c: Likewise. | |
28433 | * cgraphunit.c: Likewise. | |
28434 | ||
28435 | 2015-06-09 Tom de Vries <tom@codesourcery.com> | |
28436 | ||
28437 | * tree-stdarg.c (expand_ifn_va_arg_1): Handle location. | |
28438 | ||
28439 | 2015-06-09 Jason Merrill <jason@redhat.com> | |
28440 | ||
28441 | PR bootstrap/66448 | |
28442 | * toplev.c (check_global_declaration): Don't warn about a clone. | |
28443 | ||
28444 | 2015-06-09 Marek Polacek <polacek@redhat.com> | |
28445 | ||
28446 | PR tree-optimization/66299 | |
28447 | * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1) | |
28448 | ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New | |
28449 | patterns. | |
28450 | ||
28451 | 2015-06-09 Richard Biener <rguenther@suse.de> | |
28452 | ||
28453 | * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps. | |
28454 | (vect_analyze_slp_instance): Instead do not falsely drop | |
28455 | load permutations. | |
28456 | ||
28457 | 2015-06-09 Richard Biener <rguenther@suse.de> | |
28458 | ||
28459 | PR middle-end/66423 | |
28460 | * match.pd: Handle A % (unsigned)(1 << B). | |
28461 | ||
28462 | 2015-06-09 Aldy Hernandez <aldyh@redhat.com> | |
28463 | ||
28464 | * varasm.c (output_object_block_htab): Remove. | |
28465 | (output_object_block_compare): New. | |
28466 | (output_object_blocks): Sort named object_blocks before outputting | |
28467 | them. | |
28468 | ||
28469 | 2015-06-09 Richard Biener <rguenther@suse.de> | |
28470 | ||
28471 | PR tree-optimization/66419 | |
28472 | * tree-vect-slp.c (vect_supported_load_permutation_p): Properly | |
28473 | consider GROUP_GAP when detecting a perfect subchain. | |
28474 | ||
28475 | 2015-06-09 Nick Clifton <nickc@redhat.com> | |
28476 | ||
28477 | * config/rl78/rl78.c (rl78_select_section): When -mes0 is active | |
28478 | place read only data in the .frodata section. | |
28479 | ||
28480 | 2015-06-09 Shiva Chen <shiva0217@gmail.com> | |
28481 | ||
28482 | * sync.md (atomic_load<mode>): Add conditional code for lda/ldr | |
28483 | (atomic_store<mode>): Likewise. | |
28484 | ||
28485 | 2015-06-09 Richard Biener <rguenther@suse.de> | |
28486 | ||
28487 | * cfgloop.c (get_loop_body_in_bfs_order): Fix assert. | |
28488 | ||
28489 | 2015-06-09 Richard Biener <rguenther@suse.de> | |
28490 | ||
28491 | PR middle-end/66413 | |
28492 | * tree-inline.c (insert_init_debug_bind): Unshare value. | |
28493 | ||
28494 | 2015-06-09 Richard Biener <rguenther@suse.de> | |
28495 | ||
28496 | PR tree-optimization/66396 | |
28497 | * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl): | |
28498 | Rename virtual operands. | |
28499 | ||
28500 | 2015-06-09 Tom de Vries <tom@codesourcery.com> | |
28501 | ||
28502 | * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't | |
28503 | always return false. | |
28504 | ||
28505 | 2015-06-09 Alexandre Oliva <aoliva@redhat.com> | |
28506 | ||
28507 | PR rtl-optimization/64164 | |
28508 | * Makefile.in (OBJS): Drop tree-ssa-copyrename.o. | |
28509 | * tree-ssa-copyrename.c: Removed. | |
28510 | * opts.c (default_options_table): Drop -ftree-copyrename. Add | |
28511 | -ftree-coalesce-vars. | |
28512 | * passes.def: Drop all occurrences of pass_rename_ssa_copies. | |
28513 | * common.opt (ftree-copyrename): Ignore. | |
28514 | (ftree-coalesce-inlined-vars): Likewise. | |
28515 | * doc/invoke.texi: Remove the ignored options above. | |
28516 | * gimple-expr.h (gimple_can_coalesce_p): Move declaration | |
28517 | * tree-ssa-coalesce.h: ... here. | |
28518 | * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other | |
28519 | headers required by it. | |
28520 | * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing | |
28521 | across variables when flag_tree_coalesce_vars. Check register | |
28522 | use and promoted modes to allow coalescing. Moved to | |
28523 | tree-ssa-coalesce.c. | |
28524 | * tree-ssa-live.c (struct tree_int_map_hasher): Move along | |
28525 | with its member functions to tree-ssa-coalesce.c. | |
28526 | (var_map_base_init): Likewise. Renamed to | |
28527 | compute_samebase_partition_bases. | |
28528 | (partition_view_normal): Drop want_bases parameter. | |
28529 | (partition_view_bitmap): Likewise. | |
28530 | * tree-ssa-live.h: Adjust declarations. | |
28531 | * tree-ssa-coalesce.c: Include explow.h. | |
28532 | (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's | |
28533 | default defs at the entry point. | |
28534 | (dump_part_var_map): New. | |
28535 | (compute_optimized_partition_bases): New, called by... | |
28536 | (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead | |
28537 | of compute_samebase_partition_bases. Adjust. | |
28538 | * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs. | |
28539 | * cfgexpand.c (leader_merge): New. | |
28540 | (get_rtl_for_parm_ssa_default_def): New. | |
28541 | (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA | |
28542 | vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too. | |
28543 | (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop | |
28544 | redundant MEM attr setting. | |
28545 | (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed | |
28546 | from... | |
28547 | (expand_one_stack_var): ... this. New wrapper to check and | |
28548 | skip already expanded SSA partitions. | |
28549 | (record_alignment_for_reg_var): New, factored out of... | |
28550 | (expand_one_var): ... this. | |
28551 | (expand_one_ssa_partition): New. | |
28552 | (adjust_one_expanded_partition_var): New. | |
28553 | (expand_one_register_var): Check and skip already expanded SSA | |
28554 | partitions. | |
28555 | (expand_used_vars): Don't create DECLs for anonymous SSA | |
28556 | names. Expand all SSA partitions, then adjust all SSA names. | |
28557 | (pass::execute): Replace the loops that set | |
28558 | SA.partition_to_pseudo from partition leaders and cleared | |
28559 | DECL_RTL for multi-location variables, and that which used to | |
28560 | rename vars and set attrs, with one that clears DECL_RTL and | |
28561 | checks that PARMs and RESULTs default_defs match DECL_RTL. | |
28562 | * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare. | |
28563 | * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl. | |
28564 | * explow.c (promote_ssa_mode): New. | |
28565 | * explow.h (promote_ssa_mode): Declare. | |
28566 | * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs. | |
28567 | * function.c: Include cfgexpand.h. | |
28568 | (use_register_for_decl): Handle SSA_NAMEs, anonymous or not. | |
28569 | (use_register_for_parm_decl): Wrapper for the above to | |
28570 | special-case the result_ptr. | |
28571 | (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def. | |
28572 | (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with | |
28573 | multiple locations. | |
28574 | (assign_parm_adjust_stack_rtl): Add all and parm arguments, | |
28575 | for rtl_for_parm. For SSA-assigned parms, zero stack_parm. | |
28576 | (assign_parm_setup_block): Prefer SSA-assigned location. | |
28577 | (assign_parm_setup_reg): Likewise. Use entry_parm for equiv | |
28578 | if stack_parm is NULL. | |
28579 | (assign_parm_setup_stack): Prefer SSA-assigned location. | |
28580 | (assign_parms): Maybe reset DECL_RTL of params. Adjust stack | |
28581 | rtl before testing for pointer bounds. Special-case result_ptr. | |
28582 | (expand_function_start): Maybe reset DECL_RTL of result. | |
28583 | Prefer SSA-assigned location for result and static chain. | |
28584 | Factor out DECL_RESULT and SET_DECL_RTL. | |
28585 | * tree-outof-ssa.c (insert_value_copy_on_edge): Handle | |
28586 | anonymous SSA names. Use promote_ssa_mode. | |
28587 | (get_temp_reg): Likewise. | |
28588 | (remove_ssa_form): Adjust. | |
28589 | * var-tracking.c (dataflow_set_clear_at_call): Take call_insn | |
28590 | and get its reg_usage for reg invalidation. | |
28591 | (compute_bb_dataflow): Pass it insn. | |
28592 | (emit_notes_in_bb): Likewise. | |
28593 | * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't | |
28594 | fail assert on conversion between unsigned types. | |
28595 | ||
28596 | 2015-06-09 Alexandre Oliva <aoliva@redhat.com> | |
28597 | ||
28598 | PR debug/58315 | |
28599 | * tree-inline.c (reset_debug_binding): New. | |
28600 | (reset_debug_bindings): Likewise. | |
28601 | (expand_call_inline): Call it. | |
28602 | ||
28603 | 2015-06-08 Jan Hubicka <hubicka@ucw.cz> | |
28604 | ||
28605 | * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of | |
28606 | TYPE_STRING_FLAG. | |
28607 | ||
28608 | 2015-06-08 Jan Hubicka <hubicka@ucw.cz> | |
28609 | ||
28610 | * lto-streamer-out.c (lto_output_location): Stream | |
28611 | reserved locations correctly. | |
28612 | * lto-streamer-in.c (lto_output_location): Likewise. | |
28613 | ||
28614 | 2015-06-08 Andrew MacLeod <amacleod@redhat.com> | |
28615 | ||
28616 | * coretypes.h: Include hash-table.h and hash-set.h for host files. | |
28617 | * ggc.h: Don't include statistics.h> | |
28618 | * hash-map.h: Remove all includes. | |
28619 | * hash-set.h: Likewise. | |
28620 | * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to | |
28621 | the include list. Remove <new>. | |
28622 | * inchash.h: Remove all includes. | |
28623 | * mem-stats.h: Likewise. | |
28624 | * vec.h: No special processing for generators or ggc. | |
28625 | * alias.c : Adjust include files. | |
28626 | * alloc-pool.c : Likewise. | |
28627 | * alloc-pool.h : Likewise. | |
28628 | * asan.c : Likewise. | |
28629 | * attribs.c : Likewise. | |
28630 | * auto-inc-dec.c : Likewise. | |
28631 | * auto-profile.c : Likewise. | |
28632 | * bb-reorder.c : Likewise. | |
28633 | * bitmap.c : Likewise. | |
28634 | * bitmap.h : Likewise. | |
28635 | * bt-load.c : Likewise. | |
28636 | * builtins.c : Likewise. | |
28637 | * caller-save.c : Likewise. | |
28638 | * calls.c : Likewise. | |
28639 | * ccmp.c : Likewise. | |
28640 | * cfg.c : Likewise. | |
28641 | * cfganal.c : Likewise. | |
28642 | * cfgbuild.c : Likewise. | |
28643 | * cfgcleanup.c : Likewise. | |
28644 | * cfgexpand.c : Likewise. | |
28645 | * cfghooks.c : Likewise. | |
28646 | * cfgloop.c : Likewise. | |
28647 | * cfgloop.h : Likewise. | |
28648 | * cfgloopanal.c : Likewise. | |
28649 | * cfgloopmanip.c : Likewise. | |
28650 | * cfgrtl.c : Likewise. | |
28651 | * cgraph.c : Likewise. | |
28652 | * cgraphbuild.c : Likewise. | |
28653 | * cgraphclones.c : Likewise. | |
28654 | * cgraphunit.c : Likewise. | |
28655 | * cilk-common.c : Likewise. | |
28656 | * combine-stack-adj.c : Likewise. | |
28657 | * combine.c : Likewise. | |
28658 | * compare-elim.c : Likewise. | |
28659 | * context.c : Likewise. | |
28660 | * convert.c : Likewise. | |
28661 | * coverage.c : Likewise. | |
28662 | * cppbuiltin.c : Likewise. | |
28663 | * cprop.c : Likewise. | |
28664 | * cse.c : Likewise. | |
28665 | * cselib.c : Likewise. | |
28666 | * data-streamer-in.c : Likewise. | |
28667 | * data-streamer-out.c : Likewise. | |
28668 | * data-streamer.c : Likewise. | |
28669 | * data-streamer.h : Likewise. | |
28670 | * dbxout.c : Likewise. | |
28671 | * dce.c : Likewise. | |
28672 | * ddg.c : Likewise. | |
28673 | * debug.c : Likewise. | |
28674 | * df-core.c : Likewise. | |
28675 | * df-problems.c : Likewise. | |
28676 | * df-scan.c : Likewise. | |
28677 | * df.h : Likewise. | |
28678 | * dfp.c : Likewise. | |
28679 | * dojump.c : Likewise. | |
28680 | * dominance.c : Likewise. | |
28681 | * domwalk.c : Likewise. | |
28682 | * double-int.c : Likewise. | |
28683 | * dse.c : Likewise. | |
28684 | * dumpfile.c : Likewise. | |
28685 | * dwarf2asm.c : Likewise. | |
28686 | * dwarf2cfi.c : Likewise. | |
28687 | * dwarf2out.c : Likewise. | |
28688 | * emit-rtl.c : Likewise. | |
28689 | * et-forest.c : Likewise. | |
28690 | * except.c : Likewise. | |
28691 | * except.h : Likewise. | |
28692 | * explow.c : Likewise. | |
28693 | * expmed.c : Likewise. | |
28694 | * expr.c : Likewise. | |
28695 | * final.c : Likewise. | |
28696 | * fixed-value.c : Likewise. | |
28697 | * fold-const.c : Likewise. | |
28698 | * function.c : Likewise. | |
28699 | * fwprop.c : Likewise. | |
28700 | * gcc-plugin.h : Likewise. | |
28701 | * gcc.c : Likewise. | |
28702 | * gcse-common.c : Likewise. | |
28703 | * gcse.c : Likewise. | |
28704 | * genattrtab.c : Likewise. | |
28705 | * genautomata.c : Likewise. | |
28706 | * genconditions.c : Likewise. | |
28707 | * genemit.c : Likewise. | |
28708 | * generic-match-head.c : Likewise. | |
28709 | * genextract.c : Likewise. | |
28710 | * gengtype-state.c : Likewise. | |
28711 | * gengtype.c : Likewise. | |
28712 | * genhooks.c : Likewise. | |
28713 | * genmatch.c : Likewise. | |
28714 | * genmodes.c : Likewise. | |
28715 | * genrecog.c : Likewise. | |
28716 | * gensupport.c : Likewise. | |
28717 | * ggc-common.c : Likewise. | |
28718 | * ggc-internal.h : Likewise. | |
28719 | * ggc-none.c : Likewise. | |
28720 | * ggc-page.c : Likewise. | |
28721 | * gimple-builder.c : Likewise. | |
28722 | * gimple-expr.c : Likewise. | |
28723 | * gimple-fold.c : Likewise. | |
28724 | * gimple-iterator.c : Likewise. | |
28725 | * gimple-low.c : Likewise. | |
28726 | * gimple-match-head.c : Likewise. | |
28727 | * gimple-pretty-print.c : Likewise. | |
28728 | * gimple-ssa-isolate-paths.c : Likewise. | |
28729 | * gimple-ssa-strength-reduction.c : Likewise. | |
28730 | * gimple-ssa.h : Likewise. | |
28731 | * gimple-streamer-in.c : Likewise. | |
28732 | * gimple-streamer-out.c : Likewise. | |
28733 | * gimple-streamer.h : Likewise. | |
28734 | * gimple-walk.c : Likewise. | |
28735 | * gimple.c : Likewise. | |
28736 | * gimplify-me.c : Likewise. | |
28737 | * gimplify.c : Likewise. | |
28738 | * godump.c : Likewise. | |
28739 | * graph.c : Likewise. | |
28740 | * graphds.c : Likewise. | |
28741 | * graphite-blocking.c : Likewise. | |
28742 | * graphite-dependences.c : Likewise. | |
28743 | * graphite-interchange.c : Likewise. | |
28744 | * graphite-isl-ast-to-gimple.c : Likewise. | |
28745 | * graphite-optimize-isl.c : Likewise. | |
28746 | * graphite-poly.c : Likewise. | |
28747 | * graphite-scop-detection.c : Likewise. | |
28748 | * graphite-sese-to-poly.c : Likewise. | |
28749 | * graphite.c : Likewise. | |
28750 | * haifa-sched.c : Likewise. | |
28751 | * hard-reg-set.h : Likewise. | |
28752 | * hw-doloop.c : Likewise. | |
28753 | * ifcvt.c : Likewise. | |
28754 | * inchash.c : Likewise. | |
28755 | * incpath.c : Likewise. | |
28756 | * init-regs.c : Likewise. | |
28757 | * input.c : Likewise. | |
28758 | * internal-fn.c : Likewise. | |
28759 | * ipa-chkp.c : Likewise. | |
28760 | * ipa-comdats.c : Likewise. | |
28761 | * ipa-cp.c : Likewise. | |
28762 | * ipa-devirt.c : Likewise. | |
28763 | * ipa-icf-gimple.c : Likewise. | |
28764 | * ipa-icf.c : Likewise. | |
28765 | * ipa-inline-analysis.c : Likewise. | |
28766 | * ipa-inline-transform.c : Likewise. | |
28767 | * ipa-inline.c : Likewise. | |
28768 | * ipa-polymorphic-call.c : Likewise. | |
28769 | * ipa-profile.c : Likewise. | |
28770 | * ipa-prop.c : Likewise. | |
28771 | * ipa-pure-const.c : Likewise. | |
28772 | * ipa-ref.c : Likewise. | |
28773 | * ipa-reference.c : Likewise. | |
28774 | * ipa-split.c : Likewise. | |
28775 | * ipa-utils.c : Likewise. | |
28776 | * ipa-visibility.c : Likewise. | |
28777 | * ipa.c : Likewise. | |
28778 | * ira-build.c : Likewise. | |
28779 | * ira-color.c : Likewise. | |
28780 | * ira-conflicts.c : Likewise. | |
28781 | * ira-costs.c : Likewise. | |
28782 | * ira-emit.c : Likewise. | |
28783 | * ira-lives.c : Likewise. | |
28784 | * ira.c : Likewise. | |
28785 | * jump.c : Likewise. | |
28786 | * langhooks.c : Likewise. | |
28787 | * lcm.c : Likewise. | |
28788 | * libfuncs.h : Likewise. | |
28789 | * lists.c : Likewise. | |
28790 | * loop-doloop.c : Likewise. | |
28791 | * loop-init.c : Likewise. | |
28792 | * loop-invariant.c : Likewise. | |
28793 | * loop-iv.c : Likewise. | |
28794 | * loop-unroll.c : Likewise. | |
28795 | * lower-subreg.c : Likewise. | |
28796 | * lra-assigns.c : Likewise. | |
28797 | * lra-coalesce.c : Likewise. | |
28798 | * lra-constraints.c : Likewise. | |
28799 | * lra-eliminations.c : Likewise. | |
28800 | * lra-lives.c : Likewise. | |
28801 | * lra-remat.c : Likewise. | |
28802 | * lra-spills.c : Likewise. | |
28803 | * lra.c : Likewise. | |
28804 | * lto-cgraph.c : Likewise. | |
28805 | * lto-compress.c : Likewise. | |
28806 | * lto-opts.c : Likewise. | |
28807 | * lto-section-in.c : Likewise. | |
28808 | * lto-section-out.c : Likewise. | |
28809 | * lto-streamer-in.c : Likewise. | |
28810 | * lto-streamer-out.c : Likewise. | |
28811 | * lto-streamer.c : Likewise. | |
28812 | * lto-streamer.h : Likewise. | |
28813 | * mcf.c : Likewise. | |
28814 | * mode-switching.c : Likewise. | |
28815 | * modulo-sched.c : Likewise. | |
28816 | * omega.c : Likewise. | |
28817 | * omp-low.c : Likewise. | |
28818 | * optabs.c : Likewise. | |
28819 | * opts-global.c : Likewise. | |
28820 | * opts.h : Likewise. | |
28821 | * passes.c : Likewise. | |
28822 | * plugin.c : Likewise. | |
28823 | * postreload-gcse.c : Likewise. | |
28824 | * postreload.c : Likewise. | |
28825 | * predict.c : Likewise. | |
28826 | * print-rtl.c : Likewise. | |
28827 | * print-tree.c : Likewise. | |
28828 | * profile.c : Likewise. | |
28829 | * read-md.c : Likewise. | |
28830 | * read-md.h : Likewise. | |
28831 | * read-rtl.c : Likewise. | |
28832 | * real.c : Likewise. | |
28833 | * realmpfr.c : Likewise. | |
28834 | * recog.c : Likewise. | |
28835 | * ree.c : Likewise. | |
28836 | * reg-stack.c : Likewise. | |
28837 | * regcprop.c : Likewise. | |
28838 | * reginfo.c : Likewise. | |
28839 | * regrename.c : Likewise. | |
28840 | * regstat.c : Likewise. | |
28841 | * reload.c : Likewise. | |
28842 | * reload1.c : Likewise. | |
28843 | * reorg.c : Likewise. | |
28844 | * resource.c : Likewise. | |
28845 | * rtl-chkp.c : Likewise. | |
28846 | * rtl.c : Likewise. | |
28847 | * rtl.h : Likewise. | |
28848 | * rtlanal.c : Likewise. | |
28849 | * rtlhash.c : Likewise. | |
28850 | * rtlhash.h : Likewise. | |
28851 | * rtlhooks.c : Likewise. | |
28852 | * sanopt.c : Likewise. | |
28853 | * sched-deps.c : Likewise. | |
28854 | * sched-ebb.c : Likewise. | |
28855 | * sched-rgn.c : Likewise. | |
28856 | * sched-vis.c : Likewise. | |
28857 | * sdbout.c : Likewise. | |
28858 | * sel-sched-dump.c : Likewise. | |
28859 | * sel-sched-ir.c : Likewise. | |
28860 | * sel-sched-ir.h : Likewise. | |
28861 | * sel-sched.c : Likewise. | |
28862 | * sese.c : Likewise. | |
28863 | * shrink-wrap.c : Likewise. | |
28864 | * shrink-wrap.h : Likewise. | |
28865 | * simplify-rtx.c : Likewise. | |
28866 | * stack-ptr-mod.c : Likewise. | |
28867 | * statistics.c : Likewise. | |
28868 | * stmt.c : Likewise. | |
28869 | * stor-layout.c : Likewise. | |
28870 | * store-motion.c : Likewise. | |
28871 | * stringpool.c : Likewise. | |
28872 | * symtab.c : Likewise. | |
28873 | * target-globals.c : Likewise. | |
28874 | * targhooks.c : Likewise. | |
28875 | * tlink.c : Likewise. | |
28876 | * toplev.c : Likewise. | |
28877 | * tracer.c : Likewise. | |
28878 | * trans-mem.c : Likewise. | |
28879 | * tree-affine.c : Likewise. | |
28880 | * tree-affine.h : Likewise. | |
28881 | * tree-browser.c : Likewise. | |
28882 | * tree-call-cdce.c : Likewise. | |
28883 | * tree-cfg.c : Likewise. | |
28884 | * tree-cfgcleanup.c : Likewise. | |
28885 | * tree-chkp-opt.c : Likewise. | |
28886 | * tree-chkp.c : Likewise. | |
28887 | * tree-chrec.c : Likewise. | |
28888 | * tree-complex.c : Likewise. | |
28889 | * tree-data-ref.c : Likewise. | |
28890 | * tree-dfa.c : Likewise. | |
28891 | * tree-diagnostic.c : Likewise. | |
28892 | * tree-dump.c : Likewise. | |
28893 | * tree-eh.c : Likewise. | |
28894 | * tree-eh.h : Likewise. | |
28895 | * tree-emutls.c : Likewise. | |
28896 | * tree-hasher.h : Likewise. | |
28897 | * tree-if-conv.c : Likewise. | |
28898 | * tree-inline.c : Likewise. | |
28899 | * tree-inline.h : Likewise. | |
28900 | * tree-into-ssa.c : Likewise. | |
28901 | * tree-iterator.c : Likewise. | |
28902 | * tree-loop-distribution.c : Likewise. | |
28903 | * tree-nested.c : Likewise. | |
28904 | * tree-nrv.c : Likewise. | |
28905 | * tree-object-size.c : Likewise. | |
28906 | * tree-outof-ssa.c : Likewise. | |
28907 | * tree-parloops.c : Likewise. | |
28908 | * tree-phinodes.c : Likewise. | |
28909 | * tree-predcom.c : Likewise. | |
28910 | * tree-pretty-print.c : Likewise. | |
28911 | * tree-profile.c : Likewise. | |
28912 | * tree-scalar-evolution.c : Likewise. | |
28913 | * tree-sra.c : Likewise. | |
28914 | * tree-ssa-address.c : Likewise. | |
28915 | * tree-ssa-alias.c : Likewise. | |
28916 | * tree-ssa-ccp.c : Likewise. | |
28917 | * tree-ssa-coalesce.c : Likewise. | |
28918 | * tree-ssa-copy.c : Likewise. | |
28919 | * tree-ssa-copyrename.c : Likewise. | |
28920 | * tree-ssa-dce.c : Likewise. | |
28921 | * tree-ssa-dom.c : Likewise. | |
28922 | * tree-ssa-dse.c : Likewise. | |
28923 | * tree-ssa-forwprop.c : Likewise. | |
28924 | * tree-ssa-ifcombine.c : Likewise. | |
28925 | * tree-ssa-live.c : Likewise. | |
28926 | * tree-ssa-loop-ch.c : Likewise. | |
28927 | * tree-ssa-loop-im.c : Likewise. | |
28928 | * tree-ssa-loop-ivcanon.c : Likewise. | |
28929 | * tree-ssa-loop-ivopts.c : Likewise. | |
28930 | * tree-ssa-loop-manip.c : Likewise. | |
28931 | * tree-ssa-loop-niter.c : Likewise. | |
28932 | * tree-ssa-loop-prefetch.c : Likewise. | |
28933 | * tree-ssa-loop-unswitch.c : Likewise. | |
28934 | * tree-ssa-loop.c : Likewise. | |
28935 | * tree-ssa-math-opts.c : Likewise. | |
28936 | * tree-ssa-operands.c : Likewise. | |
28937 | * tree-ssa-phiopt.c : Likewise. | |
28938 | * tree-ssa-phiprop.c : Likewise. | |
28939 | * tree-ssa-pre.c : Likewise. | |
28940 | * tree-ssa-propagate.c : Likewise. | |
28941 | * tree-ssa-reassoc.c : Likewise. | |
28942 | * tree-ssa-sccvn.c : Likewise. | |
28943 | * tree-ssa-scopedtables.c : Likewise. | |
28944 | * tree-ssa-sink.c : Likewise. | |
28945 | * tree-ssa-strlen.c : Likewise. | |
28946 | * tree-ssa-structalias.c : Likewise. | |
28947 | * tree-ssa-tail-merge.c : Likewise. | |
28948 | * tree-ssa-ter.c : Likewise. | |
28949 | * tree-ssa-threadedge.c : Likewise. | |
28950 | * tree-ssa-threadupdate.c : Likewise. | |
28951 | * tree-ssa-uncprop.c : Likewise. | |
28952 | * tree-ssa-uninit.c : Likewise. | |
28953 | * tree-ssa.c : Likewise. | |
28954 | * tree-ssanames.c : Likewise. | |
28955 | * tree-stdarg.c : Likewise. | |
28956 | * tree-streamer-in.c : Likewise. | |
28957 | * tree-streamer-out.c : Likewise. | |
28958 | * tree-streamer.c : Likewise. | |
28959 | * tree-streamer.h : Likewise. | |
28960 | * tree-switch-conversion.c : Likewise. | |
28961 | * tree-tailcall.c : Likewise. | |
28962 | * tree-vect-data-refs.c : Likewise. | |
28963 | * tree-vect-generic.c : Likewise. | |
28964 | * tree-vect-loop-manip.c : Likewise. | |
28965 | * tree-vect-loop.c : Likewise. | |
28966 | * tree-vect-patterns.c : Likewise. | |
28967 | * tree-vect-slp.c : Likewise. | |
28968 | * tree-vect-stmts.c : Likewise. | |
28969 | * tree-vectorizer.c : Likewise. | |
28970 | * tree-vectorizer.h : Likewise. | |
28971 | * tree-vrp.c : Likewise. | |
28972 | * tree.c : Likewise. | |
28973 | * tsan.c : Likewise. | |
28974 | * ubsan.c : Likewise. | |
28975 | * valtrack.c : Likewise. | |
28976 | * valtrack.h : Likewise. | |
28977 | * value-prof.c : Likewise. | |
28978 | * var-tracking.c : Likewise. | |
28979 | * varasm.c : Likewise. | |
28980 | * varpool.c : Likewise. | |
28981 | * vec.c: Likewise. | |
28982 | * vmsdbgout.c : Likewise. | |
28983 | * vtable-verify.c : Likewise. | |
28984 | * vtable-verify.h : Likewise. | |
28985 | * web.c : Likewise. | |
28986 | * wide-int.cc : Likewise. | |
28987 | * xcoffout.c : Likewise. | |
28988 | * config/aarch64/aarch64-builtins.c : Likewise. | |
28989 | * config/aarch64/aarch64.c : Likewise. | |
28990 | * config/aarch64/cortex-a57-fma-steering.c : Likewise. | |
28991 | * config/alpha/alpha.c : Likewise. | |
28992 | * config/arc/arc.c : Likewise. | |
28993 | * config/arm/aarch-common.c : Likewise. | |
28994 | * config/arm/arm-builtins.c : Likewise. | |
28995 | * config/arm/arm-c.c : Likewise. | |
28996 | * config/arm/arm.c : Likewise. | |
28997 | * config/avr/avr-c.c : Likewise. | |
28998 | * config/avr/avr-log.c : Likewise. | |
28999 | * config/avr/avr.c : Likewise. | |
29000 | * config/bfin/bfin.c : Likewise. | |
29001 | * config/c6x/c6x.c : Likewise. | |
29002 | * config/cr16/cr16.c : Likewise. | |
29003 | * config/cris/cris.c : Likewise. | |
29004 | * config/darwin-c.c : Likewise. | |
29005 | * config/darwin.c : Likewise. | |
29006 | * config/default-c.c : Likewise. | |
29007 | * config/epiphany/epiphany.c : Likewise. | |
29008 | * config/epiphany/mode-switch-use.c : Likewise. | |
29009 | * config/epiphany/resolve-sw-modes.c : Likewise. | |
29010 | * config/fr30/fr30.c : Likewise. | |
29011 | * config/frv/frv.c : Likewise. | |
29012 | * config/ft32/ft32.c : Likewise. | |
29013 | * config/glibc-c.c : Likewise. | |
29014 | * config/h8300/h8300.c : Likewise. | |
29015 | * config/i386/i386-c.c : Likewise. | |
29016 | * config/i386/i386.c : Likewise. | |
29017 | * config/i386/msformat-c.c : Likewise. | |
29018 | * config/i386/winnt-cxx.c : Likewise. | |
29019 | * config/i386/winnt-stubs.c : Likewise. | |
29020 | * config/i386/winnt.c : Likewise. | |
29021 | * config/ia64/ia64-c.c : Likewise. | |
29022 | * config/ia64/ia64.c : Likewise. | |
29023 | * config/iq2000/iq2000.c : Likewise. | |
29024 | * config/lm32/lm32.c : Likewise. | |
29025 | * config/m32c/m32c-pragma.c : Likewise. | |
29026 | * config/m32c/m32c.c : Likewise. | |
29027 | * config/m32r/m32r.c : Likewise. | |
29028 | * config/m68k/m68k.c : Likewise. | |
29029 | * config/mcore/mcore.c : Likewise. | |
29030 | * config/mep/mep-pragma.c : Likewise. | |
29031 | * config/mep/mep.c : Likewise. | |
29032 | * config/microblaze/microblaze-c.c : Likewise. | |
29033 | * config/microblaze/microblaze.c : Likewise. | |
29034 | * config/mips/mips.c : Likewise. | |
29035 | * config/mmix/mmix.c : Likewise. | |
29036 | * config/mn10300/mn10300.c : Likewise. | |
29037 | * config/moxie/moxie.c : Likewise. | |
29038 | * config/msp430/msp430-c.c : Likewise. | |
29039 | * config/msp430/msp430.c : Likewise. | |
29040 | * config/nds32/nds32-cost.c : Likewise. | |
29041 | * config/nds32/nds32-fp-as-gp.c : Likewise. | |
29042 | * config/nds32/nds32-intrinsic.c : Likewise. | |
29043 | * config/nds32/nds32-isr.c : Likewise. | |
29044 | * config/nds32/nds32-md-auxiliary.c : Likewise. | |
29045 | * config/nds32/nds32-memory-manipulation.c : Likewise. | |
29046 | * config/nds32/nds32-pipelines-auxiliary.c : Likewise. | |
29047 | * config/nds32/nds32-predicates.c : Likewise. | |
29048 | * config/nds32/nds32.c : Likewise. | |
29049 | * config/nios2/nios2.c : Likewise. | |
29050 | * config/nvptx/nvptx.c : Likewise. | |
29051 | * config/pa/pa.c : Likewise. | |
29052 | * config/pdp11/pdp11.c : Likewise. | |
29053 | * config/rl78/rl78-c.c : Likewise. | |
29054 | * config/rl78/rl78.c : Likewise. | |
29055 | * config/rs6000/rs6000-c.c : Likewise. | |
29056 | * config/rs6000/rs6000.c : Likewise. | |
29057 | * config/rx/rx.c : Likewise. | |
29058 | * config/s390/s390-c.c : Likewise. | |
29059 | * config/s390/s390.c : Likewise. | |
29060 | * config/sh/sh-c.c : Likewise. | |
29061 | * config/sh/sh-mem.cc : Likewise. | |
29062 | * config/sh/sh.c : Likewise. | |
29063 | * config/sh/sh_optimize_sett_clrt.cc : Likewise. | |
29064 | * config/sh/sh_treg_combine.cc : Likewise. | |
29065 | * config/sol2-c.c : Likewise. | |
29066 | * config/sol2-cxx.c : Likewise. | |
29067 | * config/sol2-stubs.c : Likewise. | |
29068 | * config/sol2.c : Likewise. | |
29069 | * config/sparc/sparc-c.c : Likewise. | |
29070 | * config/sparc/sparc.c : Likewise. | |
29071 | * config/spu/spu-c.c : Likewise. | |
29072 | * config/spu/spu.c : Likewise. | |
29073 | * config/stormy16/stormy16.c : Likewise. | |
29074 | * config/tilegx/mul-tables.c : Likewise. | |
29075 | * config/tilegx/tilegx-c.c : Likewise. | |
29076 | * config/tilegx/tilegx.c : Likewise. | |
29077 | * config/tilepro/mul-tables.c : Likewise. | |
29078 | * config/tilepro/tilepro-c.c : Likewise. | |
29079 | * config/tilepro/tilepro.c : Likewise. | |
29080 | * config/v850/v850-c.c : Likewise. | |
29081 | * config/v850/v850.c : Likewise. | |
29082 | * config/vax/vax.c : Likewise. | |
29083 | * config/visium/visium.c : Likewise. | |
29084 | * config/vms/vms-c.c : Likewise. | |
29085 | * config/vms/vms.c : Likewise. | |
29086 | * config/vxworks.c : Likewise. | |
29087 | * config/winnt-c.c : Likewise. | |
29088 | * config/xtensa/xtensa.c : Likewise. | |
29089 | ||
29090 | 2015-06-08 Jan Hubicka <hubicka@ucw.cz> | |
29091 | ||
29092 | PR lto/65378 | |
29093 | * ipa-utils.h (warn_types_mismatch): Update prototype. | |
29094 | * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2 | |
29095 | parameters. | |
29096 | (type_mismatch_p): New function. | |
29097 | (warn_types_mismatch): Reorg to work better on non-C++ types. | |
29098 | (odr_types_equivalent_p): Add loc1/loc2 parameters. | |
29099 | (add_type_duplicate): Update. | |
29100 | ||
29101 | 2015-06-08 Tom de Vries <tom@codesourcery.com> | |
29102 | ||
29103 | PR rtl-optimization/66444 | |
29104 | * postreload.c (reload_combine): Use get_call_reg_set_usage instead of | |
29105 | call_used_regs. | |
29106 | ||
29107 | 2015-06-08 Richard Biener <rguenther@suse.de> | |
29108 | ||
29109 | PR tree-optimization/66422 | |
29110 | * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split | |
29111 | block after inserted gcc_unreachable. | |
29112 | ||
29113 | 2015-06-08 Nick Clifton <nickc@redhat.com> | |
29114 | ||
29115 | * config/rx/rx.c (rx_function_value): Do not promote vector types. | |
29116 | (rx_promote_function_mode): Likewise. | |
29117 | * config/rx/rx.h (LIBCALL_VALUE): Likewise. | |
29118 | ||
29119 | 2015-06-08 Jakub Jelinek <jakub@redhat.com> | |
29120 | ||
29121 | * genattrtab.c (insn_alternatives): Change type from int * | |
29122 | to uint64_t *. | |
29123 | (check_attr_test): Shift ((uint64_t) 1) instead of 1 up. | |
29124 | (get_attr_value): Change type of num_alt to uint64_t. | |
29125 | (compute_alternative_mask): Change return type from | |
29126 | int to uint64_t, shift ((uint64_t) 1) instead of 1 up. | |
29127 | (make_alternative_compare, mk_attr_alt): Change argument type | |
29128 | from int to uint64_t. | |
29129 | (simplify_test_exp): Change type of i from int to uint64_t. | |
29130 | Shift ((uint64_t) 1) instead of 1 up. | |
29131 | (main): Adjust oballocvec first argument from int to uint64_t. | |
29132 | Shift ((uint64_t) 1) instead of 1 up. | |
29133 | ||
29134 | 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com> | |
29135 | ||
29136 | PR other/65366 | |
29137 | * gdbhooks.py: Import sys. | |
29138 | (intptr): New function. Replace int(...) by intptr(...). | |
29139 | ||
29140 | 2015-06-08 Richard Biener <rguenther@suse.de> | |
29141 | ||
29142 | * tree-vect-stmts.c (vectorizable_load): Compute the pointer | |
29143 | adjustment for gaps at the end of a SLP load group properly. | |
29144 | * tree-vect-slp.c (vect_supported_load_permutation_p): Allow | |
29145 | all permutations we can generate. | |
29146 | (vect_transform_slp_perm_load): Use the correct group-size. | |
29147 | ||
29148 | 2015-06-08 Marc Glisse <marc.glisse@inria.fr> | |
29149 | ||
29150 | * genmatch.c (expr::gen_transform): For conditions, guess the type | |
29151 | from the second operand. | |
29152 | ||
29153 | 2015-06-08 Tom de Vries <tom@codesourcery.com> | |
29154 | ||
29155 | PR tree-optimization/66442 | |
29156 | * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function. | |
29157 | * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false | |
29158 | if the loop latch is not a singleton. Use | |
29159 | gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p. | |
29160 | ||
29161 | 2015-06-08 Marek Polacek <polacek@redhat.com> | |
29162 | ||
29163 | PR sanitizer/66452 | |
29164 | * toplev.c (check_global_declaration): Don't warn about artificial | |
29165 | decls. | |
29166 | ||
29167 | 2015-06-08 Tom de Vries <tom@codesourcery.com> | |
29168 | ||
29169 | PR tree-optimization/66436 | |
29170 | * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple | |
29171 | dump file. | |
29172 | * gimplify.c: Add tree-dump.h include. | |
29173 | (gimplify_function_tree): Dump function to gimple dump file. | |
29174 | * stor-layout.c (finalize_size_functions): Don't dump function to gimple | |
29175 | dump file. | |
29176 | ||
29177 | 2015-06-08 Tom de Vries <tom@codesourcery.com> | |
29178 | ||
29179 | PR tree-optimization/66435 | |
29180 | * cgraphunit.c (cgraph_node::add_new_function): Dump message on new | |
29181 | function. | |
29182 | ||
29183 | 2015-06-06 Jan Hubicka <hubicka@ucw.cz> | |
29184 | ||
29185 | * alias.c (get_alias_set): Be ready for TYPE_CANONICAL | |
29186 | of ptr_type_node to not be ptr_to_node. | |
29187 | * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of | |
29188 | TREE_TYPE of pointers. | |
29189 | * gimple-expr.c (useless_type_conversion): Reorder the check for | |
29190 | function pointers and TYPE_CANONICAL. | |
29191 | ||
29192 | 2015-06-06 John David Anglin <danglin@gcc.gnu.org> | |
29193 | ||
29194 | PR bootstrap/66319 | |
29195 | * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin | |
29196 | defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++. | |
29197 | Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or | |
29198 | later. | |
29199 | * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise. | |
29200 | Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901, | |
29201 | _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520, | |
29202 | _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++ | |
29203 | and non iso if unix2003. | |
29204 | ||
29205 | 2015-06-06 Aldy Hernandez <aldyh@redhat.com> | |
29206 | ||
29207 | * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die. | |
29208 | ||
29209 | 2015-06-06 Richard Sandiford <richard.sandiford@arm.com> | |
29210 | ||
29211 | * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c, | |
29212 | rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c, | |
29213 | cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c, | |
29214 | except.c, final.c, function.c, gcse-common.c, genemit.c, | |
29215 | haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c, | |
29216 | lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c, | |
29217 | sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c, | |
29218 | shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with | |
29219 | more derived ones. | |
29220 | ||
29221 | 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com> | |
29222 | ||
29223 | * combine.c (combine_split_insns): Remove cast. | |
29224 | * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call. | |
29225 | * config/sh/sh.c (sh_try_split_insn_simple): Remove cast. | |
29226 | * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast. | |
29227 | * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn. | |
29228 | * genemit.c (gen_split): Change return type of generated functions to | |
29229 | rtx_insn. | |
29230 | * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX. | |
29231 | (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and | |
29232 | gen_peephole2_* functions. | |
29233 | (print_subroutine, main): Likewise. | |
29234 | * recog.c (peephole2_optimize): Remove cast. | |
29235 | (peep2_next_insn): Promote return type to rtx_insn. | |
29236 | * recog.h (peep2_next_insn): Fix prototype. | |
29237 | * rtl.h (try_split, split_insns): Likewise. | |
29238 | ||
29239 | 2015-06-06 DJ Delorie <dj@redhat.com> | |
29240 | ||
29241 | * config/msp430/msp430.c (msp430_asm_integer): Support addition | |
29242 | and subtraction too. | |
29243 | ||
29244 | 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org> | |
29245 | ||
29246 | PR target/66410 | |
29247 | * config/sh/constraints.md (Sid, Ssd): New memory constraints. | |
29248 | * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives | |
29249 | instead of Snd. Disparage Sid/z alternative with '^'. | |
29250 | ||
29251 | 2015-06-05 Aldy Hernandez <aldyh@redhat.com> | |
29252 | ||
29253 | * dwarf2out.c: Remove deferred_locations*. | |
29254 | (dwarf2_debug_hooks): Add early_finish hook. | |
29255 | Remove global_decl hook. | |
29256 | Add early_global_decl and late_global_decl hook. | |
29257 | New global early_dwarf. | |
29258 | New structure set_early_dwarf. | |
29259 | (output_die): Indicate whether a DIE was generated early | |
29260 | when generating assembly with -dA. | |
29261 | (struct limbo_die_struct): Document created_for field. | |
29262 | Remove file_table_last_lookup. | |
29263 | (remove_AT): Return TRUE if successful. | |
29264 | (remove_child_TAG): Clear die_parent. | |
29265 | (reparent_child): New function abstracted from... | |
29266 | (splice_child_die): ...here. | |
29267 | (new_die): ICE if a DIE ends up in limbo too late. | |
29268 | (check_die): New. | |
29269 | (defer_location): Remove. | |
29270 | (add_subscript_info): Reuse DW_TAG_subrange_type if available. | |
29271 | (fill_variable_array_bounds): New. | |
29272 | (decl_start_label): Call fill_variable_array_bounds. | |
29273 | (gen_formal_parameter_die): Rewrite to reuse previously generated | |
29274 | DIEs. | |
29275 | (gen_subprogram_die): Same. | |
29276 | (gen_variable_die): Same. | |
29277 | (gen_const_die): Same. | |
29278 | (gen_label_die): Same. | |
29279 | (gen_lexical_block_die): Same. | |
29280 | (decl_will_get_specification_p): New. | |
29281 | (local_function_static): New. | |
29282 | (gen_struct_or_union_type_die): Fill in variable-length fields. | |
29283 | (gen_typedef_die): Fill in variable-length typedefs. | |
29284 | (gen_tagged_type_die): Gracefully return on error_mark_node. | |
29285 | Handle re-entrancy. | |
29286 | (gen_type_die_with_usage): Handle variable-length types. | |
29287 | Remove duplicate code for ARRAY_TYPE case. | |
29288 | (process_scope_var): Only process imported modules during early | |
29289 | dwarf. | |
29290 | (dwarf2out_early_global_decl): New. | |
29291 | (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl. | |
29292 | (dwarf2out_type_decl): Set early_dwarf while calling | |
29293 | dwarf2out_decl. | |
29294 | (dwarf2out_decl): Verify that we did not recreate a previously | |
29295 | generated DIE. | |
29296 | Do not return on DECL_EXTERNALs in VAR_DECLs. | |
29297 | Abstract some code to local_function_static. | |
29298 | (lookup_filename): Remove use of file_table_last_lookup. | |
29299 | Gracefully exit on missing file_name. | |
29300 | (dwarf2out_finish): Verify limbo list. | |
29301 | Remove deferred_locations_list use. | |
29302 | Move deferred_asm_name and limbo flushing to... | |
29303 | (dwarf2out_early_finish): ...here. New. | |
29304 | (dwarf2out_c_finalize): Remove set of deferred_location_list, | |
29305 | deferred_asm_name, and file_table_last_lookup. | |
29306 | * cgraph.h (referred_to_p): Add default argument. | |
29307 | * cgraphunit.c (referred_to_p): Add and handle include_self | |
29308 | argument. | |
29309 | (analyze_functions): Add first_time argument. | |
29310 | Call check_global_declaration for all symbols. | |
29311 | Call late_global_decl for nodes for moribund nodes. | |
29312 | (finalize_compilation_unit): Add new argument to | |
29313 | analyze_functions. | |
29314 | Call early_global_decl for functions. | |
29315 | Call early_finish debug hook. | |
29316 | * dbxout.c (dbxout_early_global_decl): New. | |
29317 | (dbxout_late_global_decl): New. Adapted from dbxout_global_decl. | |
29318 | (dbx_debug_hooks): Add new hooks. | |
29319 | (xcoff_debug_hooks): Same. | |
29320 | * debug.c (do_nothing_debug_hooks): Add early_finish field. | |
29321 | Add early and late debug hooks. | |
29322 | Remove global_decl hook. | |
29323 | * debug.h (struct gcc_debug_hooks): Add early_finish, | |
29324 | early_global_decl, and late_global_decl fields. | |
29325 | Remove global_decl field. | |
29326 | Document gcc_debug_hooks. | |
29327 | * gengtype.c (output_typename): Remove. | |
29328 | * godump.c (go_early_global_decl): New. | |
29329 | (go_late_global_decl): New. | |
29330 | (go_global_decl): Remove. | |
29331 | (dump_go_spec_init): Remove global_decl. Add | |
29332 | {early,late}_global_decl. | |
29333 | * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove. | |
29334 | (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New. | |
29335 | * langhooks.c (lhd_warn_unused_global_decl): Adjust comment. | |
29336 | (write_global_declarations): Remove. | |
29337 | (global_decl_processing): New. | |
29338 | * langhooks.h (struct lang_hooks_for_decls): Remove | |
29339 | final_write_globals field. | |
29340 | Add post_compilation_parsing_cleanups field. | |
29341 | * passes.c (rest_of_decl_compilation): Call early_global_decl. | |
29342 | * sdbout.c: Add early and late_global_decl hooks. Remove | |
29343 | sdbout_global_decl hook. | |
29344 | Add early_finish field for sdb_debug_hooks. | |
29345 | (sdbout_global_decl): Remove. | |
29346 | (sdbout_early_global_decl): New. | |
29347 | (sdbout_late_global_decl): New. | |
29348 | * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New. | |
29349 | * toplev.c (check_global_declaration): Rename from | |
29350 | check_global_declaration_1. | |
29351 | Adapt to use symtab infrastructure. | |
29352 | (check_global_declarations): Remove. | |
29353 | (emit_debug_global_declarations): Remove. | |
29354 | (compile_file): Remove call to final_write_globals langhook. | |
29355 | Run the actual compilation process. | |
29356 | Perform any post compilation parser cleanups. | |
29357 | Generate late debug info. | |
29358 | * toplev.h (check_global_declaration): New. | |
29359 | (check_global_declaration_1): Remove. | |
29360 | (check_global_declarations): Remove. | |
29361 | (write_global_declarations): Remove. | |
29362 | (emit_debug_global_declarations): Remove. | |
29363 | (global_decl_processing): New. | |
29364 | * tree-core.h (struct tree_block): Add DIE field. | |
29365 | * tree.h (BLOCK_DIE): New. | |
29366 | * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use | |
29367 | throughout. | |
29368 | (vmsdbgout_early_global_decl): New. | |
29369 | (vmsdbgout_late_global_decl): New. | |
29370 | Add early_finish debug hook field to vmsdbg_debug_hooks. | |
29371 | Remove vmsdbgout_decl to vmsdbgout_function_decl. | |
29372 | Add early and late_global_decl debug hooks. | |
29373 | ||
29374 | 2015-06-05 Julian Brown <julian@codesourcery.com> | |
29375 | Sandra Loosemore <sandra@codesourcery.com> | |
29376 | ||
29377 | * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings. | |
29378 | * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE | |
29379 | to print-sysroot-suffix.sh script. | |
29380 | ||
29381 | 2015-06-05 Tom de Vries <tom@codesourcery.com> | |
29382 | ||
29383 | merge from gomp4 branch: | |
29384 | 2015-05-28 Tom de Vries <tom@codesourcery.com> | |
29385 | ||
29386 | PR tree-optimization/65443 | |
29387 | * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by) | |
29388 | (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt) | |
29389 | (try_transform_to_exit_first_loop_alt): New function. | |
29390 | (transform_to_exit_first_loop): Use | |
29391 | try_transform_to_exit_first_loop_alt. | |
29392 | ||
29393 | 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com> | |
29394 | ||
29395 | * builtins.c (expand_builtin_atomic_compare_exchange): Call | |
29396 | emit_cmp_and_jump_insns with the mode of target. | |
29397 | ||
29398 | 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com> | |
29399 | ||
29400 | * config/i386/sse.md (sse3_mwait): Swap the operand constriants. | |
29401 | ||
29402 | 2015-06-04 DJ Delorie <dj@redhat.com> | |
29403 | ||
29404 | * config/msp430/msp430.md (movsi_s): New. Special case for | |
29405 | storing a 20-bit symbol into a 32-bit register. | |
29406 | * config/msp430/msp430.c (msp430_subreg): Add support for it. | |
29407 | * config/msp430/predicates.md (msp430_symbol_operand): New. | |
29408 | ||
29409 | 2015-06-04 Sriraman Tallam <tmsriram@google.com> | |
29410 | ||
29411 | * calls.c (prepare_call_address): Check for noplt | |
29412 | attribute. | |
29413 | * config/i386/i386.c (ix86_expand_call): Check | |
29414 | for noplt attribute. | |
29415 | (ix86_nopic_noplt_attribute_p): New function. | |
29416 | (ix86_output_call_insn): Output indirect call for non-pic | |
29417 | no plt calls. | |
29418 | * doc/extend.texi (noplt): Document new attribute. | |
29419 | * doc/invoke.texi: Document new attribute. | |
29420 | ||
29421 | 2015-06-04 Andrew MacLeod <amacleod@redhat.com> | |
29422 | ||
29423 | * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h, | |
29424 | real.h, and fixed-value.h when included in host source files. | |
29425 | * double-int.h: Remove redundant #includes listed above. | |
29426 | * fixed-value.h: Likewise. | |
29427 | * real.h: Likewise. | |
29428 | * wide-int.h: Likewise. | |
29429 | * inchash.h: Likewise. | |
29430 | * rtl.h: Add some include files When included from a generator file. | |
29431 | * target.h: Remove wide-int.h and insn-modes.h from the include list. | |
29432 | * internal-fn.h: Don't include coretypes.h. | |
29433 | * alias.c: Adjust includes for restructured coretypes.h. | |
29434 | * asan.c: Likewise. | |
29435 | * attribs.c: Likewise. | |
29436 | * auto-inc-dec.c: Likewise. | |
29437 | * auto-profile.c: Likewise. | |
29438 | * bb-reorder.c: Likewise. | |
29439 | * bt-load.c: Likewise. | |
29440 | * builtins.c: Likewise. | |
29441 | * caller-save.c: Likewise. | |
29442 | * calls.c: Likewise. | |
29443 | * ccmp.c: Likewise. | |
29444 | * cfg.c: Likewise. | |
29445 | * cfganal.c: Likewise. | |
29446 | * cfgbuild.c: Likewise. | |
29447 | * cfgcleanup.c: Likewise. | |
29448 | * cfgexpand.c: Likewise. | |
29449 | * cfghooks.c: Likewise. | |
29450 | * cfgloop.c: Likewise. | |
29451 | * cfgloop.h: Likewise. | |
29452 | * cfgloopanal.c: Likewise. | |
29453 | * cfgloopmanip.c: Likewise. | |
29454 | * cfgrtl.c: Likewise. | |
29455 | * cgraph.c: Likewise. | |
29456 | * cgraphbuild.c: Likewise. | |
29457 | * cgraphclones.c: Likewise. | |
29458 | * cgraphunit.c: Likewise. | |
29459 | * cilk-common.c: Likewise. | |
29460 | * combine-stack-adj.c: Likewise. | |
29461 | * combine.c: Likewise. | |
29462 | * compare-elim.c: Likewise. | |
29463 | * convert.c: Likewise. | |
29464 | * coverage.c: Likewise. | |
29465 | * cppbuiltin.c: Likewise. | |
29466 | * cprop.c: Likewise. | |
29467 | * cse.c: Likewise. | |
29468 | * cselib.c: Likewise. | |
29469 | * data-streamer-in.c: Likewise. | |
29470 | * data-streamer-out.c: Likewise. | |
29471 | * data-streamer.c: Likewise. | |
29472 | * dbxout.c: Likewise. | |
29473 | * dce.c: Likewise. | |
29474 | * ddg.c: Likewise. | |
29475 | * debug.c: Likewise. | |
29476 | * df-core.c: Likewise. | |
29477 | * df-problems.c: Likewise. | |
29478 | * df-scan.c: Likewise. | |
29479 | * df.h: Likewise. | |
29480 | * dfp.c: Likewise. | |
29481 | * dojump.c: Likewise. | |
29482 | * dominance.c: Likewise. | |
29483 | * domwalk.c: Likewise. | |
29484 | * double-int.c: Likewise. | |
29485 | * dse.c: Likewise. | |
29486 | * dumpfile.c: Likewise. | |
29487 | * dwarf2asm.c: Likewise. | |
29488 | * dwarf2cfi.c: Likewise. | |
29489 | * dwarf2out.c: Likewise. | |
29490 | * dwarf2out.h: Likewise. | |
29491 | * emit-rtl.c: Likewise. | |
29492 | * et-forest.c: Likewise. | |
29493 | * except.c: Likewise. | |
29494 | * explow.c: Likewise. | |
29495 | * expmed.c: Likewise. | |
29496 | * expr.c: Likewise. | |
29497 | * final.c: Likewise. | |
29498 | * fixed-value.c: Likewise. | |
29499 | * fold-const.c: Likewise. | |
29500 | * function.c: Likewise. | |
29501 | * fwprop.c: Likewise. | |
29502 | * gcc-plugin.h: Likewise. | |
29503 | * gcse.c: Likewise. | |
29504 | * generic-match-head.c: Likewise. | |
29505 | * ggc-page.c: Likewise. | |
29506 | * gimple-builder.c: Likewise. | |
29507 | * gimple-expr.c: Likewise. | |
29508 | * gimple-fold.c: Likewise. | |
29509 | * gimple-iterator.c: Likewise. | |
29510 | * gimple-low.c: Likewise. | |
29511 | * gimple-match-head.c: Likewise. | |
29512 | * gimple-pretty-print.c: Likewise. | |
29513 | * gimple-ssa-isolate-paths.c: Likewise. | |
29514 | * gimple-ssa-strength-reduction.c: Likewise. | |
29515 | * gimple-streamer-in.c: Likewise. | |
29516 | * gimple-streamer-out.c: Likewise. | |
29517 | * gimple-streamer.h: Likewise. | |
29518 | * gimple-walk.c: Likewise. | |
29519 | * gimple.c: Likewise. | |
29520 | * gimplify-me.c: Likewise. | |
29521 | * gimplify.c: Likewise. | |
29522 | * godump.c: Likewise. | |
29523 | * graph.c: Likewise. | |
29524 | * graphite-blocking.c: Likewise. | |
29525 | * graphite-dependences.c: Likewise. | |
29526 | * graphite-interchange.c: Likewise. | |
29527 | * graphite-isl-ast-to-gimple.c: Likewise. | |
29528 | * graphite-optimize-isl.c: Likewise. | |
29529 | * graphite-poly.c: Likewise. | |
29530 | * graphite-scop-detection.c: Likewise. | |
29531 | * graphite-sese-to-poly.c: Likewise. | |
29532 | * graphite.c: Likewise. | |
29533 | * haifa-sched.c: Likewise. | |
29534 | * hooks.h: Likewise. | |
29535 | * hw-doloop.c: Likewise. | |
29536 | * ifcvt.c: Likewise. | |
29537 | * incpath.c: Likewise. | |
29538 | * init-regs.c: Likewise. | |
29539 | * internal-fn.c: Likewise. | |
29540 | * ipa-chkp.c: Likewise. | |
29541 | * ipa-comdats.c: Likewise. | |
29542 | * ipa-cp.c: Likewise. | |
29543 | * ipa-devirt.c: Likewise. | |
29544 | * ipa-icf-gimple.c: Likewise. | |
29545 | * ipa-icf.c: Likewise. | |
29546 | * ipa-inline-analysis.c: Likewise. | |
29547 | * ipa-inline-transform.c: Likewise. | |
29548 | * ipa-inline.c: Likewise. | |
29549 | * ipa-polymorphic-call.c: Likewise. | |
29550 | * ipa-profile.c: Likewise. | |
29551 | * ipa-prop.c: Likewise. | |
29552 | * ipa-pure-const.c: Likewise. | |
29553 | * ipa-ref.c: Likewise. | |
29554 | * ipa-reference.c: Likewise. | |
29555 | * ipa-split.c: Likewise. | |
29556 | * ipa-utils.c: Likewise. | |
29557 | * ipa-visibility.c: Likewise. | |
29558 | * ipa.c: Likewise. | |
29559 | * ira-build.c: Likewise. | |
29560 | * ira-color.c: Likewise. | |
29561 | * ira-conflicts.c: Likewise. | |
29562 | * ira-costs.c: Likewise. | |
29563 | * ira-emit.c: Likewise. | |
29564 | * ira-lives.c: Likewise. | |
29565 | * ira.c: Likewise. | |
29566 | * jump.c: Likewise. | |
29567 | * langhooks.c: Likewise. | |
29568 | * lcm.c: Likewise. | |
29569 | * loop-doloop.c: Likewise. | |
29570 | * loop-init.c: Likewise. | |
29571 | * loop-invariant.c: Likewise. | |
29572 | * loop-iv.c: Likewise. | |
29573 | * loop-unroll.c: Likewise. | |
29574 | * lower-subreg.c: Likewise. | |
29575 | * lra-assigns.c: Likewise. | |
29576 | * lra-coalesce.c: Likewise. | |
29577 | * lra-constraints.c: Likewise. | |
29578 | * lra-eliminations.c: Likewise. | |
29579 | * lra-lives.c: Likewise. | |
29580 | * lra-remat.c: Likewise. | |
29581 | * lra-spills.c: Likewise. | |
29582 | * lra.c: Likewise. | |
29583 | * lto-cgraph.c: Likewise. | |
29584 | * lto-compress.c: Likewise. | |
29585 | * lto-opts.c: Likewise. | |
29586 | * lto-section-in.c: Likewise. | |
29587 | * lto-section-out.c: Likewise. | |
29588 | * lto-streamer-in.c: Likewise. | |
29589 | * lto-streamer-out.c: Likewise. | |
29590 | * lto-streamer.c: Likewise. | |
29591 | * mcf.c: Likewise. | |
29592 | * mode-switching.c: Likewise. | |
29593 | * modulo-sched.c: Likewise. | |
29594 | * omega.c: Likewise. | |
29595 | * omp-low.c: Likewise. | |
29596 | * optabs.c: Likewise. | |
29597 | * opts-global.c: Likewise. | |
29598 | * passes.c: Likewise. | |
29599 | * plugin.c: Likewise. | |
29600 | * postreload-gcse.c: Likewise. | |
29601 | * postreload.c: Likewise. | |
29602 | * predict.c: Likewise. | |
29603 | * print-rtl.c: Likewise. | |
29604 | * print-tree.c: Likewise. | |
29605 | * profile.c: Likewise. | |
29606 | * real.c: Likewise. | |
29607 | * realmpfr.c: Likewise. | |
29608 | * realmpfr.h: Likewise. | |
29609 | * recog.c: Likewise. | |
29610 | * ree.c: Likewise. | |
29611 | * reg-stack.c: Likewise. | |
29612 | * regcprop.c: Likewise. | |
29613 | * reginfo.c: Likewise. | |
29614 | * regrename.c: Likewise. | |
29615 | * regs.h: Likewise. | |
29616 | * regstat.c: Likewise. | |
29617 | * reload.c: Likewise. | |
29618 | * reload1.c: Likewise. | |
29619 | * reorg.c: Likewise. | |
29620 | * resource.c: Likewise. | |
29621 | * rtl-chkp.c: Likewise. | |
29622 | * rtlanal.c: Likewise. | |
29623 | * rtlhooks.c: Likewise. | |
29624 | * sanopt.c: Likewise. | |
29625 | * sched-deps.c: Likewise. | |
29626 | * sched-ebb.c: Likewise. | |
29627 | * sched-rgn.c: Likewise. | |
29628 | * sched-vis.c: Likewise. | |
29629 | * sdbout.c: Likewise. | |
29630 | * sel-sched-dump.c: Likewise. | |
29631 | * sel-sched-ir.c: Likewise. | |
29632 | * sel-sched.c: Likewise. | |
29633 | * sese.c: Likewise. | |
29634 | * shrink-wrap.c: Likewise. | |
29635 | * shrink-wrap.h: Likewise. | |
29636 | * simplify-rtx.c: Likewise. | |
29637 | * stack-ptr-mod.c: Likewise. | |
29638 | * statistics.c: Likewise. | |
29639 | * stmt.c: Likewise. | |
29640 | * stor-layout.c: Likewise. | |
29641 | * store-motion.c: Likewise. | |
29642 | * stringpool.c: Likewise. | |
29643 | * symtab.c: Likewise. | |
29644 | * target-globals.c: Likewise. | |
29645 | * targhooks.c: Likewise. | |
29646 | * toplev.c: Likewise. | |
29647 | * tracer.c: Likewise. | |
29648 | * trans-mem.c: Likewise. | |
29649 | * tree-affine.c: Likewise. | |
29650 | * tree-affine.h: Likewise. | |
29651 | * tree-browser.c: Likewise. | |
29652 | * tree-call-cdce.c: Likewise. | |
29653 | * tree-cfg.c: Likewise. | |
29654 | * tree-cfgcleanup.c: Likewise. | |
29655 | * tree-chkp-opt.c: Likewise. | |
29656 | * tree-chkp.c: Likewise. | |
29657 | * tree-chrec.c: Likewise. | |
29658 | * tree-complex.c: Likewise. | |
29659 | * tree-data-ref.c: Likewise. | |
29660 | * tree-dfa.c: Likewise. | |
29661 | * tree-diagnostic.c: Likewise. | |
29662 | * tree-dump.c: Likewise. | |
29663 | * tree-eh.c: Likewise. | |
29664 | * tree-emutls.c: Likewise. | |
29665 | * tree-if-conv.c: Likewise. | |
29666 | * tree-inline.c: Likewise. | |
29667 | * tree-into-ssa.c: Likewise. | |
29668 | * tree-iterator.c: Likewise. | |
29669 | * tree-loop-distribution.c: Likewise. | |
29670 | * tree-nested.c: Likewise. | |
29671 | * tree-nrv.c: Likewise. | |
29672 | * tree-object-size.c: Likewise. | |
29673 | * tree-outof-ssa.c: Likewise. | |
29674 | * tree-parloops.c: Likewise. | |
29675 | * tree-phinodes.c: Likewise. | |
29676 | * tree-predcom.c: Likewise. | |
29677 | * tree-pretty-print.c: Likewise. | |
29678 | * tree-pretty-print.h: Likewise. | |
29679 | * tree-profile.c: Likewise. | |
29680 | * tree-scalar-evolution.c: Likewise. | |
29681 | * tree-sra.c: Likewise. | |
29682 | * tree-ssa-address.c: Likewise. | |
29683 | * tree-ssa-alias.c: Likewise. | |
29684 | * tree-ssa-ccp.c: Likewise. | |
29685 | * tree-ssa-coalesce.c: Likewise. | |
29686 | * tree-ssa-copy.c: Likewise. | |
29687 | * tree-ssa-copyrename.c: Likewise. | |
29688 | * tree-ssa-dce.c: Likewise. | |
29689 | * tree-ssa-dom.c: Likewise. | |
29690 | * tree-ssa-dse.c: Likewise. | |
29691 | * tree-ssa-forwprop.c: Likewise. | |
29692 | * tree-ssa-ifcombine.c: Likewise. | |
29693 | * tree-ssa-live.c: Likewise. | |
29694 | * tree-ssa-loop-ch.c: Likewise. | |
29695 | * tree-ssa-loop-im.c: Likewise. | |
29696 | * tree-ssa-loop-ivcanon.c: Likewise. | |
29697 | * tree-ssa-loop-ivopts.c: Likewise. | |
29698 | * tree-ssa-loop-manip.c: Likewise. | |
29699 | * tree-ssa-loop-niter.c: Likewise. | |
29700 | * tree-ssa-loop-prefetch.c: Likewise. | |
29701 | * tree-ssa-loop-unswitch.c: Likewise. | |
29702 | * tree-ssa-loop.c: Likewise. | |
29703 | * tree-ssa-loop.h: Likewise. | |
29704 | * tree-ssa-math-opts.c: Likewise. | |
29705 | * tree-ssa-operands.c: Likewise. | |
29706 | * tree-ssa-phiopt.c: Likewise. | |
29707 | * tree-ssa-phiprop.c: Likewise. | |
29708 | * tree-ssa-pre.c: Likewise. | |
29709 | * tree-ssa-propagate.c: Likewise. | |
29710 | * tree-ssa-reassoc.c: Likewise. | |
29711 | * tree-ssa-sccvn.c: Likewise. | |
29712 | * tree-ssa-scopedtables.c: Likewise. | |
29713 | * tree-ssa-sink.c: Likewise. | |
29714 | * tree-ssa-strlen.c: Likewise. | |
29715 | * tree-ssa-structalias.c: Likewise. | |
29716 | * tree-ssa-tail-merge.c: Likewise. | |
29717 | * tree-ssa-ter.c: Likewise. | |
29718 | * tree-ssa-threadedge.c: Likewise. | |
29719 | * tree-ssa-threadupdate.c: Likewise. | |
29720 | * tree-ssa-uncprop.c: Likewise. | |
29721 | * tree-ssa-uninit.c: Likewise. | |
29722 | * tree-ssa.c: Likewise. | |
29723 | * tree-ssanames.c: Likewise. | |
29724 | * tree-stdarg.c: Likewise. | |
29725 | * tree-streamer-in.c: Likewise. | |
29726 | * tree-streamer-out.c: Likewise. | |
29727 | * tree-streamer.c: Likewise. | |
29728 | * tree-switch-conversion.c: Likewise. | |
29729 | * tree-tailcall.c: Likewise. | |
29730 | * tree-vect-data-refs.c: Likewise. | |
29731 | * tree-vect-generic.c: Likewise. | |
29732 | * tree-vect-loop-manip.c: Likewise. | |
29733 | * tree-vect-loop.c: Likewise. | |
29734 | * tree-vect-patterns.c: Likewise. | |
29735 | * tree-vect-slp.c: Likewise. | |
29736 | * tree-vect-stmts.c: Likewise. | |
29737 | * tree-vectorizer.c: Likewise. | |
29738 | * tree-vrp.c: Likewise. | |
29739 | * tree.c: Likewise. | |
29740 | * tsan.c: Likewise. | |
29741 | * ubsan.c: Likewise. | |
29742 | * valtrack.c: Likewise. | |
29743 | * value-prof.c: Likewise. | |
29744 | * var-tracking.c: Likewise. | |
29745 | * varasm.c: Likewise. | |
29746 | * varpool.c: Likewise. | |
29747 | * vmsdbgout.c: Likewise. | |
29748 | * vtable-verify.c: Likewise. | |
29749 | * web.c: Likewise. | |
29750 | * wide-int-print.cc: Likewise. | |
29751 | * wide-int-print.h: Likewise. | |
29752 | * wide-int.cc: Likewise. | |
29753 | * xcoffout.c: Likewise. | |
29754 | * config/aarch64/aarch64-builtins.c: Likewise. | |
29755 | * config/aarch64/aarch64.c: Likewise. | |
29756 | * config/aarch64/cortex-a57-fma-steering.c: Likewise. | |
29757 | * config/alpha/alpha.c: Likewise. | |
29758 | * config/arc/arc.c: Likewise. | |
29759 | * config/arm/aarch-common.c: Likewise. | |
29760 | * config/arm/arm-builtins.c: Likewise. | |
29761 | * config/arm/arm-c.c: Likewise. | |
29762 | * config/arm/arm.c: Likewise. | |
29763 | * config/avr/avr-c.c: Likewise. | |
29764 | * config/avr/avr-log.c: Likewise. | |
29765 | * config/avr/avr.c: Likewise. | |
29766 | * config/bfin/bfin.c: Likewise. | |
29767 | * config/c6x/c6x.c: Likewise. | |
29768 | * config/cr16/cr16.c: Likewise. | |
29769 | * config/cris/cris.c: Likewise. | |
29770 | * config/darwin-c.c: Likewise. | |
29771 | * config/darwin.c: Likewise. | |
29772 | * config/default-c.c: Likewise. | |
29773 | * config/epiphany/epiphany.c: Likewise. | |
29774 | * config/epiphany/mode-switch-use.c: Likewise. | |
29775 | * config/epiphany/resolve-sw-modes.c: Likewise. | |
29776 | * config/fr30/fr30.c: Likewise. | |
29777 | * config/frv/frv.c: Likewise. | |
29778 | * config/ft32/ft32.c: Likewise. | |
29779 | * config/glibc-c.c: Likewise. | |
29780 | * config/h8300/h8300.c: Likewise. | |
29781 | * config/i386/i386-c.c: Likewise. | |
29782 | * config/i386/i386.c: Likewise. | |
29783 | * config/i386/msformat-c.c: Likewise. | |
29784 | * config/i386/winnt-cxx.c: Likewise. | |
29785 | * config/i386/winnt-stubs.c: Likewise. | |
29786 | * config/i386/winnt.c: Likewise. | |
29787 | * config/ia64/ia64-c.c: Likewise. | |
29788 | * config/ia64/ia64.c: Likewise. | |
29789 | * config/iq2000/iq2000.c: Likewise. | |
29790 | * config/lm32/lm32.c: Likewise. | |
29791 | * config/m32c/m32c-pragma.c: Likewise. | |
29792 | * config/m32c/m32c.c: Likewise. | |
29793 | * config/m32r/m32r.c: Likewise. | |
29794 | * config/m68k/m68k.c: Likewise. | |
29795 | * config/mcore/mcore.c: Likewise. | |
29796 | * config/mep/mep-pragma.c: Likewise. | |
29797 | * config/mep/mep.c: Likewise. | |
29798 | * config/microblaze/microblaze-c.c: Likewise. | |
29799 | * config/microblaze/microblaze.c: Likewise. | |
29800 | * config/mips/mips.c: Likewise. | |
29801 | * config/mmix/mmix.c: Likewise. | |
29802 | * config/mn10300/mn10300.c: Likewise. | |
29803 | * config/moxie/moxie.c: Likewise. | |
29804 | * config/msp430/msp430-c.c: Likewise. | |
29805 | * config/msp430/msp430.c: Likewise. | |
29806 | * config/nds32/nds32-cost.c: Likewise. | |
29807 | * config/nds32/nds32-fp-as-gp.c: Likewise. | |
29808 | * config/nds32/nds32-intrinsic.c: Likewise. | |
29809 | * config/nds32/nds32-isr.c: Likewise. | |
29810 | * config/nds32/nds32-md-auxiliary.c: Likewise. | |
29811 | * config/nds32/nds32-memory-manipulation.c: Likewise. | |
29812 | * config/nds32/nds32-pipelines-auxiliary.c: Likewise. | |
29813 | * config/nds32/nds32-predicates.c: Likewise. | |
29814 | * config/nds32/nds32.c: Likewise. | |
29815 | * config/nios2/nios2.c: Likewise. | |
29816 | * config/nvptx/nvptx.c: Likewise. | |
29817 | * config/pa/pa.c: Likewise. | |
29818 | * config/pdp11/pdp11.c: Likewise. | |
29819 | * config/rl78/rl78-c.c: Likewise. | |
29820 | * config/rl78/rl78.c: Likewise. | |
29821 | * config/rs6000/rs6000-c.c: Likewise. | |
29822 | * config/rs6000/rs6000.c: Likewise. | |
29823 | * config/rx/rx.c: Likewise. | |
29824 | * config/s390/s390-c.c: Likewise. | |
29825 | * config/s390/s390.c: Likewise. | |
29826 | * config/sh/sh-c.c: Likewise. | |
29827 | * config/sh/sh-mem.cc: Likewise. | |
29828 | * config/sh/sh.c: Likewise. | |
29829 | * config/sh/sh_optimize_sett_clrt.cc: Likewise. | |
29830 | * config/sh/sh_treg_combine.cc: Likewise. | |
29831 | * config/sol2-c.c: Likewise. | |
29832 | * config/sol2-cxx.c: Likewise. | |
29833 | * config/sol2-stubs.c: Likewise. | |
29834 | * config/sol2.c: Likewise. | |
29835 | * config/sparc/sparc-c.c: Likewise. | |
29836 | * config/sparc/sparc.c: Likewise. | |
29837 | * config/spu/spu-c.c: Likewise. | |
29838 | * config/spu/spu.c: Likewise. | |
29839 | * config/stormy16/stormy16.c: Likewise. | |
29840 | * config/tilegx/mul-tables.c: Likewise. | |
29841 | * config/tilegx/tilegx-c.c: Likewise. | |
29842 | * config/tilegx/tilegx.c: Likewise. | |
29843 | * config/tilepro/mul-tables.c: Likewise. | |
29844 | * config/tilepro/tilepro-c.c: Likewise. | |
29845 | * config/tilepro/tilepro.c: Likewise. | |
29846 | * config/v850/v850-c.c: Likewise. | |
29847 | * config/v850/v850.c: Likewise. | |
29848 | * config/vax/vax.c: Likewise. | |
29849 | * config/visium/visium.c: Likewise. | |
29850 | * config/vms/vms-c.c: Likewise. | |
29851 | * config/vms/vms.c: Likewise. | |
29852 | * config/vxworks.c: Likewise. | |
29853 | * config/winnt-c.c: Likewise. | |
29854 | * config/xtensa/xtensa.c: Likewise. | |
29855 | * common/config/bfin/bfin-common.c: Likewise. | |
29856 | ||
29857 | 2015-06-04 Jan Hubicka <hubicka@ucw.cz> | |
29858 | ||
29859 | * tree.h (tree_code_for_canonical_type_merging): New function. | |
29860 | * tree.c (gimple_canonical_types_compatible_p): Use | |
29861 | tree_code_for_canonical_type_merging.. | |
29862 | ||
29863 | 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
29864 | ||
29865 | PR c++/66192 | |
29866 | PR target/66200 | |
29867 | * doc/tm.texi: Regenerate. | |
29868 | * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete. | |
29869 | * target.def (TARGET_RELAXED_ORDERING): Likewise. | |
29870 | * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise. | |
29871 | * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise. | |
29872 | * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise. | |
29873 | * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise. | |
29874 | * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise. | |
29875 | * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise. | |
29876 | * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise. | |
29877 | ||
29878 | 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
29879 | ||
29880 | * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally | |
29881 | register fma steering pass. | |
29882 | * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on | |
29883 | AARCH64_TUNE_FMA_STEERING. | |
29884 | ||
29885 | 2015-06-03 Jan Hubicka <hubicka@ucw.cz> | |
29886 | ||
29887 | * tree.c (verify_type_variant): Verify that type and variant is | |
29888 | compatible. | |
29889 | (gimple_canonical_types_compatible_p): Look for main variants. | |
29890 | ||
29891 | 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com> | |
29892 | ||
29893 | * config.gcc (powerpc*-*-*): Add support for a new configure | |
29894 | option --with-advance-toolchain=<xxx> which overrides using the | |
29895 | default header files, libraries and dynamic linker. | |
29896 | ||
29897 | * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new | |
29898 | specs to support the configure --with-advance-toolchain=<xxx> | |
29899 | option. | |
29900 | (INCLUDE_EXTRA_SPEC): Likewise. | |
29901 | (LINK_OS_EXTRA_SPEC32): Likewise. | |
29902 | (LINK_OK_EXTRA_SPEC64): Likewise. | |
29903 | (LINK_OS_NEW_DTAGS_SPEC): Likewise. | |
29904 | (DYNAMIC_LINKER_PREFIX): Likewise. | |
29905 | (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance | |
29906 | toolchain support. | |
29907 | (GLIBC_DYNAMIC_LINKER32): Likewise. | |
29908 | (GLIBC_DYNAMIC_LINKER64): Likewise. | |
29909 | (LINK_OS_LINUX_SPEC32): Likewise. | |
29910 | (LINK_OS_LINUX_SPEC64): Likewise. | |
29911 | ||
29912 | * doc/install.texi (--enable-advance-toolchain=<xx>): Document new | |
29913 | configuration option. | |
29914 | ||
29915 | 2015-06-03 Uros Bizjak <ubizjak@gmail.com> | |
29916 | ||
29917 | PR target/66275 | |
29918 | * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi | |
29919 | to determine current function ABI. | |
29920 | (ix86_function_value_regno_p): Ditto. | |
29921 | ||
29922 | 2015-06-03 Martin Liska <mliska@suse.cz> | |
29923 | ||
29924 | * alloc-pool.h (struct pool_usage): Correct GNU coding style. | |
29925 | * bitmap.h (struct bitmap_usage): Likewise. | |
29926 | * ggc-common.c (struct ggc_usage): Likewise. | |
29927 | * mem-stats.h (struct mem_location): Likewise. | |
29928 | (struct mem_usage): Likewise. | |
29929 | * vec.c (struct vec_usage): Likewise. | |
29930 | ||
29931 | 2015-06-03 Benigno B. Junior <bbj@gentoo.org> | |
29932 | ||
29933 | * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into | |
29934 | -Bsymbolic. | |
29935 | ||
29936 | 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com> | |
29937 | ||
29938 | * doc/plugins.texi (enum plugin_event): New event. | |
29939 | * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION | |
29940 | and PLUGIN_FINISH_FUNCTION. | |
29941 | * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event | |
29942 | (PLUGIN_FINISH_PARSE_FUNCTION): Likewise. | |
29943 | ||
29944 | 2015-06-03 Richard Biener <rguenther@suse.de> | |
29945 | ||
29946 | * tree-vect-data-refs.c (vect_analyze_group_access): Properly | |
29947 | compute GROUP_GAP for the first element. | |
29948 | * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction | |
29949 | on in-group gaps. | |
29950 | ||
29951 | 2015-06-03 Nick Clifton <nickc@redhat.com> | |
29952 | ||
29953 | * config/rl78/rl78-real.md: Add peepholes to avoid a register | |
29954 | copy when calling a function. | |
29955 | * config/rl78/rl78.c (need_to_save): Do not push the frame | |
29956 | pointer in an interrupt handler prologue if it is never used. | |
29957 | ||
29958 | 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
29959 | ||
29960 | * ifcvt (end_ifcvt_sequence): Fix typo in comment above. | |
29961 | ||
29962 | 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com> | |
29963 | ||
29964 | * ipa-chkp.c (chkp_maybe_create_clone): Create alias | |
29965 | reference when cloning alias node. | |
29966 | ||
29967 | 2015-06-03 Martin Liska <mliska@suse.cz> | |
29968 | ||
29969 | * alloc-pool.h (struct pool_usage): Correct space padding. | |
29970 | * ggc-page.c (ggc_print_statistics): Align columns in a report. | |
29971 | * mem-stats.h (struct mem_usage): Add argument to print_dash_line. | |
29972 | * tree.c (dump_tree_statistics): Align columns in a report. | |
29973 | ||
29974 | 2015-06-03 Martin Liska <mliska@suse.cz> | |
29975 | ||
29976 | * alloc-pool.c (allocate_pool_descriptor): Remove. | |
29977 | (struct pool_output_info): Likewise. | |
29978 | (print_alloc_pool_statistics): Likewise. | |
29979 | (dump_alloc_pool_statistics): Likewise. | |
29980 | * alloc-pool.h (struct pool_usage): New struct. | |
29981 | (pool_allocator::initialize): Change usage of memory statistics | |
29982 | to a new interface. | |
29983 | (pool_allocator::release): Likewise. | |
29984 | (pool_allocator::allocate): Likewise. | |
29985 | (pool_allocator::remove): Likewise. | |
29986 | * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value | |
29987 | for a pool allocator. | |
29988 | * mem-stats.h (struct mem_location): Add new ctor. | |
29989 | (struct mem_usage): Add counter for number of | |
29990 | instances. | |
29991 | (mem_alloc_description::register_descriptor): New overload of | |
29992 | * mem-stats.h (mem_location::to_string): New function. | |
29993 | * bitmap.h (struct bitmap_usage): Use this new function. | |
29994 | * ggc-common.c (struct ggc_usage): Likewise. | |
29995 | the function. | |
29996 | ||
29997 | 2015-06-03 Richard Sandiford <richard.sandiford@arm.com> | |
29998 | ||
29999 | * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out | |
30000 | of GCC_INSN_FLAGS_H block. | |
30001 | ||
30002 | 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com> | |
30003 | ||
30004 | * explow.c (plus_constant): Update check after force_const_mem call | |
30005 | to see if the value returned is not a NULL_RTX. | |
30006 | ||
30007 | 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com> | |
30008 | ||
30009 | * ipa.c (symbol_table::remove_unreachable_nodes): Don't | |
30010 | remove instumentation thunks calling reachable functions. | |
30011 | * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP. | |
30012 | * lto/lto-partition.c (privatize_symbol_name_1): New. | |
30013 | (privatize_symbol_name): Privatize both decl and orig_decl | |
30014 | names for instrumented functions. | |
30015 | * cgraph.c (cgraph_node::verify_node): Add transparent | |
30016 | alias chain check for instrumented node. | |
30017 | ||
30018 | 2015-06-03 Marek Polacek <polacek@redhat.com> | |
30019 | ||
30020 | PR c/64223 | |
30021 | PR c/29358 | |
30022 | * tree.c (attribute_value_equal): Handle attribute format. | |
30023 | (cmp_attrib_identifiers): Factor out of lookup_ident_attribute. | |
30024 | ||
30025 | 2015-06-03 Richard Biener <rguenther@suse.de> | |
30026 | ||
30027 | PR tree-optimization/63916 | |
30028 | * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): | |
30029 | Forward-propagate non-invariant addresses by splicing their | |
30030 | reference ops if the result isn't going to be used by PRE. | |
30031 | (vn_reference_lookup_3): Remove pointless assert. | |
30032 | ||
30033 | 2015-06-03 Richard Biener <rguenther@suse.de> | |
30034 | ||
30035 | PR tree-optimization/66375 | |
30036 | * tree-scalar-evolution.c (follow_ssa_edge_binary): First | |
30037 | add to the evolution before following SSA edges. | |
30038 | ||
30039 | 2015-06-03 Bin Cheng <bin.cheng@arm.com> | |
30040 | ||
30041 | * tree-ssa-loop-ivopts.c (dump_iv): New parameter. | |
30042 | (dump_use, dump_cand, find_induction_variables): Pass new argument | |
30043 | to dump_iv. | |
30044 | (record_use): Preserve the ssa name information in IV. | |
30045 | ||
30046 | 2015-06-03 Richard Sandiford <richard.sandiford@arm.com> | |
30047 | ||
30048 | * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as | |
30049 | NO_MODE_TEST. | |
30050 | (add_mode_tests): Don't add mode tests if the predicate only | |
30051 | accepts scalar constant integers. Otherwise, allow the mode | |
30052 | of "op" to be VOIDmode if the predicate does accept such integers. | |
30053 | ||
30054 | 2015-06-02 Jim Wilson <jim.wilson@linaro.org> | |
30055 | ||
30056 | PR target/66258 | |
30057 | * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change | |
30058 | !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT. | |
30059 | (aarch64_secondary_reload): Likewise | |
30060 | (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY | |
30061 | to !TARGET_FLOAT. | |
30062 | (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs): | |
30063 | Likewise. | |
30064 | ||
30065 | 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org> | |
30066 | Zhenqiang Chen <zhenqiang.chen@linaro.org> | |
30067 | ||
30068 | PR target/65768 | |
30069 | * cprop.c (try_replace_reg): Check cost of constants before propagating. | |
30070 | ||
30071 | 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com> | |
30072 | ||
30073 | * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to | |
30074 | provide access to the IBM extended double floating point mode if | |
30075 | long double is IEEE 128-bit floating point. | |
30076 | (KFmode): Define KFmode to provide access to IEEE 128-bit floating | |
30077 | point if long double is the IBM extended double type. | |
30078 | ||
30079 | * config/rs6000/rs6000.opt (-mfloat128-none): New switches to | |
30080 | enable adding IEEE 128-bit floating point support. | |
30081 | (-mfloat128-software): Likewise. | |
30082 | (-mfloat128-sw): Likewise. | |
30083 | ||
30084 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow | |
30085 | 128-bit floating point types to occupy any register if | |
30086 | -mlong-double-64. Do not allow use of IFmode/KFmode unless | |
30087 | -mfloat128-software is enabled. | |
30088 | (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug | |
30089 | support. | |
30090 | (rs6000_option_override_internal): Add -mfloat128-* support. | |
30091 | (rs6000_init_builtins): Setup __ibm128 and __float128 type modes. | |
30092 | ||
30093 | * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128 | |
30094 | and float128 type nodes. | |
30095 | (ieee128_float_type_node): Likewise. | |
30096 | (ibm128_float_type_node): Likewise. | |
30097 | ||
30098 | 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
30099 | ||
30100 | PR target/66136 | |
30101 | * config/aarch64/geniterators.sh: Rewrite in awk. | |
30102 | ||
30103 | 2015-06-02 Martin Liska <mliska@suse.cz> | |
30104 | ||
30105 | * alloc-pool.h (pool_allocator::pool_allocator): Set implicit | |
30106 | values to avoid -Wmaybe-uninitialized errors. | |
30107 | ||
30108 | 2015-06-02 Richard Biener <rguenther@suse.de> | |
30109 | ||
30110 | PR debug/65549 | |
30111 | * dwarf2out.c (lookup_context_die): New function. | |
30112 | (resolve_addr): Avoid forcing a full DIE for the | |
30113 | target of a DW_TAG_GNU_call_site during late compilation. | |
30114 | Instead create a stub DIE without a type if we have a | |
30115 | context DIE present. | |
30116 | ||
30117 | 2015-06-02 Uros Bizjak <ubizjak@gmail.com> | |
30118 | ||
30119 | * df-scan.c (df_scan_start_dump): Add space between regno and regname. | |
30120 | ||
30121 | 2015-06-02 Bin Cheng <bin.cheng@arm.com> | |
30122 | ||
30123 | PR tree-optimization/48052 | |
30124 | * cfgloop.h (struct control_iv): New. | |
30125 | (struct loop): New field control_ivs. | |
30126 | * tree-ssa-loop-niter.c : Include "stor-layout.h". | |
30127 | (number_of_iterations_lt): Set no_overflow information. | |
30128 | (number_of_iterations_exit): Init control iv in niter struct. | |
30129 | (record_control_iv): New. | |
30130 | (estimate_numbers_of_iterations_loop): Call record_control_iv. | |
30131 | (loop_exits_before_overflow): New. Interface factored out of | |
30132 | scev_probably_wraps_p. | |
30133 | (scev_probably_wraps_p): Factor loop niter related code into | |
30134 | loop_exits_before_overflow. | |
30135 | (free_numbers_of_iterations_estimates_loop): Free control ivs. | |
30136 | * tree-ssa-loop-niter.h (free_loop_control_ivs): New. | |
30137 | ||
30138 | 2015-06-02 Eric Botcazou <ebotcazou@adacore.com> | |
30139 | ||
30140 | * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if | |
30141 | the target doesn't belong to the current function. | |
30142 | ||
30143 | 2015-06-02 Marek Polacek <polacek@redhat.com> | |
30144 | ||
30145 | PR middle-end/66345 | |
30146 | * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if | |
30147 | get_maxval_strlen does not produce an INTEGER_CST. | |
30148 | ||
30149 | 2015-06-02 Richard Sandiford <richard.sandiford@arm.com> | |
30150 | ||
30151 | * config/arc/constraints.md: Use lower-case names in match_code. | |
30152 | * config/mmix/constraints.md: Likewise. | |
30153 | ||
30154 | 2015-06-02 Richard Biener <rguenther@suse.de> | |
30155 | ||
30156 | PR tree-optimization/65961 | |
30157 | * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus | |
30158 | check and clarify dump message. | |
30159 | (vect_build_slp_tree): If all children are built up from scalars | |
30160 | build up the parent from scalars instead. | |
30161 | * tree-vect-stmts.c (vect_is_simple_use): Cleanup. | |
30162 | ||
30163 | 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com> | |
30164 | ||
30165 | PR other/65366 | |
30166 | * gdbhooks.py: Use int(...) instead of long(...). Use print(...) | |
30167 | instead of print ... . | |
30168 | ||
30169 | 2015-06-02 Alan Modra <amodra@gmail.com> | |
30170 | ||
30171 | * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental | |
30172 | 2014-08-11 change. | |
30173 | ||
30174 | 2015-06-02 Bin Cheng <bin.cheng@arm.com> | |
30175 | ||
30176 | PR tree-optimization/52563 | |
30177 | PR tree-optimization/62173 | |
30178 | * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields. | |
30179 | (alloc_iv, set_iv): New parameter. | |
30180 | (determine_biv_step): Delete. | |
30181 | (find_bivs): Inline original determine_biv_step. Pass new | |
30182 | argument to set_iv. | |
30183 | (idx_find_step): Use no_overflow information for conversion. | |
30184 | * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let | |
30185 | resolve_mixers handle folded_casts. | |
30186 | (instantiate_scev_name): Change bool parameter to bool pointer. | |
30187 | (instantiate_scev_poly, instantiate_scev_binary): Ditto. | |
30188 | (instantiate_array_ref, instantiate_scev_not): Ditto. | |
30189 | (instantiate_scev_3, instantiate_scev_2): Ditto. | |
30190 | (instantiate_scev_1, instantiate_scev_r): Ditto. | |
30191 | (instantiate_scev_convert, ): Change parameter. Pass argument | |
30192 | to chrec_convert_aggressive. | |
30193 | (instantiate_scev): Change argument. | |
30194 | (resolve_mixers): New parameter and set it. | |
30195 | (scev_const_prop): New argument. | |
30196 | * tree-scalar-evolution.h (resolve_mixers): New parameter. | |
30197 | * tree-chrec.c (convert_affine_scev): Call chrec_convert instead | |
30198 | of chrec_conert_1. | |
30199 | (chrec_convert): New parameter. Move definition below. | |
30200 | (chrec_convert_aggressive): New parameter and set it. Call | |
30201 | convert_affine_scev. | |
30202 | * tree-chrec.h (chrec_convert): New parameter. | |
30203 | (chrec_convert_aggressive): Ditto. | |
30204 | ||
30205 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> | |
30206 | ||
30207 | * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size. | |
30208 | * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove | |
30209 | the LHS of a no-return call if its type has variable size. | |
30210 | * tree-cfgcleanup.c (fixup_noreturn_call): Likewise. | |
30211 | * tree-cfg.c (verify_gimple_call): Accept these no-return calls. | |
30212 | ||
30213 | 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org> | |
30214 | ||
30215 | * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL. | |
30216 | * config.in: Regenerate. | |
30217 | ||
30218 | 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com> | |
30219 | ||
30220 | * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow | |
30221 | consecutive accesses within outer-loop with force_vectorize | |
30222 | for references with zero step in inner-loop. | |
30223 | ||
30224 | 2015-06-01 Vidya Praveen <vidyapraveen@arm.com> | |
30225 | ||
30226 | * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory | |
30227 | rather than from gcc/build directory. | |
30228 | ||
30229 | 2015-06-01 Matthew Wahab <matthew.wahab@arm.com> | |
30230 | ||
30231 | PR target/65697 | |
30232 | * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check | |
30233 | for __sync memory models, emit initial loads and final barriers as | |
30234 | appropriate. | |
30235 | ||
30236 | 2015-06-01 Matthew Wahab <matthew.wahab@arm.com> | |
30237 | ||
30238 | PR target/65697 | |
30239 | * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New. | |
30240 | (aarch64_split_atomic_op): Check for __sync memory models, emit | |
30241 | appropriate initial loads and final barriers. | |
30242 | ||
30243 | 2015-06-01 Vidya Praveen <vidyapraveen@arm.com> | |
30244 | ||
30245 | * Makefile.in: Fix gcov dependencies that should | |
30246 | not point to a build folder. | |
30247 | ||
30248 | 2015-06-01 Richard Biener <rguenther@suse.de> | |
30249 | ||
30250 | Revert | |
30251 | 2015-05-29 Richard Biener <rguenther@suse.de> | |
30252 | ||
30253 | PR tree-optimization/66314 | |
30254 | * tree-ssa-threadupdate.c (create_block_for_threading): Add | |
30255 | parameter that says which loop the new block belongs to. | |
30256 | (ssa_create_duplicates): Blocks duplicated for the threaded | |
30257 | path belong to the loop of the thread destination. | |
30258 | ||
30259 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30260 | ||
30261 | * sched-deps.c: Include pool-alloc.h before | |
30262 | cselib.h header file is included. | |
30263 | ||
30264 | 2015-06-01 Richard Biener <rguenther@suse.de> | |
30265 | ||
30266 | * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken | |
30267 | functions. | |
30268 | ||
30269 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30270 | ||
30271 | * alloc-pool.h: Add ATTRIBUTE_UNUSED for | |
30272 | a function local variable. | |
30273 | ||
30274 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30275 | ||
30276 | * alloc-pool.c (create_alloc_pool): Remove. | |
30277 | (empty_alloc_pool): Likewise. | |
30278 | (free_alloc_pool): Likewise. | |
30279 | (free_alloc_pool_if_empty): Likewise. | |
30280 | (pool_alloc): Likewise. | |
30281 | (pool_free): Likewise. | |
30282 | * alloc-pool.h: Remove old declarations. | |
30283 | ||
30284 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30285 | ||
30286 | * ira-build.c (initiate_allocnos): Use new type-based pool allocator. | |
30287 | (ira_create_object): Likewise. | |
30288 | (ira_create_allocno): Likewise. | |
30289 | (ira_create_live_range): Likewise. | |
30290 | (copy_live_range): Likewise. | |
30291 | (ira_finish_live_range): Likewise. | |
30292 | (ira_free_allocno_costs): Likewise. | |
30293 | (finish_allocno): Likewise. | |
30294 | (finish_allocnos): Likewise. | |
30295 | (initiate_prefs): Likewise. | |
30296 | (ira_create_pref): Likewise. | |
30297 | (finish_pref): Likewise. | |
30298 | (finish_prefs): Likewise. | |
30299 | (initiate_copies): Likewise. | |
30300 | (ira_create_copy): Likewise. | |
30301 | (finish_copy): Likewise. | |
30302 | (finish_copies): Likewise. | |
30303 | (finish_prefs): Likewise. | |
30304 | ||
30305 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30306 | ||
30307 | * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator. | |
30308 | (allocate_and_init_ipcp_value): Likewise. | |
30309 | (ipcp_lattice::add_value): Likewise. | |
30310 | (merge_agg_lats_step): Likewise. | |
30311 | (ipcp_driver): Likewise. | |
30312 | * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise. | |
30313 | (ipa_free_all_structures_after_iinln): Likewise. | |
30314 | * ipa-prop.h: Likewise. | |
30315 | ||
30316 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30317 | ||
30318 | * ipa-inline-analysis.c (edge_set_predicate): Use new type-based | |
30319 | pool allocator. | |
30320 | (set_hint_predicate): Likewise. | |
30321 | (inline_summary_alloc): Likewise. | |
30322 | (reset_inline_edge_summary): Likewise. | |
30323 | (reset_inline_summary): Likewise. | |
30324 | (set_cond_stmt_execution_predicate): Likewise. | |
30325 | (set_switch_stmt_execution_predicate): Likewise. | |
30326 | (compute_bb_predicates): Likewise. | |
30327 | (estimate_function_body_sizes): Likewise. | |
30328 | (inline_free_summary): Likewise. | |
30329 | ||
30330 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30331 | ||
30332 | * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator. | |
30333 | (ipa_edge_duplication_hook): Likewise. | |
30334 | (ipa_free_all_structures_after_ipa_cp): Likewise. | |
30335 | (ipa_free_all_structures_after_iinln): Likewise. | |
30336 | ||
30337 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30338 | ||
30339 | * ipa-profile.c (account_time_size): Use new type-based pool allocator. | |
30340 | (ipa_profile_generate_summary): Likewise. | |
30341 | (ipa_profile_read_summary): Likewise. | |
30342 | (ipa_profile): Likewise. | |
30343 | ||
30344 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30345 | ||
30346 | * tree-ssa-structalias.c (new_var_info): Use new type-based | |
30347 | pool allocator. | |
30348 | (new_constraint): Likewise. | |
30349 | (init_alias_vars): Likewise. | |
30350 | (delete_points_to_sets): Likewise. | |
30351 | ||
30352 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30353 | ||
30354 | * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator. | |
30355 | (free_strinfo): Likewise. | |
30356 | (pass_strlen::execute): Likewise. | |
30357 | ||
30358 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30359 | ||
30360 | * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based | |
30361 | pool allocator. | |
30362 | (vn_reference_insert_pieces): Likewise. | |
30363 | (vn_phi_insert): Likewise. | |
30364 | (visit_reference_op_call): Likewise. | |
30365 | (copy_phi): Likewise. | |
30366 | (copy_reference): Likewise. | |
30367 | (process_scc): Likewise. | |
30368 | (allocate_vn_table): Likewise. | |
30369 | (free_vn_table): Likewise. | |
30370 | ||
30371 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30372 | ||
30373 | * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based | |
30374 | pool allocator. | |
30375 | (add_repeat_to_ops_vec): Likewise. | |
30376 | (get_ops): Likewise. | |
30377 | (maybe_optimize_range_tests): Likewise. | |
30378 | (init_reassoc): Likewise. | |
30379 | (fini_reassoc): Likewise. | |
30380 | ||
30381 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30382 | ||
30383 | * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based | |
30384 | pool allocator. | |
30385 | (bitmap_set_new): Likewise. | |
30386 | (get_or_alloc_expr_for_constant): Likewise. | |
30387 | (get_or_alloc_expr_for): Likewise. | |
30388 | (phi_translate_1): Likewise. | |
30389 | (compute_avail): Likewise. | |
30390 | (init_pre): Likewise. | |
30391 | (fini_pre): Likewise. | |
30392 | ||
30393 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30394 | ||
30395 | * sched-deps.c (create_dep_node): Use new type-based pool allocator. | |
30396 | (delete_dep_node): Likewise. | |
30397 | (create_deps_list): Likewise. | |
30398 | (free_deps_list): Likewise. | |
30399 | (sched_deps_init): Likewise. | |
30400 | (sched_deps_finish): Likewise. | |
30401 | ||
30402 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30403 | ||
30404 | * regcprop.c (free_debug_insn_changes): Use new type-based | |
30405 | pool allocator. | |
30406 | (replace_oldest_value_reg): Likewise. | |
30407 | (pass_cprop_hardreg::execute): Likewise. | |
30408 | ||
30409 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30410 | ||
30411 | * ira-build.c (initiate_cost_vectors): Use new type-based | |
30412 | pool allocator. | |
30413 | (ira_allocate_cost_vector): Likewise. | |
30414 | (ira_free_cost_vector): Likewise. | |
30415 | (finish_cost_vectors): Likewise. | |
30416 | ||
30417 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30418 | ||
30419 | * sel-sched-ir.c (alloc_sched_pools): Use new type-based | |
30420 | pool allocator. | |
30421 | (free_sched_pools): Likewise. | |
30422 | * sel-sched-ir.h (_list_alloc): Likewise. | |
30423 | (_list_remove): Likewise. | |
30424 | ||
30425 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30426 | ||
30427 | * stmt.c (add_case_node): Use new type-based pool allocator. | |
30428 | (expand_case): Likewise. | |
30429 | (expand_sjlj_dispatch_table): Likewise. | |
30430 | ||
30431 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30432 | ||
30433 | * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator. | |
30434 | (free_bb): Likewise. | |
30435 | (pass_cse_reciprocals::execute): Likewise. | |
30436 | ||
30437 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30438 | ||
30439 | * tree-sra.c (sra_initialize): Use new type-based pool allocator. | |
30440 | (sra_deinitialize) Likewise. | |
30441 | (create_access_1) Likewise. | |
30442 | (build_accesses_from_assign) Likewise. | |
30443 | (create_artificial_child_access) Likewise. | |
30444 | ||
30445 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30446 | ||
30447 | * dse.c (get_group_info):Use new type-based pool allocator. | |
30448 | (dse_step0) Likewise. | |
30449 | (free_store_info) Likewise. | |
30450 | (delete_dead_store_insn) Likewise. | |
30451 | (free_read_records) Likewise. | |
30452 | (record_store) Likewise. | |
30453 | (replace_read) Likewise. | |
30454 | (check_mem_read_rtx) Likewise. | |
30455 | (scan_insn) Likewise. | |
30456 | (dse_step1) Likewise. | |
30457 | (dse_step7) Likewise. | |
30458 | ||
30459 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30460 | ||
30461 | * df-scan.c (struct df_scan_problem_data):Use new type-based | |
30462 | pool allocator. | |
30463 | (df_scan_free_internal) Likewise. | |
30464 | (df_scan_alloc) Likewise. | |
30465 | (df_grow_reg_info) Likewise. | |
30466 | (df_free_ref) Likewise. | |
30467 | (df_insn_create_insn_record) Likewise. | |
30468 | (df_mw_hardreg_chain_delete) Likewise. | |
30469 | (df_insn_info_delete) Likewise. | |
30470 | (df_free_collection_rec) Likewise. | |
30471 | (df_mw_hardreg_chain_delete_eq_uses) Likewise. | |
30472 | (df_sort_and_compress_mws) Likewise. | |
30473 | (df_ref_create_structure) Likewise. | |
30474 | (df_ref_record) Likewise. | |
30475 | ||
30476 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30477 | ||
30478 | * df-problems.c (df_chain_create):Use new type-based pool allocator. | |
30479 | (df_chain_unlink_1) Likewise. | |
30480 | (df_chain_unlink) Likewise. | |
30481 | (df_chain_remove_problem) Likewise. | |
30482 | (df_chain_alloc) Likewise. | |
30483 | (df_chain_free) Likewise. | |
30484 | * df.h (struct dataflow) Likewise. | |
30485 | ||
30486 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30487 | ||
30488 | * cselib.c (new_elt_list):Use new type-based pool allocator. | |
30489 | (new_elt_loc_list) Likewise. | |
30490 | (unchain_one_elt_list) Likewise. | |
30491 | (unchain_one_elt_loc_list) Likewise. | |
30492 | (unchain_one_value) Likewise. | |
30493 | (new_cselib_val) Likewise. | |
30494 | (cselib_init) Likewise. | |
30495 | (cselib_finish) Likewise. | |
30496 | ||
30497 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30498 | ||
30499 | * config/sh/sh.c (add_constant):Use new type-based pool allocator. | |
30500 | (sh_reorg) Likewise. | |
30501 | ||
30502 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30503 | ||
30504 | * cfg.c (initialize_original_copy_tables):Use new type-based | |
30505 | pool allocator. | |
30506 | (free_original_copy_tables) Likewise. | |
30507 | (copy_original_table_clear) Likewise. | |
30508 | (copy_original_table_set) Likewise. | |
30509 | ||
30510 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30511 | ||
30512 | * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based | |
30513 | pool allocator. | |
30514 | (asan_mem_ref_new) Likewise. | |
30515 | (free_mem_ref_resources) Likewise. | |
30516 | ||
30517 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30518 | ||
30519 | * var-tracking.c (variable_htab_free):Use new type-based | |
30520 | pool allocator. | |
30521 | (attrs_list_clear) Likewise. | |
30522 | (attrs_list_insert) Likewise. | |
30523 | (attrs_list_copy) Likewise. | |
30524 | (shared_hash_unshare) Likewise. | |
30525 | (shared_hash_destroy) Likewise. | |
30526 | (unshare_variable) Likewise. | |
30527 | (var_reg_delete_and_set) Likewise. | |
30528 | (var_reg_delete) Likewise. | |
30529 | (var_regno_delete) Likewise. | |
30530 | (drop_overlapping_mem_locs) Likewise. | |
30531 | (variable_union) Likewise. | |
30532 | (insert_into_intersection) Likewise. | |
30533 | (canonicalize_values_star) Likewise. | |
30534 | (variable_merge_over_cur) Likewise. | |
30535 | (dataflow_set_merge) Likewise. | |
30536 | (remove_duplicate_values) Likewise. | |
30537 | (variable_post_merge_new_vals) Likewise. | |
30538 | (dataflow_set_preserve_mem_locs) Likewise. | |
30539 | (dataflow_set_remove_mem_locs) Likewise. | |
30540 | (variable_from_dropped) Likewise. | |
30541 | (variable_was_changed) Likewise. | |
30542 | (set_slot_part) Likewise. | |
30543 | (clobber_slot_part) Likewise. | |
30544 | (delete_slot_part) Likewise. | |
30545 | (loc_exp_insert_dep) Likewise. | |
30546 | (notify_dependents_of_changed_value) Likewise. | |
30547 | (emit_notes_for_differences_1) Likewise. | |
30548 | (vt_emit_notes) Likewise. | |
30549 | (vt_initialize) Likewise. | |
30550 | (vt_finalize) Likewise. | |
30551 | ||
30552 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30553 | ||
30554 | * ira-color.c (init_update_cost_records):Use new type-based | |
30555 | pool allocator. | |
30556 | (get_update_cost_record) Likewise. | |
30557 | (free_update_cost_record_list) Likewise. | |
30558 | (finish_update_cost_records) Likewise. | |
30559 | (initiate_cost_update) Likewise. | |
30560 | ||
30561 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30562 | ||
30563 | * lra.c (init_insn_regs): Use new type-based pool allocator. | |
30564 | (new_insn_reg) Likewise. | |
30565 | (free_insn_reg) Likewise. | |
30566 | (free_insn_regs) Likewise. | |
30567 | (finish_insn_regs) Likewise. | |
30568 | (init_insn_recog_data) Likewise. | |
30569 | (init_reg_info) Likewise. | |
30570 | (finish_reg_info) Likewise. | |
30571 | (lra_free_copies) Likewise. | |
30572 | (lra_create_copy) Likewise. | |
30573 | (invalidate_insn_data_regno_info) Likewise. | |
30574 | ||
30575 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30576 | ||
30577 | * lra-lives.c (free_live_range): Use new type-based pool allocator. | |
30578 | (free_live_range_list) Likewise. | |
30579 | (create_live_range) Likewise. | |
30580 | (copy_live_range) Likewise. | |
30581 | (lra_merge_live_ranges) Likewise. | |
30582 | (remove_some_program_points_and_update_live_ranges) Likewise. | |
30583 | (lra_live_ranges_init) Likewise. | |
30584 | (lra_live_ranges_finish) Likewise. | |
30585 | ||
30586 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30587 | ||
30588 | * et-forest.c (et_new_occ): Use new type-based pool allocator. | |
30589 | (et_new_tree): Likewise. | |
30590 | (et_free_tree): Likewise. | |
30591 | (et_free_tree_force): Likewise. | |
30592 | (et_free_pools): Likewise. | |
30593 | (et_split): Likewise. | |
30594 | ||
30595 | 2015-06-01 Martin Liska <mliska@suse.cz> | |
30596 | ||
30597 | * alloc-pool.c (struct alloc_pool_descriptor): Move definition | |
30598 | to header file. | |
30599 | * alloc-pool.h (pool_allocator::pool_allocator): New function. | |
30600 | (pool_allocator::release): Likewise. | |
30601 | (inline pool_allocator::release_if_empty): Likewise. | |
30602 | (inline pool_allocator::~pool_allocator): Likewise. | |
30603 | (pool_allocator::allocate): Likewise. | |
30604 | (pool_allocator::remove): Likewise. | |
30605 | ||
30606 | 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com> | |
30607 | ||
30608 | * sched-deps.c (sched_analyze_2): Replace fuseable with fusible | |
30609 | in comment. | |
30610 | ||
30611 | 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com> | |
30612 | ||
30613 | * config/arm/arm-protos.h (tune_params): Rename fuseable_ops | |
30614 | to fusible_ops. | |
30615 | * config/arm/arm.c (arm_print_tune_info): Likewise. | |
30616 | (arm_macro_fusion_p): Likewise. | |
30617 | (arm_macro_fusion_pair_p): Likewise. | |
30618 | ||
30619 | 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com> | |
30620 | ||
30621 | * config/aarch64/aarch64-protos.h (tune_params): Rename | |
30622 | fuseable_ops to fusible_ops. | |
30623 | * config/aarch64/aarch64.c (generic_tunings): Rename | |
30624 | fuseable_ops to fusible_ops. | |
30625 | (cortexa53_tunings): Likewise. | |
30626 | (cortexa57_tunings): Likewise. | |
30627 | (thunderx_tunings): Likewise. | |
30628 | (xgene1_tunings): Likewise. | |
30629 | (aarch64_macro_fusion_p): Likewise. | |
30630 | (aarch64_macro_fusion_pair_p): Likewise. | |
30631 | ||
30632 | 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
30633 | ||
30634 | * config/s390/driver-native.c: New file. | |
30635 | * config/s390/x-native: New file. | |
30636 | * config.host: Add new files for s390. | |
30637 | * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native | |
30638 | and -march=native | |
30639 | * config.gcc: Likewise. | |
30640 | * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE | |
30641 | * config/s390/s390-opts.h (enum processor_type): Ditto. | |
30642 | * config/s390/s390.c (s390_option_override): Catch unhandled | |
30643 | PROCESSOR_NATIVE | |
30644 | ||
30645 | 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com> | |
30646 | ||
30647 | PR target/65527 | |
30648 | * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add | |
30649 | redirection for instrumented calls. | |
30650 | * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds. | |
30651 | (append_compiler_options): Append -fcheck-pointer-bounds. | |
30652 | * tree-chkp.h (chkp_copy_call_skip_bounds): New. | |
30653 | (chkp_redirect_edge): New. | |
30654 | * tree-chkp.c (chkp_copy_call_skip_bounds): New. | |
30655 | (chkp_redirect_edge): New. | |
30656 | ||
30657 | 2015-06-01 Richard Biener <rguenther@suse.de> | |
30658 | ||
30659 | PR tree-optimization/66280 | |
30660 | * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern | |
30661 | def-use walking. | |
30662 | ||
30663 | 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
30664 | ||
30665 | * config/aarch64/aarch64.md | |
30666 | (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to | |
30667 | logic_shift_imm. | |
30668 | ||
30669 | 2015-06-01 Eric Botcazou <ebotcazou@adacore.com> | |
30670 | ||
30671 | * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>: | |
30672 | Remove obsolete kludge. | |
30673 | ||
30674 | 2015-06-01 Richard Biener <rguenther@suse.de> | |
30675 | ||
30676 | * tree-ssa-reassoc.c (get_rank): Simplify. | |
30677 | ||
30678 | 2015-05-31 H.J. Lu <hongjiu.lu@intel.com> | |
30679 | ||
30680 | * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS. | |
30681 | * configure: Regenerated. | |
30682 | ||
30683 | 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com> | |
30684 | ||
30685 | * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility | |
30686 | issue (add space between string literal and macro). | |
30687 | * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise. | |
30688 | ||
30689 | 2015-05-30 Andreas Schwab <schwab@linux-m68k.org> | |
30690 | ||
30691 | * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for | |
30692 | implict or explicit -fPIE or -fpie. | |
30693 | ||
30694 | 2015-05-30 Mike Frysinger <vapier@gentoo.org> | |
30695 | ||
30696 | * config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}. | |
30697 | ||
30698 | 2015-05-28 DJ Delorie <dj@redhat.com> | |
30699 | ||
30700 | * expmed.c (extract_bit_field_1): Avoid clobbering a | |
30701 | yet-to-be-used base/index register. | |
30702 | ||
30703 | 2015-05-30 Jan Hubicka <hubicka@ucw.cz> | |
30704 | ||
30705 | * alias.c (alias_set_entry_d): Add is_pointer and has_pointer. | |
30706 | (alias_stats): Add num_universal. | |
30707 | (alias_set_subset_of): Special case pointers; be ready for NULL | |
30708 | children. | |
30709 | (alias_sets_conflict_p): Special case pointers; be ready for NULL | |
30710 | children. | |
30711 | (init_alias_set_entry): Break out from ... | |
30712 | (record_alias_subset): ... here; propagate new fields; | |
30713 | allocate children only when really needed. | |
30714 | (get_alias_set): Do less generous pointer globbing. | |
30715 | (dump_alias_stats_in_alias_c): Update statistics. | |
30716 | ||
30717 | 2015-05-30 Alan Modra <amodra@gmail.com> | |
30718 | ||
30719 | * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan | |
30720 | correct block for use of r12. | |
30721 | (rs6000_expand_split_stack_prologue): Error on r29 asm global reg. | |
30722 | ||
30723 | 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
30724 | ||
30725 | PR target/66215 | |
30726 | * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs | |
30727 | with -mhotpatch=. | |
30728 | ||
30729 | 2015-05-29 Jakub Jelinek <jakub@redhat.com> | |
30730 | ||
30731 | PR tree-optimization/66142 | |
30732 | * tree-if-conv.c (if_convertible_phi_p): Don't give up on | |
30733 | virtual phis that feed themselves. | |
30734 | ||
30735 | 2015-05-29 Richard Biener <rguenther@suse.de> | |
30736 | ||
30737 | PR tree-optimization/66314 | |
30738 | * tree-ssa-threadupdate.c (create_block_for_threading): Add | |
30739 | parameter that says which loop the new block belongs to. | |
30740 | (ssa_create_duplicates): Blocks duplicated for the threaded | |
30741 | path belong to the loop of the thread destination. | |
30742 | ||
30743 | 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
30744 | ||
30745 | * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call | |
30746 | to cleanup-saved-temps. | |
30747 | * doc/sourcebuild.texi (Clean up generated test files): Expand | |
30748 | introduction. | |
30749 | (dg-keep-saved-temps): Document new proc. | |
30750 | (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump, | |
30751 | cleanup-saved-temps): Remove. | |
30752 | ||
30753 | 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org> | |
30754 | ||
30755 | * configure.ac: Move the atoll check from AC_CHECK_FUNCS to | |
30756 | gcc_AC_CHECK_DECLS. | |
30757 | * configure: Regenerate. | |
30758 | ||
30759 | 2015-05-28 Mike Frysinger <vapier@gentoo.org> | |
30760 | ||
30761 | * config/nios2/linux.h (CPP_SPEC): Define. | |
30762 | ||
30763 | 2015-05-28 Mike Frysinger <vapier@gentoo.org> | |
30764 | ||
30765 | * config/microblaze/linux.h (CPP_SPEC): Define. | |
30766 | ||
30767 | 2015-05-28 Mike Frysinger <vapier@gentoo.org> | |
30768 | ||
30769 | * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when | |
30770 | -pthread is specified. | |
30771 | ||
30772 | 2015-05-28 Richard Biener <rguenther@suse.de> | |
30773 | ||
30774 | * tree-vect-loop.c (vect_fixup_reduc_chain): New function. | |
30775 | (vect_fixup_scalar_cycles_with_patterns): Likewise. | |
30776 | (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns | |
30777 | after pattern recog. | |
30778 | (vect_create_epilog_for_reduction): Properly handle reductions | |
30779 | with patterns. | |
30780 | (vectorizable_reduction): Likewise. | |
30781 | * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark | |
30782 | reduction chains. | |
30783 | (vect_get_constant_vectors): Create the correct number of | |
30784 | initial values for reductions. | |
30785 | (vect_schedule_slp_instance): Handle reduction chains that are | |
30786 | type changing properly. | |
30787 | * tree-vect-stmts.c (vect_analyze_stmt): Adjust. | |
30788 | ||
30789 | 2015-05-28 Richard Biener <rguenther@suse.de> | |
30790 | ||
30791 | PR tree-optimization/66142 | |
30792 | * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE | |
30793 | values better in memcpy destination handling. Handle non-aliasing | |
30794 | we discover here. | |
30795 | ||
30796 | 2015-05-28 Lawrence Velázquez <vq@larryv.me> | |
30797 | ||
30798 | PR target/63810 | |
30799 | * config/darwin-c.c (version_components): New global enum. | |
30800 | (parse_version, version_as_legacy_macro) | |
30801 | (version_as_modern_macro, macosx_version_as_macro): New functions. | |
30802 | (version_as_macro): Remove. | |
30803 | (darwin_cpp_builtins): Use new function. | |
30804 | ||
30805 | 2015-05-28 H.J. Lu <hongjiu.lu@intel.com> | |
30806 | ||
30807 | * builtins.c (expand_builtin_acc_on_device): Mark parameters | |
30808 | with ATTRIBUTE_UNUSED. | |
30809 | ||
30810 | 2015-05-28 Julian Brown <julian@codesourcery.com> | |
30811 | ||
30812 | PR libgomp/65742 | |
30813 | ||
30814 | * builtins.c (expand_builtin_acc_on_device): Don't use open-coded | |
30815 | sequence for !ACCEL_COMPILER. | |
30816 | ||
30817 | 2015-05-28 Nick Clifton <nickc@redhat.com> | |
30818 | ||
30819 | * config/rx/rx.c (push_regs): New function. Extracts code from... | |
30820 | (rx_expand_prologue): ... here. Use push_regs to push even small | |
30821 | spans of registers. | |
30822 | (pop_regs): New function. | |
30823 | (rx_expand_epilogue): Use pop_regs to pop even small spans of | |
30824 | registers. | |
30825 | ||
30826 | 2015-05-28 Richard Biener <rguenther@suse.de> | |
30827 | ||
30828 | * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec | |
30829 | member. | |
30830 | (SLP_INSTANCE_BODY_COST_VEC): Remove. | |
30831 | (vect_update_slp_costs_according_to_vf): Likewise. | |
30832 | (vect_slp_analyze_operations): Update prototype. | |
30833 | * tree-vect-loop.c (vect_analyze_loop_2): Remove call to | |
30834 | vect_update_slp_costs_according_to_vf, adjust. | |
30835 | * tree-vect-slp.c (vect_free_slp_instance): Adjust. | |
30836 | (vect_analyze_slp_cost_1): Likewise. | |
30837 | (vect_analyze_slp_cost): Likewise. Properly deal with | |
30838 | widening reduction ops. Commit body costs. | |
30839 | (vect_analyze_slp_instance): Adjust. Do not analyze SLP | |
30840 | cost for loops from here. | |
30841 | (vect_slp_analyze_operations): But do it from here when | |
30842 | the vectorization factor is known and stmts are analyzed. | |
30843 | (vect_bb_vectorization_profitable_p): Simplify. | |
30844 | (vect_slp_analyze_bb_1): Do not compute SLP cost here. | |
30845 | (vect_update_slp_costs_according_to_vf): Remove. | |
30846 | ||
30847 | 2015-05-27 Magnus Granberg <zorry@gentoo.org> | |
30848 | H.J. Lu <hongjiu.lu@intel.com> | |
30849 | ||
30850 | * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@. | |
30851 | (BUILD_CFLAGS): Likewise. | |
30852 | (BUILD_CXXFLAGS): Likewise. | |
30853 | (LINKER): Add @NO_PIE_FLAG@. | |
30854 | (BUILD_LDFLAGS): Likewise. | |
30855 | (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for | |
30856 | --enable-default-pie. | |
30857 | * common.opt (fPIE): Initialize to -1. | |
30858 | (fpie): Likewise. | |
30859 | (no-pie): New option. | |
30860 | (pie): Replace "Negative(shared)" with "Negative(no-pie)". | |
30861 | * configure.ac: Add --enable-default-pie. | |
30862 | (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST. | |
30863 | (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST. | |
30864 | * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE. | |
30865 | * gcc.c (NO_PIE_SPEC): New. | |
30866 | (PIE_SPEC): Likewise. | |
30867 | (NO_FPIE1_SPEC): Likewise. | |
30868 | (FPIE1_SPEC): Likewise. | |
30869 | (NO_FPIE2_SPEC): Likewise. | |
30870 | (FPIE2_SPEC): Likewise. | |
30871 | (NO_FPIE2_SPEC): Likewise. | |
30872 | (FPIE_SPEC): Likewise. | |
30873 | (NO_FPIE_SPEC): Likewise. | |
30874 | (NO_FPIC1_SPEC): Likewise. | |
30875 | (FPIC1_SPEC): Likewise. | |
30876 | (NO_FPIC2_SPEC): Likewise. | |
30877 | (FPIC2_SPEC): Likewise. | |
30878 | (NO_FPIC2_SPEC): Likewise. | |
30879 | (FPIC_SPEC): Likewise. | |
30880 | (NO_FPIC_SPEC): Likewise. | |
30881 | (NO_FPIE1_AND_FPIC1_SPEC): Likewise. | |
30882 | (FPIE1_OR_FPIC1_SPEC): Likewise. | |
30883 | (NO_FPIE2_AND_FPIC2_SPEC): Likewise. | |
30884 | (FPIE2_OR_FPIC2_SPEC): Likewise. | |
30885 | (NO_FPIE_AND_FPIC_SPEC): Likewise. | |
30886 | (FPIE_OR_FPIC_SPEC): Likewise. | |
30887 | (LD_PIE_SPEC): Likewise. | |
30888 | (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC. | |
30889 | * opts.c (finish_options): Update opts->x_flag_pie if it is -1. | |
30890 | * config/darwin.h (PIE_SPEC): Renamed to ... | |
30891 | (DARWIN_PIE_SPEC): This. | |
30892 | (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC. | |
30893 | * config/darwin9.h (PIE_SPEC): Renamed to ... | |
30894 | (DARWIN_PIE_SPEC): This. | |
30895 | * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use | |
30896 | PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined. | |
30897 | * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and | |
30898 | FPIE2_OR_FPIC2_SPEC. | |
30899 | * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise. | |
30900 | * config/m68k/openbsd.h (ASM_SPEC): Likewise. | |
30901 | * config/sol2.h (ASM_PIC_SPEC): Likewise. | |
30902 | * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. | |
30903 | * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. | |
30904 | * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise. | |
30905 | * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise. | |
30906 | * config/m32r/m32r.h (ASM_SPEC): Likewise. | |
30907 | * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise. | |
30908 | * config/rs6000/linux64.h (ASM_SPEC32): Likewise. | |
30909 | * config/rs6000/sysv4.h (ASM_SPEC): Likewise. | |
30910 | * config/sparc/freebsd.h (ASM_SPEC): Likewise. | |
30911 | * config/sparc/linux.h (ASM_SPEC): Likewise. | |
30912 | * config/sparc/linux64.h (ASM_SPEC): Likewise. | |
30913 | * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise. | |
30914 | * config/sparc/openbsd64.h (ASM_SPEC): Likewise. | |
30915 | * config/sparc/sp-elf.h (ASM_SPEC): Likewise. | |
30916 | * config/sparc/sp64-elf.h (ASM_SPEC): Likewise. | |
30917 | * config/sparc/sparc.h (ASM_SPEC): Likewise. | |
30918 | * config/sparc/sysv4.h (ASM_SPEC): Likewise. | |
30919 | * config/sparc/vxworks.h (ASM_SPEC): Likewise. | |
30920 | * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC, | |
30921 | FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC. | |
30922 | * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC. | |
30923 | * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC, | |
30924 | NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC. | |
30925 | (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC. | |
30926 | * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC. | |
30927 | * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC. | |
30928 | * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC. | |
30929 | * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise. | |
30930 | * config/rs6000/vxworks.h (ASM_SPEC): Likewise. | |
30931 | * config/vax/linux.h (ASM_SPEC): Likewise. | |
30932 | * doc/install.texi: Document --enable-default-pie. | |
30933 | * doc/invoke.texi: Document -no-pie. | |
30934 | * config.in: Regenerated. | |
30935 | * configure: Likewise. | |
30936 | ||
30937 | 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
30938 | ||
30939 | PR rtl-optimization/66168 | |
30940 | * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to | |
30941 | can_move_invariant_reg. | |
30942 | ||
30943 | 2015-05-27 John David Anglin <danglin@gcc.gnu.org> | |
30944 | ||
30945 | PR target/66148 | |
30946 | * config/pa/pa.c (pa_emit_move_sequence): Correct placement of | |
30947 | REG_EQUAL note when doing insert. | |
30948 | ||
30949 | * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC | |
30950 | instead of "%d" for 'o' operand. | |
30951 | ||
30952 | 2015-05-27 Nathan Sidwell <nathan@acm.org> | |
30953 | ||
30954 | PR c++/66270 | |
30955 | * tree.c (build_pointer_type_for_mode): Canonical type does not | |
30956 | inherit can_alias_all. | |
30957 | (build_reference_type_for_mode): Likewise. | |
30958 | ||
30959 | 2015-05-27 Eric Botcazou <ebotcazou@adacore.com> | |
30960 | ||
30961 | * expr.h (array_at_struct_end_p): Move to... | |
30962 | (array_ref_element_size): Likewise. | |
30963 | (component_ref_field_offset): Likewise. | |
30964 | * tree.h (array_ref_element_size): ...here. | |
30965 | (array_at_struct_end_p): Likewise. | |
30966 | (component_ref_field_offset): Likewise. | |
30967 | * expr.c (array_ref_element_size): Move to... | |
30968 | (array_ref_low_bound): Likewise. | |
30969 | (array_at_struct_end_p): Likewise. | |
30970 | (array_ref_up_bound): Likewise. | |
30971 | (component_ref_field_offset): Likewise. | |
30972 | * tree.c (array_ref_element_size): ...here. | |
30973 | (array_ref_low_bound): Likewise. | |
30974 | (array_ref_up_bound): Likewise. | |
30975 | (array_at_struct_end_p): Likewise. | |
30976 | (component_ref_field_offset): Likewise. | |
30977 | ||
30978 | 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca> | |
30979 | Szabolcs Nagy <szabolcs.nagy@arm.com> | |
30980 | ||
30981 | * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define. | |
30982 | ||
30983 | 2015-05-27 Jason Merrill <jason@redhat.com> | |
30984 | ||
30985 | PR bootstrap/66304 | |
30986 | * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS, | |
30987 | ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and | |
30988 | ACX_PROG_CXX_WARNINGS_ARE_ERRORS. | |
30989 | ||
30990 | 2015-05-22 Aditya Kumar <hiraditya@msn.com> | |
30991 | ||
30992 | * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample | |
30993 | is true. | |
30994 | ||
30995 | * statistics.c (statistics_fini_pass): Print pass name. | |
30996 | ||
30997 | 2015-05-27 Richard Biener <rguenther@suse.de> | |
30998 | ||
30999 | PR tree-optimization/66272 | |
31000 | Revert parts of | |
31001 | 2014-08-15 Richard Biener <rguenther@suse.de> | |
31002 | ||
31003 | PR tree-optimization/62031 | |
31004 | * tree-data-ref.c (dr_analyze_indices): Do not set | |
31005 | DR_UNCONSTRAINED_BASE. | |
31006 | (dr_may_alias_p): All indirect accesses have to go the | |
31007 | formerly DR_UNCONSTRAINED_BASE path. | |
31008 | * tree-data-ref.h (struct indices): Remove | |
31009 | unconstrained_base member. | |
31010 | (DR_UNCONSTRAINED_BASE): Remove. | |
31011 | ||
31012 | 2015-05-27 Aldy Hernandez <aldyh@redhat.com> | |
31013 | ||
31014 | * dwarf2out.c: Remove block_map. | |
31015 | (gen_call_site_die): Replace block_map use with BLOCK_DIE. | |
31016 | (gen_lexical_block_die): Same. | |
31017 | (dwarf2out_function_decl): Remove block_map use. | |
31018 | (dwarf2out_c_finalize): Same. | |
31019 | * tree-core.h (struct tree_block): Add die field. | |
31020 | * tree.h (BLOCK_DIE): New. | |
31021 | ||
31022 | 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
31023 | ||
31024 | PR target/65358 | |
31025 | * expr.c (memory_load_overlap): New function. | |
31026 | (emit_push_insn): When pushing partial args to the stack would | |
31027 | clobber the register part load the overlapping part into a pseudo | |
31028 | and put it into the hard reg after pushing. Change return type | |
31029 | to bool. Add bool argument. | |
31030 | * expr.h (emit_push_insn): Change return type to bool. | |
31031 | Add bool argument. | |
31032 | * calls.c (expand_call): Cancel sibcall optimization when encountering | |
31033 | partial argument on targets with ARGS_GROW_DOWNWARD and | |
31034 | !STACK_GROWS_DOWNWARD. | |
31035 | (emit_library_call_value_1): Update callsite of emit_push_insn. | |
31036 | (store_one_arg): Likewise. | |
31037 | ||
31038 | 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca> | |
31039 | ||
31040 | * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define. | |
31041 | ||
31042 | 2015-05-27 Martin Liska <mliska@suse.cz> | |
31043 | ||
31044 | * Makefile.in: Add additional dependencies related to memory report | |
31045 | enhancement. | |
31046 | * alloc-pool.c (allocate_pool_descriptor): Use new ctor. | |
31047 | * bitmap.c (struct bitmap_descriptor_d): Remove. | |
31048 | (struct loc): Likewise. | |
31049 | (struct bitmap_desc_hasher): Likewise. | |
31050 | (bitmap_desc_hasher::hash): Likewise. | |
31051 | (bitmap_desc_hasher::equal): Likewise. | |
31052 | (get_bitmap_descriptor): Likewise. | |
31053 | (bitmap_register): User new memory descriptor API. | |
31054 | (register_overhead): Likewise. | |
31055 | (bitmap_find_bit): Register nsearches and search_iter statistics. | |
31056 | (struct bitmap_output_info): Remove. | |
31057 | (print_statistics): Likewise. | |
31058 | (dump_bitmap_statistics): Use new memory descriptor. | |
31059 | * bitmap.h (struct bitmap_usage): New class. | |
31060 | * genmatch.c: Extend header file inclusion. | |
31061 | * genpreds.c: Likewise. | |
31062 | * ggc-common.c (struct ggc_usage): New class. | |
31063 | (struct ggc_loc_desc_hasher): Remove. | |
31064 | (ggc_loc_desc_hasher::hash): Likewise. | |
31065 | (ggc_loc_desc_hasher::equal): Likewise. | |
31066 | (struct ggc_ptr_hash_entry): Likewise. | |
31067 | (struct ptr_hash_hasher): Likewise. | |
31068 | (ptr_hash_hasher::hash): Likewise. | |
31069 | (ptr_hash_hasher::equal): Likewise. | |
31070 | (make_loc_descriptor): Likewise. | |
31071 | (ggc_prune_ptr): Likewise. | |
31072 | (dump_ggc_loc_statistics): Use new memory descriptor. | |
31073 | (ggc_record_overhead): Likewise. | |
31074 | (ggc_free_overhead): Likewise. | |
31075 | (final_cmp_statistic): Remove. | |
31076 | (cmp_statistic): Likewise. | |
31077 | (ggc_add_statistics): Liekwise. | |
31078 | (ggc_prune_overhead_list): Likewise. | |
31079 | * hash-map-traits.h: New file. | |
31080 | * hash-map.h (struct default_hashmap_traits): Move the traits to a | |
31081 | separate header file. | |
31082 | * hash-set.h: Pass memory statistics info to ctor. | |
31083 | * hash-table.c (void dump_hash_table_loc_statistics): New function. | |
31084 | * hash-table.h (hash_table::hash_table): Add new ctor arguments. | |
31085 | (hash_table::~hash_table): Register memory release operation. | |
31086 | (hash_table::alloc_entries): Handle memory allocation operation. | |
31087 | (hash_table::expand): Likewise. | |
31088 | * inchash.c (iterative_hash_hashval_t): Move implementation to header | |
31089 | file. | |
31090 | (iterative_hash_host_wide_int): Likewise. | |
31091 | * inchash.h (class hash): Likewise. | |
31092 | * mem-stats-traits.h: New file. | |
31093 | * mem-stats.h: New file. | |
31094 | (mem_location): Add new class. | |
31095 | (mem_usage): Likewise. | |
31096 | (mem_alloc_description): Likewise. | |
31097 | * sese.c: Add new header file inclusision. | |
31098 | * toplev.c (dump_memory_report): Add report for hash_table, hash_map | |
31099 | and hash_set. | |
31100 | * tree-sra.c: Add new header file inclusision. | |
31101 | * vec.c (struct vec_descriptor): Remove. | |
31102 | (hash_descriptor): Likewise. | |
31103 | (struct vec_usage): Likewise. | |
31104 | (struct ptr_hash_entry): Likewise. | |
31105 | (hash_ptr): Likewise. | |
31106 | (eq_ptr): Likewise. | |
31107 | (vec_prefix::register_overhead): Use new memory descriptor API. | |
31108 | (vec_prefix::release_overhead): Likewise. | |
31109 | (add_statistics): Remove. | |
31110 | (dump_vec_loc_statistics): Use new memory descriptor API. | |
31111 | * vec.h (struct vec_prefix): Likewise. | |
31112 | (va_heap::reserve): Likewise. | |
31113 | (va_heap::release): Likewise. | |
31114 | * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT. | |
31115 | ||
31116 | 2015-05-27 Richard Biener <rguenther@suse.de> | |
31117 | ||
31118 | * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm | |
31119 | earlier and remove ??? comment. | |
31120 | (vect_analyze_stmt): If we are analyzing a pure SLP stmt | |
31121 | and got called from loop analysis bail out. Always pass the SLP | |
31122 | node to the vectorizable_* functions. | |
31123 | * tree-vect-loop.c (vect_analyze_loop_operations): Remove | |
31124 | the premature SLP check here. | |
31125 | * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid | |
31126 | detected SLP stmts. | |
31127 | (vect_detect_hybrid_slp_1): Likewise. | |
31128 | ||
31129 | 2015-05-26 Jeff Law <law@redhat.com> | |
31130 | ||
31131 | * combine.c (find_split_point): Verify that the shift count is a | |
31132 | constant when choosing (plus (ashift ...)) as a split point. | |
31133 | ||
31134 | * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs. | |
31135 | No functional changes. | |
31136 | ||
31137 | 2015-05-26 Jan Hubicka <hubicka@ucw.cz> | |
31138 | ||
31139 | * ipa-polymorphic-call.c | |
31140 | (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the | |
31141 | case when call target is already known. | |
31142 | ||
31143 | 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org> | |
31144 | ||
31145 | PR target/65979 | |
31146 | * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and | |
31147 | take into account the case that operands[1] and operands[2] | |
31148 | are the same register. | |
31149 | ||
31150 | 2015-05-26 Michael Matz <matz@suse.de> | |
31151 | ||
31152 | PR middle-end/66251 | |
31153 | ||
31154 | * tree-vect-stmts.c (vect_model_store_cost): Handled strided group | |
31155 | stores. | |
31156 | (vect_create_vectorized_demotion_stmts): Always set | |
31157 | STMT_VINFO_VEC_STMT, also with SLP. | |
31158 | (vectorizable_store): Handle strided group stores. | |
31159 | ||
31160 | 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com> | |
31161 | ||
31162 | PR target/66049 | |
31163 | * config/aarch64/aarch64.md | |
31164 | (*adds_shift_imm_<mode>): New pattern. | |
31165 | (*subs_shift_imm_<mode>): Likewise. | |
31166 | (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise. | |
31167 | (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise. | |
31168 | (*add_uxt<mode>_shift2): Likewise. | |
31169 | (*add_uxtsi_shift2_uxtw): Likewise. | |
31170 | (*sub_uxt<mode>_shift2): Likewise. | |
31171 | (*sub_uxtsi_shift2_uxtw): Likewise. | |
31172 | ||
31173 | 2015-05-26 David Edelsohn <dje.gcc@gmail.com> | |
31174 | ||
31175 | * config/rs6000/constraints.md (Y, U): Use match_test. | |
31176 | ||
31177 | 2015-05-26 Christian Bruel <christian.bruel@st.com> | |
31178 | ||
31179 | PR target/52144 | |
31180 | * config/arm/arm.c (arm_option_check_internal) | |
31181 | (arm_option_params_internal): Check opts->target_flags to set macros. | |
31182 | (TREE_TARGET_ARM, TREE_TARGET_THUMB) | |
31183 | (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with... | |
31184 | (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P) | |
31185 | (builtin_define): Replaced with def_or_undef_macro. | |
31186 | * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB) | |
31187 | TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with... | |
31188 | (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P) | |
31189 | (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P) | |
31190 | (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P) | |
31191 | (TARGET_ARM_FEATURE_LDREX_P) | |
31192 | (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros. | |
31193 | * config/arm/arm-c.c (def_or_undef_macro): New function. | |
31194 | (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition. | |
31195 | ||
31196 | 2015-05-26 Christian Bruel <christian.bruel@st.com> | |
31197 | ||
31198 | * c-common.h (builtin_define_with_int_value) | |
31199 | (builtin_define_type_sizeof): Declare. | |
31200 | * c-cppbuiltin.c (builtin_define_with_int_value) | |
31201 | (builtin_define_type_sizeof): Externalize. | |
31202 | (builtin_define_std): Cleanup declaration. | |
31203 | * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare. | |
31204 | * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into... | |
31205 | * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function. | |
31206 | (builtin_define, builtin_assert): New macros. | |
31207 | ||
31208 | 2015-05-26 Richard Biener <rguenther@suse.de> | |
31209 | ||
31210 | PR tree-optimization/66142 | |
31211 | * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare | |
31212 | MEM_REFs for the same base address. | |
31213 | ||
31214 | 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
31215 | ||
31216 | PR ipa/66181 | |
31217 | * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK. | |
31218 | ||
31219 | 2015-05-26 Jason Merrill <jason@redhat.com> | |
31220 | ||
31221 | * configure.ac: Set CXXFLAGS for ISL test. | |
31222 | * configure: Regenerate. | |
31223 | ||
31224 | * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for | |
31225 | strstr and basename. | |
31226 | * configure: Regenerate. | |
31227 | ||
31228 | 2015-05-26 Richard Biener <rguenther@suse.de> | |
31229 | ||
31230 | * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and | |
31231 | X % C -> X & (C - 1) for C being a power-of two to ... | |
31232 | * match.pd: ... patterns. | |
31233 | ||
31234 | 2015-05-26 Marc Glisse <marc.glisse@inria.fr> | |
31235 | ||
31236 | * match.pd (swapped_tcc_comparison): New operator list. | |
31237 | (-A CMP -B): New simplification. | |
31238 | * fold-const.c (fold_comparison): Remove corresponding code. | |
31239 | ||
31240 | 2015-05-26 Richard Sandiford <richard.sandiford@arm.com> | |
31241 | ||
31242 | * caller-save.c (init_caller_save): Base temporary register numbers | |
31243 | on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER. | |
31244 | * cfgloopanal.c (init_set_costs): Likewise. | |
31245 | * dojump.c (prefer_and_bit_test): Likewise. | |
31246 | * expr.c (init_expr_target): Likewise. | |
31247 | * ira.c (setup_prohibited_mode_move_regs): Likewise. | |
31248 | * lower-subreg.c (init_lower_subreg): Likewise. | |
31249 | * postreload.c (reload_cse_regs_1): Likewise. | |
31250 | ||
31251 | 2015-05-26 Richard Sandiford <richard.sandiford@arm.com> | |
31252 | ||
31253 | * gensupport.h (compute_test_codes): Declare. | |
31254 | * gensupport.c (compute_predicate_codes): Rename to... | |
31255 | (compute_test_codes): ...this. Generalize error message. | |
31256 | (process_define_predicate): Update accordingly. | |
31257 | * genpreds.c (compute_maybe_allows): Delete. | |
31258 | (add_constraint): Use compute_test_codes to determine whether | |
31259 | something can accept a SUBREG, REG or MEM. | |
31260 | ||
31261 | 2015-05-26 Torvald Riegel <triegel@redhat.com> | |
31262 | ||
31263 | * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of | |
31264 | 'memory model' to align with C++11; fix description of memory orders; | |
31265 | fix a few typos. | |
31266 | ||
31267 | 2015-05-26 Richard Biener <rguenther@suse.de> | |
31268 | ||
31269 | * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ... | |
31270 | (vect_analyze_loop_operations): ... here. Remove slp parameter, | |
31271 | detect whether we apply SLP. Remove call to | |
31272 | vect_update_slp_costs_according_to_vf. | |
31273 | (vect_analyze_loop_2): Call vect_update_vf_for_slp and | |
31274 | vect_update_slp_costs_according_to_vf from here. Dispatch | |
31275 | to vect_slp_analyze_operations to analyze SLP stmts. | |
31276 | * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop | |
31277 | unused bb_vec_info parameter, adjust assert. | |
31278 | (vect_slp_analyze_operations): Pass in the slp instance tree | |
31279 | instead of bb_vec_info. | |
31280 | (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations. | |
31281 | * tree-vectorizer.h (vect_slp_analyze_operations): Declare. | |
31282 | ||
31283 | 2015-05-25 Alexander Monakov <amonakov@ispras.ru> | |
31284 | ||
31285 | * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to | |
31286 | Q_REGS. Expand comment. | |
31287 | (REG_CLASS_NAMES): Ditto. | |
31288 | (REG_CLASS_CONTENTS): Ditto. | |
31289 | ||
31290 | 2015-05-25 Uros Bizjak <ubizjak@gmail.com> | |
31291 | ||
31292 | PR target/66274 | |
31293 | * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT | |
31294 | when LEGACY_INT_REGNO_P is processed. | |
31295 | ||
31296 | 2015-05-25 Alexander Monakov <amonakov@ispras.ru> | |
31297 | ||
31298 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt. | |
31299 | ||
31300 | 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com> | |
31301 | ||
31302 | * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base | |
31303 | register if not marked dead/unused, before return. | |
31304 | ||
31305 | 2015-05-24 Jan Hubicka <hubicka@ucw.cz> | |
31306 | ||
31307 | PR lto/66180 | |
31308 | * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL | |
31309 | is set; check for assembler name at LTO time. | |
31310 | (type_in_anonymous_namespace): Remove hacks, check that all | |
31311 | anonymous types are called "<anon>" | |
31312 | (odr_type_p): Simplify; add check for "<anon>" | |
31313 | (odr_subtypes_equivalent): Add odr_type_p check. | |
31314 | * tree.c (need_assembler_name_p): Even anonymous namespace needs | |
31315 | assembler name. | |
31316 | ||
31317 | 2015-05-24 Jan Hubicka <hubicka@ucw.cz> | |
31318 | ||
31319 | * ipa-utils.h (method_class_type): Remove. | |
31320 | * cgraphunit.c (walk_polymorphic_call_targets): Use | |
31321 | TYPE_METHOD_BASETYPE. | |
31322 | * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called | |
31323 | on main variants only. | |
31324 | (method_class_type): Remove. | |
31325 | (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE. | |
31326 | (build_type_inheritance_graph): Likewise. | |
31327 | * ipa-icf.c (sem_function::equals_wpa): Likewise. | |
31328 | * pa-polymorphic-call.c (decl_maybe_in_construction_p, | |
31329 | check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE. | |
31330 | ||
31331 | 2015-05-24 Jan Hubicka <hubicka@ucw.cz> | |
31332 | ||
31333 | * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class, | |
31334 | is_typedef_decl, typedef_variant_p): Constify. | |
31335 | * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class, | |
31336 | is_typedef_decl, typedef_variant_p): Constify. | |
31337 | ||
31338 | 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31339 | ||
31340 | * defaults.h (gen_tablejump): New function. | |
31341 | (HAVE_tablejump): Add default value. | |
31342 | * expr.c: Adjust. | |
31343 | * stmt.c: Likewise. | |
31344 | ||
31345 | 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31346 | ||
31347 | * defaults.h (gen_store_multiple): New function. | |
31348 | (HAVE_store_multiple): Add default value. | |
31349 | * expr.c (move_block_from_reg): Adjust. | |
31350 | ||
31351 | 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31352 | ||
31353 | * defaults.h (gen_load_multiple): New function. | |
31354 | (HAVE_load_multiple): Add default value. | |
31355 | * expr.c (move_block_to_reg): Adjust. | |
31356 | ||
31357 | 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31358 | ||
31359 | * defaults.h (gen_mem_signal_fence): New function. | |
31360 | (HAVE_mem_signal_fence): Add default value. | |
31361 | * optabs.c: Adjust. | |
31362 | ||
31363 | 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31364 | ||
31365 | * defaults.h (gen_memory_barrier): New function. | |
31366 | (HAVE_memory_barrier): Add default value. | |
31367 | * optabs.c: Adjust. | |
31368 | ||
31369 | 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31370 | ||
31371 | * defaults.h (gen_mem_thread_fence): New function. | |
31372 | (HAVE_mem_thread_fence): Add default definition. | |
31373 | * optabs.c: Adjust. | |
31374 | ||
31375 | 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31376 | ||
31377 | * combine.c (find_split_point): Check the value of HAVE_lo_sum | |
31378 | instead of if it is defined. | |
31379 | (combine_simplify_rtx): Likewise. | |
31380 | * lra-constraints.c (process_address_1): Likewise. | |
31381 | * config/darwin.c: Adjust. | |
31382 | * genconfig.c (main): Always define HAVE_lo_sum. | |
31383 | ||
31384 | 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
31385 | ||
31386 | * genmatch.c (parser::parse_operation): Reject expanding | |
31387 | operator-list inside 'for'. | |
31388 | ||
31389 | 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
31390 | ||
31391 | * genmatch.c (parser::parse_for): Reject iterator if used as | |
31392 | operator-list. | |
31393 | ||
31394 | 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
31395 | ||
31396 | * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN | |
31397 | after end of id-list. | |
31398 | ||
31399 | 2015-05-22 Jan Hubicka <hubicka@ucw.cz> | |
31400 | ||
31401 | * tree.c (gimple_canonical_types_compatible_p): Sanity check that | |
31402 | we do not try to compute canonical type for type that does not need | |
31403 | alias set. | |
31404 | (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for | |
31405 | FUNCITON_TYPE. | |
31406 | * tree.h (type_with_alias_set_p): New. | |
31407 | ||
31408 | 2015-05-22 Jan Hubicka <hubicka@ucw.cz> | |
31409 | ||
31410 | * tree.c (gimple_canonical_types_compatible_p): Do not compare | |
31411 | function attributes. | |
31412 | (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE. | |
31413 | ||
31414 | 2015-05-22 Jim Wilson <jim.wilson@linaro.org> | |
31415 | ||
31416 | * Makefile.in (check_gcc_parallelize): Delete. | |
31417 | (lang_checks_parallelized): Update comment. | |
31418 | ||
31419 | 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com> | |
31420 | ||
31421 | PR rtl-optimization/66237 | |
31422 | * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong | |
31423 | location of an "as_a" cast. | |
31424 | ||
31425 | 2015-05-22 Jeff Law <law@redhat.com> | |
31426 | ||
31427 | * config/pa/pa.md (non-canonical shift-add insns): Remove. | |
31428 | (peepholes with non-canonical RTL sources): Remove. | |
31429 | (peepholes for indexed stores of FP regs in integer modes): Match and | |
31430 | generate canonical RTL. | |
31431 | ||
31432 | 2015-05-22 Marc Glisse <marc.glisse@inria.fr> | |
31433 | ||
31434 | PR tree-optimization/63387 | |
31435 | * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition. | |
31436 | ((x ord x) & (y ord y) -> (x ord y), | |
31437 | (x ord x) & (x ord y) -> (x ord y)): New simplifications. | |
31438 | * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle | |
31439 | vectors like scalars. | |
31440 | ||
31441 | 2015-05-22 Marc Glisse <marc.glisse@inria.fr> | |
31442 | ||
31443 | * convert.c (convert_to_integer, convert_to_vector): Include the | |
31444 | types in the error message. | |
31445 | ||
31446 | 2015-05-22 Marc Glisse <marc.glisse@inria.fr> | |
31447 | ||
31448 | * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New | |
31449 | simplifications. | |
31450 | ||
31451 | 2015-05-22 Jeff Law <law@redhat.com> | |
31452 | ||
31453 | * config/pa/pa.md (integer_indexed_store splitters): Use | |
31454 | mem_shadd_operand. Use ASHIFT rather than MULT in the resulting | |
31455 | insns -- adjusting the constant 2nd operand accordingly. | |
31456 | ||
31457 | * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into | |
31458 | (plus (ashift X log2) Y) if it is a split point. | |
31459 | ||
31460 | * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx | |
31461 | out of hppa_legitimize_address to handle both forms of a multiply | |
31462 | by 2, 4 or 8. | |
31463 | (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p. | |
31464 | Always generate the ASHIFT variant as the result is not directly | |
31465 | used in a MEM. Update comments and refactor slightly to improve | |
31466 | readability. | |
31467 | ||
31468 | 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
31469 | ||
31470 | PR target/65491 | |
31471 | * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above | |
31472 | aarch64_composite_type_p. Remove check for aarch64_composite_type_p. | |
31473 | (aarch64_composite_type_p): Return false if given type and mode are | |
31474 | for a short vector. | |
31475 | ||
31476 | 2015-05-22 Richard Biener <rguenther@suse.de> | |
31477 | ||
31478 | * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern | |
31479 | member. | |
31480 | * tree-vect-loop.c (vect_analyze_loop_operations): Look at | |
31481 | patterns when determining whether SLP is pure. | |
31482 | (vect_is_slp_reduction): Remove check for pattern stmts. | |
31483 | (vect_is_simple_reduction_1): Remove dead code. | |
31484 | * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern. | |
31485 | (vect_get_and_check_slp_defs): Pass in the stmt number. | |
31486 | Allow the first def in a reduction to be not a pattern stmt when | |
31487 | the rest of the stmts def are patterns. | |
31488 | (vect_build_slp_tree_1): Allow tcc_expression codes like | |
31489 | SAD_EXPR and DOT_PROD_EXPR. | |
31490 | (vect_build_slp_tree): Adjust. | |
31491 | (vect_analyze_slp): Refactor and move BB vect error message ... | |
31492 | (vect_slp_analyze_bb_1): ... here. | |
31493 | ||
31494 | 2015-05-22 Aldy Hernandez <aldyh@redhat.com> | |
31495 | ||
31496 | * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P | |
31497 | for CSWTCH temporary. | |
31498 | ||
31499 | 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
31500 | ||
31501 | * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE. | |
31502 | (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside | |
31503 | unknown unspecs. | |
31504 | ||
31505 | 2015-05-22 Richard Biener <rguenther@suse.de> | |
31506 | ||
31507 | PR tree-optimization/66251 | |
31508 | * tree-vect-stmts.c (vectorizable_conversion): Properly | |
31509 | set STMT_VINFO_VEC_STMT even for the SLP case. | |
31510 | ||
31511 | 2015-05-22 Marek Polacek <polacek@redhat.com> | |
31512 | ||
31513 | * doc/extend.texi: Use @pxref instead of @xref. | |
31514 | ||
31515 | 2015-05-22 hiraditya <hiraditya@msn.com> | |
31516 | ||
31517 | * gimple.h (gimple_expr_type): Refactor to make it concise. Remove | |
31518 | redundant if. | |
31519 | ||
31520 | 2015-05-22 Richard Biener <rguenther@suse.de> | |
31521 | ||
31522 | PR tree-optimization/65701 | |
31523 | * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): | |
31524 | Move peeling cost models into one place. Peel for alignment | |
31525 | for single loads only if an aligned load is cheaper than | |
31526 | an unaligned load. | |
31527 | ||
31528 | 2015-05-22 Marek Polacek <polacek@redhat.com> | |
31529 | ||
31530 | PR c/47043 | |
31531 | * doc/extend.texi (Enumerator Attributes): New section. | |
31532 | Document syntax of enumerator attributes. | |
31533 | ||
31534 | 2015-05-22 Richard Biener <rguenther@suse.de> | |
31535 | ||
31536 | * tree-vect-loop.c (get_reduction_op): New function. | |
31537 | (vect_model_reduction_cost): Use it, add reduc_index parameter. | |
31538 | Make ready for BB reductions. | |
31539 | (vect_create_epilog_for_reduction): Use get_reduction_op. | |
31540 | (vectorizable_reduction): Init reduc_index to a valid value. | |
31541 | Adjust vect_model_reduction_cost call. | |
31542 | * tree-vect-slp.c (vect_get_constant_vectors): Use the proper | |
31543 | operand for reduction defaults. Add SAD_EXPR support. | |
31544 | Assert we have a neutral op for SLP reductions. | |
31545 | * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When | |
31546 | walking pattern stmt ops only recurse to SSA names. | |
31547 | ||
31548 | 2015-05-22 Richard Biener <rguenther@suse.de> | |
31549 | ||
31550 | * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace | |
31551 | assert with guard, remove check on detected reduction. | |
31552 | (vect_recog_sad_pattern): Likewise. | |
31553 | (vect_recog_widen_sum_pattern): Likewise. | |
31554 | ||
31555 | 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
31556 | ||
31557 | * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and | |
31558 | __always_inline__ attribute. | |
31559 | (vaesdq_u8): Likewise. | |
31560 | (vaesmcq_u8): Likewise. | |
31561 | (vaesimcq_u8): Likewise. | |
31562 | (vsha1cq_u32): Likewise. | |
31563 | (vsha1mq_u32): Likewise. | |
31564 | (vsha1pq_u32): Likewise. | |
31565 | (vsha1h_u32): Likewise. | |
31566 | (vsha1su0q_u32): Likewise. | |
31567 | (vsha1su1q_u32): Likewise. | |
31568 | (vsha256hq_u32): Likewise. | |
31569 | (vsha256h2q_u32): Likewise. | |
31570 | (vsha256su0q_u32): Likewise. | |
31571 | (vsha256su1q_u32): Likewise. | |
31572 | (vmull_p64): Likewise. | |
31573 | (vmull_high_p64): Likewise. | |
31574 | ||
31575 | 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31576 | ||
31577 | * final.c (final_scan_insn): Don't check HAVE_peephole with the | |
31578 | preprocessor. | |
31579 | * output.h: Likewise. | |
31580 | * genconfig.c (main): Alwways define HAVE_peephole. | |
31581 | * genpeep.c: Don't emit checks of HAVE_peephole. | |
31582 | ||
31583 | 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31584 | ||
31585 | * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't | |
31586 | check HAVE_conditional_move with the preprocessor. | |
31587 | ||
31588 | 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31589 | ||
31590 | * genconfig.c (main): Always define HAVE_conditional_move. | |
31591 | * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h, | |
31592 | toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move | |
31593 | is defined. | |
31594 | ||
31595 | 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31596 | ||
31597 | * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c, | |
31598 | reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM | |
31599 | and FRAME_POINTER_REGNUM with the preprocessor. | |
31600 | ||
31601 | 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31602 | ||
31603 | * defaults.h: Add default for STACK_PUSH_CODE. | |
31604 | * expr.c: Don't redefine STACK_PUSH_CODE. | |
31605 | * recog.c: Likewise. | |
31606 | ||
31607 | 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31608 | ||
31609 | * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c, | |
31610 | sched-deps.c: Use if instead of preprocessor checks with | |
31611 | STACK_GROWS_DOWNWARD. | |
31612 | ||
31613 | 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
31614 | ||
31615 | * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it | |
31616 | is defined. | |
31617 | * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer. | |
31618 | * defaults.h: Provide default for STACK_GROWS_DOWNWARD. | |
31619 | * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD. | |
31620 | * doc/tm.texi: Regenerate. | |
31621 | ||
31622 | 2015-05-21 H.J. Lu <hongjiu.lu@intel.com> | |
31623 | ||
31624 | PR target/66232 | |
31625 | * config/i386/constraints.md (Bg): New constraint for GOT memory | |
31626 | operand. | |
31627 | * config/i386/i386.md (*call_got_x32): New pattern. | |
31628 | (*call_value_got_x32): Likewise. | |
31629 | * config/i386/predicates.md (GOT_memory_operand): New predicate. | |
31630 | ||
31631 | 2015-05-21 Jakub Jelinek <jakub@redhat.com> | |
31632 | ||
31633 | PR tree-optimization/66233 | |
31634 | * match.pd (ocvt (icvt@1 @0)): Don't handle vector types. | |
31635 | Simplify. | |
31636 | ||
31637 | 2015-05-21 Jeff Law <law@redhat.com> | |
31638 | ||
31639 | * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather | |
31640 | than MULT for shadd sequences. | |
31641 | ||
31642 | 2015-05-08 Jan Hubicka <hubicka@ucw.cz> | |
31643 | ||
31644 | * alias.c (alias_stats): New static var. | |
31645 | (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats. | |
31646 | (dump_alias_stats_in_alias_c): New function. | |
31647 | * alias.h (dump_alias_stats_in_alias_c): Declare. | |
31648 | * tree-ssa-alias.c (dump_alias_stats): Call it. | |
31649 | ||
31650 | 2015-05-08 Michael Matz <matz@suse.de> | |
31651 | ||
31652 | * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p | |
31653 | to strided_p. | |
31654 | (STMT_VINFO_STRIDE_LOAD_P): Rename to ... | |
31655 | (STMT_VINFO_STRIDED_P): ... this. | |
31656 | * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust. | |
31657 | (vect_verify_datarefs_alignment): Likewise. | |
31658 | (vect_enhance_data_refs_alignment): Likewise. | |
31659 | (vect_analyze_data_ref_access): Likewise. | |
31660 | (vect_analyze_data_refs): Accept strided stores. | |
31661 | * tree-vect-stmts.c (vect_model_store_cost): Count strided stores. | |
31662 | (vect_model_load_cost): Adjust for macro rename. | |
31663 | (vectorizable_mask_load_store): Likewise. | |
31664 | (vectorizable_load): Likewise. | |
31665 | (vectorizable_store): Open code strided stores. | |
31666 | ||
31667 | 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
31668 | ||
31669 | * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes): | |
31670 | Document sqrt_insn. | |
31671 | ||
31672 | 2015-05-21 Richard Biener <rguenther@suse.de> | |
31673 | ||
31674 | PR c++/66211 | |
31675 | * match.pd: Guard pattern optimzing (int)(float)int | |
31676 | conversions to apply only on GIMPLE. | |
31677 | ||
31678 | 2015-05-21 Jeff Law <law@redhat.com> | |
31679 | ||
31680 | * combine.c (find_split_point): Handle ASHIFT like MULT to encourage | |
31681 | multiply-accumulate/shift-add insn generation. | |
31682 | ||
31683 | 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org> | |
31684 | ||
31685 | PR target/54236 | |
31686 | * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and | |
31687 | operands[1] are the same. | |
31688 | ||
31689 | 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com> | |
31690 | ||
31691 | PR middle-end/66221 | |
31692 | * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use | |
31693 | build_distinct_type_copy to copy bounds. | |
31694 | ||
31695 | 2015-05-21 Thomas Schwinge <thomas@codesourcery.com> | |
31696 | ||
31697 | * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS): | |
31698 | Change to unsigned int. | |
31699 | ||
31700 | 2015-05-20 Jeff Law <law@redhat.com> | |
31701 | ||
31702 | * config/pa/pa.c (pa_print_operand): New 'o' output modifier. | |
31703 | (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p. | |
31704 | (pa_shadd_constant_p): Allow constants for shadd insns rather | |
31705 | than valid scaling constants for memory addresses. | |
31706 | * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype. | |
31707 | * config/pa/predicates.md (mem_shadd_operand): New predicate. | |
31708 | * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand. | |
31709 | (shift-add insns using ASHIFT): New patterns. | |
31710 | ||
31711 | 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com> | |
31712 | ||
31713 | * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where | |
31714 | feasible. | |
31715 | (fix_up_fall_thru_edges): Likewise. | |
31716 | (fix_crossing_conditional_branches): Likewise. Promote jump targets | |
31717 | from to rtx_insn to rtx_code_label where feasible. | |
31718 | * bt-load.c (move_btr_def): Remove as-a cast of the value returned by | |
31719 | gen_move_insn (returned type changed to rtx_insn). | |
31720 | * builtins.c (expand_errno_check): Fix arguments of | |
31721 | do_compare_rtx_and_jump (now expects rtx_code_label). | |
31722 | (expand_builtin_acc_on_device): Likewise. | |
31723 | * cfgcleanup.c (try_simplify_condjump): Add cast when calling | |
31724 | invert_jump (now exprects rtx_jump_insn). | |
31725 | * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label. | |
31726 | (construct_init_block): Use rtx_code_label. | |
31727 | * cfgrtl.c (block_label): Promote return type to rtx_code_label. | |
31728 | (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when | |
31729 | calling redirect_jump. | |
31730 | (patch_jump_insn): Likewise. | |
31731 | (redirect_branch_edge): Likewise. | |
31732 | (force_nonfallthru_and_redirect): Likewise. | |
31733 | (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn | |
31734 | when suitable. | |
31735 | (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump. | |
31736 | * cfgrtl.h: Promote return type of block_label to rtx_code_label. | |
31737 | * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before. | |
31738 | * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label | |
31739 | to store the value retured by gen_label_rtx. | |
31740 | * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to | |
31741 | rtx_jump_insn. | |
31742 | * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump. | |
31743 | (split_branches): Fix calls of redirect_jump. | |
31744 | * dojump.c (jumpifnot): Promote argument type from rtx to | |
31745 | rtx_code_label. | |
31746 | (jumpifnot_1): Likewise. | |
31747 | (jumpif): Likewise. | |
31748 | (jumpif_1): Likewise. | |
31749 | (do_jump_1): Likewise. | |
31750 | (do_jump): Likewise. Use rtx_code_label when feasible. | |
31751 | (do_jump_by_parts_greater_rtx): Likewise. | |
31752 | (do_jump_by_parts_zero_rtx): Likewise. | |
31753 | (do_jump_by_parts_equality_rtx): Likewise. | |
31754 | (do_compare_rtx_and_jump): Likewise. | |
31755 | * dojump.h: Update function prototypes. | |
31756 | * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now | |
31757 | returns rtx_insn). | |
31758 | * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to | |
31759 | rtx_jump_insn. | |
31760 | (emit_label_before): Likewise. | |
31761 | (emit_jump_insn_after_noloc): Likewise. | |
31762 | (emit_jump_insn_after_setloc): Likewise. | |
31763 | (emit_jump_insn_after): Likewise | |
31764 | (emit_jump_insn_before_setloc): Likewise. | |
31765 | (emit_jump_insn_before): Likewise. | |
31766 | (emit_label_before): Promote return type to rtx_code_label. | |
31767 | (emit_label): Likewise. | |
31768 | * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx. | |
31769 | * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of | |
31770 | gen_move_insn. | |
31771 | (emit_stack_restore): Likewise. | |
31772 | * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump. | |
31773 | (do_cmp_and_jump): Likewise. | |
31774 | * expr.c (expand_expr_real_2): Likewise. Promote some local variables | |
31775 | from rtx to rtx_code_label. | |
31776 | (gen_move_insn_uncast): New function. | |
31777 | * expr.h: Update return type of gen_move_insn (promote to rtx_insn). | |
31778 | * function.c (convert_jumps_to_returns): Fix call of redirect_jump. | |
31779 | * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx. | |
31780 | * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling | |
31781 | invert_jump_1 and redirect_jump_1. | |
31782 | * internal-fn.c (expand_arith_overflow_result_store): Fix call of | |
31783 | do_compare_rtx_and_jump. | |
31784 | (expand_addsub_overflow): Likewise. | |
31785 | (expand_neg_overflow): Likewise. | |
31786 | (expand_mul_overflow): Likewise. | |
31787 | * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for | |
31788 | return value of gen_move_insn. | |
31789 | * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn. | |
31790 | * loop-doloop.c (add_test): Use rtx_code_label. | |
31791 | (doloop_modify): Likewise. | |
31792 | (doloop_optimize): Likewise. | |
31793 | * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label. | |
31794 | * lra-constraints.c (emit_spill_move): Remove cast of value returned | |
31795 | by gen_move_insn. | |
31796 | (inherit_reload_reg): Add cast when calling dump_insn_slim. | |
31797 | (split_reg): Likewise. | |
31798 | * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by | |
31799 | gen_move_insn. | |
31800 | * optabs.c (expand_binop_directly): Remove casts of values returned by | |
31801 | maybe_gen_insn. | |
31802 | (expand_unop_direct): Likewise. | |
31803 | (expand_abs): Likewise. | |
31804 | (maybe_emit_unop_insn): Likewise. | |
31805 | (maybe_gen_insn): Promote return type to rtx_insn. | |
31806 | * optabs.h: Update prototype of maybe_gen_insn. | |
31807 | * postreload-gcse.c (eliminate_partially_redundant_load): Remove | |
31808 | redundant cast. | |
31809 | * recog.c (struct peep2_insn_data): Promote type of insn field to | |
31810 | rtx_insn. | |
31811 | (peep2_reinit_state): Use NULL instead of NULL_RTX. | |
31812 | (peep2_attempt): Remove casts of insn in peep2_insn_data. | |
31813 | (peep2_fill_buffer): Promote argument from rtx to rtx_insn | |
31814 | * recog.h (struct insn_gen_fn): Promote return types of function | |
31815 | pointers and operator ().from rtx to rtx_insn. | |
31816 | * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn. | |
31817 | (fill_eager_delay_slots): Likewise. | |
31818 | (relax_delay_slots): Likewise. | |
31819 | (make_return_insns): Likewise. | |
31820 | (dbr_schedule): Likewise. | |
31821 | (optimize_skips): Likewise. | |
31822 | (reorg_redirect_jump): Likewise. | |
31823 | (fill_slots_from_thread): Likewise. | |
31824 | * reorg.h: Update prototypes. | |
31825 | * resource.c (find_dead_or_set_registers): Use dyn_cast to | |
31826 | rtx_jump_insn instead of check. Use it's jump_target method. | |
31827 | * rtl.h (rtx_jump_insn::jump_label): Define new method. | |
31828 | (rtx_jump_insn::jump_target): Define new method. | |
31829 | (rtx_jump_insn::set_jump_target): Define new method. | |
31830 | * rtlanal.c (tablejump_p): Promote type of one local variable. | |
31831 | * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list. | |
31832 | (sched_analyze_insn): Likewise. | |
31833 | * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn. | |
31834 | (print_insn): Likewise. | |
31835 | * stmt.c (label_rtx): Promote return type to rtx_insn. | |
31836 | (force_label_rtx): Likewise. | |
31837 | (jump_target_rtx): Define new function. | |
31838 | (expand_label): Use it, get rid of one cast. | |
31839 | (expand_naked_return): Promote rtx to rtx_code_label. | |
31840 | (do_jump_if_equal): Fix do_compare_rtx_and_jump call. | |
31841 | (expand_case): Use rtx_code_label instread of rtx where feasible. | |
31842 | (expand_sjlj_dispatch_table): Likewise. | |
31843 | (emit_case_nodes): Likewise. | |
31844 | * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments. | |
31845 | * store-motion.c (insert_store): Make use of new return type of | |
31846 | gen_move_insn and remove a cast. | |
31847 | (replace_store_insn): Likewise. | |
31848 | ||
31849 | 2015-05-20 Max Filippov <jcmvbkbc@gmail.com> | |
31850 | ||
31851 | * config/xtensa/xtensa.c (init_alignment_context): Replace MULT | |
31852 | by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT). | |
31853 | ||
31854 | 2015-05-20 Jeff Law <law@redhat.com> | |
31855 | ||
31856 | * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly | |
31857 | dispose of the jump thread path when the jump threading | |
31858 | opportunity is cancelled. | |
31859 | ||
31860 | 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
31861 | ||
31862 | * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error | |
31863 | when printing the caret character. | |
31864 | ||
31865 | 2015-05-20 Marek Polacek <polacek@redhat.com> | |
31866 | ||
31867 | * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P. | |
31868 | ||
31869 | 2015-05-20 Marek Polacek <polacek@redhat.com> | |
31870 | ||
31871 | * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P. | |
31872 | * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise. | |
31873 | * gimple-fold.c (canonicalize_bool): Likewise. | |
31874 | (same_bool_result_p): Likewise. | |
31875 | * tree-if-conv.c (parse_predicate): Likewise. | |
31876 | ||
31877 | 2015-05-20 Marek Polacek <polacek@redhat.com> | |
31878 | ||
31879 | * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P. | |
31880 | * gimplify.c (gimplify_modify_expr_rhs): Likewise. | |
31881 | ||
31882 | 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
31883 | ||
31884 | * config/aarch64/aarch64.c (aarch64_class_max_nregs): | |
31885 | Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct | |
31886 | values. | |
31887 | ||
31888 | 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com> | |
31889 | ||
31890 | * config/mips/mips.h (micromips_globals): Declare. | |
31891 | ||
31892 | 2015-05-20 David Malcolm <dmalcolm@redhat.com> | |
31893 | ||
31894 | * timevar.def (TV_INITIALIZE_RTL): New. | |
31895 | * toplev.c (initialize_rtl): Use an auto_timevar to account this | |
31896 | function's time to TV_INITIALIZE_RTL. | |
31897 | ||
31898 | 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com> | |
31899 | ||
31900 | * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless | |
31901 | gimple_build_nop calls. | |
31902 | (chkp_find_bounds_for_elem): Likewise. | |
31903 | (chkp_get_zero_bounds): Likewise. | |
31904 | (chkp_get_none_bounds): Likewise. | |
31905 | (chkp_get_bounds_by_definition): Likewise. | |
31906 | (chkp_generate_extern_var_bounds): Likewise. | |
31907 | (chkp_get_bounds_for_decl_addr): Likewise. | |
31908 | (chkp_get_bounds_for_string_cst): Likewise. | |
31909 | ||
31910 | 2015-05-20 Bin Cheng <bin.cheng@arm.com> | |
31911 | ||
31912 | PR tree-optimization/65447 | |
31913 | * tree-ssa-loop-ivopts.c (struct iv_use): New fields. | |
31914 | (dump_use, dump_uses): Support to dump sub use. | |
31915 | (record_use): New parameters to support sub use. Remove call to | |
31916 | dump_use. | |
31917 | (record_sub_use, record_group_use): New functions. | |
31918 | (compute_max_addr_offset, split_all_small_groups): New functions. | |
31919 | (group_address_uses, rewrite_use_address): New functions. | |
31920 | (strip_offset): New declaration. | |
31921 | (find_interesting_uses_address): Call record_group_use. | |
31922 | (add_candidate): New assertion. | |
31923 | (infinite_cost_p): Move definition forward. | |
31924 | (add_costs): Check INFTY cost and return immediately. | |
31925 | (get_computation_cost_at): Clear setup cost and dependent bitmap | |
31926 | for sub uses. | |
31927 | (determine_use_iv_cost_address): Compute cost for sub uses. | |
31928 | (rewrite_use_address_1): Rename from old rewrite_use_address. | |
31929 | (free_loop_data): Free sub uses. | |
31930 | (tree_ssa_iv_optimize_loop): Call group_address_uses. | |
31931 | ||
31932 | 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org> | |
31933 | Jim Wilson <jim.wilson@linaro.org> | |
31934 | ||
31935 | * config/arm/aarch-common-protos.h (struct mem_cost_table): Added | |
31936 | new fields loadv and storev. | |
31937 | * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs): | |
31938 | Initialize loadv and storev. | |
31939 | * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise. | |
31940 | (cortexa53_extra_costs): Likewise. | |
31941 | (cortexa57_extra_costs): Likewise. | |
31942 | (xgene1_extra_costs): Likewise. | |
31943 | * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector | |
31944 | rtx_costs. | |
31945 | ||
31946 | 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org> | |
31947 | ||
31948 | * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and | |
31949 | storev. | |
31950 | (cortexa8_extra_costs): Likewise. | |
31951 | (cortexa5_extra_costs): Likewise. | |
31952 | (cortexa7_extra_costs): Likewise. | |
31953 | (cortexa12_extra_costs): Likewise. | |
31954 | (cortexa15_extra_costs): Likewise. | |
31955 | (v7m_extra_costs): Likewise. | |
31956 | ||
31957 | 2015-05-20 Jeff Law <law@redhat.com> | |
31958 | ||
31959 | * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread | |
31960 | instead of open-coded version. Also delete the jump thread created | |
31961 | within this function. | |
31962 | ||
31963 | 2015-05-20 Alan Modra <amodra@gmail.com> | |
31964 | ||
31965 | * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return | |
31966 | stack adjusting insn. Formatting. | |
31967 | (rs6000_emit_prologue): Track stack adjusting insn, and use of | |
31968 | r12. If possible, emit first -fsplit-stack arg pointer insn | |
31969 | before stack adjust. Don't use r12 to save cr if split-stack. | |
31970 | ||
31971 | 2015-05-20 Alan Modra <amodra@gmail.com> | |
31972 | ||
31973 | * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): | |
31974 | Define. | |
31975 | (rs6000_supports_split_stack): New function. | |
31976 | * config/rs6000/rs6000.c (machine_function): Add | |
31977 | split_stack_arg_pointer. | |
31978 | (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define. | |
31979 | (setup_incoming_varargs): Use crtl->args.internal_arg_pointer | |
31980 | rather than virtual_incoming_args_rtx. | |
31981 | (rs6000_va_start): Likewise. | |
31982 | (split_stack_arg_pointer_used_p): New function. | |
31983 | (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack. | |
31984 | (morestack_ref): New var. | |
31985 | (gen_add3_const, rs6000_expand_split_stack_prologue, | |
31986 | rs6000_internal_arg_pointer, rs6000_live_on_entry, | |
31987 | rs6000_split_stack_space_check): New functions. | |
31988 | (rs6000_elf_file_end): Call file_end_indicate_split_stack. | |
31989 | * config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define. | |
31990 | (UNSPECV_SPLIT_STACK_RETURN): Define. | |
31991 | (split_stack_prologue, load_split_stack_limit, | |
31992 | load_split_stack_limit_di, load_split_stack_limit_si, | |
31993 | split_stack_return, split_stack_space_check): New expands and insns. | |
31994 | * config/rs6000/rs6000-protos.h | |
31995 | (rs6000_expand_split_stack_prologue): Declare. | |
31996 | (rs6000_split_stack_space_check): Declare. | |
31997 | ||
31998 | 2015-05-20 Alan Modra <amodra@gmail.com> | |
31999 | ||
32000 | * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments. | |
32001 | (direct_return): Test vrsave_size rather than vrsave_mask. | |
32002 | (rs6000_emit_prologue): Likewise. Remove redundant altivec tests. | |
32003 | (rs6000_emit_epilogue): Likewise. | |
32004 | ||
32005 | 2015-05-20 Alan Modra <amodra@gmail.com> | |
32006 | ||
32007 | * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets | |
32008 | when not saving registers. | |
32009 | (debug_stack_info): Adjust to omit printing unused offsets, | |
32010 | as before. | |
32011 | (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp | |
32012 | expression. | |
32013 | ||
32014 | 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
32015 | ||
32016 | PR c++/65835 | |
32017 | * config/i386/winnt.c (struct wrapped_symbol_hasher): Change | |
32018 | value_type to const char *. | |
32019 | ||
32020 | 2015-05-19 Sandra Loosemore <sandra@codesourcery.com> | |
32021 | ||
32022 | * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all | |
32023 | to build a biarch toolchain again. | |
32024 | ||
32025 | 2015-05-19 Jan Hubicka <hubicka@ucw.cz> | |
32026 | ||
32027 | * ipa-devirt.c (type_in_anonymous_namespace_p): Return true | |
32028 | or implicit declarations. | |
32029 | (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking | |
32030 | into it. | |
32031 | (get_odr_type): Check type has linkage before adding bases. | |
32032 | (register_odr_type): Check that type has linkage before adding it. | |
32033 | (type_known_to_have_no_deriavations_p): Rename to .. | |
32034 | (type_known_to_have_no_derivations_p): This one. | |
32035 | * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to .. | |
32036 | (type_known_to_have_no_derivations_p): This one. | |
32037 | * ipa-polymorphic-call.c | |
32038 | (ipa_polymorphic_call_context::restrict_to_inner_type): Check that | |
32039 | type has linkage. | |
32040 | ||
32041 | 2015-05-19 Eric Botcazou <ebotcazou@adacore.com> | |
32042 | ||
32043 | * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P. | |
32044 | (layout_type): Use RECORD_OR_UNION_TYPE_P. | |
32045 | ||
32046 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32047 | ||
32048 | * config/s390/s390.c (s390_vector_bool_type_p): New function. | |
32049 | (s390_invalid_binary_op): New function. | |
32050 | (TARGET_INVALID_BINARY_OP): Define macro. | |
32051 | ||
32052 | 2015-05-19 David Sherwood <david.sherwood@arm.com> | |
32053 | ||
32054 | * loop-invariant.c (create_new_invariant): Don't calculate address cost | |
32055 | if mode is not a scalar integer. | |
32056 | (get_inv_cost): Increase computational cost for unused invariants. | |
32057 | ||
32058 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32059 | ||
32060 | * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to | |
32061 | c_target_objs and cxx_target_objs. Add t-s390 to tmake_file. | |
32062 | * config/s390/s390-builtin-types.def: New file. | |
32063 | * config/s390/s390-builtins.def: New file. | |
32064 | * config/s390/s390-builtins.h: New file. | |
32065 | * config/s390/s390-c.c: New file. | |
32066 | * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH, | |
32067 | CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY. | |
32068 | * config/s390/s390-protos.h (s390_expand_vec_compare_cc) | |
32069 | (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add | |
32070 | prototypes. | |
32071 | * config/s390/s390.c (s390-builtins.h, s390-builtins.def): | |
32072 | Include. | |
32073 | (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types) | |
32074 | (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New | |
32075 | variable definitions. | |
32076 | (s390_const_operand_ok): New function. | |
32077 | (s390_expand_builtin): Rewrite. | |
32078 | (s390_init_builtins): New function. | |
32079 | (s390_handle_vectorbool_attribute): New function. | |
32080 | (s390_attribute_table): Add s390_vector_bool attribute. | |
32081 | (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU. | |
32082 | (s390_branch_condition_mask): Generate masks for new modes. | |
32083 | (s390_expand_vec_compare_cc): New function. | |
32084 | (s390_mangle_type): Add mangling for vector bool types. | |
32085 | (enum s390_builtin): Remove. | |
32086 | (s390_atomic_assign_expand_fenv): Rename constants for sfpc and | |
32087 | efpc builtins. | |
32088 | * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call | |
32089 | s390_cpu_cpp_builtins. | |
32090 | (REGISTER_TARGET_PRAGMAS): New macro. | |
32091 | * config/s390/s390.md: Define more UNSPEC_VEC_* constants. | |
32092 | (insn_cmp mode attribute): Add new CC modes. | |
32093 | (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc. | |
32094 | (lcbb): New pattern definition. | |
32095 | * config/s390/s390intrin.h: Include vecintrin.h. | |
32096 | * config/s390/t-s390: New file. | |
32097 | * config/s390/vecintrin.h: New file. | |
32098 | * config/s390/vector.md: Include vx-builtins.md. | |
32099 | * config/s390/vx-builtins.md: New file.S/390 zvector builtin | |
32100 | support. | |
32101 | ||
32102 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32103 | ||
32104 | * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and | |
32105 | CCVFHE. | |
32106 | * config/s390/s390.c (s390_match_ccmode_set): Handle new modes. | |
32107 | (s390_select_ccmode): Likewise. | |
32108 | (s390_canonicalize_comparison): Swap operands if necessary. | |
32109 | (s390_expand_vec_compare_scalar): Expand DFmode compare using | |
32110 | single element vector instructions. | |
32111 | (s390_emit_compare): Call s390_expand_vec_compare_scalar. | |
32112 | (s390_branch_condition_mask): Generate CC masks for the new modes. | |
32113 | * config/s390/s390.md (v0, vf, vd): New mode attributes. | |
32114 | (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes. | |
32115 | (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13) | |
32116 | (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13) | |
32117 | (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13) | |
32118 | (*extend<DSF:mode><BFP:mode>2): New insn definition. | |
32119 | (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2) | |
32120 | (extend<DSF:mode><BFP:mode>2): Turn into expander. | |
32121 | (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3) | |
32122 | (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2) | |
32123 | (sqrt<mode>2): Add vector instruction. | |
32124 | ||
32125 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32126 | ||
32127 | * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New | |
32128 | constraints. | |
32129 | * config/s390/predicates.md (const0_operand, constm1_operand) | |
32130 | (constable_operand): Accept vector operands. | |
32131 | * config/s390/s390-modes.def: Add supported vector modes. | |
32132 | * config/s390/s390-protos.h (s390_cannot_change_mode_class) | |
32133 | (s390_function_arg_vector, s390_contiguous_bitmask_vector_p) | |
32134 | (s390_bytemask_vector_p, s390_expand_vec_strlen) | |
32135 | (s390_expand_vec_compare, s390_expand_vcond) | |
32136 | (s390_expand_vec_init): Add prototypes. | |
32137 | * config/s390/s390.c (VEC_ARG_NUM_REG): New macro. | |
32138 | (s390_vector_mode_supported_p): New function. | |
32139 | (s390_contiguous_bitmask_p): Mask out the irrelevant bits. | |
32140 | (s390_contiguous_bitmask_vector_p): New function. | |
32141 | (s390_bytemask_vector_p): New function. | |
32142 | (s390_split_ok_p): Vector regs don't work either. | |
32143 | (regclass_map): Add VEC_REGS. | |
32144 | (s390_legitimate_constant_p): Handle vector constants. | |
32145 | (s390_cannot_force_const_mem): Handle CONST_VECTOR. | |
32146 | (legitimate_reload_vector_constant_p): New function. | |
32147 | (s390_preferred_reload_class): Handle CONST_VECTOR. | |
32148 | (s390_reload_symref_address): Likewise. | |
32149 | (s390_secondary_reload): Vector memory instructions only support | |
32150 | short displacements. Rename reload*_nonoffmem* to reload*_la*. | |
32151 | (s390_emit_ccraw_jump): New function. | |
32152 | (s390_expand_vec_strlen): New function. | |
32153 | (s390_expand_vec_compare): New function. | |
32154 | (s390_expand_vcond): New function. | |
32155 | (s390_expand_vec_init): New function. | |
32156 | (s390_dwarf_frame_reg_mode): New function. | |
32157 | (print_operand): Handle addresses with 'O' and 'R' constraints. | |
32158 | (NR_C_MODES, constant_modes): Add vector modes. | |
32159 | (s390_output_pool_entry): Handle vector constants. | |
32160 | (s390_hard_regno_mode_ok): Handle vector registers. | |
32161 | (s390_class_max_nregs): Likewise. | |
32162 | (s390_cannot_change_mode_class): New function. | |
32163 | (s390_invalid_arg_for_unprototyped_fn): New function. | |
32164 | (s390_function_arg_vector): New function. | |
32165 | (s390_function_arg_float): Remove size variable. | |
32166 | (s390_pass_by_reference): Handle vector arguments. | |
32167 | (s390_function_arg_advance): Likewise. | |
32168 | (s390_function_arg): Likewise. | |
32169 | (s390_return_in_memory): Vector values are returned in a VR if | |
32170 | possible. | |
32171 | (s390_function_and_libcall_value): Handle vector arguments. | |
32172 | (s390_gimplify_va_arg): Likewise. | |
32173 | (s390_call_saved_register_used): Consider the arguments named. | |
32174 | (s390_conditional_register_usage): Disable v16-v31 for non-vec | |
32175 | targets. | |
32176 | (s390_preferred_simd_mode): New function. | |
32177 | (s390_support_vector_misalignment): New function. | |
32178 | (s390_vector_alignment): New function. | |
32179 | (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE) | |
32180 | (TARGET_VECTOR_MODE_SUPPORTED_P) | |
32181 | (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN) | |
32182 | (TARGET_VECTORIZE_PREFERRED_SIMD_MODE) | |
32183 | (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT) | |
32184 | (TARGET_VECTOR_ALIGNMENT): Define target macro. | |
32185 | * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro. | |
32186 | (FIRST_PSEUDO_REGISTER): Increase value. | |
32187 | (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P) | |
32188 | (VECTOR_REG_P): Define macros. | |
32189 | (FIXED_REGISTERS, CALL_USED_REGISTERS) | |
32190 | (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER) | |
32191 | (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES) | |
32192 | (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES): | |
32193 | Add vector registers. | |
32194 | (CANNOT_CHANGE_MODE_CLASS): Call C function. | |
32195 | (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS. | |
32196 | (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without | |
32197 | memory. | |
32198 | (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO) | |
32199 | (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro. | |
32200 | * config/s390/s390.md (UNSPEC_VEC_*): New constants. | |
32201 | (VR*_REGNUM): New constants. | |
32202 | (ALL): New mode iterator. | |
32203 | (INTALL): Remove mode iterator. | |
32204 | Include vector.md. | |
32205 | (movti): Implement TImode moves for VRs. | |
32206 | Disable TImode splitter for VR targets. | |
32207 | Implement splitting TImode GPR<->VR moves. | |
32208 | (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL. | |
32209 | (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to | |
32210 | reload<mode>_la_in, reload<mode>_la_out. | |
32211 | (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp) | |
32212 | (*mov<mode>_64, *mov<mode>_31): Add vector instructions. | |
32213 | (TD/TF mode splitter): Enable for GPRs only (formerly !FP). | |
32214 | (mov<mode> SF SD): Prefer lder, lde for loading. | |
32215 | Add lrl and strl instructions. | |
32216 | Add vector instructions. | |
32217 | (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>. | |
32218 | Call s390_expand_vec_strlen on z13. | |
32219 | (*cc_to_int): Change predicate to nonimmediate_operand. | |
32220 | (addti3): Rename to *addti3. New expander. | |
32221 | (subti3): Rename to *subti3. New expander. | |
32222 | * config/s390/vector.md: New file. | |
32223 | ||
32224 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32225 | ||
32226 | * common/config/s390/s390-common.c (processor_flags_table): Add | |
32227 | z13. | |
32228 | * config.gcc: Add z13. | |
32229 | * config/s390/s390-opts.h (enum processor_type): Add | |
32230 | PROCESSOR_2964_Z13. | |
32231 | * config/s390/s390.c (s390_adjust_priority): Check for | |
32232 | PROCESSOR_2964_Z13. | |
32233 | (s390_reorg): Likewise. | |
32234 | (s390_sched_reorder): Likewise. | |
32235 | (s390_sched_variable_issue): Likewise. | |
32236 | (s390_loop_unroll_adjust): Likewise. | |
32237 | (s390_option_override): Likewise. Default to -mvx when available. | |
32238 | * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX. | |
32239 | (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX) | |
32240 | (TARGET_VX_ABI): Define macros. | |
32241 | macros. | |
32242 | (TARGET_DEFAULT): Add MASK_OPT_VX. | |
32243 | * config/s390/s390.md ("cpu" attribute): Add z13. | |
32244 | ("cpu_facility" attribute): Add vec. | |
32245 | * config/s390/s390.opt (processor_type): Add z13. | |
32246 | (mvx): New options. | |
32247 | * doc/invoke.texi: Add z13 option for -march. | |
32248 | ||
32249 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32250 | ||
32251 | * config/s390/predicates.md (shift_count_or_setmem_operand): Add | |
32252 | mode check to make sure that only scalar integer values are | |
32253 | accepted. | |
32254 | ||
32255 | 2015-05-19 Jan Hubicka <hubicka@ucw.cz> | |
32256 | ||
32257 | * tree.c (verify_type_variant): Fix #undef. | |
32258 | (gimple_canonical_types_compatible_p): Move here from lto.c | |
32259 | (verify_type): Verify TYPE_CANONICAL compatibility. | |
32260 | * tree.h (gimple_canonical_types_compatible_p): Declare. | |
32261 | ||
32262 | 2015-05-19 Jakub Jelinek <jakub@redhat.com> | |
32263 | ||
32264 | PR middle-end/66199 | |
32265 | * tree.h (OMP_TEAMS_COMBINED): Define. | |
32266 | * gimplify.c (enum gimplify_omp_var_data): Add | |
32267 | GOVD_LINEAR_LASTPRIVATE_NO_OUTER. | |
32268 | (enum omp_region_type): Add ORT_COMBINED_TEAMS. | |
32269 | (omp_notice_variable): Accept both ORT_TEAMS | |
32270 | and ORT_COMBINED_TEAMS. Don't recurse if | |
32271 | GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either | |
32272 | GOVD_LINEAR is set, or GOVD_LASTPRIVATE without | |
32273 | GOVD_FIRSTPRIVATE. | |
32274 | (omp_no_lastprivate): New function. | |
32275 | (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE | |
32276 | and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't | |
32277 | notice_outer and set appropriate bits, otherwise make | |
32278 | sure default(none) combined constructs won't complain. | |
32279 | (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR | |
32280 | outer special casing, for OMP_CLAUSE_LASTPRIVATE if | |
32281 | omp_no_lastprivate either remove the clause or turn it | |
32282 | into OMP_CLAUSE_PRIVATE. | |
32283 | (gimplify_omp_for): Fix up handling of implicit | |
32284 | lastprivate or linear iterators. | |
32285 | (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use | |
32286 | ORT_COMBINED_TEAMS. | |
32287 | * omp-low.c (lower_omp_for_lastprivate): For combined | |
32288 | for simd use fd.loop.n2 from the for rather than simd. | |
32289 | ||
32290 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32291 | ||
32292 | * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG | |
32293 | instead of gen_rtx_raw_REG. | |
32294 | (cris_expand_epilogue): Likewise. | |
32295 | * config/microblaze/microblaze.c (microblaze_classify_address): | |
32296 | Likewise. | |
32297 | * config/sparc/sparc.md: Likewise. | |
32298 | ||
32299 | 2015-05-19 Uros Bizjak <ubizjak@gmail.com> | |
32300 | ||
32301 | * config/alpha/alpha.c (alpha_legitimize_reload_address) | |
32302 | (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use | |
32303 | CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates. | |
32304 | (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>: | |
32305 | Use CASE_CONST_SCALAR_INT. | |
32306 | (print_operand) <case 'M'>: Use mode_width_operand to check the | |
32307 | value of the constant. | |
32308 | * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate. | |
32309 | * config/alpha/predicates.md (input_operand): Use general_operand | |
32310 | instead of match_code as operand check. | |
32311 | (symbolic_operand): Use match_code with subexpression digits. | |
32312 | * config/alpha/constraints.md (Q): Ditto. | |
32313 | ||
32314 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32315 | ||
32316 | * optabs.c (expand_vec_perm): Don't re-use SEL as target operand. | |
32317 | ||
32318 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32319 | ||
32320 | * config/s390/s390.c (s390_secondary_reload): Fix check for | |
32321 | load/store relative. | |
32322 | ||
32323 | 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
32324 | ||
32325 | * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of | |
32326 | alternative_mask to uint64_t. | |
32327 | ||
32328 | 2015-05-19 Jakub Jelinek <jakub@redhat.com> | |
32329 | ||
32330 | PR tree-optimization/66187 | |
32331 | * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)): | |
32332 | Pass TYPE_SIGN to tree_int_cst_min_precision. If | |
32333 | !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative. | |
32334 | ||
32335 | 2015-05-19 David Malcolm <dmalcolm@redhat.com> | |
32336 | ||
32337 | * diagnostic.c (diagnostic_report_current_module): Strengthen | |
32338 | local "new_map" from const line_map * to | |
32339 | const line_map_ordinary *. | |
32340 | * genmatch.c (error_cb): Likewise for local "map". | |
32341 | (output_line_directive): Likewise for local "map". | |
32342 | * input.c (expand_location_1): Likewise for local "map". | |
32343 | Pass NULL rather than &map to | |
32344 | linemap_unwind_to_first_non_reserved_loc, since the value is never | |
32345 | read from there, and the value written back not read from here. | |
32346 | (is_location_from_builtin_token): Strengthen local "map" from | |
32347 | const line_map * to const line_map_ordinary *. | |
32348 | (dump_location_info): Strengthen locals "map" from | |
32349 | line_map *, one to const line_map_ordinary *, the other | |
32350 | to const line_map_macro *. | |
32351 | * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from | |
32352 | const line_map * to const line_map_macro *. | |
32353 | (maybe_unwind_expanded_macro_loc): Add a call to | |
32354 | linemap_check_macro when writing to the "map" field of the | |
32355 | loc_map_pair. | |
32356 | Introduce local const line_map_ordinary * "ord_map", using it in | |
32357 | place of "map" in the part of the function where we know we have | |
32358 | an ordinary map. Strengthen local "m" from const line_map * to | |
32359 | const line_map_ordinary *. | |
32360 | ||
32361 | 2015-05-19 Nick Clifton <nickc@redhat.com> | |
32362 | ||
32363 | PR target/66156 | |
32364 | * config/msp430/msp430.md (zero_extendhisi2): Add support for | |
32365 | separate source and destination registers. | |
32366 | ||
32367 | 2015-05-19 Richard Biener <rguenther@suse.de> | |
32368 | ||
32369 | PR tree-optimization/66165 | |
32370 | * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard | |
32371 | for no load permutation. | |
32372 | ||
32373 | PR tree-optimization/66185 | |
32374 | * tree-vect-slp.c (vect_build_slp_tree): Properly roll back | |
32375 | when building the SLP node from scalars. | |
32376 | ||
32377 | 2015-05-19 Eric Botcazou <ebotcazou@adacore.com> | |
32378 | Tristan Gingold <gingold@adacore.com> | |
32379 | ||
32380 | * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note. | |
32381 | * builtins.c (expand_builtin_update_setjmp_buf): Make global. | |
32382 | (expand_stack_restore): Call record_new_stack_level. | |
32383 | (expand_stack_save): Do not call do_pending_stack_adjust. | |
32384 | * builtins.h (expand_builtin_update_setjmp_buf): Declare. | |
32385 | * calls.c (expand_call): Call record_new_stack_level for alloca. | |
32386 | * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf | |
32387 | wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present. | |
32388 | (update_sjlj_context): New global function. | |
32389 | * except.h (update_sjlj_context): Declare. | |
32390 | * explow.c (record_new_stack_level): New global function. | |
32391 | (allocate_dynamic_stack_space): Call record_new_stack_level. | |
32392 | * explow.h (record_new_stack_level): Declare. | |
32393 | * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT. | |
32394 | * cfgrtl.c (duplicate_insn_chain): Likewise. | |
32395 | ||
32396 | 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
32397 | ||
32398 | * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1. | |
32399 | (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef | |
32400 | STACK_GROWS_DOWNWARD as normal if. | |
32401 | (expand_call): Likewise. | |
32402 | ||
32403 | 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org> | |
32404 | ||
32405 | PR target/54236 | |
32406 | * config/sh/sh.md (*round_int_even): New insn_and_split and | |
32407 | accompanying new unnamed split. | |
32408 | ||
32409 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32410 | ||
32411 | * bitmap.c (bitmap_set_range): Handle count==1 specially. | |
32412 | (bitmap_clear_range): Likewise. | |
32413 | * cfgcleanup.c (mark_effect): Use bitmap_clear_range and | |
32414 | bitmap_set_range unconditionally. | |
32415 | * df-problems.c (df_simulate_one_insn_forwards): Likewise. | |
32416 | * df-scan.c (df_mark_reg): Likewise. | |
32417 | * haifa-sched.c (setup_ref_regs): Likewise. | |
32418 | * sched-rgn.c (update_live_1): Likewise. | |
32419 | ||
32420 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32421 | ||
32422 | * regs.h (END_HARD_REGNO): Delete. | |
32423 | (END_REGNO): Move to... | |
32424 | * rtl.h: ...here. | |
32425 | * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO. | |
32426 | * caller-save.c (mark_set_regs): Likewise. | |
32427 | * combine.c (move_deaths, distribute_notes): Likewise. | |
32428 | * cse.c (invalidate, invalidate_for_call): Likewise. | |
32429 | * df-scan.c (df_ref_record): Likewise. | |
32430 | * postreload-gcse.c (reg_changed_after_insn_p): Likewise. | |
32431 | (record_last_reg_set_info): Likewise. | |
32432 | * reg-stack.c (convert_regs_exit): Likewise. | |
32433 | * reload.c (reg_overlap_mentioned_for_reload_p): Likewise. | |
32434 | * resource.c (update_live_status): Likewise. | |
32435 | * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise. | |
32436 | ||
32437 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32438 | ||
32439 | * rtl.h (reg_info): Add an nregs field. | |
32440 | (REG_NREGS): Use it. | |
32441 | (SET_REGNO_RAW): Delete. | |
32442 | (set_regno_raw): New function. | |
32443 | * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO. | |
32444 | (END_REGNO): Redefine in terms of REG_NREGS. | |
32445 | * read-rtl.c (read_rtx_code): Call set_regno_raw instead of | |
32446 | SET_REGNO_RAW. | |
32447 | * emit-rtl.c (set_mode_and_regno): Likewise. | |
32448 | * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno | |
32449 | instead of SET_REGNO_RAW. | |
32450 | ||
32451 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32452 | ||
32453 | * rtl.h (PUT_MODE_RAW): New macro. | |
32454 | (PUT_REG_NOTE_KIND): Use it. | |
32455 | (set_mode_and_regno): Declare. | |
32456 | (gen_raw_REG): Change regno to "unsigned int". | |
32457 | (gen_rtx_REG): Change "unsigned" to "unsigned int". | |
32458 | (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise | |
32459 | use set_mode_and_regno to change the mode of registers. | |
32460 | * gengenrtl.c (gendef): Use PUT_MODE_RAW. | |
32461 | * emit-rtl.c (set_mode_and_regno): New function. | |
32462 | (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno. | |
32463 | * caller-save.c (reg_save_code): Use set_mode_and_regno. | |
32464 | * expr.c (init_expr_target): Likewise. | |
32465 | * ira.c (setup_prohibited_mode_move_regs): Likewise. | |
32466 | * postreload.c (reload_cse_simplify_operands): Likewise. | |
32467 | ||
32468 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32469 | ||
32470 | * caller-save.c (init_caller_save): Use word_mode and | |
32471 | FIRST_PSEUDO_REGISTER when creating temporary rtxes. | |
32472 | * expr.c (init_expr_target): Likewise. | |
32473 | * ira.c (setup_prohibited_mode_move_regs): Likewise. | |
32474 | * postreload.c (reload_cse_regs_1): Likewise. | |
32475 | ||
32476 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32477 | ||
32478 | * rtl.def (REG): Change format to "r". | |
32479 | * rtl.h (rtunion): Remove rt_reg. | |
32480 | (reg_info): New structure. | |
32481 | (rtx_def): Add reg field to main union. | |
32482 | (X0REGATTR): Delete. | |
32483 | (REG_CHECK): New macro. | |
32484 | (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it. | |
32485 | * rtl.c (rtx_format): Document "r". | |
32486 | (rtx_code_size): Handle REG specially. | |
32487 | * gengenrtl.c (special_format): Return true for formats | |
32488 | that include 'r'. | |
32489 | * gengtype.c (adjust_field_rtx_def): Handle 'r' fields. | |
32490 | Deal with REG_ATTRS after the field loop. | |
32491 | * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly. | |
32492 | * expmed.c (init_expmed): Call gen_raw_REG instead of | |
32493 | gen_rtx_raw_REG. | |
32494 | * expr.c (init_expr_target): Likewise. | |
32495 | * regcprop.c (maybe_mode_change): Likewise. | |
32496 | * varasm.c (make_decl_rtl): Likewise. | |
32497 | * final.c (leaf_renumber_regs_insn): Return early after | |
32498 | handling REGs. | |
32499 | * genemit.c (gen_exp): Handle 'r' fields. | |
32500 | * genpeep.c (match_rtx): Likewise. | |
32501 | * gensupport.c (subst_pattern_match): Likewise. | |
32502 | (get_alternatives_number, collect_insn_data, alter_predicate_for_insn) | |
32503 | (alter_constraints, subst_dup): Likewise. | |
32504 | * read-rtl.c (read_rtx_code): Likewise. | |
32505 | * print-rtl.c (print_rtx): Likewise. | |
32506 | * genrecog.c (find_operand, find_matching_operand): Likewise. | |
32507 | (validate_pattern, match_pattern_2): Likewise. | |
32508 | (parameter::UINT, rtx_test::REGNO_FIELD): New enum values. | |
32509 | (rtx_test::regno_field): New function. | |
32510 | (operator ==, safe_to_hoist_p, transition_parameter_type) | |
32511 | (parameter_type_string, print_parameter_value) | |
32512 | (print_nonbool_test, print_test): Handle new enum values. | |
32513 | * cselib.c (rtx_equal_for_cselib_1): Handle REG specially. | |
32514 | * lra-constraints.c (operands_match_p): Likewise. | |
32515 | ||
32516 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32517 | ||
32518 | * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter. | |
32519 | Change type of new_regno to unsigned int. | |
32520 | * df-scan.c (df_ref_change_reg_with_loc_1): Change type of | |
32521 | new_regno to unsigned int. | |
32522 | (df_ref_change_reg_with_loc): Remove old_regno parameter. | |
32523 | Change type of new_regno to unsigned int. Use SET_REGNO_RAW. | |
32524 | * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc. | |
32525 | (SET_REGNO_RAW): Add space after ",". | |
32526 | ||
32527 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32528 | ||
32529 | * rtl.h (REG_NREGS): New macro | |
32530 | * alias.c (record_set): Use it. | |
32531 | * cfgcleanup.c (mark_effect): Likewise. | |
32532 | * combine.c (likely_spilled_retval_1): Likewise. | |
32533 | (likely_spilled_retval_p, can_change_dest_mode): Likewise. | |
32534 | (move_deaths, distribute_notes): Likewise. | |
32535 | * cselib.c (cselib_record_set): Likewise. | |
32536 | * df-problems.c (df_simulate_one_insn_forwards): Likewise. | |
32537 | * df-scan.c (df_mark_reg): Likewise. | |
32538 | * dse.c (look_for_hardregs): Likewise. | |
32539 | * dwarf2out.c (reg_loc_descriptor): Likewise. | |
32540 | (multiple_reg_loc_descriptor): Likewise. | |
32541 | * expr.c (write_complex_part, read_complex_part): Likewise. | |
32542 | (emit_move_complex): Likewise. | |
32543 | * haifa-sched.c (setup_ref_regs): Likewise. | |
32544 | * ira-lives.c (mark_hard_reg_live): Likewise. | |
32545 | * lra.c (lra_set_insn_recog_data): Likewise. | |
32546 | * mode-switching.c (create_pre_exit): Likewise. | |
32547 | * postreload.c (reload_combine_recognize_const_pattern): Likewise. | |
32548 | (reload_combine_recognize_pattern): Likewise. | |
32549 | (reload_combine_note_use, move2add_record_mode): Likewise. | |
32550 | (reload_cse_move2add): Likewise. | |
32551 | * reg-stack.c (subst_stack_regs_pat): Likewise. | |
32552 | * regcprop.c (kill_value, copy_value): Likewise. | |
32553 | (copyprop_hardreg_forward_1): Likewise. | |
32554 | * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise. | |
32555 | (build_def_use): Likewise. | |
32556 | * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise. | |
32557 | (deps_analyze_insn): Likewise. | |
32558 | * sched-rgn.c (check_live_1, update_live_1): Likewise. | |
32559 | * sel-sched.c (count_occurrences_equiv): Likewise. | |
32560 | * valtrack.c (dead_debug_insert_temp): Likewise. | |
32561 | ||
32562 | 2015-05-19 Richard Sandiford <richard.sandiford@arm.com> | |
32563 | ||
32564 | * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO. | |
32565 | * dse.c (note_add_store): Likewise. | |
32566 | * ira-lives.c (mark_hard_reg_dead): Likewise. | |
32567 | * loop-invariant.c (mark_reg_store): Likewise. | |
32568 | (mark_reg_death): Likewise. | |
32569 | * postreload.c (reload_combine): Likewise. | |
32570 | (reload_combine_note_store): Likewise. | |
32571 | (reload_combine_note_use): Likewise. | |
32572 | * recog.c (peep2_reg_dead_p): Likewise. | |
32573 | ||
32574 | 2015-05-19 Alan Modra <amodra@gmail.com> | |
32575 | ||
32576 | * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all | |
32577 | hard registers numbered greater or equal to ARG_POINTER_REGNUM. | |
32578 | (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete | |
32579 | unused predicates. | |
32580 | * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): | |
32581 | Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC. | |
32582 | * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand. | |
32583 | * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment. | |
32584 | ||
32585 | 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com> | |
32586 | ||
32587 | * config/mips/mips.md (JOIN_MODE): New mode iterator. | |
32588 | (join2_load_Store<JOIN_MODE:mode>): New pattern. | |
32589 | (join2_loadhi): Likewise. | |
32590 | (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode | |
32591 | load-load and store-stores. | |
32592 | * config/mips/mips.opt (mload-store-pairs): New option. | |
32593 | (TARGET_LOAD_STORE_PAIRS): New macro. | |
32594 | * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise. | |
32595 | * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype. | |
32596 | * config/mips/mips.c (mips_load_store_bonding_p): New function. | |
32597 | ||
32598 | 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com> | |
32599 | ||
32600 | * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of | |
32601 | explicit swaps. | |
32602 | * dojump.c (do_compare_rtx_and_jump): Likewise. | |
32603 | * expmed.c (emit_store_flag_1): Likewise. | |
32604 | * fibonacci_heap.h (fibonacci_heap::union_with): Likewise. | |
32605 | * final.c (sprint_ul): Use std::reverse for reversing a string. | |
32606 | * fold-const.c (extract_muldiv_1): Use std::swap. | |
32607 | * genmodes.c (emit_mode_int_n): Likewise. | |
32608 | * ifcvt.c (dead_or_predicable): Likewise. | |
32609 | * ira-build.c (ira_merge_live_ranges): Likewise. | |
32610 | (swap_allocno_copy_ends_if_necessary): Likewise. | |
32611 | * ira.c (ira_setup_alts): Likewise. | |
32612 | * loop-iv.c (iv_analyze_expr): Likewise. | |
32613 | (implies_p): Likewise. | |
32614 | (canon_condition): Likewise. | |
32615 | * lra-constraints.c (swap_operands): Likewise. | |
32616 | * lra-lives.c (lra_merge_live_ranges): Likewise. | |
32617 | * omega.c (swap): Remove. | |
32618 | (bswap): Remove. | |
32619 | (omega_unprotect_1): Use std::swap. | |
32620 | (omega_solve_geq): Likewise. | |
32621 | * optabs.c (expand_binop_directly): Likewise. | |
32622 | (expand_binop): Likewise. | |
32623 | (emit_conditional_move): Likewise. | |
32624 | (emit_conditional_add): Likewise. | |
32625 | * postreload.c (reload_cse_simplify_operands): Likewise. | |
32626 | * reg-stack.c (emit_swap_insn): Likewise. | |
32627 | (swap_to_top): Likewise. | |
32628 | (compare_for_stack_reg): Likewise. | |
32629 | (subst_asm_stack_regs): Likewise. | |
32630 | * reload.c (find_reloads): Likewise. | |
32631 | * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise. | |
32632 | * sel-sched.c (invoke_reorder_hooks): Likewise. | |
32633 | (create_block_for_bookkeeping): Likewise. | |
32634 | * tree-data-ref.c (lambda_matrix_row_exchange): Remove. | |
32635 | (lambda_matrix_right_hermite): Use std::swap. | |
32636 | * tree-ssa-coalesce.c (sort_coalesce_list): Likewise. | |
32637 | * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. | |
32638 | * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise. | |
32639 | * tree-ssa-math-opts.c (is_widening_mult_p): Likewise. | |
32640 | * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise. | |
32641 | * tree-ssa-reassoc.c (linearize_expr_tree): Likewise. | |
32642 | * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise. | |
32643 | * tree-vrp.c (compare_ranges): Likewise. | |
32644 | * var-tracking.c (add_with_sets): Likewise. | |
32645 | (vt_find_locations): Likewise. | |
32646 | ||
32647 | 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org> | |
32648 | ||
32649 | * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build | |
32650 | pie executables. | |
32651 | (FBSD_ENDFILE_SPEC): Likewise. | |
32652 | * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from | |
32653 | config/freebsd-spec.h. | |
32654 | (ENDFILE_SPEC): Likewise. | |
32655 | ||
32656 | 2015-05-18 Uros Bizjak <ubizjak@gmail.com> | |
32657 | Richard Henderson <rth@redhat.com> | |
32658 | ||
32659 | PR target/57032 | |
32660 | * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint. | |
32661 | Check for a memory location that is not a reference (using an AND) | |
32662 | to an unaligned location here. | |
32663 | * config/alpha/predicates.md (normal_memory_operand): Remove. | |
32664 | ||
32665 | 2015-05-18 Alex Velenko <Alex.Velenko@arm.com> | |
32666 | ||
32667 | * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern. | |
32668 | (andsi_not_shiftsi_si_scc_no_reuse): New pattern. | |
32669 | ||
32670 | 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com> | |
32671 | ||
32672 | * config/mips/mips.c (micromips_globals): New variable. | |
32673 | (mips_set_compression_mode): Save and reinitialize target-dependent | |
32674 | state for microMIPS. | |
32675 | ||
32676 | 2015-05-18 Martin Liska <mliska@suse.cz> | |
32677 | ||
32678 | * dbgcnt.def: Add new counter. | |
32679 | * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter. | |
32680 | ||
32681 | 2015-05-18 Martin Liska <mliska@suse.cz> | |
32682 | ||
32683 | * dbgcnt.def: Sort counters. | |
32684 | * opts.c (common_handle_option): Do not compile if | |
32685 | -fdbg-cnt-list is enabled. | |
32686 | ||
32687 | 2015-05-18 Tom de Vries <tom@codesourcery.com> | |
32688 | ||
32689 | * gimplify.c (gimplify_modify_expr): Remove do_deref handling. | |
32690 | (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of | |
32691 | address operator to va_list operand. | |
32692 | * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand | |
32693 | unconditionally. | |
32694 | * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list | |
32695 | operand. | |
32696 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same. | |
32697 | * config/s390/s390.c (s390_gimplify_va_arg): Same. | |
32698 | * config/spu/spu.c (spu_gimplify_va_arg_expr): Same. | |
32699 | ||
32700 | 2015-05-18 Tom de Vries <tom@codesourcery.com> | |
32701 | ||
32702 | * tree-ssa-tail-merge.c: Fix whitespace. | |
32703 | ||
32704 | 2015-05-17 Jim Wilson <jim.wilson@linaro.org> | |
32705 | ||
32706 | * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a, | |
32707 | cortex-a17, and cortex-a17.cortex-a7. | |
32708 | ||
32709 | 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org> | |
32710 | ||
32711 | PR target/54236 | |
32712 | * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult. | |
32713 | ||
32714 | 2015-05-17 Uros Bizjak <ubizjak@gmail.com> | |
32715 | ||
32716 | PR target/66174 | |
32717 | * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and | |
32718 | QImode inner modes for TARGET_AVX512BW. Force mask operand | |
32719 | to a register for AVX512F modes. | |
32720 | ||
32721 | 2015-05-16 Jan Hubicka <hubicka@ucw.cz> | |
32722 | ||
32723 | * toplev.c (emit_debug_global_declarations): Do not output debug info | |
32724 | when doing slim LTO objects. | |
32725 | ||
32726 | 2015-05-16 Jan Hubicka <hubicka@ucw.cz> | |
32727 | ||
32728 | * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p, | |
32729 | odr_types_equivalent_p): Declare. | |
32730 | (odr_type_p): Use gcc_checking_assert. | |
32731 | (type_in_anonymous_namespace_p) Declare. | |
32732 | (type_with_linkage_p): Declare. | |
32733 | * common.opt (Wlto-type-mismatch): New warning. | |
32734 | * ipa-devirt.c (compound_type_base): New function. | |
32735 | (odr_or_derived_type_p): New function. | |
32736 | (odr_types_equivalent_p): New function. | |
32737 | (add_type_duplicate): Simplify. | |
32738 | (type_with_linkage_p): Add hack to prevent false positives on C types | |
32739 | (type_in_anonymous_namespace_p): Likewise. | |
32740 | * tree.c (need_assembler_name_p): Use type_with_linkage. | |
32741 | * tree.h (type_in_anonymous_namespace_p): Remove. | |
32742 | * doc/invoke.texi (-Wlto-type-mismatch): Document | |
32743 | ||
32744 | 2015-05-16 Jan Hubicka <hubicka@ucw.cz> | |
32745 | ||
32746 | * tree.c (verify_type_variant): Verify tree_base and type_common flags. | |
32747 | (verify_type): Verify STRING_FLAG. | |
32748 | ||
32749 | 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
32750 | ||
32751 | PR fortran/44054 | |
32752 | * tree-pretty-print.c (percent_K_format): Replace locus pointer | |
32753 | with accessor function. | |
32754 | * tree-diagnostic.c (diagnostic_report_current_function): Use | |
32755 | diagnostic_location function. | |
32756 | (maybe_unwind_expanded_macro_loc): Likewise. | |
32757 | (virt_loc_aware_diagnostic_finalizer): Likewise. | |
32758 | (default_tree_printer): Replace locus pointer with accessor function. | |
32759 | * diagnostic.c (diagnostic_initialize): Initialize caret_chars array. | |
32760 | (diagnostic_set_info_translated): Initialize second location. | |
32761 | (diagnostic_build_prefix): Use CARET_LINE_MARGIN. | |
32762 | (diagnostic_show_locus): Handle two locations. Call | |
32763 | diagnostic_print_caret_line. | |
32764 | (diagnostic_print_caret_line): New. | |
32765 | (default_diagnostic_starter): Use diagnostic_location function. | |
32766 | (diagnostic_report_diagnostic): Use diagnostic_location function. | |
32767 | (verbatim): Do not set text.locus. | |
32768 | * diagnostic.h (struct diagnostic_info): Remove location field. | |
32769 | (struct diagnostic_context): Make caret_chars an array of two. | |
32770 | (diagnostic_location): New inline. | |
32771 | (diagnostic_expand_location): Handle two locations. | |
32772 | (diagnostic_same_line): New inline. | |
32773 | (diagnostic_print_caret_line): Declare. | |
32774 | (CARET_LINE_MARGIN): New constant. | |
32775 | * pretty-print.c (pp_printf): Do not set text.locus. | |
32776 | (pp_verbatim): Do not set text.locus. | |
32777 | * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant. | |
32778 | (struct text_info): Replace locus pointer with locations | |
32779 | array. Add accessor functions. | |
32780 | ||
32781 | 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org> | |
32782 | Zhenqiang Chen <zhenqiang.chen@linaro.org> | |
32783 | ||
32784 | PR target/65768 | |
32785 | * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro. | |
32786 | * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some | |
32787 | large constants in register instead of splitting them. | |
32788 | ||
32789 | 2015-05-16 Uros Bizjak <ubizjak@gmail.com> | |
32790 | ||
32791 | PR target/66140 | |
32792 | * config/alpha/alpha.c (get_aligned_mem): Also look for reload | |
32793 | replacements in memory addresses. | |
32794 | (get_unaligned_address): Ditto. | |
32795 | ||
32796 | 2015-05-16 James Bowman <james.bowman@ftdichip.com> | |
32797 | ||
32798 | * config/ft32/*: New files for FT32 port. | |
32799 | * doc/install.texi: Add FT32 information. | |
32800 | * doc/invoke.texi: Add FT32 information. | |
32801 | * doc/md.texi: Add FT32 information. | |
32802 | * doc/contrib.texi: Self added. | |
32803 | ||
32804 | 2015-05-15 Marc Glisse <marc.glisse@inria.fr> | |
32805 | ||
32806 | PR tree-optimization/64454 | |
32807 | * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns. | |
32808 | (-1 - A -> ~A): Remove unnecessary condition. | |
32809 | ||
32810 | 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca> | |
32811 | ||
32812 | * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define. | |
32813 | * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define. | |
32814 | (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define. | |
32815 | ||
32816 | 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com> | |
32817 | ||
32818 | * ipa-chkp.h (chkp_wrap_function): New. | |
32819 | * ipa-chkp.c (chkp_wrap_function): Remove 'static'. | |
32820 | (chkp_wrap_function_name): New. | |
32821 | (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name | |
32822 | to get wrapper name. | |
32823 | * lto-cgraph.c: Include ipa-chkp.h. | |
32824 | (input_cgraph_1): Avoid alias chain for wrappers. | |
32825 | ||
32826 | 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com> | |
32827 | ||
32828 | PR middle-end/66134 | |
32829 | * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New. | |
32830 | (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy. | |
32831 | ||
32832 | 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
32833 | ||
32834 | * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete. | |
32835 | (AARCH64_FL_SLOWMUL): Delete. | |
32836 | (AARCH64_FL_CRC): Redefine to 1<<3. | |
32837 | (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4. | |
32838 | ||
32839 | 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
32840 | ||
32841 | * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate | |
32842 | casting. | |
32843 | ||
32844 | 2015-05-15 Uros Bizjak <ubizjak@gmail.com> | |
32845 | ||
32846 | * config/alpha/alpha.md (extendqidi2): Use general_operand | |
32847 | instead of some_operand for operand[1] predicate. | |
32848 | (extendhidi2): Ditto. | |
32849 | (cbranchdi4): Use general_operand instead of some_operand | |
32850 | for operand[1] and operands[2] predicates. | |
32851 | (cstoredi4): Ditto. | |
32852 | * config/alpha/predicates.md (some_operand): Remove unused predicate. | |
32853 | (some_ni_operand): Ditto. | |
32854 | ||
32855 | 2015-05-15 Uros Bizjak <ubizjak@gmail.com> | |
32856 | ||
32857 | * config/alpha/alpha.c (alpha_extract_integer): Do not handle | |
32858 | CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x). | |
32859 | (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and | |
32860 | low part of the constant using alpha_emit_set_const_1. | |
32861 | (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE. | |
32862 | ||
32863 | 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com> | |
32864 | ||
32865 | * varasm.c (output_constant_pool_1): Pass down alignment from | |
32866 | constant pool entry's descriptor to output_constant_pool_2. | |
32867 | (output_object_block): Add comment prior to call to | |
32868 | output_constant_pool_1. | |
32869 | ||
32870 | 2015-05-14 Vladimir Makarov <vmakarov@redhat.com> | |
32871 | ||
32872 | PR rtl-optimization/65862 | |
32873 | * target.def (ira_change_pseudo_allocno_class): New hook. | |
32874 | * targhooks.c (default_ira_change_pseudo_allocno_class): Default | |
32875 | value of the hook. | |
32876 | * targhooks.h (default_ira_change_pseudo_allocno_class): New extern. | |
32877 | * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the | |
32878 | hook. | |
32879 | * ira-costs.c (find_costs_and_classes): Call the hook and change | |
32880 | classes when it is necessary. | |
32881 | * doc/tm.texi: Update. | |
32882 | ||
32883 | 2015-05-14 Alexander Monakov <amonakov@ispras.ru> | |
32884 | ||
32885 | * config/i386/i386.md (sibcall_memory): Check that register with | |
32886 | callee address is not also used as one of the arguments, instead | |
32887 | of checking that it is not live after the sibcall. | |
32888 | (sibcall_pop_memory): Ditto. | |
32889 | (sibcall_value_memory): Ditto. | |
32890 | (sibcall_value_pop_memory): Ditto. | |
32891 | ||
32892 | 2015-05-14 Marc Glisse <marc.glisse@inria.fr> | |
32893 | ||
32894 | * generic-match-head.c (types_match): Handle non-types. | |
32895 | * gimple-match-head.c (types_match): Likewise. | |
32896 | * match.pd: Remove unnecessary TREE_TYPE for types_match. | |
32897 | ||
32898 | 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com> | |
32899 | ||
32900 | * config/aarch64/aarch64.md (absdi2): Optimize abs expansion. | |
32901 | (csneg3<mode>_insn): Enable expansion of pattern. | |
32902 | ||
32903 | 2015-05-14 Nick Clifton <nickc@redhat.com> | |
32904 | ||
32905 | * config/rl78/rl78.c (rl78_select_section): Select the correct | |
32906 | default section based upon the category of the decl. | |
32907 | ||
32908 | 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org> | |
32909 | ||
32910 | PR rtl-optimization/30967 | |
32911 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider | |
32912 | destination mode for the cost of scc patterns. | |
32913 | ||
32914 | 2015-05-13 Uros Bizjak <ubizjak@gmail.com> | |
32915 | ||
32916 | * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1 | |
32917 | using SWIM248 mode iterator. | |
32918 | (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint. | |
32919 | (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand | |
32920 | for operand[2] constraint. | |
32921 | (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator. | |
32922 | ||
32923 | 2015-05-13 Jakub Jelinek <jakub@redhat.com> | |
32924 | ||
32925 | PR middle-end/66133 | |
32926 | * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion, | |
32927 | make sure it is never noreturn, even when the task body does not | |
32928 | return. | |
32929 | (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE | |
32930 | right before GIMPLE_OMP_RETURN. | |
32931 | (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont | |
32932 | for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to | |
32933 | GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit. | |
32934 | ||
32935 | 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
32936 | ||
32937 | * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param. | |
32938 | * tree-ssa-math-opts.c: Include params.h | |
32939 | (pow_synth_sqrt_info): New struct. | |
32940 | (representable_as_half_series_p): New function. | |
32941 | (get_fn_chain): Likewise. | |
32942 | (print_nested_fn): Likewise. | |
32943 | (dump_fractional_sqrt_sequence): Likewise. | |
32944 | (dump_integer_part): Likewise. | |
32945 | (expand_pow_as_sqrts): Likewise. | |
32946 | (gimple_expand_builtin_pow): Use above to attempt to expand | |
32947 | pow as series of square roots. Removed now unused variables. | |
32948 | ||
32949 | 2015-05-13 Uros Bizjak <ubizjak@gmail.com> | |
32950 | ||
32951 | * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument. | |
32952 | (alpha_extract_integer): Redeclare as static HOST_WIDE_INT. | |
32953 | Remove *p0 and *p1 arguments. Rewrite function. | |
32954 | (alpha_legitimate_constant_p): Update call to alpha_extract_integer. | |
32955 | (alpha_split_const_mov): Update calls to alpha_extract_integer and | |
32956 | alpha_emit_set_long_const. | |
32957 | (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const. | |
32958 | (alpha_output_mi_thunk_osf): Ditto. | |
32959 | * config/alpha/alpha.md (movti): Do not check operands[1] | |
32960 | for CONST_DOUBLE. | |
32961 | ||
32962 | 2015-05-13 Richard Biener <rguenther@suse.de> | |
32963 | ||
32964 | PR tree-optimization/66129 | |
32965 | * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are | |
32966 | commutative. | |
32967 | (vect_schedule_slp_instance): Fix typo. | |
32968 | ||
32969 | 2015-05-13 David Malcolm <dmalcolm@redhat.com> | |
32970 | ||
32971 | * common.opt (fdump-internal-locations): New option. | |
32972 | * input.c: Include diagnostic-core.h. | |
32973 | (get_end_location): New function. | |
32974 | (write_digit): New function. | |
32975 | (write_digit_row): New function. | |
32976 | (dump_location_range): New function. | |
32977 | (dump_labelled_location_range): New function. | |
32978 | (dump_location_info): New function. | |
32979 | * input.h (dump_location_info): New prototype. | |
32980 | * toplev.c (compile_file): Handle flag_dump_locations. | |
32981 | ||
32982 | 2015-05-13 Eric Botcazou <ebotcazou@adacore.com> | |
32983 | ||
32984 | * gimple-expr.h (is_gimple_constant): Reorder. | |
32985 | * tree-ssa-propagate.c (before_dom_children): Use inline accessor. | |
32986 | ||
32987 | 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org> | |
32988 | ||
32989 | * combine.c (simplify_set): When generating a CC set, if the | |
32990 | source already is in the correct mode, do not wrap it in a | |
32991 | compare. Simplify the rest of that code. | |
32992 | ||
32993 | 2015-05-13 Richard Biener <rguenther@suse.de> | |
32994 | ||
32995 | PR tree-optimization/66123 | |
32996 | * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found | |
32997 | a taken edge. | |
32998 | ||
32999 | 2015-05-13 Richard Biener <rguenther@suse.de> | |
33000 | ||
33001 | PR middle-end/66110 | |
33002 | * alias.c (alias_sets_conflict_p): Do not treat has_zero_child | |
33003 | specially. | |
33004 | * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing. | |
33005 | ||
33006 | 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> | |
33007 | ||
33008 | * doc/install.texi: Bump latest automake 1.11 version to 1.11.6. | |
33009 | * aclocal.m4: Regenerated with automake-1.11.6. | |
33010 | ||
33011 | 2015-05-13 Tom de Vries <tom@codesourcery.com> | |
33012 | ||
33013 | PR tree-optimization/66010 | |
33014 | * gimplify.h (gimplify_va_arg_internal): Remove declaration. | |
33015 | * gimplify.c (gimplify_va_arg_internal): Remove and inline into ... | |
33016 | * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval | |
33017 | and rval based on do_deref. | |
33018 | ||
33019 | 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com> | |
33020 | ||
33021 | PR target/65103 | |
33022 | * config/i386/i386.c (ix86_rtx_costs): We want to propagate | |
33023 | link time constants into adress expressions and therefore set | |
33024 | their cost to 0. | |
33025 | ||
33026 | 2015-05-13 Jakub Jelinek <jakub@redhat.com> | |
33027 | ||
33028 | PR target/66112 | |
33029 | * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4): | |
33030 | Use SWI248 iterator instead of SWI. | |
33031 | (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template. | |
33032 | Use eq_attr "alternative" "0" instead of match_test in | |
33033 | length_immediate attribute computation. | |
33034 | (*mulvhi4, *mulvhi4_1): New define_insns. | |
33035 | ||
33036 | PR target/66112 | |
33037 | * internal-fn.c (get_min_precision): Use UNSIGNED instead of | |
33038 | SIGNED to get precision of non-negative value. | |
33039 | ||
33040 | 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com> | |
33041 | ||
33042 | PR target/66048 | |
33043 | * function.c (diddle_return_value_1): Process bounds first. | |
33044 | * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1 | |
33045 | register. | |
33046 | ||
33047 | 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
33048 | ||
33049 | PR rtl-optimization/64616 | |
33050 | * loop-invariant.c (can_move_invariant_reg): New. | |
33051 | (move_invariant_reg): Call above new function to decide whether | |
33052 | instruction can just be moved, skipping creation of temporary | |
33053 | register. | |
33054 | ||
33055 | 2015-05-12 Jan Hubicka <hubicka@ucw.cz> | |
33056 | ||
33057 | PR target/pr66047.c | |
33058 | * i386.c (ix86_function_sseregparm): Only return -1 if local function | |
33059 | with implied regparm is called from -mno-sse function. | |
33060 | (init_cumulative_args): Output error if ix86_function_sseregparm | |
33061 | return -1 and SSE register would be needed. | |
33062 | (function_arg_advance_32): Likewise. | |
33063 | (function_arg_32): Likewise. | |
33064 | * i386.h (ix86_args): Add decl field. | |
33065 | ||
33066 | 2015-05-12 Jan Hubicka <hubicka@ucw.cz> | |
33067 | ||
33068 | PR ipa/65873 | |
33069 | * ipa-inline.c (can_inline_edge_p): Allow early inlining of always | |
33070 | inlines across optimization boundary. | |
33071 | ||
33072 | 2015-05-12 Jason Merrill <jason@redhat.com> | |
33073 | ||
33074 | * config/mmix/mmix.c, config/msp430/msp430.c: Add space between | |
33075 | string literal and macro name. | |
33076 | ||
33077 | 2015-05-12 Steve Ellcey <sellcey@imgtec.com> | |
33078 | ||
33079 | * config/mips/mips.c (mips_print_operand): Remove 'y' operand code. | |
33080 | * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator. | |
33081 | * config/mips/predicates.md (const_immlsa_operand): Remove log call. | |
33082 | ||
33083 | 2015-05-12 David Malcolm <dmalcolm@redhat.com> | |
33084 | ||
33085 | * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation. | |
33086 | (-Wmisleading-indentation): New option. | |
33087 | * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o. | |
33088 | ||
33089 | 2015-05-12 Uros Bizjak <ubizjak@gmail.com> | |
33090 | ||
33091 | * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define. | |
33092 | * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT. | |
33093 | (alpha_extract_integer): Ditto. | |
33094 | (alpha_legitimate_constant_p): Ditto. | |
33095 | (alpha_split_tmode_pair): Ditto. | |
33096 | (alpha_preferred_reload_class): Add CONST_WIDE_INT. | |
33097 | (alpha_expand_mov): Ditto. | |
33098 | (print_operand): Remove handling of 'H' modifier. | |
33099 | <case 'm'>: Remove CONST_DOUBLE handling. | |
33100 | (summarize_insn): Handle CONST_WIDE_INT. | |
33101 | * config/alpha/alpha.md (*andsi_internal): Remove H constraint. | |
33102 | (anddi3): Ditto. | |
33103 | (movti): Handle CONST_WIDE_INT. | |
33104 | * config/alpha/constraints.md ('H'): Remove constraint definition. | |
33105 | ('G'): Do not match MODE_FLOAT class. | |
33106 | * config/alpha/predicates.md (const0_operand): Also match | |
33107 | const_wide_int. | |
33108 | (non_add_const_operand): Ditto. | |
33109 | (non_zero_const_operand): Ditto. | |
33110 | (some_operand): Ditto. | |
33111 | (input_operand): Ditto. Handle CONST_WIDE_INT. | |
33112 | (and_operand): Do not match const_double. | |
33113 | * config/alpha/sync.md (fetchop_constr): Remove H constraint. | |
33114 | ||
33115 | 2015-05-12 Andrew MacLeod <amacleod@redhat.com> | |
33116 | ||
33117 | PR target/65697 | |
33118 | * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros. | |
33119 | (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}. | |
33120 | * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed, | |
33121 | is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel, | |
33122 | is_mm_seq_cst, is_mm_sync): New accessor functions. | |
33123 | * builtins.c (expand_builtin_sync_operation, | |
33124 | expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST. | |
33125 | (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE. | |
33126 | (get_memmodel, expand_builtin_atomic_compare_exchange, | |
33127 | expand_builtin_atomic_load, expand_builtin_atomic_store, | |
33128 | expand_builtin_atomic_clear): Use new accessor routines. | |
33129 | (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST. | |
33130 | * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST. | |
33131 | (maybe_emit_sync_lock_test_and_set): Use new accessors and | |
33132 | MEMMODEL_SYNC_ACQUIRE. | |
33133 | (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE. | |
33134 | (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load, | |
33135 | expand_atomic_store): Use new accessors. | |
33136 | * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases. | |
33137 | * tsan.c (instrument_builtin_call): Update check for memory model beyond | |
33138 | final enum to use MEMMODEL_LAST. | |
33139 | * c-family/c-common.c: Use new accessor for memmodel_base. | |
33140 | * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new | |
33141 | accessors. | |
33142 | * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>, | |
33143 | arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>, | |
33144 | mem_thread_fence, *dmb): Likewise. | |
33145 | * config/alpha/alpha.c (alpha_split_compare_and_swap, | |
33146 | alpha_split_compare_and_swap_12): Likewise. | |
33147 | * config/arm/arm.c (arm_expand_compare_and_swap, | |
33148 | arm_split_compare_and_swap, arm_split_atomic_op): Likewise. | |
33149 | * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>, | |
33150 | atomic_loaddi): Likewise. | |
33151 | * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check): | |
33152 | Likewise. | |
33153 | * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise. | |
33154 | * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and | |
33155 | use new accessors. | |
33156 | * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>, | |
33157 | atomic_store<mode>, atomic_compare_and_swap<mode>, | |
33158 | atomic_exchange<mode>): Use new accessors. | |
33159 | * config/mips/mips.c (mips_process_sync_loop): Likewise. | |
33160 | * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise. | |
33161 | * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier, | |
33162 | rs6000_post_atomic_barrier): Add new cases. | |
33163 | (rs6000_expand_atomic_compare_and_swap): Use new accessors. | |
33164 | * config/rs6000/sync.md (mem_thread_fence): Add new cases. | |
33165 | (atomic_load<mode>): Add new cases and use new accessors. | |
33166 | (store_quadpti): Add new cases. | |
33167 | * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new | |
33168 | accessors. | |
33169 | * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors. | |
33170 | * doc/extend.texi: Update docs to indicate 16 bits are used for memory | |
33171 | model, not 8. | |
33172 | ||
33173 | 2015-05-12 Jan Hubicka <hubicka@ucw.cz> | |
33174 | ||
33175 | * ipa-devirt.c (type_with_linkage_p): New function. | |
33176 | (type_in_anonymous_namespace_p): Move here from tree.c; assert that | |
33177 | type has linkage. | |
33178 | (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p. | |
33179 | (can_be_name_hashed_p): Simplify. | |
33180 | (hash_odr_name): Check that type has linkage before checking if it is | |
33181 | anonymous. | |
33182 | (types_same_for_odr): Likewise. | |
33183 | (odr_name_hasher::equal): Likewise. | |
33184 | (odr_subtypes_equivalent_p): Likewise. | |
33185 | (warn_types_mismatch): Likewise. | |
33186 | (get_odr_type): Likewise. | |
33187 | (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT. | |
33188 | * ipa-utils.h (odr_type_p): Move offline. | |
33189 | * tree.c (need_assembler_name_p): Fix handling of types | |
33190 | without linkages. | |
33191 | (type_in_anonymous_namespace_p): Move to ipa-devirt.c | |
33192 | ||
33193 | 2015-05-12 David Malcolm <dmalcolm@redhat.com> | |
33194 | ||
33195 | * timevar.c (timevar_enable): Delete in favor of... | |
33196 | (g_timer): New global. | |
33197 | (struct timevar_def): Move to timevar.h inside class timer. | |
33198 | (struct timevar_stack_def): Likewise. | |
33199 | (timevars): Delete global in favor of field "m_timevars" within | |
33200 | class timer in timevar.h | |
33201 | (stack): Likewise, in favor of field "m_stack". | |
33202 | (unused_stack_instances): Likewise, in favor of field | |
33203 | "m_unused_stack_instances". | |
33204 | (start_time): Likewise, in favor of field "m_start_time". | |
33205 | (get_time): Eliminate check for timevar_enable. | |
33206 | (timer::timer): New function, built from part of timevar_init. | |
33207 | (timevar_init): Rewrite idempotency test from using | |
33208 | "timevar_enable" bool to using dynamic allocation of "g_timer". | |
33209 | Move rest of implementation into timer's constructor. | |
33210 | (timevar_push_1): Rename to... | |
33211 | (timer::push): ...this, adding "m_" prefixes to variables that | |
33212 | are now fields of timer. | |
33213 | (timevar_pop_1): Likewise, rename to... | |
33214 | (timer::pop): ...this, and add "m_" prefixes. | |
33215 | (timevar_start): Replace test for "timevar_enable" with one for | |
33216 | "g_timer", and move bulk of implementation to... | |
33217 | (timer::start): ...here, adding "m_" prefixes. | |
33218 | (timevar_stop): Likewise, from here... | |
33219 | (timer::stop): ...to here. | |
33220 | (timevar_cond_start): Likewise, from here... | |
33221 | (timer::cond_start): ...to here. | |
33222 | (timevar_cond_stop): Likewise, from here... | |
33223 | (timer::cond_stop): ...to here. | |
33224 | (validate_phases): Rename to... | |
33225 | (timer::validate_phases): ...this, and add "m_" prefixes. Make | |
33226 | locals "total" and "tv" const. | |
33227 | (timevar_print): Rename to... | |
33228 | (timer::print): ...this, and add "m_" prefixes. Make locals | |
33229 | "total" and "tv" const. Eliminate test for timevar_enable. | |
33230 | * timevar.h (timevar_enable): Eliminate. | |
33231 | (g_timer): New declaration. | |
33232 | (timevar_push_1): Eliminate. | |
33233 | (timevar_pop_1): Eliminate. | |
33234 | (timevar_print): Eliminate. | |
33235 | (class timer): New class. | |
33236 | (timevar_push): Rewrite to use g_timer. | |
33237 | (timevar_pop): Likewise. | |
33238 | * toplev.c (toplev::~toplev): Likewise. | |
33239 | ||
33240 | 2015-05-12 Richard Earnshaw <rearnsha@arm.com> | |
33241 | ||
33242 | * arm-protos.h (arm_sched_autopref): Delete. | |
33243 | (tune_params): Re-organize, use enums for flag values. | |
33244 | (FUSE_OPS): New macro. | |
33245 | * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update. | |
33246 | (ARM_PREFETCH_BENEFICIAL): Likewise. | |
33247 | (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete. | |
33248 | (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune) | |
33249 | (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune) | |
33250 | (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune) | |
33251 | (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune) | |
33252 | (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune) | |
33253 | (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune) | |
33254 | (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new | |
33255 | format. | |
33256 | (arm_option_override, thumb2_reorg, arm_print_tune_info) | |
33257 | (aarch_macro_fusion_pair_p): Update uses of current_tune. | |
33258 | * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise. | |
33259 | ||
33260 | 2015-05-12 Sandra Loosemore <sandra@codesourcery.com> | |
33261 | ||
33262 | * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of | |
33263 | "break". | |
33264 | ||
33265 | 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com> | |
dfb6d139 | 33266 | Sandra Loosemore <sandra@codesourcery.com> |
fb2c1edd | 33267 | |
33268 | * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum | |
33269 | value. | |
33270 | (REG_CLASS_NAMES): Add "IJMP_REGS". | |
33271 | (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS. | |
33272 | * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to | |
33273 | use new "c" register constraint. | |
33274 | * config/nios2/constraint.md (c): New register constraint | |
33275 | corresponding to IJMP_REGS. | |
33276 | ||
33277 | 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org> | |
33278 | ||
33279 | * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5, | |
33280 | *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6 | |
33281 | define_splits): Delete, revamp, transmogrify into ... | |
33282 | (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2, | |
33283 | *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2, | |
33284 | *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2): | |
33285 | New. | |
33286 | ||
33287 | 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org> | |
33288 | ||
33289 | * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use | |
33290 | gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm. | |
33291 | ||
33292 | 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org> | |
33293 | ||
33294 | * config/rs6000/rs6000.md (extzv): FAIL for SImode. | |
33295 | (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2, | |
33296 | *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le, | |
33297 | *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be, | |
33298 | *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le, | |
33299 | *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be, | |
33300 | *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le, | |
33301 | *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be, | |
33302 | *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le, | |
33303 | *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be, | |
33304 | *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le, | |
33305 | *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be, | |
33306 | *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le, | |
33307 | *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be, | |
33308 | *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le, | |
33309 | *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be, | |
33310 | and 30 corresponding splitters): Delete. | |
33311 | ||
33312 | 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org> | |
33313 | ||
33314 | * config/rs6000/rs6000.md (define_split for bswaphi): Don't use | |
33315 | zero_extract. | |
33316 | ||
33317 | 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org> | |
33318 | ||
33319 | * combine.c (recog_for_combine_1): New function, factored out | |
33320 | from recog_for_combine. | |
33321 | (change_zero_ext): New function. | |
33322 | (recog_for_combine): If recog fails, try again with the pattern | |
33323 | modified by change_zero_ext; if that still fails, restore the | |
33324 | pattern. | |
33325 | ||
33326 | 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org> | |
33327 | ||
33328 | * combine.c (get_undo_marker): New function. | |
33329 | (undo_to_marker): New function, largely factored out from ... | |
33330 | (undo_all): ... this. Adjust. | |
33331 | ||
33332 | 2015-05-12 Richard Biener <rguenther@suse.de> | |
33333 | ||
33334 | PR tree-optimization/66101 | |
33335 | * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for | |
33336 | fixup if we turn a loop exit edge to a fallthru edge. | |
33337 | ||
33338 | 2015-05-12 Richard Biener <rguenther@suse.de> | |
33339 | ||
33340 | PR tree-optimization/37021 | |
33341 | * tree-vectorizer.h (struct _slp_tree): Add two_operators flag. | |
33342 | (SLP_TREE_TWO_OPERATORS): New define. | |
33343 | * tree-vect-slp.c (vect_create_new_slp_node): Initialize | |
33344 | SLP_TREE_TWO_OPERATORS. | |
33345 | (vect_build_slp_tree_1): Allow two mixing plus/minus in an | |
33346 | SLP node. | |
33347 | (vect_build_slp_tree): Adjust. | |
33348 | (vect_analyze_slp_cost_1): Likewise. | |
33349 | (vect_schedule_slp_instance): Vectorize mixing plus/minus by | |
33350 | emitting two vector stmts and mixing the results. | |
33351 | ||
33352 | 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
33353 | ||
33354 | * call.c (print_z_candidates): Remove dead code. | |
33355 | ||
33356 | 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
33357 | ||
33358 | * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int | |
33359 | and zEC12_simple_fp. | |
33360 | * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12 | |
33361 | to 1. | |
33362 | ||
33363 | 2015-05-12 Tom de Vries <tom@codesourcery.com> | |
33364 | ||
33365 | PR tree-optimization/66010 | |
33366 | * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of | |
33367 | ifn_va_arg. | |
33368 | * gimplify.h (gimplify_va_arg_internal): Remove loc parameter. | |
33369 | (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed | |
33370 | va_lists are passed, and remove corresponding handling. | |
33371 | (gimplify_va_arg_expr): Only take address of ap if necessary. Add | |
33372 | do_deref argument to ifn_va_arg. | |
33373 | * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of | |
33374 | ifn_va_arg. | |
33375 | ||
33376 | 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
33377 | ||
33378 | PR target/65955 | |
33379 | * config/arm/arm.md (movcond_addsi): Check that operands[2] is a | |
33380 | REG before taking its REGNO. | |
33381 | ||
33382 | 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
33383 | ||
33384 | * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating | |
33385 | rsp->sign_bit_copies and rsp->nonzero_bits into ... | |
33386 | (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if | |
33387 | present to get more accurate information about the number of sign bit | |
33388 | copies and non zero bits. | |
33389 | ||
33390 | 2015-05-12 Richard Biener <rguenther@suse.de> | |
33391 | ||
33392 | * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization | |
33393 | do not allow unrolling. | |
33394 | ||
33395 | 2015-05-11 Richard Henderson <rth@redhat.com> | |
33396 | ||
33397 | * config/i386/i386-modes.def (CCP): New. | |
33398 | * config/i386/i386.c (put_condition_code): Handle it. | |
33399 | (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise. | |
33400 | ||
33401 | 2015-05-11 Richard Henderson <rth@redhat.com> | |
33402 | ||
33403 | * target.def (md_asm_clobbers): Replace with... | |
33404 | (md_asm_adjust): this. | |
33405 | * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove. | |
33406 | (TARGET_MD_ASM_ADJUST): New. | |
33407 | * tm.texi: Rebuild. | |
33408 | * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove. | |
33409 | * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove. | |
33410 | * system.h (TARGET_MD_ASM_CLOBBERS): Poison. | |
33411 | ||
33412 | * cfgexpand.c (check_operand_nalternatives): Accept vector of | |
33413 | constraints instead of lists of outputs and inputs. | |
33414 | (expand_asm_stmt): Save and restore input_location around the | |
33415 | body of the function. Move asm data into vectors instead of | |
33416 | building tree lists. Generate cleanup sequences as needed, | |
33417 | rather than waiting til the end. Use new md_asm_adjust hook. | |
33418 | ||
33419 | * config/vxworks.c: Include vec.h before target.h. | |
33420 | * gimple.c: Likewise. | |
33421 | * incpath.c: Likewise. | |
33422 | * mode-switching.c: Likewise. | |
33423 | ||
33424 | * config/cris/cris.c (cris_md_asm_clobbers): Convert to... | |
33425 | (cris_md_asm_adjust): this. | |
33426 | (TARGET_MD_ASM_CLOBBERS): Remove. | |
33427 | (TARGET_MD_ASM_ADJUST): New. | |
33428 | * config/i386/i386.c (ix86_md_asm_clobbers): Convert to... | |
33429 | (ix86_md_asm_adjust): this. | |
33430 | (TARGET_MD_ASM_CLOBBERS): Remove. | |
33431 | (TARGET_MD_ASM_ADJUST): New. | |
33432 | * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to... | |
33433 | (mn10300_md_asm_adjust): this. | |
33434 | (TARGET_MD_ASM_CLOBBERS): Remove. | |
33435 | (TARGET_MD_ASM_ADJUST): New. | |
33436 | * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to... | |
33437 | (rs6000_md_asm_adjust): this. | |
33438 | (TARGET_MD_ASM_CLOBBERS): Remove. | |
33439 | (TARGET_MD_ASM_ADJUST): New. | |
33440 | * config/visium/visium.c (visium_md_asm_clobbers): Convert to... | |
33441 | (visium_md_asm_adjust): this. | |
33442 | (TARGET_MD_ASM_CLOBBERS): Remove. | |
33443 | (TARGET_MD_ASM_ADJUST): New. | |
33444 | ||
33445 | 2015-05-11 Richard Henderson <rth@redhat.com> | |
33446 | ||
33447 | * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p | |
33448 | if noutputs is zero. | |
33449 | * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged. | |
33450 | ||
33451 | * cfgexpand.c (expand_asm_operands): Merge into... | |
33452 | (expand_asm_stmt): ... here. | |
33453 | ||
33454 | * cfgexpand.c (expand_asm_operands): Don't call | |
33455 | resolve_asm_operand_names. | |
33456 | * stmt.c (resolve_asm_operand_names): Clarify block comment. | |
33457 | ||
33458 | 2015-05-11 Jan Hubicka <hubicka@ucw.cz> | |
33459 | ||
33460 | * dwarf2out.c (gen_member_die): Sanity check that we access | |
33461 | TYPE_MAIN_VARIANT for TYPE_METHODS. | |
33462 | * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when | |
33463 | checking TYPE_METHODS. | |
33464 | * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node | |
33465 | if non-null. | |
33466 | (build_distinct_type_copy): Clear TYPE_METHODS. | |
33467 | (verify_type_variant): Verify that TYPE_METHODS is NULL for variants. | |
33468 | (verify_type): Allow TYPE_METHODS to be error_mark_node. | |
33469 | * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS. | |
33470 | ||
33471 | 2015-05-11 Eric Botcazou <ebotcazou@adacore.com> | |
33472 | ||
33473 | * emit-rtl.c (emit_pattern_after_setloc): Add missing guard. | |
33474 | (emit_pattern_before_setloc): Likewise. | |
33475 | ||
33476 | 2015-05-11 Richard Sandiford <richard.sandiford@arm.com> | |
33477 | ||
33478 | * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE | |
33479 | for define_peephole2s. | |
33480 | (get_peephole2_pattern): New function. | |
33481 | (main): Use it. Call validate_pattern. | |
33482 | ||
33483 | 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com> | |
33484 | ||
33485 | * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use | |
33486 | LAST_CALLEE_SAVED_REG instead of hard-coded register number. | |
33487 | (Last callee saved reg is different for AVR_TINY architecture) | |
33488 | ||
33489 | 2015-05-11 Uros Bizjak <ubizjak@gmail.com> | |
33490 | ||
33491 | * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn) | |
33492 | when looking for memory references. | |
33493 | ||
33494 | 2015-05-11 Alexander Monakov <amonakov@ispras.ru> | |
33495 | ||
33496 | PR target/65753 | |
33497 | * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls | |
33498 | via function pointers. | |
33499 | ||
33500 | 2015-05-11 Alexander Monakov <amonakov@ispras.ru> | |
33501 | ||
33502 | * calls.c (prepare_call_address): Transform PLT call to GOT lookup and | |
33503 | indirect call by forcing address into a pseudo with -fno-plt. | |
33504 | * common.opt (flag_plt): New option. | |
33505 | * doc/invoke.texi (Code Generation Options): Add -fno-plt. | |
33506 | ([-fno-plt]): Document. | |
33507 | ||
33508 | 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de> | |
33509 | ||
33510 | PR bootstrap/66105 | |
33511 | * config/rs6000/option-defaults.h: Add space between string literal | |
33512 | and macro name. | |
33513 | ||
33514 | 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
33515 | ||
33516 | * gcc.target/arm/pr64616.c: Test dump rather than assembly to work | |
33517 | accross ARM targets. | |
33518 | ||
33519 | 2015-05-11 Christian Bruel <christian.bruel@st.com> | |
33520 | ||
33521 | * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove. | |
33522 | * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB. | |
33523 | ||
33524 | 2015-05-11 Richard Sandiford <richard.sandiford@arm.com> | |
33525 | ||
33526 | PR rtl-optimization/66076 | |
33527 | * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue): | |
33528 | Don't grow the heap array if it is already big enough from a | |
33529 | previous iteration. | |
33530 | ||
33531 | 2015-05-11 Christian Bruel <christian.bruel@st.com> | |
33532 | ||
33533 | * config/arm/arm-protos.h (arm_declare_function_name): Declare. | |
33534 | (is_called_in_ARM_mode): Remove. | |
33535 | * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool. | |
33536 | (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME. | |
33537 | * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call | |
33538 | arm_declare_function_name. | |
33539 | ||
33540 | 2015-05-11 Christian Bruel <christian.bruel@st.com> | |
33541 | ||
33542 | * config/arm/arm.c (arm_option_override): Reoganized and split into : | |
33543 | (arm_option_params_internal); New function. | |
33544 | (arm_option_check_internal): New function. | |
33545 | (arm_option_override_internal): New function. | |
33546 | (thumb_code, thumb1_code): Remove. | |
33547 | * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros. | |
33548 | (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise. | |
33549 | (thumb_code, thumb1_code): Remove. | |
33550 | * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag. | |
33551 | ||
33552 | 2015-05-11 Uros Bizjak <ubizjak@gmail.com> | |
33553 | ||
33554 | * config/alpha/alpha.c (alpha_emit_set_const_1) | |
33555 | (alpha_emit_set_long_const, alpha_extract_integer) | |
33556 | (alpha_legitimate_constant_p, alpha_split_const_mov) | |
33557 | (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand): | |
33558 | [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. | |
33559 | (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to | |
33560 | HOST_WIDE_INT_1U. | |
33561 | * config/alpha/predicates.md (mode_mask_operand): Do not match | |
33562 | const_double RTX. | |
33563 | [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. | |
33564 | * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter): | |
33565 | Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U. | |
33566 | [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code. | |
33567 | (*negtf_internal): Use gen_int_mode instead of immed_double_const. | |
33568 | ||
33569 | 2015-05-11 Jakub Jelinek <jakub@redhat.com> | |
33570 | ||
33571 | PR target/65780 | |
33572 | * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to | |
33573 | default_binds_local_p_2. | |
33574 | * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise. | |
33575 | * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise. | |
33576 | ||
33577 | 2015-05-09 Jan Hubicka <hubicka@ucw.cz> | |
33578 | ||
33579 | * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION | |
33580 | ||
33581 | 2015-05-09 Jan Hubicka <hubicka@ucw.cz> | |
33582 | ||
33583 | Patch by Richard Biener | |
33584 | * coverage.c (coverage_obj_init): Delay building of type variant | |
33585 | until the type is finished. | |
33586 | ||
33587 | 2015-05-09 Jan Hubicka <hubicka@ucw.cz> | |
33588 | ||
33589 | * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about | |
33590 | mismatch between C and C++ type; compoare correctly ARG_TYPES | |
33591 | for non-prototypes and output correctly parameter index for METHOD_TYPE. | |
33592 | (odr_types_equivalent_p): Fix wording of warning about attributes; | |
33593 | it is OK to match prototype and non-prototype. | |
33594 | ||
33595 | 2015-05-09 Jan Hubicka <hubicka@ucw.cz> | |
33596 | ||
33597 | * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of | |
33598 | TYPE_ARG_TYPES list. | |
33599 | (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds. | |
33600 | * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES | |
33601 | ||
33602 | 2015-05-09 Jan Hubicka <hubicka@ucw.cz> | |
33603 | ||
33604 | * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW. | |
33605 | * tree.h (is_lang_specific): Constify. | |
33606 | ||
33607 | 2015-05-09 Marc Glisse <marc.glisse@inria.fr> | |
33608 | ||
33609 | PR tree-optimization/64454 | |
33610 | * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>: | |
33611 | Rewrite. | |
33612 | ||
33613 | 2015-05-08 Jason Merrill <jason@redhat.com> | |
33614 | ||
33615 | * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c, | |
33616 | config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c, | |
33617 | config/darwin.h, config/darwin9.h, config/elfos.h, | |
33618 | config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h, | |
33619 | config/microblaze/microblaze.h, config/mips/mips.h, | |
33620 | config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h, | |
33621 | config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c, | |
33622 | config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h, | |
33623 | config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h, | |
33624 | config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h, | |
33625 | cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c, | |
33626 | dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c, | |
33627 | ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c, | |
33628 | ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c, | |
33629 | modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c, | |
33630 | tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space | |
33631 | between string literal and macro name. | |
33632 | ||
33633 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33634 | ||
33635 | * jump.c: Change argument types to rtx_insn *. | |
33636 | * rtl.h: Adjust. | |
33637 | ||
33638 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33639 | ||
33640 | * lra-constraints.c: Change argument type to rtx_insn *. | |
33641 | ||
33642 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33643 | ||
33644 | * df-problems.c: Change argument type to rtx_insn *. | |
33645 | ||
33646 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33647 | ||
33648 | * combine.c: Change argument type to rtx_insn *. | |
33649 | ||
33650 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33651 | ||
33652 | * rtl.h: Adjust. | |
33653 | * rtlanal.c: Change argument type to rtx_insn *. | |
33654 | ||
33655 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33656 | ||
33657 | * sched-deps.c: Change argument types to rtx_insn *. | |
33658 | * sched-int.h: Adjust. | |
33659 | ||
33660 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33661 | ||
33662 | * dwarf2cfi.c: Change argument type to rtx_insn *. | |
33663 | ||
33664 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33665 | ||
33666 | * ira.c (decrease_live_ranges_number): Changetype of local | |
33667 | variable to rtx_insn *. | |
33668 | * recog.c: Change argument types to rtx_insn *. | |
33669 | * recog.h: Adjust. | |
33670 | ||
33671 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33672 | ||
33673 | * reorg.c: Change argument types to rtx_insn *. | |
33674 | ||
33675 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33676 | ||
33677 | * ira-color.c: Change argument types to rtx_insn *. | |
33678 | * lra-eliminations.c: Likewise. | |
33679 | * ira.h: Adjust. | |
33680 | ||
33681 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33682 | ||
33683 | * gcse.c: Change argument types to rtx_insn *. | |
33684 | ||
33685 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33686 | ||
33687 | * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *. | |
33688 | ||
33689 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33690 | ||
33691 | * emit-rtl.c (emit_debug_insn_before): Change argument type to | |
33692 | rtx_insn *. | |
33693 | * rtl.h: Adjust. | |
33694 | ||
33695 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33696 | ||
33697 | * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *. | |
33698 | * rtl.h: Adjust. | |
33699 | ||
33700 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33701 | ||
33702 | * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *. | |
33703 | * rtl.h: Adjust. | |
33704 | ||
33705 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33706 | ||
33707 | * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *. | |
33708 | * rtl.h: Adjust. | |
33709 | ||
33710 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33711 | ||
33712 | * rtlanal.c (noop_move_p): Change argument type to rtx_insn *. | |
33713 | * rtl.h: Adjust. | |
33714 | ||
33715 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33716 | ||
33717 | * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type | |
33718 | to rtx_insn *. | |
33719 | * rtl.h: Adjust. | |
33720 | ||
33721 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33722 | ||
33723 | * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type | |
33724 | to rtx_insn *. | |
33725 | * rtl.h: Likewise. | |
33726 | ||
33727 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33728 | ||
33729 | * except.c (can_nonlocal_goto): Change type of argument to | |
33730 | rtx_insn *. | |
33731 | * rtl.h: Adjust. | |
33732 | ||
33733 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33734 | ||
33735 | * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *. | |
33736 | * rtl.h: Adjust. | |
33737 | ||
33738 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33739 | ||
33740 | * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p. | |
33741 | * cfgrtl.c (can_delete_label_p): Adjust. | |
33742 | * rtl.h: likewise. | |
33743 | ||
33744 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33745 | ||
33746 | * reorg.c (stop_search_p): Change argument to rtx_insn *. | |
33747 | ||
33748 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33749 | ||
33750 | * except.c (make_reg_eh_region_note): Change argument to | |
33751 | rtx_insn *. | |
33752 | (make_reg_eh_region_note_nothrow_nononlocal): Likewise. | |
33753 | * except.h: Adjust. | |
33754 | ||
33755 | 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
33756 | ||
33757 | * mode-switching.c (commit_mode_sets): Change type of local | |
33758 | variable from rtx to rtx_insn *. | |
33759 | ||
33760 | 2015-05-08 Jim Wilson <jim.wilson@linaro.org> | |
33761 | ||
33762 | * doc/install.texi (--enable-languages): Add missing jit and lto info. | |
33763 | Add ^ to grep command. | |
33764 | * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree | |
33765 | arg to last gimple_simplify declaration. Add missing gimple_build | |
33766 | declaration for built-in function case with four tree args. | |
33767 | ||
33768 | 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca> | |
33769 | Szabolcs Nagy <szabolcs.nagy@arm.com> | |
33770 | ||
33771 | * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define. | |
33772 | (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define. | |
33773 | (GNU_USER_DYNAMIC_LINKERN32): Update. | |
33774 | ||
33775 | 2015-05-08 Richard Biener <rguenther@suse.de> | |
33776 | ||
33777 | PR tree-optimization/66036 | |
33778 | * tree-vect-data-refs.c (vect_compute_data_ref_alignment): | |
33779 | Handle strided group loads. | |
33780 | (vect_verify_datarefs_alignment): Likewise. | |
33781 | (vect_enhance_data_refs_alignment): Likewise. | |
33782 | (vect_analyze_group_access): Likewise. | |
33783 | (vect_analyze_data_ref_access): Likewise. | |
33784 | (vect_analyze_data_ref_accesses): Likewise. | |
33785 | * tree-vect-stmts.c (vect_model_load_cost): Likewise. | |
33786 | (vectorizable_load): Likewise. | |
33787 | ||
33788 | 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org> | |
33789 | ||
33790 | * config/rs6000/rs6000.md: Require operand inequality in one | |
33791 | of the peepholes. | |
33792 | ||
33793 | 2015-05-08 Richard Sandiford <richard.sandiford@arm.com> | |
33794 | Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | |
33795 | ||
33796 | * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode | |
33797 | from (set ...). | |
33798 | * config/rx/rx.md (movdi, movdf): Likewise. | |
33799 | Likewise for define_peephole2s. | |
33800 | ||
33801 | 2015-05-08 Alan Lawrence <alan.lawrence@arm.com> | |
33802 | ||
33803 | * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64, | |
33804 | vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64, | |
33805 | vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64, | |
33806 | vtst_u64): Rewrite using gcc vector extensions. | |
33807 | ||
33808 | 2015-05-08 Alan Lawrence <alan.lawrence@arm.com> | |
33809 | ||
33810 | * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>, | |
33811 | vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant. | |
33812 | ||
33813 | 2015-05-08 Alan Lawrence <alan.lawrence@arm.com> | |
33814 | ||
33815 | * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode. | |
33816 | ||
33817 | 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
33818 | ||
33819 | * config/glibc-stdint.h (OPTION_MUSL): Define. | |
33820 | (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE): | |
33821 | Change the definition based on OPTION_MUSL for 64 bit targets. | |
33822 | * config/linux.h (OPTION_MUSL): Redefine. | |
33823 | * config/alpha/linux.h (OPTION_MUSL): Redefine. | |
33824 | * config/rs6000/linux.h (OPTION_MUSL): Redefine. | |
33825 | * config/rs6000/linux64.h (OPTION_MUSL): Redefine. | |
33826 | ||
33827 | 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca> | |
33828 | Szabolcs Nagy <szabolcs.nagy@arm.com> | |
33829 | ||
33830 | * config.gcc (LIBC_MUSL): New tm_defines macro. | |
33831 | * config/linux.h (OPTION_MUSL): Define. | |
33832 | (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,) | |
33833 | (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,) | |
33834 | (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) | |
33835 | (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) | |
33836 | (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. | |
33837 | * config/linux.opt (mmusl): New option. | |
33838 | * doc/invoke.texi (GNU/Linux Options): Document -mmusl. | |
33839 | * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. | |
33840 | (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. | |
33841 | * configure: Regenerate. | |
33842 | ||
33843 | 2015-05-08 H.J. Lu <hongjiu.lu@intel.com> | |
33844 | Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
33845 | ||
33846 | PR target/48904 | |
33847 | * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h. | |
33848 | * config/i386/knetbsd-gnu64.h: New file. | |
33849 | ||
33850 | 2015-05-08 Marek Polacek <polacek@redhat.com> | |
33851 | ||
33852 | PR c/64918 | |
33853 | * doc/invoke.texi: Document -Woverride-init-side-effects. | |
33854 | ||
33855 | 2015-05-07 Marek Polacek <polacek@redhat.com> | |
33856 | ||
33857 | PR c/65179 | |
33858 | * doc/invoke.texi: Document -Wshift-negative-value. | |
33859 | ||
33860 | 2015-05-06 Aditya Kumar <hiraditya@msn.com> | |
33861 | ||
33862 | * gcov-tool.c (do_merge): Refactore to remove int ret. | |
33863 | * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change | |
33864 | !type == FUNC to type != FUNC. | |
33865 | * reload.h (struct target_reload): Changee to type of | |
33866 | x_spill_indirect_levels from bool to unsigned char. | |
33867 | ||
33868 | 2015-05-07 Richard Sandiford <richard.sandiford@arm.com> | |
33869 | ||
33870 | * rtl.h (always_void_p): New function. | |
33871 | * gengenrtl.c (always_void_p): Likewise. | |
33872 | (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes | |
33873 | with code foo are always VOIDmode. | |
33874 | * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly. | |
33875 | * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c, | |
33876 | compare-elim.c, config/aarch64/aarch64.c, | |
33877 | config/aarch64/aarch64.md, config/alpha/alpha.c, | |
33878 | config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md, | |
33879 | config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md, | |
33880 | config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md, | |
33881 | config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c, | |
33882 | config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c, | |
33883 | config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c, | |
33884 | config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c, | |
33885 | config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c, | |
33886 | config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c, | |
33887 | config/ia64/vect.md, config/iq2000/iq2000.c, | |
33888 | config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md, | |
33889 | config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c, | |
33890 | config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md, | |
33891 | config/mep/mep.c, config/microblaze/microblaze.c, | |
33892 | config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c, | |
33893 | config/mn10300/mn10300.c, config/msp430/msp430.c, | |
33894 | config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c, | |
33895 | config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c, | |
33896 | config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c, | |
33897 | config/rs6000/altivec.md, config/rs6000/rs6000.c, | |
33898 | config/rs6000/rs6000.md, config/rs6000/vector.md, | |
33899 | config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md, | |
33900 | config/s390/s390.c, config/s390/s390.md, config/sh/sh.c, | |
33901 | config/sh/sh.md, config/sh/sh_treg_combine.cc, | |
33902 | config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c, | |
33903 | config/spu/spu.md, config/stormy16/stormy16.c, | |
33904 | config/tilegx/tilegx.c, config/tilegx/tilegx.md, | |
33905 | config/tilepro/tilepro.c, config/tilepro/tilepro.md, | |
33906 | config/v850/v850.c, config/v850/v850.md, config/vax/vax.c, | |
33907 | config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c, | |
33908 | expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c, | |
33909 | lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c, | |
33910 | reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c, | |
33911 | var-tracking.c: Update calls accordingly. | |
33912 | ||
33913 | 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org> | |
33914 | ||
33915 | PR middle-end/192 | |
33916 | PR middle-end/54303 | |
33917 | * varasm.c (function_mergeable_rodata_prefix): New function. | |
33918 | (mergeable_string_section): Use it. | |
33919 | (mergeable_constant_section): Use it. | |
33920 | ||
33921 | 2015-05-07 Jeff Law <law@redhat.com> | |
33922 | ||
33923 | PR target/39726 | |
33924 | * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New | |
33925 | simplifier to narrow arithmetic. | |
33926 | * generic-match-head.c: (types_match, single_use): New functions. | |
33927 | * gimple-match-head.c: (types_match, single_use): New functions. | |
33928 | ||
33929 | 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com> | |
33930 | ||
33931 | * combine.c (make_compound_operation): Remove checks for PLUS/MINUS | |
33932 | rtx type. | |
33933 | ||
33934 | 2015-05-07 Richard Biener <rguenther@suse.de> | |
33935 | ||
33936 | PR tree-optimization/66002 | |
33937 | * passes.def: Schedule another pass_merge_phi after ifcombine, right | |
33938 | before phiopt. | |
33939 | ||
33940 | 2015-05-07 Marek Polacek <polacek@redhat.com> | |
33941 | Martin Uecker <uecker@eecs.berkeley.edu> | |
33942 | ||
33943 | * doc/invoke.texi: Document -fsanitize=bounds-strict. | |
33944 | * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it | |
33945 | into SANITIZE_NONDEFAULT. | |
33946 | * opts.c (common_handle_option): Handle -fsanitize=bounds-strict. | |
33947 | ||
33948 | 2015-05-07 Uros Bizjak <ubizjak@gmail.com> | |
33949 | ||
33950 | PR target/66015 | |
33951 | * config/alpha/alpha.c (alpha_override_options_after_change): New. | |
33952 | (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New. | |
33953 | (alpha_override_options): Move align_loops, align_jumps and | |
33954 | align_functions handling into alpha_override_options_after_change. | |
33955 | ||
33956 | 2015-05-06 Sandra Loosemore <sandra@codesourcery.com> | |
33957 | Chris Jones <chrisj@nvidia.com> | |
33958 | Joshua Conner <jconner@nvidia.com> | |
33959 | ||
33960 | * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional | |
33961 | linking of crtfastmath.o. | |
33962 | * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise. | |
33963 | ||
33964 | 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org> | |
33965 | ||
33966 | * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander. | |
33967 | (cstore<mode>4_unsigned_imm): New expander. | |
33968 | (cstore<mode>4): Remove empty constraint strings. Use the new | |
33969 | expanders. | |
33970 | ||
33971 | 2015-05-06 Yvan Roux <yvan.roux@linaro.org> | |
33972 | ||
33973 | PR target/64208 | |
33974 | * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant | |
33975 | alternatives. | |
33976 | ||
33977 | 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com> | |
33978 | ||
33979 | * config/aarch64/geniterators.sh: Use standard BRE in sed. | |
33980 | ||
33981 | 2015-05-06 Alan Modra <amodra@gmail.com> | |
33982 | ||
33983 | PR target/66033 | |
33984 | * config/rs6000/rs6000.md (nop): Use an unspec pattern. | |
33985 | (UNSPEC_NOP): Define. | |
33986 | (reload_vsx_from_gpr<mode>): Add missing DONE. | |
33987 | (reload_gpr_from_vsx<mode>): Likewise. | |
33988 | * config/rs6000/vsx.md (vsx_mul_v2di): Likewise. | |
33989 | (vsx_div_v2di, vsx_udiv_v2di): Likewise. | |
33990 | ||
33991 | 2015-05-06 Christian Bruel <christian.bruel@st.com> | |
33992 | ||
33993 | PR target/66015 | |
33994 | * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops, | |
33995 | align_jumps, align_functions into aarch64_override_options_after_change. | |
33996 | ||
33997 | 2015-05-06 Richard Biener <rguenther@suse.de> | |
33998 | ||
33999 | * tree-vect-slp.c (vect_supported_load_permutation_p): Use | |
34000 | vect_transform_slp_perm_load to check if we support a permutation | |
34001 | for basic-block vectorization. | |
34002 | ||
34003 | 2015-05-06 Nick Clifton <nickc@redhat.com> | |
34004 | ||
34005 | * config/rl78/rl78.c (need_to_save): Save register 22 if it is | |
34006 | used, even if it is not being used as a frame pointer. | |
34007 | ||
34008 | 2015-05-05 Jason Merrill <jason@redhat.com> | |
34009 | ||
34010 | * dwarf2out.c (gen_member_die): Don't emit anything for an | |
34011 | anonymous class constructor. | |
34012 | ||
34013 | 2015-05-05 David Malcolm <dmalcolm@redhat.com> | |
34014 | ||
34015 | * auto-profile.c (afdo_find_equiv_class): Fix indentation so | |
34016 | that it reflects the block structure. | |
34017 | (afdo_propagate_edge): Likewise. | |
34018 | (afdo_calculate_branch_prob): Likewise. | |
34019 | (afdo_annotate_cfg): Likewise. | |
34020 | * cfgcleanup.c (equal_different_set_p): Likewise. | |
34021 | (try_crossjump_to_edge): Likewise. | |
34022 | * cgraph.c (cgraph_node::verify_node): Likewise. | |
34023 | * cgraphunit.c (expand_all_functions): Likewise. | |
34024 | * config/i386/i386.c (ix86_expand_copysign): Likewise. | |
34025 | (exact_dependency_1): Likewise. | |
34026 | * dwarf2asm.c (dw2_output_indirect_constants): Likewise. | |
34027 | * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise. | |
34028 | * gensupport.c (process_define_subst): Likewise. | |
34029 | * lto-wrapper.c (merge_and_complain): Likewise. | |
34030 | * tree-if-conv.c (if_convertible_bb_p): Likewise. | |
34031 | * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise. | |
34032 | * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise. | |
34033 | * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise. | |
34034 | * tree-vect-loop.c (vectorizable_reduction): Likewise. | |
34035 | * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise. | |
34036 | * tree-vect-stmts.c (vectorizable_shift): Likewise. | |
34037 | * tree-vrp.c (vrp_finalize): Likewise. | |
34038 | * tree.c (variably_modified_type_p): Likewise. | |
34039 | ||
34040 | 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com> | |
34041 | ||
34042 | * config.gcc: Use darwin9.h, darwin10.h and darwin12.h | |
34043 | on darwin12 and later. | |
34044 | * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add | |
34045 | file to pass -rdynamic on darwin12 and later. | |
34046 | * config/darwin.opt (rdynamic): Add. | |
34047 | ||
34048 | 2015-05-05 Uros Bizjak <ubizjak@gmail.com> | |
34049 | ||
34050 | * doc/extend.texi (C Extensions): Update menu for moved Variable | |
34051 | Attributes and Type Attributes sections. | |
34052 | ||
34053 | 2015-05-05 Uros Bizjak <ubizjak@gmail.com> | |
34054 | ||
34055 | PR target/65990 | |
34056 | * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out | |
34057 | if rep_8byte stringop strategy was specified for 32-bit target. | |
34058 | ||
34059 | 2015-05-05 Ilya Tocar <ilya.tocar@intel.com> | |
34060 | ||
34061 | PR target/65915 | |
34062 | * config/i386/i386.md (vector convert to float spltiter): Check for | |
34063 | xmm16+, when splitting scalar float conversion. | |
34064 | * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version. | |
34065 | ||
34066 | 2015-05-05 Nick Clifton <nickc@redhat.com> | |
34067 | ||
34068 | * config/msp430/msp430-opts.h (enum msp430_regions): New. | |
34069 | * config/msp430/msp430.c (msp430_override_options): Complain if | |
34070 | -mcode-region or -mdata-region is used on a non MSP430X. | |
34071 | (msp430_section_attr): New function. Checks lower, upper and | |
34072 | either attributes. | |
34073 | (msp430_attribute_table): Add lower, upper and either. | |
34074 | (gen_prefix): New function. Generates a prefix for a section | |
34075 | name. | |
34076 | (msp430_select_section): New function - handles the choice of | |
34077 | section for an object. Takes into account memory region | |
34078 | attributes and options. | |
34079 | (msp430_function_section): Use gen_prefix. | |
34080 | (TARGET_SECTION_TYPE_FLAGS): Define. | |
34081 | (msp430_section_type_flags): New function. | |
34082 | (TARGET_ASM_UNIQUE_SECTION): Define. | |
34083 | (msp430_unique_section): New function. | |
34084 | (msp430_output_aligned_decl_common): New function. | |
34085 | (msp430_do_not_relax_short_jumps): New function. | |
34086 | * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS): | |
34087 | Define. | |
34088 | (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. | |
34089 | * config/msp430/msp430-protos.h | |
34090 | (msp430_do_not_relax_short_jumps): New prototype. | |
34091 | (msp430_output_aligned_decl_common): New prototype. | |
34092 | * config/msp430/msp430.md (length): New attribute. | |
34093 | (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true | |
34094 | then use a long code sequence for short jumps. | |
34095 | * config/msp430/msp430.opt (mcode-region): New. | |
34096 | (mdata-region): New. | |
34097 | * doc/invoke.texi: Document new options. | |
34098 | * doc/extend.texi: Document new attributes. | |
34099 | ||
34100 | 2015-05-05 Matthew Wahab <matthew.wahab@arm.com> | |
34101 | ||
34102 | * config/aarch64-protos.h (struct cpu_branch_cost): New. | |
34103 | (tune_params): Add field branch_costs. | |
34104 | (aarch64_branch_cost): Declare. | |
34105 | * config/aarch64.c (generic_branch_cost): New. | |
34106 | (generic_tunings): Set field cpu_branch_cost to generic_branch_cost. | |
34107 | (cortexa53_tunings): Likewise. | |
34108 | (cortexa57_tunings): Likewise. | |
34109 | (thunderx_tunings): Likewise. | |
34110 | (xgene1_tunings): Likewise. | |
34111 | (aarch64_branch_cost): Define. | |
34112 | * config/aarch64/aarch64.h (BRANCH_COST): Redefine. | |
34113 | ||
34114 | 2015-05-05 Uros Bizjak <ubizjak@gmail.com> | |
34115 | ||
34116 | * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1 | |
34117 | and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1. | |
34118 | * config/i386/i386.md: Ditto. | |
34119 | * config/i386/winnt.c: Ditto. | |
34120 | ||
34121 | 2015-05-05 Matthew Wahab <matthew.wahab@arm.com> | |
34122 | ||
34123 | * doc/extend.texi (__atomic Builtins): Move implementation details | |
34124 | to the end of the description, rewrite opening paragraphs, state | |
34125 | difference with __sync builtins, state C11/C++11 assumptions, | |
34126 | weaken itemized descriptions, add explanation of memory model | |
34127 | behaviour, expand description of compare-exchange, simplify text. | |
34128 | ||
34129 | 2015-05-05 Renlin Li <renlin.li@arm.com> | |
34130 | ||
34131 | * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed. | |
34132 | ||
34133 | 2015-05-05 Yvan Roux <yvan.roux@linaro.org> | |
34134 | ||
34135 | * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define. | |
34136 | (LINK_SPEC): Include CA53_ERR_843419_SPEC. | |
34137 | * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define. | |
34138 | (LINK_SPEC): Include CA53_ERR_843419_SPEC. | |
34139 | * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option. | |
34140 | * configure: Regenerate. | |
34141 | * configure.ac: Add --enable-fix-cortex-a53-843419 option. | |
34142 | * doc/install.texi (aarch64*-*-*): Document new | |
34143 | --enable-fix-cortex-a53-843419 option. | |
34144 | * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419 | |
34145 | and -mno-fix-cortex-a53-843419 options. | |
34146 | ||
34147 | 2015-05-05 Uros Bizjak <ubizjak@gmail.com> | |
34148 | ||
34149 | PR target/65871 | |
34150 | * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern. | |
34151 | ||
34152 | 2015-05-04 Jan Hubicka <hubicka@ucw.cz> | |
34153 | ||
34154 | * tree.c (verify_type): Check various uses of TYPE_MAXVAL; | |
34155 | fix overactive TYPE_MIN_VALUE check and add FIXME for type | |
34156 | compatibility problems. | |
34157 | ||
34158 | 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com> | |
34159 | ||
34160 | * config/microblaze/microblaze.md (cbranchsi4): Added immediate | |
34161 | constraints. | |
34162 | (cbranchsi4_reg): New. | |
34163 | * config/microblaze/microblaze.c | |
34164 | (microblaze_expand_conditional_branch_reg): New. | |
34165 | * config/microblaze/microblaze-protos.h | |
34166 | (microblaze_expand_conditional_branch_reg): New prototype. | |
34167 | ||
34168 | 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com> | |
34169 | ||
34170 | * config/microblaze/microblaze.md (peephole2): New. | |
34171 | ||
34172 | 2015-05-04 Jeff Law <law@redhat.com> | |
34173 | ||
34174 | Revert: | |
34175 | 2015-05-04 Jeff Law <law@redhat.com> | |
34176 | ||
34177 | * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New | |
34178 | simplifier to narrow arithmetic. | |
34179 | * generic-match-head.c: (types_match, single_use): New functions. | |
34180 | * gimple-match-head.c: (types_match, single_use): New functions. | |
34181 | ||
34182 | 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org> | |
34183 | ||
34184 | PR target/65987 | |
34185 | * config/sh/sh.c (output_far_jump): Take into account crossing jumps. | |
34186 | (split_branches): Likewise. | |
34187 | ||
34188 | 2015-05-04 Sandra Loosemore <sandra@codesourcery.com> | |
34189 | ||
34190 | * common.opt (fdelete-null-pointer-checks): Init to -1. | |
34191 | * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to | |
34192 | override flag_delete_null_pointer_checks default. | |
34193 | * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify | |
34194 | behavior re address zero. Better document target-specific behavior. | |
34195 | (-fisolate-errneous-paths-dereference): Mention relationship to | |
34196 | -fdelete-null-pointer-checks. | |
34197 | ||
34198 | 2015-05-04 Jakub Jelinek <jakub@redhat.com> | |
34199 | ||
34200 | PR tree-optimization/65984 | |
34201 | * ubsan.c: Include tree-cfg.h. | |
34202 | (instrument_bool_enum_load): Use stmt_ends_bb_p instead of | |
34203 | stmt_could_throw_p test, rename can_throw variable to ends_bb. | |
34204 | ||
34205 | 2015-05-04 Uros Bizjak <ubizjak@gmail.com> | |
34206 | ||
34207 | * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check | |
34208 | to CONST_DOUBLE_P predicate. | |
34209 | (standard_sse_constant_p): Return 0 for !TARGET_SSE. | |
34210 | (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets, | |
34211 | allow only operands that satisfy standard_sse_constant_p predicate. | |
34212 | * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check | |
34213 | to CONST_DOUBLE_P predicate. | |
34214 | ||
34215 | 2015-05-04 Jeff Law <law@redhat.com> | |
34216 | ||
34217 | * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New | |
34218 | simplifier to narrow arithmetic. | |
34219 | * generic-match-head.c: (types_match, single_use): New functions. | |
34220 | * gimple-match-head.c: (types_match, single_use): New functions. | |
34221 | ||
34222 | 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org> | |
34223 | ||
34224 | * config/arm/arm.c: Restore bootstrap. | |
34225 | ||
34226 | 2015-05-04 Uros Bizjak <ubizjak@gmail.com> | |
34227 | ||
34228 | * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define. | |
34229 | * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode | |
34230 | as CONST_WIDE_INT, not CONST_DOUBLE. | |
34231 | (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT. | |
34232 | (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs. | |
34233 | (ix86_find_base_term): Do not check for CONST_DOUBLE. | |
34234 | (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs. | |
34235 | (ix86_build_signbit_mask): Rewrite using wide ints. | |
34236 | (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove. | |
34237 | (ix86_rtx_costs): Handle CONST_WIDE_INT. | |
34238 | (find_constant): Ditto. | |
34239 | * config/i386/i386.md (bts, btr, btc peepholes): Rewrite | |
34240 | using gen_int_mode. | |
34241 | * config/i386/predicates.md (x86_64_immediate_operand) | |
34242 | <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code. | |
34243 | (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling. | |
34244 | <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code. | |
34245 | (const0_operand): Also match const_wide_int. | |
34246 | (constm1_operand): Ditto. | |
34247 | (const1_operand): Ditto. | |
34248 | ||
34249 | 2015-05-04 Richard Biener <rguenther@suse.de> | |
34250 | ||
34251 | PR tree-optimization/65965 | |
34252 | * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split | |
34253 | store groups at gaps. | |
34254 | ||
34255 | 2015-05-04 Richard Biener <rguenther@suse.de> | |
34256 | ||
34257 | PR tree-optimization/65935 | |
34258 | * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands | |
34259 | then make sure to apply that swapping to the IL. | |
34260 | ||
34261 | 2015-05-04 Jakub Jelinek <jakub@redhat.com> | |
34262 | ||
34263 | * Makefile.in (PATCHLEVEL_c): New variable. | |
34264 | (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0, | |
34265 | expand the same way as if DEVPHASE_c was non-empty. | |
34266 | ||
34267 | 2015-05-04 Kai Tietz <ktietz@redhat.com> | |
34268 | ||
34269 | PR target/65559 | |
34270 | * lto-wrapper.c (run_gcc): Open filename | |
34271 | in binary-mode. | |
34272 | ||
34273 | 2015-05-03 Sandra Loosemore <sandra@codesourcery.com> | |
34274 | ||
34275 | * doc/extend.texi (Variable Attributes, Type Attributes): Move | |
34276 | sections up in file, to immediately after the Function Attributes | |
34277 | section. | |
34278 | ||
34279 | 2015-05-02 Jan Hubicka <hubicka@ucw.cz> | |
34280 | ||
34281 | * tree.c (verify_type): Check various uses of TYPE_MINVAL. | |
34282 | ||
34283 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34284 | ||
34285 | * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *. | |
34286 | (insert_partition_copy_on_edge): Adjust. | |
34287 | (insert_rtx_to_part_on_edge): Likewise. | |
34288 | (insert_part_to_rtx_on_edge): Likewise. | |
34289 | ||
34290 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34291 | ||
34292 | * function.c (set_return_jump_label): Change type of argument to | |
34293 | rtx_insn *. | |
34294 | * function.h (set_return_jump_label): Adjust. | |
34295 | ||
34296 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34297 | ||
34298 | * reload.h (struct reg_equivs_t): Change type of init to | |
34299 | rtx_insn *. | |
34300 | * ira.c (fix_reg_equiv_init): Adjust. | |
34301 | * reload1.c (eliminate_regs_1): Likewise. | |
34302 | (init_eliminable_invariants): Likewise. | |
34303 | ||
34304 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34305 | ||
34306 | * cselib.c (fp_setter_insn): Take a rtx_insn *. | |
34307 | * cselib.h (fp_setter_insn): Adjust. | |
34308 | ||
34309 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34310 | ||
34311 | * recog.c (struct validate_replace_src_data): Change type of | |
34312 | insn field to rtx_insn *. | |
34313 | (validate_replace_src_group): Change type of argument to rtx_insn *. | |
34314 | * recog.h (validate_replace_src_group): Adjust. | |
34315 | ||
34316 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34317 | ||
34318 | * haifa-sched.c: Change the type of some variables to rtx_insn *. | |
34319 | * sched-deps.c: Likewise. | |
34320 | * sched-int.h: Likewise. | |
34321 | * sched-rgn.c: Likewise. | |
34322 | * sel-sched.c: Likewise. | |
34323 | ||
34324 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34325 | ||
34326 | to rtx_insn *. | |
34327 | * config/i386/i386.c: Change the type of some arguments to | |
34328 | rtx_insn *. | |
34329 | * config/arm/arm.c: Likewise. | |
34330 | ||
34331 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34332 | ||
34333 | * lra-constraints.c: Change type of some arguments to rtx_insn *. | |
34334 | ||
34335 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34336 | ||
34337 | * regcprop.c (kill_autoinc_value): Change type of argument to | |
34338 | rtx_insn *. | |
34339 | ||
34340 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34341 | ||
34342 | * genrecog.c (print_subroutine): Adjust. | |
34343 | * recog.c (get_bool_attr_mask_uncached): Likewise. | |
34344 | * recog.h (struct recog_data_d): Change the type of insn to | |
34345 | rtx_insn *. | |
34346 | ||
34347 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34348 | ||
34349 | * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *. | |
34350 | ||
34351 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34352 | ||
34353 | * df-problems.c (df_set_note): Change type of argument to | |
34354 | rtx_insn *. | |
34355 | ||
34356 | 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34357 | ||
34358 | * builtins.c (expand_builtin_trap): Change type of local | |
34359 | variable to rtx_insn *. | |
34360 | (add_sched_insns_for_speculation): Likewise. | |
34361 | (ix86_emit_save_regs): Likewise. | |
34362 | (get_scratch_register_on_entry): Likewise. | |
34363 | (ix86_emit_restore_reg_using_pop): Likewise. | |
34364 | (ix86_emit_leave): Likewise. | |
34365 | (ix86_emit_restore_regs_using_mov): Likewise. | |
34366 | (ix86_expand_epilogue): Likewise. | |
34367 | Likewise. | |
34368 | (rl78_alloc_physical_registers_umul): Likewise. | |
34369 | * cselib.c (discard_useless_locs): Likewise. | |
34370 | (cselib_invalidate_regno): Likewise. | |
34371 | (cselib_invalidate_mem): Likewise. | |
34372 | * function.c (expand_function_start): Likewise. | |
34373 | (emit_use_return_register_into_block): Likewise. | |
34374 | * gcse.c: Likewise. | |
34375 | * haifa-sched.c (ok_for_early_queue_removal): Likewise. | |
34376 | * ifcvt.c (noce_get_alt_condition): Likewise. | |
34377 | * loop-doloop.c (doloop_condition_get): Likewise. | |
34378 | * lra-constraints.c (inherit_in_ebb): Likewise. | |
34379 | * modulo-sched.c (sms_schedule_by_order): Likewise. | |
34380 | * recog.c (next_insn_tests_no_inequality): Likewise. | |
34381 | * reorg.c (emit_delay_sequence): Likewise. | |
34382 | (update_reg_dead_notes): Likewise. | |
34383 | (fix_reg_dead_note): Likewise. | |
34384 | (fill_slots_from_thread): Likewise. | |
34385 | (delete_computation): Likewise. | |
34386 | ||
34387 | 2015-05-01 Sandra Loosemore <sandra@codesourcery.com> | |
34388 | ||
34389 | * doc/extend.texi (Variable Attributes): Add menu and proper | |
34390 | @nodes to subsections. Move Microsoft Windows attributes to | |
34391 | their own subsection. | |
34392 | (Type Attributes): Reorganize introduction to remove duplicate | |
34393 | list of attributes. Add menu and proper @nodes to subsections. | |
34394 | Alphabetize the main table of common attributes. | |
34395 | ||
34396 | 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk> | |
34397 | ||
34398 | * match.pd: New simplification patterns. | |
34399 | (x + (x & 1)) -> ((x + 1) & ~1) | |
34400 | (x & ~(x & y)) -> ((x & ~y)) | |
34401 | (x | ~(x | y)) -> ((x | ~y)) | |
34402 | ||
34403 | 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34404 | ||
34405 | * target.def (attribute_table): Mention that struct attribute_spec | |
34406 | is defined in tree-core.h rather than tree.h | |
34407 | * doc/tm.texi: Regenerate. | |
34408 | ||
34409 | 2015-05-01 Richard Sandiford <richard.sandiford@arm.com> | |
34410 | ||
34411 | * genrecog.c (test): Rename to rtx_test. Update rest of file | |
34412 | accordingly. | |
34413 | ||
34414 | 2015-05-01 Andreas Schwab <schwab@linux-m68k.org> | |
34415 | ||
34416 | PR translation/65959 | |
34417 | * params.h (DEFPARAM): Rename msgid to nocmsgid. | |
34418 | ||
34419 | 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com> | |
34420 | ||
34421 | * config/aarch64/aarch64-protos.h (tune_params): | |
34422 | Add min_div_recip_mul_sf and min_div_recip_mul_df fields. | |
34423 | * config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul): | |
34424 | Return value depending on target. | |
34425 | (generic_tunings): Initialize new target settings. | |
34426 | (cortexa53_tunings): Likewise. | |
34427 | (cortexa57_tunings): Likewise. | |
34428 | (thunderx_tunings): Likewise. | |
34429 | (xgene1_tunings): Likewise. | |
34430 | ||
34431 | 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com> | |
34432 | ||
34433 | * config/arm/aarch-cost-tables.h (cortexa53_extra_costs): | |
34434 | Make Cortex-A53 shift costs more accurate. | |
34435 | ||
34436 | 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34437 | ||
34438 | * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and | |
34439 | UNSIGNED_FLOAT. | |
34440 | ||
34441 | 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com> | |
34442 | ||
34443 | * config/aarch64/aarch64.c (aarch64_rtx_costs): | |
34444 | Calculate cost of op0 and op1 in PLUS and MINUS cases. | |
34445 | ||
34446 | 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34447 | ||
34448 | * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case): | |
34449 | Add cost of op0 in the compare-with-fpzero case. | |
34450 | ||
34451 | 2015-04-30 David Malcolm <dmalcolm@redhat.com> | |
34452 | ||
34453 | * builtins.c (fold_builtin_1): Remove spurious second | |
34454 | semicolon. | |
34455 | * cgraph.h (symtab_node::get_availability): Likewise. | |
34456 | * opts.c (common_handle_option): Remove spurious second semicolon. | |
34457 | * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise. | |
34458 | * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise. | |
34459 | ||
34460 | 2015-04-30 Caroline Tice <cmtice@google.com> | |
34461 | ||
34462 | PR gcov-profile/65929 | |
34463 | * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition. | |
34464 | (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition. | |
34465 | * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro. | |
34466 | (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro. | |
34467 | * doc/tm.texi: Regenerate. | |
34468 | * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME | |
34469 | instead of ASM_DECLARE_FUNCTION_NAME for cold partition name. | |
34470 | * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE | |
34471 | instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size. | |
34472 | ||
34473 | 2015-04-30 Marek Polacek <polacek@redhat.com> | |
34474 | ||
34475 | * varasm.c (handle_cache_entry): Fix logic. | |
34476 | ||
34477 | 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34478 | ||
34479 | * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern. | |
34480 | (*extrsi5_insn_uxtw_alt): Likewise. | |
34481 | * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function. | |
34482 | (aarch64_rtx_costs, IOR case): Use above to properly cost extr | |
34483 | operations. | |
34484 | ||
34485 | 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34486 | ||
34487 | * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for | |
34488 | fabd in ABS case. | |
34489 | ||
34490 | 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34491 | ||
34492 | * config/aarch64/aarch64.md | |
34493 | (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern. | |
34494 | (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise. | |
34495 | * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift | |
34496 | appropriately. Handle alternative EON form. | |
34497 | ||
34498 | 2015-04-30 Renlin Li <renlin.li@arm.com> | |
34499 | ||
34500 | * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec. | |
34501 | * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR. | |
34502 | ||
34503 | 2015-04-30 Jan Hubicka <hubicka@ucw.cz> | |
34504 | ||
34505 | PR ipa/65873 | |
34506 | * ipa-inline.c (can_inline_edge_p): It is safe to inline across | |
34507 | -fstrict-aliasing boundaries. | |
34508 | ||
34509 | 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34510 | ||
34511 | * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG | |
34512 | and [SU]MNEGL patterns. | |
34513 | ||
34514 | 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34515 | ||
34516 | * config/aarch64/aarch64.c (aarch64_shift_p): New function. | |
34517 | (aarch64_rtx_mult_cost): Update comment to reflect that it also handles | |
34518 | combined arithmetic-shift ops. Properly handle all shift and extend | |
34519 | operations that can occur in combination with PLUS/MINUS. | |
34520 | Rename maybe_fma to compound_p. | |
34521 | (aarch64_rtx_costs): Use aarch64_shift_p when costing compound | |
34522 | arithmetic and shift operations. | |
34523 | ||
34524 | 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34525 | ||
34526 | * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith | |
34527 | rather than arith_shift cost when costing ADD/MINUS of an | |
34528 | extended value. | |
34529 | ||
34530 | 2015-04-30 Jan Hubicka <hubicka@ucw.cz> | |
34531 | ||
34532 | PR lto/65948 | |
34533 | * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent | |
34534 | to itself. | |
34535 | ||
34536 | 2015-04-30 Richard Sandiford <richard.sandiford@arm.com> | |
34537 | ||
34538 | * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests | |
34539 | are for the same position. | |
34540 | ||
34541 | 2015-04-29 Aditya Kumar <hiraditya@hotmail.com> | |
34542 | ||
34543 | * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of | |
34544 | vectorize_loops. | |
34545 | (vectorize_loops): Use it. | |
34546 | ||
34547 | 2015-04-29 Jan Hubicka <hubicka@ucw.cz> | |
34548 | ||
34549 | * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only | |
34550 | for aggregate types. | |
34551 | (register_odr_type): Be ready for MAIN_VARIANT of ODR type | |
34552 | type to be non_ODR. | |
34553 | * tree.c (need_assembler_name_p): Compute mangled name for | |
34554 | non-fundamental types and integer types. | |
34555 | ||
34556 | 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com> | |
34557 | ||
34558 | * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of | |
34559 | manual swaps. | |
34560 | * expr.c (expand_expr_real_2): Likewise. | |
34561 | ||
34562 | 2015-04-29 Jan Hubicka <hubicka@ucw.cz> | |
34563 | ||
34564 | * tree.c (build_common_builtin_nodes): Do not build | |
34565 | __builtin_alloca_with_align as equivalent of library alloca. | |
34566 | ||
34567 | 2015-04-29 Jan Hubicka <hubicka@ucw.cz> | |
34568 | ||
34569 | * dwarf2out.c (gen_type_die_with_usage): Call verify_type. | |
34570 | * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce | |
34571 | bugus variants. | |
34572 | * tree.c: Include print-tree.h and ipa-utils.h | |
34573 | (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE. | |
34574 | (free_lang_data_in_cgraph): Call verify_type. | |
34575 | (verify_type_variant): New function. | |
34576 | (verify_type): New function. | |
34577 | * tree.h (verify_type): Declare. | |
34578 | ||
34579 | 2015-04-29 Steve Ellcey <sellcey@imgtec.com> | |
34580 | ||
34581 | * config/mips/mips-cpus.def: (mips4): Change default processor | |
34582 | from PROCESSOR_R8000 to PROCESSOR_R10000. | |
34583 | ||
34584 | 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com> | |
34585 | ||
34586 | * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use | |
34587 | la/jalr instead of jal. | |
34588 | ||
34589 | 2015-04-29 Uros Bizjak <ubizjak@gmail.com> | |
34590 | ||
34591 | PR target/65871 | |
34592 | * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern. | |
34593 | (*bmi2_bzhi_<mode>3_1_ccz): Ditto. | |
34594 | (setcc+movzbl peephole2): Check also clobbered reg. | |
34595 | (setcc+andl peephole2): Ditto. | |
34596 | ||
34597 | 2015-04-29 Thomas Schwinge <thomas@codesourcery.com> | |
34598 | ||
34599 | PR libgomp/65099 | |
34600 | * config/nvptx/mkoffload.c (target_ilp32): New variable. | |
34601 | (main): Set it depending on "-foffload-abi=[...]". | |
34602 | (compile_native, main): Use it to pass "-m32" or "-m64" to the | |
34603 | compiler. | |
34604 | ||
34605 | 2015-04-29 Alan Lawrence <alan.lawrence@arm.com> | |
34606 | ||
34607 | PR target/65770 | |
34608 | * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>, | |
34609 | vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>): | |
34610 | Flip lane index back at assembly time for bigendian. | |
34611 | ||
34612 | 2015-04-29 Thomas Schwinge <thomas@codesourcery.com> | |
34613 | ||
34614 | * tree.h (OMP_STANDALONE_CLAUSES): New macro. | |
34615 | * gimplify.c (gimplify_omp_workshare): Use it. | |
34616 | ||
34617 | 2015-04-29 Richard Sandiford <richard.sandiford@arm.com> | |
34618 | ||
34619 | * Makefile.in (build/genrecog.o): Depend on inchash.h. | |
34620 | (build/genrecog$(build_exeext): Depend on build/hash-table.o and | |
34621 | build/inchash.o | |
34622 | * genrecog.c: Rewrite most of the code except for the third page. | |
34623 | ||
34624 | 2015-04-29 Richard Sandiford <richard.sandiford@arm.com> | |
34625 | ||
34626 | * inchash.h, inchash.c: Include bconfig.h for build objects. | |
34627 | * Makefile.in (build/inchash.o): New rule. | |
34628 | ||
34629 | 2015-04-29 Yvan Roux <yvan.roux@linaro.org> | |
34630 | ||
34631 | PR target/65924 | |
34632 | * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand | |
34633 | number in type attribute expression. | |
34634 | ||
34635 | 2015-04-29 Richard Sandiford <richard.sandiford@arm.com> | |
34636 | ||
34637 | * loop-iv.c (canon_condition): Generalize to all types of integer | |
34638 | constant. | |
34639 | ||
34640 | 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org> | |
34641 | ||
34642 | * gimple-walk.c: Prune duplicate or unneeded includes. | |
34643 | (walk_gimple_asm): Only call parse_input_constraint or | |
34644 | parse_output_constraint if their findings are used. | |
34645 | Honour parse_input_constraint and parse_output_constraint | |
34646 | result. | |
34647 | ||
34648 | 2015-04-29 Alan Lawrence <alan.lawrence@arm.com> | |
34649 | ||
34650 | * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove. | |
34651 | ||
34652 | 2015-04-29 Tom de Vries <tom@codesourcery.com> | |
34653 | ||
34654 | PR tree-optimization/65893 | |
34655 | * passes.def (pass_all_optimizations): Move pass_stdarg to after | |
34656 | pass_dce. | |
34657 | ||
34658 | 2015-04-29 Richard Biener <rguenther@suse.de> | |
34659 | ||
34660 | * tree-vect-data-refs.c (vect_analyze_group_access): Properly | |
34661 | compute GROUP_SIZE for basic-block SLP. | |
34662 | * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly | |
34663 | take into account gaps. | |
34664 | (vect_get_mask_element): Properly reject references to previous | |
34665 | vectors. | |
34666 | (vect_transform_slp_perm_load): Likewise. | |
34667 | ||
34668 | 2015-04-29 Christian Bruel <christian.bruel@st.com> | |
34669 | ||
34670 | PR target/64835 | |
34671 | * config/i386/i386.c (ix86_default_align): New function. | |
34672 | (ix86_override_options_after_change): Call ix86_default_align. | |
34673 | (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook. | |
34674 | (ix86_override_options_after_change): New function. | |
34675 | ||
34676 | 2015-04-28 Jeff Law <law@redhat.com> | |
34677 | ||
34678 | * tree-ssa-dom.c (record_equality); Fix comment typos. | |
34679 | ||
34680 | 2015-04-28 Tom de Vries <tom@codesourcery.com> | |
34681 | ||
34682 | PR tree-optimization/65887 | |
34683 | * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup. | |
34684 | ||
34685 | 2015-04-28 Sandra Loosemore <sandra@codesourcery.com> | |
34686 | ||
34687 | * doc/extend.texi (Declaring Attributes of Functions): Split into | |
34688 | subsections by target. Alphabetize the table of common attributes. | |
34689 | Rewrite some of the introductory text to reflect the new structure. | |
34690 | Update some cross-references to point to the new subsections. | |
34691 | (Attribute Syntax): Put paragraph about "__" naming here. Remove | |
34692 | duplicate copies in the discussion of function, label, and type | |
34693 | attributes. | |
34694 | ||
34695 | 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr> | |
34696 | ||
34697 | PR bootstrap/65910 | |
34698 | * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE. | |
34699 | ||
34700 | 2015-04-28 Jason Merrill <jason@redhat.com> | |
34701 | ||
34702 | PR c++/65734 | |
34703 | * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT. | |
34704 | (finalize_type_size): Respect TYPE_USER_ALIGN. | |
34705 | (layout_type) [ARRAY_TYPE]: Likewise. | |
34706 | ||
34707 | 2015-04-28 Yvan Roux <yvan.roux@linaro.org> | |
34708 | ||
34709 | * config/arm/arm.md (*arm_movt): Fix type attribute. | |
34710 | (*cmpsi_shiftsi): Likewise. | |
34711 | (*cmpsi_shiftsi_swp): Likewise. | |
34712 | (*movsicc_insn): Likewise. | |
34713 | (*cond_move): Likewise. | |
34714 | (*if_plus_move): Likewise. | |
34715 | (*if_move_plus): Likewise. | |
34716 | (*if_arith_move): Likewise. | |
34717 | (*if_move_arith): Likewise. | |
34718 | (*if_shift_move): Likewise. | |
34719 | (*if_move_shift): Likewise. | |
34720 | (*arm_movtas_ze): Likewise. | |
34721 | * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative | |
34722 | redundancy and type attribute. | |
34723 | (*thumb2_movsi_insn): Fix type attribute. | |
34724 | (*thumb2_addsi_short): Likewise. | |
34725 | (thumb2_addsi3_compare0): Likewise. | |
34726 | (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix | |
34727 | attributes accordingly. | |
34728 | ||
34729 | 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de> | |
34730 | ||
34731 | PR other/65911 | |
34732 | * function.c (pad_to_arg_alignment): Add parentheses. | |
34733 | ||
34734 | 2015-04-28 Uros Bizjak <ubizjak@gmail.com> | |
34735 | ||
34736 | * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to | |
34737 | libgcc/config/frv/elf-lib.h. | |
34738 | ||
34739 | 2015-04-28 Tom de Vries <tom@codesourcery.com> | |
34740 | ||
34741 | * tree-call-cdce.c: Fix example in header comment. | |
34742 | ||
34743 | 2015-04-28 Richard Biener <rguenther@suse.de> | |
34744 | ||
34745 | PR tree-optimization/62283 | |
34746 | * tree-vect-slp.c (vect_build_slp_tree): When the SLP build | |
34747 | fails fatally and we are vectorizing a basic-block simply | |
34748 | cause the child to be constructed piecewise. | |
34749 | (vect_analyze_slp_cost_1): Adjust. | |
34750 | (vect_detect_hybrid_slp_stmts): Likewise. | |
34751 | (vect_bb_slp_scalar_cost): Likewise. | |
34752 | (vect_get_constant_vectors): For piecewise constructed | |
34753 | constants place them after the last def. | |
34754 | (vect_get_slp_defs): Adjust. | |
34755 | * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB | |
34756 | externals for basic-block vectorization. | |
34757 | ||
34758 | 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
34759 | ||
34760 | PR target/63503 | |
34761 | * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for | |
34762 | aarch64-*-*. | |
34763 | * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o. | |
34764 | * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define. | |
34765 | (AARCH64_TUNE_FMA_STEERING): Likewise. | |
34766 | * config/aarch64/aarch64-cores.def: Set | |
34767 | AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of | |
34768 | FMUL/FMADD instructions. | |
34769 | * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare. | |
34770 | (aarch64_override_options): Include cortex-a57-fma-steering.h. Call | |
34771 | aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true. | |
34772 | * config/aarch64/cortex-a57-fma-steering.h: New file. | |
34773 | * config/aarch64/cortex-a57-fma-steering.c: Likewise. | |
34774 | ||
34775 | 2015-04-28 Richard Sandiford <richard.sandiford@arm.com> | |
34776 | ||
34777 | * gensupport.c (std_preds): Add missing codes to address_operand entry. | |
34778 | ||
34779 | 2015-04-28 Richard Biener <rguenther@suse.de> | |
34780 | ||
34781 | PR tree-optimization/65851 | |
34782 | * tree-ssa-ccp.c (set_lattice_value): Perform a meet when | |
34783 | changing CONSTANT to CONSTANT non-copy. Get new_val by reference. | |
34784 | (ccp_lattice_meet): Remove stray argument. Use operand_equal_p | |
34785 | rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST. | |
34786 | (ccp_visit_phi_node): Adjust. | |
34787 | (evaluate_stmt): For simplifications to SSA names return its | |
34788 | lattice value if that isn't VARYING. Return immediately when | |
34789 | simplified to a constant. | |
34790 | (visit_assignment): Adjust. | |
34791 | (ccp_visit_stmt): Likewise. | |
34792 | ||
34793 | 2015-04-28 Tom de Vries <tom@codesourcery.com> | |
34794 | ||
34795 | PR tree-optimization/65818 | |
34796 | * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are | |
34797 | evaluated. | |
34798 | ||
34799 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34800 | ||
34801 | * calls.c (save_fixed_argument_area): Don't check | |
34802 | ARGS_GROW_DOWNWARD with the preprocessor. | |
34803 | (restore_fixed_argument_area): Likewise. | |
34804 | (mem_overlaps_already_clobbered_arg_p): Likewise. | |
34805 | (check_sibcall_argument_overlap): Likewise. | |
34806 | (expand_call): Likewise. | |
34807 | (emit_library_call_value_1): Likewise. | |
34808 | (store_one_arg): Likewise. | |
34809 | * function.c (assign_parms): Likewise. | |
34810 | (locate_and_pad_parm): Likewise. | |
34811 | (pad_to_arg_alignment): Likewise. | |
34812 | * targhooks.c (std_gimplify_va_arg_expr): Likewise. | |
34813 | ||
34814 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34815 | ||
34816 | * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1. | |
34817 | * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default. | |
34818 | * calls.c (save_fixed_argument_area): Don't chekc if | |
34819 | ARGS_GROW_DOWNWARD is defined. | |
34820 | (restore_fixed_argument_area): Likewise. | |
34821 | (mem_overlaps_already_clobbered_arg_p): Likewise. | |
34822 | (check_sibcall_argument_overlap): Likewise. | |
34823 | (expand_call): Likewise. | |
34824 | (emit_library_call_value_1): Likewise. | |
34825 | (store_one_arg): Likewise. | |
34826 | * function.c (assign_parms): Likewise. | |
34827 | (locate_and_pad_parm): Likewise. | |
34828 | (pad_to_arg_alignment): Likewise. | |
34829 | * targhooks.c (std_gimplify_va_arg_expr): Likewise. | |
34830 | ||
34831 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34832 | ||
34833 | * defaults.h (gen_epilogue): New function. | |
34834 | * alias.c (init_alias_analysis): don't check if HAVE_epilogue is | |
34835 | defined. | |
34836 | * cfgrtl.c (cfg_layout_finalize): Likewise. | |
34837 | * df-scan.c: Likewise. | |
34838 | * function.c (thread_prologue_and_epilogue_insns): Likewise. | |
34839 | (reposition_prologue_and_epilogue_notes): Likewise. | |
34840 | * reorg.c (find_end_label): Likewise. | |
34841 | * toplev.c: Likewise. | |
34842 | ||
34843 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34844 | ||
34845 | * bb-reorder.c (HAVE_return): Don't check if its undefined. | |
34846 | * defaults.h (gen_simple_return): New function. | |
34847 | (gen_simple_return): Likewise. | |
34848 | (HAVE_return): Add default definition to false. | |
34849 | (HAVE_simple_return): Likewise. | |
34850 | * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if | |
34851 | HAVE_return and HAVE_simple_return are defined. | |
34852 | * function.c (gen_return_pattern): Likewise. | |
34853 | (convert_jumps_to_returns): Likewise. | |
34854 | (thread_prologue_and_epilogue_insns): Likewise. | |
34855 | * reorg.c (find_end_label): Likewise. | |
34856 | (dbr_schedule): Likewise. | |
34857 | * shrink-wrap.c: Likewise. | |
34858 | * shrink-wrap.h: Likewise. | |
34859 | ||
34860 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34861 | ||
34862 | * defaults.h (EPILOGUE_USES): Add default definition of false. | |
34863 | * df-scan.c (EPILOGUE_USES): Remove check if its undefined. | |
34864 | * resource.c (init_resource_info): Likewise. | |
34865 | ||
34866 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34867 | ||
34868 | * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition | |
34869 | to false. | |
34870 | * dwarf2out.c (field_byte_offset): REmove check if | |
34871 | PCC_BITFIELD_TYPE_MATTERS is defined. | |
34872 | * stor-layout.c (layout_decl): Likewise. | |
34873 | (update_alignment_for_field): Likewise. | |
34874 | (place_field): Likewise. | |
34875 | ||
34876 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34877 | ||
34878 | * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to | |
34879 | true. | |
34880 | * regrename.c (check_new_reg_p): Remove check if | |
34881 | HARD_REGNO_RENAME_OK is defined. | |
34882 | * sel-sched.c (sel_hard_regno_rename_ok): Likewise. | |
34883 | ||
34884 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
34885 | ||
34886 | * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE. | |
34887 | * cse.c (fold_rtx): Likewise. | |
34888 | * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1. | |
34889 | * config/arc/arc.h (NO_FUNCTION_CSE): Likewise. | |
34890 | * config/avr/avr.h (NO_FUNCTION_CSE): Likewise. | |
34891 | * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise. | |
34892 | * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise. | |
34893 | * config/frv/frv.h (NO_FUNCTION_CSE): Likewise. | |
34894 | * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise. | |
34895 | * config/i386/i386.h (NO_FUNCTION_CSE): Likewise. | |
34896 | * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise. | |
34897 | * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE): | |
34898 | * Likewise. | |
34899 | * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise. | |
34900 | * config/mep/mep.h (NO_FUNCTION_CSE): Likewise. | |
34901 | * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise. | |
34902 | * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise. | |
34903 | * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise. | |
34904 | * config/pa/pa.h (NO_FUNCTION_CSE): Likewise. | |
34905 | * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise. | |
34906 | * config/s390/s390.h (NO_FUNCTION_CSE): Likewise. | |
34907 | * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise. | |
34908 | * config/spu/spu.h (NO_FUNCTION_CSE): Likewise. | |
34909 | * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise. | |
34910 | * config/v850/v850.h (NO_FUNCTION_CSE): Likewise. | |
34911 | * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0. | |
34912 | * doc/tm.texi: Regenerate. | |
34913 | * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to | |
34914 | either true or false. | |
34915 | ||
34916 | 2015-04-27 Jeff Law <law@redhat.com> | |
34917 | ||
34918 | PR tree-optimization/65217 | |
34919 | * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one | |
34920 | of them has a single use, make sure it is the LHS of the implied | |
34921 | copy. | |
34922 | ||
34923 | 2015-04-28 Alan Modra <amodra@gmail.com> | |
34924 | ||
34925 | PR target/65810 | |
34926 | * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define. | |
34927 | (offsettable_ok_by_alignment): Use minimum of decl and toc | |
34928 | pointer alignment. Replace dead code with assertion. | |
34929 | (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium | |
34930 | case if size exceeds toc pointer alignment. | |
34931 | (rs6000_legitimize_reload_address): Update use_toc_relative_ref call. | |
34932 | (rs6000_emit_move): Likewise. | |
34933 | * configure.ac: Add linker toc pointer alignment check. | |
34934 | * configure: Regenerate. | |
34935 | * config.in: Regenerate. | |
34936 | ||
dfb6d139 | 34937 | 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp> |
fb2c1edd | 34938 | |
34939 | * config.gcc: Add h8300-*-linux. | |
34940 | * config/h8300/linux.h: New. | |
34941 | * config/h8300/t-linux: New. | |
34942 | * config/h8300/h8300.c (h8300_option_override): Normal mode | |
34943 | is not supported for h8300-*-linux. | |
34944 | (h8300_file_start): Target priority change. | |
34945 | (get_shift_alg): Likewise. | |
34946 | (h8300_shift_need_scratch_p): Likewise. | |
34947 | * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise. | |
34948 | * config/h8300/h8300.md (define_peephole2): Remove duplicate condition. | |
34949 | ||
34950 | 2015-04-27 Caroline Tice <cmtice@google.com> | |
34951 | ||
34952 | * final.c (final_scan_insn): Output cold_function_name as function | |
34953 | type. | |
34954 | * varasm.c (cold_function_name): Make global. | |
34955 | (assemble_start_function): Re-set cold_function_name. | |
34956 | (assemble_end_function): Output cold partition size. | |
34957 | * varasm.h (cold_function_name): Declare global. | |
34958 | ||
34959 | 2015-04-27 Ilya Tocar <ilya.tocar@intel.com> | |
34960 | ||
34961 | * config/i386/i386.h (EXT_REX_SSE_REG_P): New. | |
34962 | * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v" | |
34963 | constraint. | |
34964 | (*movxi_internal_avx512f): Ditto. | |
34965 | (define_split): Check for xmm16+, when splitting scalar float_extend. | |
34966 | (*extendsfdf2_mixed): Use "v" constraint. | |
34967 | (define_split): Check for xmm16+, when splitting scalar float_truncate. | |
34968 | (*truncdfsf_fast_sse): Use "v" constraint. | |
34969 | (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto. | |
34970 | (*float<SWI48:mode><MODEF:mode>2_sse): Ditto. | |
34971 | (define_peephole2): Check for xmm16+, when converting scalar | |
34972 | float_truncate. | |
34973 | (define_peephole2): Check for xmm16+, when converting scalar | |
34974 | float_extend. | |
34975 | (*fop_<mode>_comm_mixed): Use "v" constraint. | |
34976 | (*fop_<mode>_comm_sse): Ditto. | |
34977 | (*fop_<mode>_1_mixed): Ditto. | |
34978 | (*sqrt<mode>2_sse): Ditto. | |
34979 | (*ieee_s<ieee_maxmin><mode>3): Ditto. | |
34980 | ||
34981 | 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
34982 | ||
34983 | * combine.c (simplify_if_then_else): Use std::swap instead | |
34984 | of manually swapping. | |
34985 | (known_cond): Likewise. | |
34986 | (simplify_comparison): Likewise. | |
34987 | ||
34988 | 2015-04-27 Peter Bergner <bergner@vnet.ibm.com> | |
34989 | ||
34990 | PR target/64579 | |
34991 | * config/rs6000/htm.md: Remove all define_expands. | |
34992 | (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC, | |
34993 | UNSPECV_HTM_TABORTWCI): Remove. | |
34994 | (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New. | |
34995 | (tabort_internal, tbegin_internal, tcheck_internal, tend_internal, | |
34996 | trechkpt_internal, treclaim_internal, tsr_internal): Rename from this... | |
34997 | (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this. | |
34998 | (tabortdc_internal, tabortdci_internal, tabortwc_internal, | |
34999 | tabortwci_internal): Remove define_insns. | |
35000 | (tabort<wd>c, tabort<wd>ci): New define_insns. | |
35001 | (tabort): Use gpc_reg_operand. | |
35002 | (tcheck): Remove operand. | |
35003 | (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro. | |
35004 | * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as | |
35005 | expected value. | |
35006 | * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove. | |
35007 | (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR. | |
35008 | (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin, | |
35009 | tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend, | |
35010 | tsr, ttest): Pass in the RS6000_BTC_CR attribute. | |
35011 | (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr, | |
35012 | get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute. | |
35013 | (tcheck): Remove builtin argument. | |
35014 | * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64 | |
35015 | not TARGET_64BIT. | |
35016 | (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the | |
35017 | tabortdc and tabortdci builtins when not in 64-bit mode. | |
35018 | Modify code to handle the loss of the HTM define_expands. | |
35019 | Emit code to copy the CR register to TARGET. | |
35020 | (htm_init_builtins): Modify code to handle the loss of the HTM | |
35021 | define_expands. | |
35022 | * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete. | |
35023 | (RS6000_BTC_64BIT): Likewise. | |
35024 | (RS6000_BTC_CR): New macro. | |
35025 | * doc/extend.texi: Update documentation for htm builtins. | |
35026 | ||
35027 | 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35028 | ||
35029 | * simplify-rtx.c (simplify_gen_binary): Use std::swap instead | |
35030 | of manually swapping. | |
35031 | (simplify_associative_operation): Likewise. | |
35032 | (simplify_binary_operation): Likewise. | |
35033 | (simplify_plus_minus): Likewise. | |
35034 | (simplify_relational_operation): Likewise. | |
35035 | (simplify_ternary_operation): Likewise. | |
35036 | ||
35037 | 2015-04-27 Richard Sandiford <richard.sandiford@arm.com> | |
35038 | ||
35039 | * config/stormy16/predicates.md (xs_hi_general_operand): Delete. | |
35040 | (xs_hi_nonmemory_operand): Remove error. | |
35041 | * config/stormy16/stormy16.md (movhi, movhi_internal): Use | |
35042 | general_operand rather than xs_hi_general_operand. | |
35043 | ||
35044 | 2015-04-27 Richard Biener <rguenther@suse.de> | |
35045 | ||
35046 | * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg. | |
35047 | (record_equivalences_from_stmt): Valueize rhs. | |
35048 | (record_equality): Canonicalize x and y order via | |
35049 | tree_swap_operands_p. Do not swap operands for same loop depth. | |
35050 | ||
35051 | 2015-04-27 Georg-Johann Lay <avr@gjlay.de> | |
35052 | ||
35053 | PR target/65296 | |
35054 | PR target/65895 | |
35055 | * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file. | |
35056 | Add hint how to use own spec file. | |
35057 | ||
35058 | 2015-04-27 Jakub Jelinek <jakub@redhat.com> | |
35059 | ||
35060 | PR tree-optimization/65875 | |
35061 | * tree-vrp.c (update_value_range): If in is_new case setting | |
35062 | old_vr to VR_VARYING, also set new_vr to it. Remove | |
35063 | old_vr->type == VR_VARYING test. | |
35064 | (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of | |
35065 | SSA_PROP_INTERESTING if update_value_range returned true, | |
35066 | but new range is VR_VARYING. | |
35067 | ||
35068 | 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
35069 | ||
35070 | * combine.c (sign_extend_short_imm): New. | |
35071 | (set_nonzero_bits_and_sign_copies): Use above new function for sign | |
35072 | extension of src short immediate. | |
35073 | (reg_nonzero_bits_for_combine): Likewise for tem. | |
35074 | ||
35075 | 2015-04-27 Eric Botcazou <ebotcazou@adacore.com> | |
35076 | ||
35077 | * stor-layout.c (self_referential_component_ref_p): New predicate. | |
35078 | (copy_self_referential_tree_r): Use it. | |
35079 | (self_referential_size): Punt for simple operations directly involving | |
35080 | self-referential component references. | |
35081 | * tree-cfg.c (dump_function_to_file): Add missing final curly bracket. | |
35082 | ||
35083 | 2015-04-27 Eric Botcazou <ebotcazou@adacore.com> | |
35084 | ||
35085 | * ipa-icf.c (icf_handled_component_p): Remove redundant tests. | |
35086 | ||
35087 | 2015-04-27 Richard Sandiford <richard.sandiford@arm.com> | |
35088 | ||
35089 | * vec.h (vec): Make splice arguments const. Update definitions | |
35090 | accordingly. | |
35091 | ||
35092 | 2015-04-27 Yvan Roux <yvan.roux@linaro.org> | |
35093 | ||
35094 | * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant | |
35095 | alternatives. | |
35096 | ||
35097 | 2015-04-26 Tom de Vries <tom@codesourcery.com> | |
35098 | ||
35099 | PR tree-optimization/65826 | |
35100 | * internal-fn.def: Mark VA_ARG with ECF_LEAF. | |
35101 | ||
35102 | 2015-04-24 Steve Ellcey <sellcey@imgtec.com> | |
35103 | ||
35104 | * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute. | |
35105 | (*madd3<mode>): Ditto. | |
35106 | (*msub4<mode>): Ditto. | |
35107 | (*msub3<mode>): Ditto. | |
35108 | (*nmadd4<mode>): Ditto. | |
35109 | (*nmadd3<mode>): Ditto. | |
35110 | (*nmadd4<mode>_fastmath): Ditto. | |
35111 | (*nmadd3<mode>_fastmath): Ditto. | |
35112 | (*nmsub4<mode>): Ditto. | |
35113 | (*nmsub3<mode>): Ditto. | |
35114 | (*nmsub4<mode>_fastmath): Ditto. | |
35115 | (*nmsub3<mode>_fastmath): Ditto. | |
35116 | ||
35117 | 2015-04-24 Jason Merrill <jason@redhat.com> | |
35118 | ||
35119 | PR c++/50800 | |
35120 | * tree.c (build_reference_type_for_mode): Don't pass can_alias_all | |
35121 | down when building TYPE_CANONICAL. | |
35122 | (build_pointer_type_for_mode): Likewise. | |
35123 | ||
35124 | 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com> | |
35125 | ||
35126 | * genrecog.c (validate_pattern): Check matching constraint refers | |
35127 | to a lower numbered operand. | |
35128 | ||
35129 | 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> | |
35130 | ||
35131 | PR target/65849 | |
35132 | * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that | |
35133 | save to independent variables use the Save attribute. This will | |
35134 | allow these options to be modified with the #pragma/attribute | |
35135 | target support. | |
35136 | (-mallow-movmisalign): Likewise. | |
35137 | (-mallow-df-permute): Likewise. | |
35138 | (-msched-groups): Likewise. | |
35139 | (-malways-hint): Likewise. | |
35140 | (-malign-branch-targets): Likewise. | |
35141 | (-mvectorize-builtins): Likewise. | |
35142 | (-msave-toc-indirect): Likewise. | |
35143 | ||
35144 | * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that | |
35145 | can be set via the #pragma/attribute target support. | |
35146 | (rs6000_opt_vars): Likewise. | |
35147 | (rs6000_inner_target_options): If VSX was set, also set | |
35148 | -mno-avoid-indexed-addresses. | |
35149 | ||
35150 | 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35151 | ||
35152 | * config/arm/iterators.md (shiftable_ops): Rename to... | |
35153 | (SHIFTABLE_OPS): ... This. Update use in comments. | |
35154 | (ior_xor): Rename to... | |
35155 | (IOR_XOR): ... This. | |
35156 | (vqh_ops): Rename to... | |
35157 | (VQH_OPS): ... This. | |
35158 | (vqhs_ops): Rename to... | |
35159 | (VQHS_OPS): ... This. | |
35160 | (rshifts): Rename to... | |
35161 | (RSHIFTS): ... This. | |
35162 | (returns): Rename to... | |
35163 | (RETURNS): ... This. | |
35164 | * config/arm/arm.md: Update uses of the above. | |
35165 | * config/arm/neon.md: Likewise. | |
35166 | ||
35167 | 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35168 | ||
35169 | * config.host (case ${host}): Add aarch64*-*-linux case. | |
35170 | * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER | |
35171 | fields to all the cores. | |
35172 | * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS): | |
35173 | Add MCPU_MTUNE_NATIVE_SPECS. | |
35174 | * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING | |
35175 | field to all extensions. | |
35176 | * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE. | |
35177 | * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE. | |
35178 | Adjust definition of AARCH64_OPT_EXTENSION. | |
35179 | * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE. | |
35180 | (MCPU_MTUNE_NATIVE_SPECS): Define. | |
35181 | * config/aarch64/driver-aarch64.c: New file. | |
35182 | * config/aarch64/x-arch64: New file. | |
35183 | * doc/invoke.texi (AArch64 Options): Document native value for -mcpu, | |
35184 | -mtune and -march. | |
35185 | ||
35186 | 2015-04-24 Uros Bizjak <ubizjak@gmail.com> | |
35187 | Wei Mi <wmi@google.com> | |
35188 | ||
35189 | * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New. | |
35190 | * config/i386/i386.c (extract_base_offset_in_addr): New function. | |
35191 | (ix86_operands_ok_for_move_multiple): Ditto. | |
35192 | * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern. | |
35193 | (movlpd/movhpd to movupd peephole2): Ditto. | |
35194 | ||
35195 | 2015-04-24 Marek Polacek <polacek@redhat.com> | |
35196 | ||
35197 | PR c/61534 | |
35198 | * input.h (from_macro_expansion_at): Define. | |
35199 | ||
35200 | PR c/63357 | |
35201 | * doc/invoke.texi: Update description of -Wlogical-op. | |
35202 | ||
35203 | 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
35204 | ||
35205 | * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix | |
35206 | ternary operator in fprintf and harmonize spacing. | |
35207 | ||
35208 | 2015-04-24 Uros Bizjak <ubizjak@gmail.com> | |
35209 | ||
35210 | * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>): | |
35211 | Mark operand1 commutative. | |
35212 | ||
35213 | 2015-04-24 Uros Bizjak <ubizjak@gmail.com> | |
35214 | ||
35215 | * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both | |
35216 | input operands in memory. | |
35217 | (*vec_concatv2si_sse4_1): Ditto. | |
35218 | (*vec_concatv2df): Ditto, except for SSE3 and equal input operands. | |
35219 | (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to | |
35220 | register_operand. | |
35221 | (vec_extract_hi_v32hi): Ditto. | |
35222 | (vec_extract_hi_v64hi): Ditto. | |
35223 | (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto. | |
35224 | ||
35225 | 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
dfb6d139 | 35226 | Steven Bosscher <steven@gcc.gnu.org> |
fb2c1edd | 35227 | |
35228 | PR rtl-optimization/34503 | |
35229 | * cprop.c (cprop_reg_p): New. | |
35230 | (hash_scan_set): Use above function to check if register can be | |
35231 | propagated. | |
35232 | (find_avail_set): Return up to two sets, one whose source is a | |
35233 | register and one whose source is a constant. Sets are returned in an | |
35234 | array passed as parameter rather than as a return value. | |
35235 | (cprop_insn): Use a do while loop rather than a goto. Try each of the | |
35236 | sets returned by find_avail_set, starting with the one whose source is | |
35237 | a constant. Use cprop_reg_p to check if register can be propagated. | |
35238 | (do_local_cprop): Use cprop_reg_p to check if register can be | |
35239 | propagated. | |
35240 | (implicit_set_cond_p): Likewise. | |
35241 | ||
35242 | 2015-04-23 Jan Hubicka <hubicka@ucw.cz> | |
35243 | ||
35244 | * ipa-icf.c (sem_function::equals_wpa): Compare thunk info. | |
35245 | (sem_function::equals): IGNORED_NODES parameter is now unused; | |
35246 | update call of equals_private. | |
35247 | (sem_function::equals_private): Do not call equals_wpa; skip | |
35248 | gimple body matching if there is no body. | |
35249 | (sem_function::init): Add logic to hash tthunk info. | |
35250 | (sem_function::parse): Also parse thunks. | |
35251 | * ipa-icf.h (equals_private): Update declaration. | |
35252 | ||
35253 | 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
35254 | ||
35255 | * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove | |
35256 | asterisk from name so this can be generated directly. | |
35257 | (*altivec_stvx_<mode>_internal): Likewise. | |
35258 | * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert | |
35259 | that this is never called during or after reload/lra. | |
35260 | (rs6000_frame_related): Remove split_reg | |
35261 | argument and logic that references it. | |
35262 | (emit_frame_save): Remove last parameter from call to | |
35263 | rs6000_frame_related. | |
35264 | (rs6000_emit_prologue): Remove last parameter from eight calls to | |
35265 | rs6000_frame_related. Force generation of stvx instruction for | |
35266 | Altivec register saves. Remove split_reg handling, which is no | |
35267 | longer needed. | |
35268 | (rs6000_emit_epilogue): Force generation of lvx instruction for | |
35269 | Altivec register restores. | |
35270 | ||
35271 | 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
35272 | ||
35273 | * config/rs6000/rs6000.opt (mcrypto): Change option description to | |
35274 | match category changes in ISA 2.07B. | |
35275 | ||
35276 | 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35277 | ||
35278 | * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code | |
35279 | iterators. | |
35280 | (cmp_op, cmp_type): New code attributes. | |
35281 | (NEON_VCMP, NEON_VACMP): New int iterators. | |
35282 | (cmp_op_unsp): New int attribute. | |
35283 | * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand. | |
35284 | (neon_vceq<mode>): Delete. | |
35285 | (neon_vc<cmp_op><mode>_insn): New pattern. | |
35286 | (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise. | |
35287 | (neon_vcgeu<mode>): Delete. | |
35288 | (neon_vcle<mode>): Likewise. | |
35289 | (neon_vclt<mode>: Likewise. | |
35290 | (neon_vcage<mode>): Likewise. | |
35291 | (neon_vcagt<mode>): Likewise. | |
35292 | (neon_vca<cmp_op><mode>): New define_expand. | |
35293 | (neon_vca<cmp_op><mode>_insn): New pattern. | |
35294 | (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise. | |
35295 | ||
35296 | 2015-04-23 Jan Hubicka <hubicka@ucw.cz> | |
35297 | ||
35298 | * tree.h (attribute_value_equal): Declare. | |
35299 | * tree.c (attribute_value_equal): Export. | |
35300 | ||
35301 | 2015-04-23 Jan Hubicka <hubicka@ucw.cz> | |
35302 | ||
35303 | * ipa-icf.c (sem_item::compare_attributes): New function. | |
35304 | (sem_item::compare_referenced_symbol_properties): Compare variable | |
35305 | attributes. | |
35306 | (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN. | |
35307 | (sem_function::param_used_p): New function. | |
35308 | (sem_function::equals_wpa): Fix attribute comparsion; match | |
35309 | parameter type codes; do not compare paremter flags when | |
35310 | they are not used; compare edge flags; compare indirect calls. | |
35311 | (sem_item::update_hash_by_addr_refs): Hash reference type. | |
35312 | (sem_function::equals_private): Do not match DECL_ATTRIBUTES. | |
35313 | (sem_variable::equals_wpa): Do not match DECL_ALIGN; match | |
35314 | reference use type. | |
35315 | (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p. | |
35316 | * ipa-icf.h (compare_attributes, param_used_p): Declare. | |
35317 | ||
35318 | 2015-04-23 Jan Hubicka <hubicka@ucw.cz> | |
35319 | ||
35320 | * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): | |
35321 | cleanup. | |
35322 | (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS, | |
35323 | DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW. | |
35324 | (sem_item::compare_referenced_symbol_properties): New. | |
35325 | (sem_item::hash_referenced_symbol_properties): New. | |
35326 | (sem_item::compare_cgraph_references): Rename to ... | |
35327 | (sem_item::compare_symbol_references): ... this one; use | |
35328 | compare_referenced_symbol_properties. | |
35329 | (sem_function::equals_wpa): Do not compare | |
35330 | DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P, | |
35331 | DECL_IS_OPERATOR_NEW; compare pointer sizes. | |
35332 | (sem_item::update_hash_by_addr_refs): Call | |
35333 | hash_referenced_symbol_properties. | |
35334 | (sem_item::update_hash_by_local_refs): Cleanup. | |
35335 | (sem_function::merge): Do not mix up symbol properties. | |
35336 | (sem_variable::equals_wpa): Use compare_symbol_references. | |
35337 | * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New. | |
35338 | (sem_item::hash_referenced_symbol_properties): New. | |
35339 | (sem_item::compare_symbol_references): New. | |
35340 | (sem_item::compare_cgraph_references): Remove. | |
35341 | ||
35342 | 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com> | |
35343 | ||
35344 | PR target/26702 | |
35345 | * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): | |
35346 | Emit size of local. | |
35347 | ||
35348 | 2015-04-23 Nick Clifton <nickc@redhat.com> | |
35349 | ||
35350 | * config/rl78/rl78.c (rl78_preferred_reload_class): Add | |
35351 | ATTRIBUTE_UNUSED to x parameter. | |
35352 | * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78. | |
35353 | ||
35354 | 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
35355 | ||
35356 | * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change | |
35357 | TARGET_CRYPTO to TARGET_P8_VECTOR> | |
35358 | (crypto_vpermxor_<mode>): Likewise. | |
35359 | * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define. | |
35360 | (BU_CRYPTO_3A): Likewise. | |
35361 | (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2. | |
35362 | (BU_CRYPTO_OVERLOAD_3A): New #define. | |
35363 | (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A. | |
35364 | (VPMSUMH): Likewise. | |
35365 | (VPMSUMW): Likewise. | |
35366 | (VPMSUMD): Likewise. | |
35367 | (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A. | |
35368 | (VPERMXOR_V4SI): Likewise. | |
35369 | (VPERMXOR_V8HI): Likewise. | |
35370 | (VPERMXOR_V16QI): Likewise. | |
35371 | (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to | |
35372 | BU_CRYPTO_OVERLOAD_2A. | |
35373 | (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to | |
35374 | BU_CRYPTO_OVERLOAD_3A. | |
35375 | * config/rs6000/rs6000.opt (mcrypto): Change description of | |
35376 | option. | |
35377 | ||
35378 | 2015-04-23 Richard Biener <rguenther@suse.de> | |
35379 | ||
35380 | * passes.def: Remove copy propagation passes run directly after CCP. | |
35381 | * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for | |
35382 | SSA names. | |
35383 | (ccp_visit_phi_node): Rework to handle first executable edge | |
35384 | specially. | |
35385 | ||
35386 | 2015-04-23 Matthew Wahab <matthew.wahab@arm.com> | |
35387 | ||
35388 | * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove. | |
35389 | (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove. | |
35390 | (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove. | |
35391 | * config/arm/arm.c (arm_legimitimize_reload_address): Remove. | |
35392 | (thumb_legimitimize_reload_address): Remove. | |
35393 | * config/arm/arm-protos.h (arm_legimitimize_reload_address): | |
35394 | Remove. | |
35395 | (thumb_legimitimize_reload_address): Remove. | |
35396 | ||
35397 | 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35398 | ||
35399 | * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT. | |
35400 | ||
35401 | 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35402 | ||
35403 | * config/arm/arm.md (load_multiple): Reject operand 2 greater than | |
35404 | MAX_LDM_STM_OPS. | |
35405 | (store_multiple): Likewise. | |
35406 | ||
35407 | 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35408 | ||
35409 | * config/arm/arm-protos.h (struct tune_params): Add issue_rate field. | |
35410 | * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune, | |
35411 | arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, | |
35412 | arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune, | |
35413 | arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune, | |
35414 | arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, | |
35415 | arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune): | |
35416 | Specify issue_rate value. | |
35417 | (arm_issue_rate): Look up issue rate from tuning structs. Remove | |
35418 | large switch statement. | |
35419 | (arm_marvell_pj4_tune): New struct. | |
35420 | * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune | |
35421 | struct. | |
35422 | ||
35423 | 2015-04-23 Richard Biener <rguenther@suse.de> | |
35424 | ||
35425 | * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove. | |
35426 | (vect_find_last_store_in_slp_instance): Rename to ... | |
35427 | (vect_find_last_scalar_stmt_in_slp): ... this and generalize. | |
35428 | (vect_analyze_slp_cost_1): Use vector_load for constant defs | |
35429 | and vec_construct for external defs when estimating prologue cost. | |
35430 | (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT. | |
35431 | Compute costs here only when vectorizing loops. | |
35432 | (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types | |
35433 | have been determined. | |
35434 | (vect_schedule_slp_instance): Simplify vectorized code placement | |
35435 | and prepare for in-BB external defs. | |
35436 | * tree-vectorizer.h (struct _slp_instance): Remove first_load member. | |
35437 | (SLP_INSTANCE_FIRST_LOAD_STMT): Remove. | |
35438 | * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT | |
35439 | guard. | |
35440 | (vect_model_load_cost): Likewise. | |
35441 | (vectorizable_store): Instead add it here. | |
35442 | (vectorizable_load): Likewise. | |
35443 | (vect_is_simple_use): Dump def type textually. | |
35444 | ||
35445 | 2015-04-23 Richard Biener <rguenther@suse.de> | |
35446 | ||
35447 | * cfgexpand.c (expand_gimple_stmt_1): Use ops.code. | |
35448 | * cfgloop.c (verify_loop_structure): Verify the root loop node. | |
35449 | * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn | |
35450 | instead of get_eh_region_from_lp_number. | |
35451 | * loop-init.c (fix_loop_structure): If we removed a loop, reset | |
35452 | the SCEV cache. | |
35453 | ||
35454 | 2015-04-23 Anton Blanchard <anton@samba.org> | |
35455 | ||
35456 | * config/rs6000/rs6000.c (rs6000_output_function_prologue): No | |
35457 | need for -mprofile-kernel to save LR to stack. | |
35458 | ||
35459 | 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
35460 | ||
35461 | * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary | |
35462 | adjustments. | |
35463 | (insn_is_swappable_p): Return 1 for a convert from double to | |
35464 | single precision when all of its uses are splats of BE element | |
35465 | zero. | |
35466 | ||
35467 | 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org> | |
35468 | ||
35469 | * ira-costs.c (record_operand_costs): Fix typo (remove redundant code). | |
35470 | ||
35471 | 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
35472 | ||
35473 | PR target/65456 | |
35474 | * config/rs6000/rs6000.c (rs6000_option_override_internal): For | |
35475 | VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and | |
35476 | TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line | |
35477 | option. | |
35478 | (rs6000_builtin_mask_for_load): Return 0 for targets with | |
35479 | efficient unaligned VSX accesses so that the vectorizer will use | |
35480 | direct unaligned loads. | |
35481 | (rs6000_builtin_support_vector_misalignment): Always return true | |
35482 | for targets with efficient unaligned VSX accesses. | |
35483 | (rs6000_builtin_vectorization_cost): Cost of unaligned loads and | |
35484 | stores on targets with efficient unaligned VSX accesses is almost | |
35485 | always the same as the cost of an aligned load or store, so model | |
35486 | it that way. | |
35487 | * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for | |
35488 | unaligned vectors if we have efficient unaligned VSX accesses. | |
35489 | * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New | |
35490 | undocumented option. | |
35491 | ||
35492 | 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35493 | ||
35494 | Revert: | |
35495 | 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca> | |
35496 | ||
35497 | * config.gcc (LIBC_MUSL): New tm_defines macro. | |
35498 | * config/linux.h (OPTION_MUSL): Define. | |
35499 | (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) | |
35500 | (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) | |
35501 | (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. | |
35502 | ||
35503 | * config/linux.opt (mmusl): New option. | |
35504 | * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. | |
35505 | (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. | |
35506 | ||
35507 | * configure: Regenerate. | |
35508 | ||
35509 | 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca> | |
35510 | ||
35511 | * config.gcc (LIBC_MUSL): New tm_defines macro. | |
35512 | * config/linux.h (OPTION_MUSL): Define. | |
35513 | (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,) | |
35514 | (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,) | |
35515 | (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define. | |
35516 | ||
35517 | * config/linux.opt (mmusl): New option. | |
35518 | * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*. | |
35519 | (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*. | |
35520 | ||
35521 | * configure: Regenerate. | |
35522 | ||
35523 | 2015-04-22 Yury Gribov <y.gribov@samsung.com> | |
35524 | ||
35525 | * doc/invoke.texi (-fsanitize-sections): Update description. | |
35526 | * asan.c (set_sanitized_sections): Parse incoming arg. | |
35527 | (section_sanitized_p): Support wildcards. | |
35528 | ||
35529 | 2015-04-22 Tom de Vries <tom@codesourcery.com> | |
35530 | ||
35531 | PR tree-optimization/65823 | |
35532 | * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for | |
35533 | equality between ap_copy and ap. | |
35534 | ||
35535 | 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
35536 | ||
35537 | PR target/47098 | |
35538 | * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add. | |
35539 | ||
35540 | 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
35541 | ||
35542 | PR target/47122 | |
35543 | * config.gcc (vax-*-openbsd*): Fix name of pthread spec header. | |
35544 | ||
35545 | 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
35546 | ||
35547 | PR target/55144 | |
35548 | * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and | |
35549 | remove already contained t-files. | |
35550 | ||
35551 | 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
35552 | ||
35553 | * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls): | |
35554 | Remove unneeded forward declarations. | |
35555 | (suitable_for_tail_call_opt_p): Commentary typo fix. | |
35556 | ||
35557 | 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
35558 | ||
35559 | * varasm.c (emit_bss): Remove redundant guard. | |
35560 | ||
35561 | 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
35562 | ||
35563 | * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa. | |
35564 | ||
35565 | 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
35566 | ||
35567 | * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN. | |
35568 | ||
35569 | 2015-04-22 Hale Wang <hale.wang@arm.com> | |
35570 | Terry Guo <terry.guo@arm.com> | |
35571 | ||
35572 | PR rtl-optimization/64818 | |
35573 | * combine.c (can_combine_p): Don't combine user-specified | |
35574 | register if it is in an asm input. | |
35575 | ||
35576 | 2015-04-21 Jan Hubicka <hubicka@ucw.cz> | |
35577 | ||
35578 | PR ipa/65076 | |
35579 | * passes.def (early_optimizations): Add pass_dse. | |
35580 | ||
35581 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35582 | ||
35583 | * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition. | |
35584 | * reorg.c (redundant_insn): Remove ifdef | |
35585 | INSN_REFERENCES_ARE_DELAYED. | |
35586 | * resource.c (mark_referenced_resources): Likewise. | |
35587 | ||
35588 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35589 | ||
35590 | * defaults.h (INSN_SETS_ARE_DELAYED): New definition. | |
35591 | * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED. | |
35592 | * resource.c (mark_set_resources): Likewise. | |
35593 | ||
35594 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35595 | ||
35596 | * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0. | |
35597 | * cfgcleanup.c (flow_find_cross_jump): Likewise. | |
35598 | (flow_find_head_matching_sequence): Likewise. | |
35599 | (try_head_merge_bb): Likewise. | |
35600 | * combine.c (can_combine_p): Likewise. | |
35601 | (try_combine): Likewise. | |
35602 | (distribute_notes): Likewise. | |
35603 | * df-problems.c (can_move_insns_across): Likewise. | |
35604 | * final.c (final): Likewise. | |
35605 | * gcse.c (insert_insn_end_basic_block): Likewise. | |
35606 | * ira.c (find_moveable_pseudos): Likewise. | |
35607 | * reorg.c (try_merge_delay_insns): Likewise. | |
35608 | (fill_simple_delay_slots): Likewise. | |
35609 | (fill_slots_from_thread): Likewise. | |
35610 | * sched-deps.c (sched_analyze_2): Likewise. | |
35611 | ||
35612 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35613 | ||
35614 | * df-scan.c (df_get_entry_block_def_set): Remove #ifdef | |
35615 | PIC_OFFSET_TABLE_REGNUM. | |
35616 | ||
35617 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35618 | ||
35619 | * alias.c (init_alias_target): Remove ifdef | |
35620 | * HARD_FRAME_POINTER_IS_FRAME_POINTER. | |
35621 | * df-scan.c (df_insn_refs_collect): Likewise. | |
35622 | (df_get_regular_block_artificial_uses): Likewise. | |
35623 | (df_get_eh_block_artificial_uses): Likewise. | |
35624 | (df_get_entry_block_def_set): Likewise. | |
35625 | (df_get_exit_block_use_set): Likewise. | |
35626 | * emit-rtl.c (gen_rtx_REG): Likewise. | |
35627 | * ira.c (ira_setup_eliminable_regset): Likewise. | |
35628 | * reginfo.c (init_reg_sets_1): Likewise. | |
35629 | * regrename.c (rename_chains): Likewise. | |
35630 | * reload1.c (reload): Likewise. | |
35631 | (eliminate_regs_in_insn): Likewise. | |
35632 | * resource.c (mark_referenced_resources): Likewise. | |
35633 | (init_resource_info): Likewise. | |
35634 | ||
35635 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35636 | ||
35637 | * defaults.h (MASK_RETURN_ADDR): New definition. | |
35638 | * except.c (expand_builtin_extract_return_addr): Remove ifdef | |
35639 | MASK_RETURN_ADDR. | |
35640 | ||
35641 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35642 | ||
35643 | * defaults.h (RETURN_ADDR_OFFSET): New definition. | |
35644 | * except.c (expand_builtin_extract_return_addr): Remove ifdef | |
35645 | RETURN_ADDR_OFFSET. | |
35646 | (expand_builtin_frob_return_addr): Likewise. | |
35647 | ||
35648 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35649 | ||
35650 | * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0) | |
35651 | (try_redirect_by_replacing_jump): Likewise. | |
35652 | (rtl_tidy_fallthru_edge): Likewise. | |
35653 | * combine.c (insn_a_feeds_b): Likewise. | |
35654 | (find_split_point): Likewise. | |
35655 | (simplify_set): Likewise. | |
35656 | * cprop.c (cprop_jump): Likewise. | |
35657 | * cse.c (cse_extended_basic_block): Likewise. | |
35658 | * df-problems.c (can_move_insns_across): Likewise. | |
35659 | * function.c (emit_use_return_register_into_block): Likewise. | |
35660 | * haifa-sched.c (sched_init): Likewise. | |
35661 | * ira.c (find_moveable_pseudos): Likewise. | |
35662 | * loop-invariant.c (find_invariant_insn): Likewise. | |
35663 | * lra-constraints.c (curr_insn_transform): Likewise. | |
35664 | * postreload.c (reload_combine_recognize_const_pattern): | |
35665 | * Likewise. | |
35666 | * reload.c (find_reloads): Likewise. | |
35667 | * reorg.c (delete_scheduled_jump): Likewise. | |
35668 | (steal_delay_list_from_target): Likewise. | |
35669 | (steal_delay_list_from_fallthrough): Likewise. | |
35670 | (redundant_insn): Likewise. | |
35671 | (fill_simple_delay_slots): Likewise. | |
35672 | (fill_slots_from_thread): Likewise. | |
35673 | (delete_computation): Likewise. | |
35674 | * sched-rgn.c (add_branch_dependences): Likewise. | |
35675 | ||
35676 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35677 | ||
35678 | * genconfig.c (main): Always define HAVE_cc0. | |
35679 | * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if | |
35680 | HAVE_cc0. | |
35681 | * cfgcleanup.c (flow_find_cross_jump): Likewise. | |
35682 | (flow_find_head_matching_sequence): Likewise. | |
35683 | (try_head_merge_bb): Likewise. | |
35684 | * cfgrtl.c (rtl_merge_blocks): Likewise. | |
35685 | (try_redirect_by_replacing_jump): Likewise. | |
35686 | (rtl_tidy_fallthru_edge): Likewise. | |
35687 | * combine.c (do_SUBST_MODE): Likewise. | |
35688 | (insn_a_feeds_b): Likewise. | |
35689 | (combine_instructions): Likewise. | |
35690 | (can_combine_p): Likewise. | |
35691 | (try_combine): Likewise. | |
35692 | (find_split_point): Likewise. | |
35693 | (subst): Likewise. | |
35694 | (simplify_set): Likewise. | |
35695 | (distribute_notes): Likewise. | |
35696 | * cprop.c (cprop_jump): Likewise. | |
35697 | * cse.c (cse_extended_basic_block): Likewise. | |
35698 | * df-problems.c (can_move_insns_across): Likewise. | |
35699 | * final.c (final): Likewise. | |
35700 | (final_scan_insn): Likewise. | |
35701 | * function.c (emit_use_return_register_into_block): Likewise. | |
35702 | * gcse.c (insert_insn_end_basic_block): Likewise. | |
35703 | * haifa-sched.c (sched_init): Likewise. | |
35704 | * ira.c (find_moveable_pseudos): Likewise. | |
35705 | * loop-invariant.c (find_invariant_insn): Likewise. | |
35706 | * lra-constraints.c (curr_insn_transform): Likewise. | |
35707 | * optabs.c (prepare_cmp_insn): Likewise. | |
35708 | * postreload.c (reload_combine_recognize_const_pattern): | |
35709 | * Likewise. | |
35710 | * reload.c (find_reloads): Likewise. | |
35711 | (find_reloads_address_1): Likewise. | |
35712 | * reorg.c (delete_scheduled_jump): Likewise. | |
35713 | (steal_delay_list_from_target): Likewise. | |
35714 | (steal_delay_list_from_fallthrough): Likewise. | |
35715 | (try_merge_delay_insns): Likewise. | |
35716 | (redundant_insn): Likewise. | |
35717 | (fill_simple_delay_slots): Likewise. | |
35718 | (fill_slots_from_thread): Likewise. | |
35719 | (delete_computation): Likewise. | |
35720 | (relax_delay_slots): Likewise. | |
35721 | * sched-deps.c (sched_analyze_2): Likewise. | |
35722 | * sched-rgn.c (add_branch_dependences): Likewise. | |
35723 | ||
35724 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35725 | ||
35726 | * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code | |
35727 | that is trivially ded on non cc0 targets. | |
35728 | (simplify_set): Likewise. | |
35729 | (mark_used_regs_combine): Likewise. | |
35730 | * cse.c (new_basic_block): Likewise. | |
35731 | (fold_rtx): Likewise. | |
35732 | (cse_insn): Likewise. | |
35733 | (cse_extended_basic_block): Likewise. | |
35734 | (set_live_p): Likewise. | |
35735 | * rtlanal.c (canonicalize_condition): Likewise. | |
35736 | * simplify-rtx.c (simplify_binary_operation_1): Likewise. | |
35737 | ||
35738 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35739 | ||
35740 | * conditions.h: Define macros even if HAVE_cc0 is undefined. | |
35741 | * emit-rtl.c: Define functions even if HAVE_cc0 is undefined. | |
35742 | * final.c: Likewise. | |
35743 | * jump.c: Likewise. | |
35744 | * recog.c: Likewise. | |
35745 | * recog.h: Declare functions even when HAVE_cc0 is undefined. | |
35746 | * sched-deps.c (sched_analyze_2): Always compile case for cc0. | |
35747 | ||
35748 | 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | |
35749 | ||
35750 | * defaults.h: New definition of EH_RETURN_DATA_REGNO. | |
35751 | * except.c: Remove definition of EH_RETURN_DATA_REGNO. | |
35752 | * builtins.c (expand_builtin): Remove check if | |
35753 | EH_RETURN_DATA_REGNO is defined. | |
35754 | * df-scan.c (df_bb_refs_collect): Likewise. | |
35755 | (df_get_exit_block_use_set): Likewise. | |
35756 | * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise. | |
35757 | * ira-lives.c (process_bb_node_lives): Likewise. | |
35758 | * lra-lives.c (process_bb_lives): Likewise. | |
35759 | ||
35760 | 2015-04-21 Uros Bizjak <ubizjak@gmail.com> | |
35761 | ||
35762 | * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG, | |
35763 | FIRST_PSEUDO_REG): New. | |
35764 | * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG. | |
35765 | (ARG_POINTER_REGNUM): Define to ARGP_REG. | |
35766 | (FRAME_POINTER_REGNUM): Define to FRAME_REG. | |
35767 | (HARD_FRAME_POINTER_REGNUM): Define to BP_REG. | |
35768 | (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG. | |
35769 | (FIRST_INT_REG): New. | |
35770 | (LAST_INT_REG): New. | |
35771 | (FIRST_*_REG): Define using *_REG. | |
35772 | (LAST_*_REG): Ditto. | |
35773 | (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG. | |
35774 | (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG. | |
35775 | (FIRST_FLOAT_REG): Define to FIRST_STACK_REG. | |
35776 | ||
35777 | 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35778 | ||
35779 | * expmed.c: (synth_mult): Only assume overlapping | |
35780 | shift with previous steps in alg_sub_t_m2 case. | |
35781 | ||
35782 | 2015-04-21 Richard Biener <rguenther@suse.de> | |
35783 | ||
35784 | PR tree-optimization/65650 | |
35785 | * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice | |
35786 | transitions involving copies. | |
35787 | (set_lattice_value): Adjust for copy lattice state. | |
35788 | (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy | |
35789 | if that doesn't dominate the merge point. | |
35790 | (bit_value_unop): Adjust what we treat as varying mask. | |
35791 | (bit_value_binop): Likewise. | |
35792 | (bit_value_assume_aligned): Likewise. | |
35793 | (evaluate_stmt): When we simplified to a SSA name record a copy | |
35794 | instead of dropping to varying. | |
35795 | (visit_assignment): Simplify. | |
35796 | ||
35797 | * gimple-match.h (gimple_simplify): Add another callback. | |
35798 | * gimple-fold.c (fold_stmt_1): Adjust caller. | |
35799 | (gimple_fold_stmt_to_constant_1): Likewise - pass valueize | |
35800 | for the 2nd callback. | |
35801 | * gimple-match-head.c (gimple_simplify): Add a callback that is | |
35802 | used to valueize the stmt operands and use it that way. | |
35803 | ||
35804 | 2015-04-21 Richard Biener <rguenther@suse.de> | |
35805 | ||
35806 | PR tree-optimization/65788 | |
35807 | * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early. | |
35808 | ||
35809 | 2015-04-21 Richard Biener <rguenther@suse.de> | |
35810 | ||
35811 | * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale | |
35812 | vec_construct cost by vec_stmt_cost. | |
35813 | ||
35814 | 2015-04-21 Richard Biener <rguenther@suse.de> | |
35815 | ||
35816 | * cfghooks.h (create_basic_block): Replace with two overloads | |
35817 | for RTL and GIMPLE. | |
35818 | (split_block): Likewise. | |
35819 | * cfghooks.c (split_block): Rename to ... | |
35820 | (split_block_1): ... this. | |
35821 | (split_block): Add two type-safe overloads for RTL and GIMPLE. | |
35822 | (split_block_after_labels): Call split_block_1. | |
35823 | (create_basic_block): Rename to ... | |
35824 | (create_basic_block_1): ... this. | |
35825 | (create_basic_block): Add two type-safe overloads for RTL and GIMPLE. | |
35826 | (create_empty_bb): Call create_basic_block_1. | |
35827 | * cfgrtl.c (fixup_fallthru_exit_predecessor): Use | |
35828 | split_block_after_labels. | |
35829 | * omp-low.c (expand_parallel_call): Likewise. | |
35830 | (expand_omp_target): Likewise. | |
35831 | (simd_clone_adjust): Likewise. | |
35832 | * tree-chkp.c (chkp_get_entry_block): Likewise. | |
35833 | * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE | |
35834 | create_basic_block overload. | |
35835 | (cgraph_node::expand_thunk): Likewise. | |
35836 | * tree-cfg.c (make_blocks): Likewise. | |
35837 | (handle_abnormal_edges): Likewise. | |
35838 | * tree-inline.c (copy_bb): Likewise. | |
35839 | ||
35840 | 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35841 | ||
35842 | * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze): | |
35843 | New pattern. | |
35844 | (*xor_one_cmplsidi3_ze): Likewise. | |
35845 | ||
35846 | 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
35847 | ||
35848 | * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and | |
35849 | use df_remove_problem rather than manually removing problems, leaving | |
35850 | holes in df->problems_in_order[]. | |
35851 | ||
35852 | 2015-04-21 Tom de Vries <tom@codesourcery.com> | |
35853 | ||
35854 | PR tree-optimization/65802 | |
35855 | * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags. | |
35856 | ||
35857 | 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
35858 | ||
35859 | * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH): | |
35860 | Increase to 128. | |
35861 | (aarch64_rewrite_selected_cpu): Do not chop off extensions starting | |
35862 | at '.'. Assert that there's enough space for everything. | |
35863 | ||
35864 | 2015-04-21 Uros Bizjak <ubizjak@gmail.com> | |
35865 | ||
35866 | PR tree-optimization/64950 | |
35867 | Revert: | |
35868 | 2010-08-02 Uros Bizjak <ubizjak@gmail.com> | |
35869 | ||
35870 | PR target/41089 | |
35871 | * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset | |
35872 | as volatile. | |
35873 | ||
35874 | 2015-04-20 Shiva Chen <shiva0217@gmail.com> | |
35875 | ||
35876 | PR rtl-optimization/64916 | |
35877 | * cfgcleanup.c (values_equal_p): New function. | |
35878 | (can_replace_by): Use it. | |
35879 | ||
35880 | 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com> | |
35881 | ||
35882 | PR c++/65801 | |
35883 | * doc/invoke.texi ([-Wnarrowing]): Update. | |
35884 | ||
35885 | 2015-04-20 Jeff Law <law@redhat.com> | |
35886 | ||
35887 | PR tree-optimization/65658 | |
35888 | * tree-ssa-threadupdate.c (redirection_block_p): Remove | |
35889 | redundant test for GIMPLE_ASSIGN in last change. | |
35890 | ||
35891 | 2015-04-20 Uros Bizjak <ubizjak@gmail.com> | |
35892 | ||
35893 | * config/i386/i386.c (set_pic_reg_ever_live): Remove. | |
35894 | (legitimize_pic_address): Do not call set_pic_reg_ever_live. | |
35895 | (legitimize_tls_address): Ditto. | |
35896 | (ix86_expand_move): Ditto. | |
35897 | (ix86_expand_binary_operator): Remove reload_in_progress checks. | |
35898 | (ix86_expand_unary_operator): Ditto. | |
35899 | * config/i386/predicates.md (index_register_operand): Ditto. | |
35900 | ||
35901 | 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com> | |
35902 | ||
35903 | * reorg.c (try_merge_delay_insns): Improve correctness checking | |
35904 | for targets with multiple delay slots. | |
35905 | ||
35906 | 2015-04-20 Jeff Law <law@redhat.com> | |
35907 | ||
35908 | PR tree-optimization/65658 | |
35909 | * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber | |
35910 | statements too. | |
35911 | ||
35912 | 2015-04-20 Alan Lawrence <alan.lawrence@arm.com> | |
35913 | ||
35914 | * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete. | |
35915 | * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn): | |
35916 | Delete. | |
35917 | ||
35918 | 2015-04-20 Jakub Jelinek <jakub@redhat.com> | |
35919 | ||
35920 | PR debug/65807 | |
35921 | * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry. | |
35922 | ||
35923 | 2015-04-20 Richard Biener <rguenther@suse.de> | |
35924 | ||
35925 | * gimple-fold.h (gimple_build): Remove optional valueize arguments. | |
35926 | * gimple-fold.c (gimple_build_valueize): New function. | |
35927 | (gimple_build): Always use gimple_build_valueize as valueize hook. | |
35928 | ||
35929 | 2015-04-20 Alan Lawrence <alan.lawrence@arm.com> | |
35930 | ||
35931 | PR target/64134 | |
35932 | * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant | |
35933 | and overwrite variable parts if <= 1/2 the elements are variable. | |
35934 | ||
35935 | 2015-04-19 Vladimir Makarov <vmakarov@redhat.com> | |
35936 | ||
35937 | PR rtl-optimization/65805 | |
35938 | * lra-eliminations.c (lra_eliminate_regs_1): Add new assert. | |
35939 | Don't use difference of offset and previous offset if | |
35940 | update_sp_offset is non-zero. | |
35941 | (eliminate_regs_in_insn): Ditto. | |
35942 | * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in | |
35943 | lra_eliminate_regs_1 call. | |
35944 | * lra-constraints.c (get_equiv_with_elimination): Ditto. | |
35945 | ||
35946 | 2015-04-18 Trevor Saunders <tsaunders@mozilla.com> | |
35947 | ||
35948 | * hash-table.h: Remove version of hash_table that stored value_type *. | |
35949 | * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c, | |
35950 | config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c, | |
35951 | config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c, | |
35952 | dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c, | |
35953 | gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c, | |
35954 | hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h, | |
35955 | ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c, | |
35956 | loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c, | |
35957 | reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c, | |
35958 | tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c, | |
35959 | tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c, | |
35960 | tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, | |
35961 | tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, | |
35962 | tree-ssa-structalias.c, tree-ssa-tail-merge.c, | |
35963 | tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h, | |
35964 | valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust. | |
35965 | ||
35966 | 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
35967 | Jakub Jelinek <jakub@redhat.com> | |
35968 | ||
35969 | PR target/65787 | |
35970 | * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a | |
35971 | subsequent SH_NONE operand does not overwrite an existing *special | |
35972 | value. | |
35973 | (adjust_extract): Handle case where a vec_extract operation is | |
35974 | wrapped in a PARALLEL. | |
35975 | ||
35976 | 2015-04-17 H.J. Lu <hongjiu.lu@intel.com> | |
35977 | ||
35978 | PR target/65780 | |
35979 | * config/i386/i386.c (ix86_binds_local_p): Define only if | |
35980 | TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false. | |
35981 | ||
35982 | 2015-04-17 Jeff Law <law@redhat.com> | |
35983 | ||
35984 | PR tree-optimization/47679 | |
35985 | * Makefile.in (OBJS); Add tree-ssa-scopedtables.o. | |
35986 | * tree-ssa-scopedtables.c: New file. | |
35987 | * tree-ssa-scopedtables.h: New file. | |
35988 | * tree-ssa-dom.c: Include tree-ssa-scopedtables.h. | |
35989 | (const_and_copies): Change name/type. | |
35990 | (record_const_or_copy): Move into tree-ssa-scopedtables.c | |
35991 | (record_const_or_copy_1): Similarly. | |
35992 | (restore_vars_to_original_value): Similarly. | |
35993 | (pass_dominator::execute): Create and destroy const_and_copies table. | |
35994 | (thread_across_edge): Update passing of const_and_copies. | |
35995 | (record_temporary_equivalence): Use method calls rather than | |
35996 | manipulating const_and_copies directly. | |
35997 | (record_equality, cprop_into_successor_phis): Similarly. | |
35998 | (dom_opt_dom_walker::before_dom_children): Similarly. | |
35999 | (dom_opt_dom_walker::after_dom_children): Similarly. | |
36000 | (eliminate_redundant_computations): Similarly. | |
36001 | * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete. | |
36002 | (record_temporary_equivalence): Likewise. | |
36003 | (invalidate_equivalences): Likewise. | |
36004 | (record_temporary_equivalences_from_phis): Update due to type | |
36005 | change of const_and_copies. Use method calls rather than | |
36006 | manipulating the stack directly. | |
36007 | (record_temporary_equivalences_from_stmts_at_dest): Likewise. | |
36008 | (thread_through_normal_block, thread_across_edge): Likewise. | |
36009 | (thread_across_edge): Likewise. | |
36010 | * tree-ssa-threadedge.h (thread_across_edge): Update prototype. | |
36011 | * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type | |
36012 | of equiv_stack. | |
36013 | (identify_jump_threads): Update due to type change of equiv_stack. | |
36014 | (finalize_jump_threads): Delete the equiv_stack when complete. | |
36015 | ||
36016 | 2015-04-17 Uros Bizjak <ubizjak@gmail.com> | |
36017 | ||
36018 | * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove. | |
36019 | * config/i386/i386.c (ix86_legitimize_reload_address): Ditto. | |
36020 | * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto. | |
36021 | ||
36022 | 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org> | |
36023 | ||
36024 | PR target/65535 | |
36025 | * config.gcc: Exit with a comment when we do not have a major version | |
36026 | number for the FreeBSD target. | |
36027 | ||
36028 | 2015-04-17 Jakub Jelinek <jakub@redhat.com> | |
36029 | ||
36030 | PR target/65689 | |
36031 | * genpreds.c (struct constraint_data): Add maybe_allows_reg and | |
36032 | maybe_allows_mem bitfields. | |
36033 | (maybe_allows_none_start, maybe_allows_none_end, | |
36034 | maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start, | |
36035 | maybe_allows_mem_end): New variables. | |
36036 | (compute_maybe_allows): New function. | |
36037 | (add_constraint): Use it to initialize maybe_allows_reg and | |
36038 | maybe_allows_mem fields. | |
36039 | (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/ | |
36040 | is_address constraints such that those that allow neither mem nor | |
36041 | reg come first, then those that only allow reg but not mem, then | |
36042 | those that only allow mem but not reg, then the rest. | |
36043 | (write_allows_reg_mem_function): New function. | |
36044 | (write_tm_preds_h): Call it. | |
36045 | * stmt.c (parse_output_constraint, parse_input_constraint): Use | |
36046 | the generated insn_extra_constraint_allows_reg_mem function | |
36047 | instead of always setting *allows_reg = true; *allows_mem = true; | |
36048 | for unknown extra constraints. | |
36049 | ||
36050 | 2015-04-17 H.J. Lu <hongjiu.lu@intel.com> | |
36051 | ||
36052 | PR target/65780 | |
36053 | * output.h (default_binds_local_p_3): New. | |
36054 | * varasm.c (default_binds_local_p_3): Make it public. Take an | |
36055 | argument to indicate if common symbol may be local. If common | |
36056 | symbol may be local, treat non-external variable as defined | |
36057 | locally. | |
36058 | (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3. | |
36059 | (default_binds_local_p_1): Pass false to default_binds_local_p_3. | |
36060 | * config/i386/i386.c (ix86_binds_local_p): New. | |
36061 | (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with | |
36062 | ix86_binds_local_p. | |
36063 | ||
36064 | 2015-04-17 Jakub Jelinek <jakub@redhat.com> | |
36065 | ||
36066 | PR debug/65771 | |
36067 | * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to | |
36068 | trying mem_loc_descriptor on XEXP (rtl, 0). | |
36069 | ||
36070 | 2015-04-17 Martin Liska <mliska@suse.cz> | |
36071 | ||
36072 | * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs): | |
36073 | Release symbol_compare_collection. | |
36074 | * ipa-reference.c: Add TODO that a vector should be released. | |
36075 | ||
dfb6d139 | 36076 | 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com> |
fb2c1edd | 36077 | |
36078 | PR target/65296 | |
36079 | * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust | |
36080 | to new AVR-LibC file layout (bug #44574). | |
36081 | (*avrlibc_devicelib): Same. | |
36082 | * config/avr/avr-mcus.def: Adjust comments. | |
36083 | * config/avr/avr.opt (nodevicelib): Adjust help. | |
36084 | ||
36085 | 2015-04-17 Alan Lawrence <alan.lawrence@arm.com> | |
36086 | ||
36087 | * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration. | |
36088 | ||
36089 | 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org> | |
36090 | ||
36091 | PR c++/64527 | |
36092 | * gimplify.c (gimplify_init_constructor): Always emit a | |
36093 | side-effecting constructor. | |
36094 | ||
36095 | 2015-04-17 Tom de Vries <tom@codesourcery.com> | |
36096 | ||
36097 | PR tree-optimization/64950 | |
36098 | * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva | |
36099 | in cfun->curr_properties. | |
36100 | (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties | |
36101 | if we generate an IFN_VA_ARG. | |
36102 | * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest | |
36103 | function if PROP_gimple_lva is not set in src function. | |
36104 | ||
36105 | 2015-04-17 Tom de Vries <tom@codesourcery.com> | |
36106 | Michael Matz <matz@suse.de> | |
36107 | ||
36108 | PR tree-optimization/64950 | |
36109 | * gimple-iterator.c (update_modified_stmts): Remove static. | |
36110 | * gimple-iterator.h (update_modified_stmts): Declare. | |
36111 | * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG. | |
36112 | (gimplify_va_arg_internal): New function. | |
36113 | (gimplify_va_arg_expr): Use IFN_VA_ARG. | |
36114 | * gimplify.h (gimplify_va_arg_internal): Declare. | |
36115 | * internal-fn.c (expand_VA_ARG): New unreachable function. | |
36116 | * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN. | |
36117 | * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1) | |
36118 | (expand_ifn_va_arg): New function. | |
36119 | (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field. | |
36120 | (pass_stdarg::execute): Call expand_ifn_va_arg. | |
36121 | (pass_data_lower_vaarg): New pass_data. | |
36122 | (pass_lower_vaarg): New gimple_opt_pass. | |
36123 | (pass_lower_vaarg::gate, pass_lower_vaarg::execute) | |
36124 | (make_pass_lower_vaarg): New function. | |
36125 | * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to | |
36126 | properties_required field. | |
36127 | * passes.def (all_passes): Add pass_lower_vaarg. | |
36128 | * tree-pass.h (PROP_gimple_lva): Add define. | |
36129 | (make_pass_lower_vaarg): Declare. | |
36130 | ||
36131 | 2015-04-17 Tom de Vries <tom@codesourcery.com> | |
36132 | ||
36133 | * fold-const.c (operand_equal_p): Handle INTERNAL_FNs. | |
36134 | * calls.c (call_expr_flags): Same. | |
36135 | ||
36136 | 2015-04-17 Tom de Vries <tom@codesourcery.com> | |
36137 | ||
36138 | * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ... | |
36139 | (pass_stdarg::execute): ... here. | |
36140 | ||
36141 | 2015-04-17 Tom de Vries <tom@codesourcery.com> | |
36142 | Michael Matz <matz@suse.de> | |
36143 | ||
36144 | * tree-cfg.c (make_blocks_1): Factor out of ... | |
36145 | (make_blocks): ... here. | |
36146 | (make_edges_bb): Factor out of ... | |
36147 | (make_edges): ... here. | |
36148 | (gimple_find_sub_bbs): New function. | |
36149 | * tree-cfg.h (gimple_find_sub_bbs): Declare. | |
36150 | ||
36151 | 2015-04-17 Tom de Vries <tom@codesourcery.com> | |
36152 | ||
36153 | * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr. | |
36154 | ||
36155 | 2015-04-17 Yury Gribov <y.gribov@samsung.com> | |
36156 | ||
36157 | * asan.c (set_sanitized_sections): New function. | |
36158 | (section_sanitized_p): Ditto. | |
36159 | (asan_protect_global): Optionally sanitize user-defined | |
36160 | sections. | |
36161 | * asan.h (set_sanitized_sections): Declare new function. | |
36162 | * common.opt (fsanitize-sections): New option. | |
36163 | * doc/invoke.texi (-fsanitize-sections): Document new option. | |
36164 | * opts-global.c (handle_common_deferred_options): Handle new | |
36165 | option. | |
36166 | ||
36167 | 2015-04-17 Jakub Jelinek <jakub@redhat.com> | |
36168 | ||
36169 | PR debug/65771 | |
36170 | * dwarf2out.c (loc_list_from_tree): Return NULL | |
36171 | for DEBUG_EXPR_DECL. | |
36172 | ||
36173 | 2015-04-17 Christian Bruel <christian.bruel@st.com> | |
36174 | ||
36175 | * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with | |
36176 | same attributes. | |
36177 | ||
36178 | 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn> | |
36179 | ||
36180 | * ira-color.c (setup_left_conflict_sizes_p): Do not process | |
36181 | node itself when computing left conflict subnode size. | |
36182 | ||
36183 | 2015-04-16 Uros Bizjak <ubizjak@gmail.com> | |
36184 | ||
36185 | * config/i386/predicates.md (register_mixssei387nonimm_operand): New. | |
36186 | * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with | |
36187 | *fop_<mode>_1_sse using enabled attribute. Use | |
36188 | register_mixssei387nonimm_operand operand 1 predicate. Change | |
36189 | alternative 3 constraints from "x" to "v". | |
36190 | ||
36191 | 2015-04-16 Richard Biener <rguenther@suse.de> | |
36192 | ||
36193 | PR tree-optimization/65774 | |
36194 | * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke | |
36195 | bit-value tracking on. | |
36196 | ||
36197 | 2015-04-16 Richard Biener <rguenther@suse.de> | |
36198 | ||
36199 | PR tree-optimization/64277 | |
36200 | * tree-vrp.c (check_array_ref): Fix anti-range handling, | |
36201 | simplify upper bound handling. | |
36202 | (search_for_addr_array): Simplify. | |
36203 | (check_array_bounds): Handle ADDR_EXPRs here. | |
36204 | (check_all_array_refs): Simplify. | |
36205 | ||
36206 | 2015-04-16 Uros Bizjak <ubizjak@gmail.com> | |
36207 | ||
36208 | * config/i386/i386.c (print_reg): Rewrite function. | |
36209 | ||
36210 | 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | |
36211 | ||
36212 | * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER): | |
36213 | Invert the condition. | |
36214 | ||
36215 | 2015-04-16 Renlin Li <renlin.li@arm.com> | |
36216 | ||
36217 | * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two | |
36218 | simplifications for UNSIGNED_FLOAT. | |
36219 | ||
36220 | 2015-04-16 Nick Clifton <nickc@redhat.com> | |
36221 | ||
36222 | * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and | |
36223 | MUL_UNINIT. | |
36224 | (enum rl78_cpu_type): New. | |
36225 | * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi. | |
36226 | (umulhi3_shift_virt): Remove m constraint from operand 1. | |
36227 | (umulqihi3_virt): Likewise. | |
36228 | * config/rl78/rl78.c (rl78_option_override): Add code to process | |
36229 | -mcpu and -mmul options. | |
36230 | (rl78_alloc_physical_registers): Add code to handle divhi and | |
36231 | divsi valloc attributes. | |
36232 | (set_origin): Likewise. | |
36233 | * config/rl78/rl78.h (RL78_MUL_G14): Define. | |
36234 | (TARGET_G10, TARGET_G13, TARGET_G14): Define. | |
36235 | (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and | |
36236 | __RL78_Gxx__. | |
36237 | (ASM_SPEC): Pass -mcpu on to assembler. | |
36238 | * config/rl78/rl78.md (mulqi3): Add a clobber of AX. | |
36239 | (mulqi3_rl78): Likewise. | |
36240 | (mulhi3_g13): Likewise. | |
36241 | (mulhi3): Generate the G13 or G14 versions of the insn directly. | |
36242 | (mulsi3): Likewise. | |
36243 | (mulhi3_g14): Add clobbers of AX and BC. | |
36244 | (mulsi3_g14): Likewise. | |
36245 | (mulsi3_g13): Likewise. | |
36246 | (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns. | |
36247 | (udivmodsi4_g14, udivmodsi4_g13): New patterns. | |
36248 | * config/rl78/rl78.opt (mmul): Initialise value to | |
36249 | RL78_MUL_UNINIT. | |
36250 | (mcpu): New option. | |
36251 | (m13, m14, mrl78): New option aliases. | |
36252 | * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14. | |
36253 | (MULTILIB_DIRNAMES): Add g13 and g14. | |
36254 | * doc/invoke.texi: Document -mcpu and -mmul options. | |
36255 | ||
36256 | 2015-04-16 Richard Biener <rguenther@suse.de> | |
36257 | ||
36258 | * tree-ssa-ccp.c (likely_value): See if we have operands that | |
36259 | are marked as never simulate again and return CONSTANT in this | |
36260 | case. | |
36261 | * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do | |
36262 | not have any operands that will be simulated again as | |
36263 | not being simulated again. | |
36264 | ||
36265 | 2015-04-15 Uros Bizjak <ubizjak@gmail.com> | |
36266 | ||
36267 | * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): | |
36268 | Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute. | |
36269 | (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled | |
36270 | attribute. | |
36271 | (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using | |
36272 | enabled attribute. | |
36273 | (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from | |
36274 | *float<SWI48:mode><MODEF:mode>2_sse. | |
36275 | (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using | |
36276 | enabled attribute. | |
36277 | (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using | |
36278 | enabled attribute. | |
36279 | ||
36280 | 2015-04-15 Tom de Vries <tom@codesourcery.com> | |
36281 | ||
36282 | PR other/65487 | |
36283 | * function.c (push_dummy_function): New function. | |
36284 | (init_dummy_function_start): Use push_dummy_function. | |
36285 | (pop_dummy_function): New function. Factored out of ... | |
36286 | (expand_dummy_function_end): ... here. | |
36287 | * function.h (push_dummy_function, pop_dummy_function): Declare. | |
36288 | * passes.c (pass_manager::dump_passes): Use push_dummy_function and | |
36289 | pop_dummy_function. | |
36290 | * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL. | |
36291 | ||
36292 | 2015-04-15 Jeff Law <law@redhat.com> | |
36293 | ||
36294 | PR tree-optimization/47679 | |
36295 | * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid | |
36296 | need for forward declaration in upcoming changes. | |
36297 | (record_conditions, record_edge_info): Likewise. | |
36298 | ||
36299 | PR rtl-optimization/42522 | |
36300 | * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or | |
36301 | SIGN_EXTRACT as a whole object rather than simplifying | |
36302 | its operand. | |
36303 | ||
36304 | 2015-04-15 Jakub Jelinek <jakub@redhat.com> | |
36305 | ||
36306 | PR ipa/65765 | |
36307 | * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP | |
36308 | and GIMPLE_PREDICT use break instead of return true. For | |
36309 | GIMPLE_EH_DISPATCH, compare dispatch region. | |
36310 | ||
36311 | 2015-04-14 Matthew Wahab <matthew.wahab@arm.com> | |
36312 | ||
36313 | * doc/extend.texi (__sync Builtins): Simplify some text. Update | |
36314 | details about the implementation. Make clear preference for | |
36315 | __atomic builtins. Reduce possibility of future change. | |
36316 | ||
36317 | 2015-04-15 Nick Clifton <nickc@redhat.com> | |
36318 | ||
36319 | * config/rx/rx.opt (mallow-string-insns): New option. | |
36320 | * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this | |
36321 | builtin if string instructions are denied. | |
36322 | * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define | |
36323 | __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as | |
36324 | appropriate. | |
36325 | (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler. | |
36326 | * config/rx/rx.md (movstr): Enable pattern only if string | |
36327 | instructions are allowed. | |
36328 | (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise. | |
36329 | (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise. | |
36330 | * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns. | |
36331 | (MULTILIB_DIRNAMES): Add no-strings. | |
36332 | * doc/invoke.texi: Document -mno-allow-string-insns. | |
36333 | ||
36334 | 2015-04-15 Alan Modra <amodra@gmail.com> | |
36335 | ||
36336 | PR target/65408 | |
36337 | PR target/58744 | |
36338 | PR middle-end/36043 | |
36339 | * calls.c (load_register_parameters): Don't load past end of | |
36340 | mem unless suitably aligned. | |
36341 | ||
36342 | 2015-04-15 Nick Clifton <nickc@redhat.com> | |
36343 | ||
36344 | * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack | |
36345 | decrement instruction as being frame related. | |
36346 | (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL | |
36347 | based addresses. | |
36348 | If zero extending a function address enclose the operation in | |
36349 | %code(...). | |
36350 | (rl78_preferred_reload_class): New function. | |
36351 | (TARGET_PREFERRED_RELOAD_CLASS): Define. | |
36352 | * config/rl78/rl78.md: Remove useless constraints in expanders. | |
36353 | (mulqi3_rl78): Remove + qualifier on input-only operand 1. | |
36354 | (mulhi3_rl78): Likewise. | |
36355 | (mulhi3_g13): Likewise. | |
36356 | (mulsi3_rl78): Likewise. | |
36357 | (es_addr): Move to before the multiply patterns. | |
36358 | ||
36359 | 2015-04-15 Alan Modra <amodra@gmail.com> | |
36360 | ||
36361 | * function.h (struct emit_status): Delete x_first_insn, x_last_insn | |
36362 | and sequence_stack. Add seq. | |
36363 | (seq_stack): Delete. | |
36364 | * function.c (prepare_function_start): Don't access x_last_insn. | |
36365 | * emit-rtl.h (get_current_sequence, get_topmost_sequence): New. | |
36366 | (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them. | |
36367 | * emit_rtl.c (start_sequence, push_topmost_sequence, | |
36368 | pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use | |
36369 | sequence accessors. | |
36370 | (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb, | |
36371 | remove_insn): Likewise. Simplify. | |
36372 | * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence | |
36373 | and pop_topmost_sequence. | |
36374 | (m32c_function_needs_enter): Use get_topmost_sequence. Ignore | |
36375 | debug insns. | |
36376 | * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence. | |
36377 | ||
36378 | 2015-04-14 Yvan Roux <yvan.roux@linaro.org> | |
36379 | ||
36380 | PR target/65729 | |
36381 | * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix | |
36382 | the assertiion. | |
36383 | ||
36384 | 2015-04-14 Uros Bizjak <ubizjak@gmail.com> | |
36385 | ||
36386 | * config/i386/i386.h (LEGACY_INT_REG_P): New define. | |
36387 | (LEGACY_INT_REGNO_P): Ditto. | |
36388 | (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P. | |
36389 | (ANY_MASK_REG_P): Remove. | |
36390 | (BND_REG_P): Rename from ANY_BND_REG_P. | |
36391 | * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print | |
36392 | legacy integer registers. Do not handle MMX_REG_P in a special way. | |
36393 | Merge 64byte and 32byte SSE handling. | |
36394 | ||
36395 | 2015-04-14 Nick Clifton <nickc@redhat.com> | |
36396 | ||
36397 | * expr.c (expand_assignment): Force an address offset computation | |
36398 | into a register before changing its mode. | |
36399 | (expand_expr_real_1): Likewise. | |
36400 | ||
36401 | 2015-04-14 Alan Lawrence <alan.lawrence@arm.com> | |
36402 | ||
36403 | * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64, | |
36404 | vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16, | |
36405 | vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16, | |
36406 | vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64, | |
36407 | vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16, | |
36408 | vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16, | |
36409 | vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference | |
36410 | and __aarch64_vget_lane_any. | |
36411 | ||
36412 | 2015-04-14 Jakub Jelinek <jakub@redhat.com> | |
36413 | ||
36414 | PR rtl-optimization/65761 | |
36415 | * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use | |
36416 | get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)). | |
36417 | ||
36418 | 2015-04-14 Richard Biener <rguenther@suse.de> | |
36419 | ||
36420 | * graphite-scop-detection.c: Do not include cp/cp-tree.h. | |
36421 | (graphite_can_represent_scev): Use POINTER_TYPE_P. | |
36422 | ||
36423 | 2015-04-14 Richard Biener <rguenther@suse.de> | |
36424 | ||
36425 | PR tree-optimization/65758 | |
36426 | * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test | |
36427 | against -1. | |
36428 | (ccp_lattice_meet): Likewise. | |
36429 | (bit_value_unop): Likewise. | |
36430 | (bit_value_binop): Likewise. | |
36431 | (bit_value_assume_aligned): Likewise. | |
36432 | ||
36433 | 2015-04-14 Christian Bruel <christian.bruel@st.com> | |
36434 | ||
36435 | * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each | |
36436 | function. | |
36437 | ||
36438 | 2015-04-14 Marc Glisse <marc.glisse@inria.fr> | |
36439 | ||
36440 | PR tree-optimization/63387 | |
36441 | * match.pd ((x unord x) | (y unord y) -> (x unord y), | |
36442 | (x unord x) | (x unord y) -> (x unord y)): New simplifications. | |
36443 | ||
36444 | 2015-04-14 Uros Bizjak <ubizjak@gmail.com> | |
36445 | ||
36446 | * config/i386/predicates.md (any_QIreg_operand): Rename from | |
36447 | q_regs_operand. Do not process subregs. | |
36448 | (QIreg_operand): Use QI_REGNO_P predicate. | |
36449 | (ext_QIreg_operand): Ditto. | |
36450 | (ext_register_operand): Ditto. | |
36451 | * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate. | |
36452 | (AND splitters): Ditto. | |
36453 | (AND with -65536 splitter): Add SWI48 mode for operand 0. | |
36454 | (AND with -256 splitter): Use any_QIreg_operand predicate and | |
36455 | SWI248 mode for operand 0. | |
36456 | (AND with -65281 splitter): Use QIreg_operand predicate and SWI248 | |
36457 | mode for operand 0. | |
36458 | (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand. | |
36459 | ||
36460 | 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com> | |
36461 | ||
36462 | * doc/plugins.texi: Rewrite first introductory paragraph. | |
36463 | ||
36464 | 2015-04-12 Jan Hubicka <hubicka@ucw.cz> | |
36465 | ||
36466 | * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero. | |
36467 | (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero. | |
36468 | ||
36469 | 2015-04-12 Jan Hubicka <hubicka@ucw.cz> | |
36470 | ||
36471 | * ipa-profie.c (ipa_profile): Check number of parameters | |
36472 | and possible polymorphic call targets before | |
36473 | devirtualizing. | |
36474 | ||
36475 | 2015-04-13 Uros Bizjak <ubizjak@gmail.com> | |
36476 | ||
36477 | * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from | |
36478 | *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator. | |
36479 | ||
36480 | 2015-04-13 Richard Biener <rguenther@suse.de> | |
36481 | ||
36482 | PR tree-optimization/65204 | |
36483 | * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address | |
36484 | takens for bit-CCP. | |
36485 | ||
36486 | 2015-04-13 Richard Biener <rguenther@suse.de> | |
36487 | ||
36488 | PR target/65660 | |
36489 | * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost | |
36490 | and cond_not_taken_branch_cost to 4 and 2. | |
36491 | (bdver2_cost): Likewise. | |
36492 | (bdver3_cost): Likewise. | |
36493 | (bdver4_cost): Likewise. | |
36494 | ||
36495 | 2015-04-12 Jan Hubicka <hubicka@ucw.cz> | |
36496 | ||
36497 | * hash-table.h (hash_table constructor): Add mem stats. | |
36498 | (alloc_entries): Likewise. | |
36499 | ||
36500 | 2015-04-12 Jan Hubicka <hubicka@ucw.cz> | |
36501 | ||
36502 | * ipa-cp.c (ipcp_driver): Relase prev_edge. | |
36503 | * passes.c (execute_one_pass): Only add transform if pass has one. | |
36504 | ||
36505 | 2015-04-12 Joseph Myers <joseph@codesourcery.com> | |
36506 | ||
36507 | * config/i386/i386.c (ix86_option_override_internal): Don't set | |
36508 | -fprefetch-loop-arrays if optimizing for size. | |
36509 | ||
36510 | 2015-04-12 Jan Hubicka <hubicka@ucw.cz> | |
36511 | Gerald Pfeifer <gerald@pfeifer.com> | |
36512 | ||
36513 | * doc/contrib.texi (Contributors): Add Martin Jambor and | |
36514 | Michael Matz. | |
36515 | ||
36516 | 2015-04-12 Jakub Jelinek <jakub@redhat.com> | |
36517 | ||
36518 | * BASE-VER: Set to 6.0.0. | |
36519 | ||
36520 | PR tree-optimization/65747 | |
36521 | * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand | |
36522 | rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT. | |
36523 | ||
36524 | 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com> | |
36525 | ||
36526 | * doc/invoke.texi (-Wmemset-transposed-args): Break a long | |
36527 | sentence. Improve grammar. | |
36528 | ||
36529 | 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com> | |
36530 | ||
36531 | * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov. | |
36532 | ||
36533 | 2015-04-11 Jan Hubicka <hubicka@ucw.cz> | |
36534 | ||
36535 | PR ipa/65743 | |
36536 | * ipa-inline-transform.c (speculation_removed): Remove static var. | |
36537 | (check_speculations): New function. | |
36538 | (clone_inlined_nodes): Do not check spculations. | |
36539 | (inline_call): Call check_speculations. | |
36540 | * ipa-prop.c (ipa_make_edge_direct_to_target): Do not | |
36541 | consider non-invariants. | |
36542 | ||
36543 | 2015-04-11 Jan Hubicka <hubicka@ucw.cz> | |
36544 | Martin Liska <mliska@suse.cz> | |
36545 | ||
36546 | PR ipa/65722 | |
36547 | * ipa-icf.c (sem_item::compare_cgraph_references): function and | |
36548 | variable can not match. | |
36549 | (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables. | |
36550 | (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch. | |
36551 | ||
36552 | 2015-04-11 Jakub Jelinek <jakub@redhat.com> | |
36553 | ||
36554 | PR tree-optimization/65735 | |
36555 | * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths): | |
36556 | Remove visited_phis argument, add visited_bbs, avoid recursing into the | |
36557 | same bb rather than just into the same phi node. | |
36558 | (thread_through_normal_block): Adjust caller. | |
36559 | ||
36560 | 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com> | |
36561 | ||
36562 | * doc/contrib.texi (Contributors): Add Ira Rosen. | |
36563 | ||
36564 | 2015-04-11 Benno Schulenberg <bensberg@justemail.net> | |
36565 | ||
36566 | * gcov.c (find_source): Fix miswording in error message. | |
36567 | * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise. | |
36568 | (ix86_expand_sse_comi_round): Fix typo in error message. | |
36569 | ||
36570 | 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com> | |
36571 | ||
36572 | * doc/contrib.texi (Contributors): Add Laurynas Biveinis. | |
36573 | ||
36574 | 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com> | |
36575 | ||
36576 | * doc/contrib.texi (Contributors): Update Joe Buck's entry. | |
36577 | ||
36578 | 2015-04-10 Vladimir Makarov <vmakarov@redhat.com> | |
36579 | ||
36580 | PR target/65710 | |
36581 | * lra-assigns.c (spill_for): Update smallest_bad_spills_num. | |
36582 | Print bad_spills_num and insn_pseudos_num. | |
36583 | ||
36584 | 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
36585 | ||
36586 | PR target/65694 | |
36587 | * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND | |
36588 | when creating +1 values for SImode. | |
36589 | ||
36590 | 2015-04-10 Vladimir Makarov <vmakarov@redhat.com> | |
36591 | ||
36592 | PR target/65729 | |
36593 | * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the | |
36594 | assert. | |
36595 | ||
36596 | 2015-04-10 Jakub Jelinek <jakub@redhat.com> | |
36597 | Iain Sandoe <iain@codesourcery.com> | |
36598 | ||
36599 | PR target/65351 | |
36600 | * configure: Regenerate. | |
36601 | ||
36602 | 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com> | |
36603 | ||
36604 | PR target/65671 | |
36605 | * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled. | |
36606 | ||
36607 | 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com> | |
36608 | ||
36609 | * doc/contrib.texi (Contributors): Add John Marino. | |
36610 | ||
36611 | 2015-04-09 Jakub Jelinek <jakub@redhat.com> | |
36612 | ||
36613 | PR tree-optimization/65709 | |
36614 | * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of | |
36615 | TREE_TYPE (TREE_TYPE (t)). | |
36616 | ||
36617 | 2015-04-09 Vladimir Makarov <vmakarov@redhat.com> | |
36618 | ||
36619 | PR target/65710 | |
36620 | * lra-int.h (lra_bad_spill_regno_start): New. | |
36621 | * lra.c (lra_bad_spill_regno_start): New. | |
36622 | (lra): Set up lra_bad_spill_regno_start. Set up | |
36623 | lra_constraint_new_regno_start unconditionally. | |
36624 | * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for | |
36625 | spill preferences. | |
36626 | ||
36627 | 2015-04-09 Marek Polacek <polacek@redhat.com> | |
36628 | Jakub Jelinek <jakub@redhat.com> | |
36629 | ||
36630 | PR middle-end/65554 | |
36631 | * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment. | |
36632 | (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead | |
36633 | of STRIP_NOPS. | |
36634 | ||
36635 | 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org> | |
36636 | ||
36637 | PR rtl-optimization/65693 | |
36638 | * combine.c (is_parallel_of_n_reg_sets): Move outside of | |
36639 | #ifndef HAVE_cc0. | |
36640 | ||
36641 | 2015-04-09 Georg-Johann Lay <avr@gjlay.de> | |
36642 | ||
36643 | PR target/65296 | |
36644 | * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a | |
36645 | device specs file if "device-specs%s" didn't resolve to a path. | |
36646 | ||
36647 | 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com> | |
36648 | ||
36649 | PR target/65676 | |
36650 | * config/i386/i386.c (fixup_modeless_constant): New. | |
36651 | (ix86_expand_args_builtin): Fixup modeless constant operand. | |
36652 | (ix86_expand_round_builtin): Ditto. | |
36653 | (ix86_expand_special_args_builtin): Ditto. | |
36654 | (ix86_expand_builtin): Ditto. | |
36655 | ||
36656 | 2015-04-09 Jakub Jelinek <jakub@redhat.com> | |
36657 | ||
36658 | PR target/65693 | |
36659 | * config/i386/i386.md (*udivmod<mode>4_pow2): Allow | |
36660 | any pow2 integer in between 2 and 0x80000000U inclusive. | |
36661 | ||
36662 | 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org> | |
36663 | ||
36664 | PR rtl-optimization/65693 | |
36665 | * combine.c (is_parallel_of_n_reg_sets): Change first argument | |
36666 | from an rtx_insn * to an rtx. | |
36667 | (try_combine): Adjust both callers. Use it once more. | |
36668 | ||
36669 | 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> | |
36670 | ||
36671 | * tree-chkp.c (chkp_find_const_bounds_var): Remove. | |
36672 | (chkp_make_static_const_bounds): Search existing | |
36673 | symbol by assembler name. Use make_decl_one_only. | |
36674 | (chkp_get_zero_bounds_var): Remove node search which | |
36675 | is now performed in chkp_make_static_const_bounds. | |
36676 | (chkp_get_none_bounds_var): Likewise. | |
36677 | ||
36678 | 2015-04-08 Michael Witten <mfwitten@gmail.com> | |
36679 | ||
36680 | * doc/extend.texi (Attribute Syntax): Add a trailing semicolon | |
36681 | to an example. | |
36682 | ||
36683 | 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
36684 | ||
36685 | * tree.h (CONVERT_EXPR_P): Commentary typo fix. | |
36686 | ||
36687 | 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com> | |
36688 | ||
36689 | * doc/extend.texi (__sync Builtins): Fix grammar. | |
36690 | ||
36691 | 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
36692 | ||
36693 | * doc/cfg.texi (GIMPLE statement iterators): Fix typo. | |
36694 | ||
36695 | 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
36696 | ||
36697 | * varasm.c (emit_local): Move definition of align. | |
36698 | ||
36699 | 2015-04-08 Julian Brown <julian@codesourcery.com> | |
36700 | ||
36701 | * config/nvptx/mkoffload.c (process): Support variable mapping. | |
36702 | ||
36703 | 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org> | |
36704 | ||
36705 | * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to | |
36706 | alpha_links **. | |
36707 | (alpha_write_one_linkage): Correct typo. | |
36708 | ||
36709 | 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> | |
36710 | ||
36711 | * ipa-comdats.c (propagate_comdat_group): Walk through thunks. | |
36712 | ||
36713 | 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com> | |
36714 | ||
36715 | * doc/install.texi (bootstrap-lto-noplugin): Rewrite. | |
36716 | ||
36717 | 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com> | |
36718 | ||
36719 | * tree-chkp.h (chkp_insert_retbnd_call): New. | |
36720 | * tree-chkp.c (chkp_insert_retbnd_call): New. | |
36721 | * ipa-split.c (insert_bndret_call_after): Remove. | |
36722 | (split_function): Use chkp_insert_retbnd_call. | |
36723 | * cgraphunit.c (cgraph_node::expand_thunk): Build returned | |
36724 | bounds for instrumented functions. | |
36725 | ||
36726 | 2015-04-07 Jan Hubicka <hubicka@ucw.cz> | |
36727 | ||
36728 | PR ipa/65540 | |
36729 | * calls.c (initialize_argument_information): When producing tail | |
36730 | call also turn SSA_NAMES passed by references to original PARM_DECLs | |
36731 | ||
36732 | 2015-04-07 Vladimir Makarov <vmakarov@redhat.com> | |
36733 | ||
36734 | PR target/65648 | |
36735 | * lra-remat.c (do_remat): Process input and non-input insn | |
36736 | registers separately. | |
36737 | ||
36738 | 2015-04-07 Jakub Jelinek <jakub@redhat.com> | |
36739 | ||
36740 | PR debug/65678 | |
36741 | * valtrack.c (debug_lowpart_subreg): New function. | |
36742 | (dead_debug_insert_temp): Use it. | |
36743 | ||
36744 | PR middle-end/65680 | |
36745 | * expr.c (get_inner_reference): Handle bit_offset that doesn't fit | |
36746 | into signed HOST_WIDE_INT the same as negative bit_offset. | |
36747 | ||
36748 | 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com> | |
36749 | ||
36750 | * ipa-comdats.c (ipa_comdats): Visit all thunks | |
36751 | to set proper comdat group. | |
36752 | ||
36753 | 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
36754 | ||
36755 | PR target/65489 | |
36756 | * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction | |
36757 | on constants for NEON VSTRUCT modes. | |
36758 | ||
36759 | 2015-04-07 Jakub Jelinek <jakub@redhat.com> | |
36760 | Iain Sandoe <iain@codesourcery.com> | |
36761 | ||
36762 | PR target/65351 | |
36763 | * configure: Regenerate. | |
36764 | ||
36765 | 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com> | |
36766 | ||
36767 | PR target/65614 | |
36768 | * config/rs6000/rs6000.c (struct processor_costs): Add cost field | |
36769 | for SF->DF conversions to make FLOAT_EXTEND more expensive, so | |
36770 | that LFD is used to load double constants instead of LFS. Add | |
36771 | defaults for all costs structures. Add comments for missing | |
36772 | initialization fields. | |
36773 | (size32_cost): Likewise. | |
36774 | (size64_cost): Likewise. | |
36775 | (rs64a_cost): Likewise. | |
36776 | (mpccore_cost): Likewise. | |
36777 | (ppc403_cost): Likewise. | |
36778 | (ppc405_cost): Likewise. | |
36779 | (ppc440_cost): Likewise. | |
36780 | (ppc476_cost): Likewise. | |
36781 | (ppc601_cost): Likewise. | |
36782 | (ppc603_cost): Likewise. | |
36783 | (ppc604_cost): Likewise. | |
36784 | (ppc604e_cost): Likewise. | |
36785 | (ppc620_cost): Likewise. | |
36786 | (ppc630_cost): Likewise. | |
36787 | (ppccell_cost): Likewise. | |
36788 | (ppc750_cost): Likewise. | |
36789 | (ppc7450_cost): Likewise. | |
36790 | (ppc8540_cost): Likewise. | |
36791 | (ppce300c2c3_cost): Likewise. | |
36792 | (ppce500mc_cost): Likewise. | |
36793 | (ppce500mc64_cost): Likewise. | |
36794 | (ppce5500_cost): Likewise. | |
36795 | (ppce6500_cost): Likewise. | |
36796 | (titan_cost): Likewise. | |
36797 | (power4_cost): Likewise. | |
36798 | (power6_cost): Likewise. | |
36799 | (power7_cost): Likewise. | |
36800 | (power8_cost): Likewise. | |
36801 | (ppca2_cost): Likewise. | |
36802 | (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field. | |
36803 | ||
36804 | * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP | |
36805 | instead of XXLOR to copy SFmode to clear out dirty bits created | |
36806 | when SFmode denormals are generated. | |
36807 | (mov<mode>_hardfloat, FMOVE32 case): Likewise. | |
36808 | (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction. | |
36809 | ||
36810 | 2015-04-06 Evandro Menezes <e.menezes@samsung.com> | |
36811 | ||
36812 | * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option. | |
36813 | * config/aarch64/aarch64-cores.def (exynos-m1): New core. | |
36814 | * config/aarch64/aarch64-tune.md: Regenerate. | |
36815 | ||
36816 | 2015-04-06 Evandro Menezes <e.menezes@samsung.com> | |
36817 | ||
36818 | * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option. | |
36819 | * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1". | |
36820 | * config/arm/arm-cores.def (exynos-m1): New core. | |
36821 | * config/arm/arm-tune.md: Regenerate. | |
36822 | * config/arm/arm-tables.opt: Add entry for "exynos-m1". | |
36823 | * config/arm/bpabi.h: Likewise. | |
36824 | ||
36825 | 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com> | |
36826 | ||
36827 | * ipa-cp (set_single_call_flag): Remove too | |
36828 | restrictive assert. | |
36829 | ||
36830 | 2015-04-06 Ilya Verbin <ilya.verbin@intel.com> | |
36831 | ||
36832 | * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call | |
36833 | GOMP_offload_unregister from the destructor. | |
36834 | ||
36835 | 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com> | |
36836 | ||
36837 | * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor | |
36838 | flags for instrumentation thunk. | |
36839 | (chkp_produce_thunks): Likewise. | |
36840 | ||
36841 | 2015-04-05 Martin Liska <mliska@suse.cz> | |
36842 | ||
36843 | PR ipa/65665 | |
36844 | * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP | |
36845 | has computed data structure. | |
36846 | (sem_item_optimizer::update_hash_by_addr_refs): Likewise. | |
36847 | ||
36848 | 2015-04-04 Jan Hubicka <hubicka@ucw.cz> | |
36849 | ||
36850 | * invoke.texi (inline-unit-growth): Increase growth to 20% | |
36851 | * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise. | |
36852 | ||
36853 | 2015-04-04 Vladimir Makarov <vmakarov@redhat.com> | |
36854 | ||
36855 | PR target/65647 | |
36856 | * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its | |
36857 | value checking. | |
36858 | (lra_rematerialization_iter): New. | |
36859 | * lra.c (lra): Initialize lra_rematerialization_iter. | |
36860 | Stop updating lra_constraint_new_regno_start after switching of | |
36861 | inheritance and rematerialization. | |
36862 | * lra-remat.c (lra_rematerialization_iter): New. | |
36863 | (lra_remat): Add printing pass iteration. Do rematerialization | |
36864 | only first LRA_MAX_REMATERIALIZATION_PASSES iterations. | |
36865 | ||
36866 | 2015-04-04 Richard Biener <rguenther@suse.de> | |
36867 | ||
36868 | PR tree-optimization/64909 | |
36869 | PR tree-optimization/65660 | |
36870 | * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust | |
36871 | to take a cost vector for scalar iteration cost. | |
36872 | (vect_get_single_scalar_iteration_cost): Likewise. | |
36873 | * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): | |
36874 | Compute the scalar iteration cost into a cost vector. | |
36875 | (vect_get_known_peeling_cost): Use the scalar cost vector to | |
36876 | account for the cost of the peeled iterations. | |
36877 | (vect_estimate_min_profitable_iters): Likewise. | |
36878 | * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): | |
36879 | Likewise. | |
36880 | ||
36881 | 2015-04-04 Alan Modra <amodra@gmail.com> | |
36882 | ||
36883 | PR target/65576 | |
36884 | PR target/65240 | |
36885 | * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude | |
36886 | 0.0 constant unless TARGET_VSX. | |
36887 | * config/rs6000/rs6000.md (extenddftf2_internal): Remove last | |
36888 | alternative. | |
36889 | ||
36890 | 2015-04-03 Jan Hubicka <hubicka@ucw.cz> | |
36891 | ||
36892 | PR ipa/65654 | |
36893 | * ipa-inline-transform.c (inline_call): Skip sanity check to work | |
36894 | around the ICE | |
36895 | ||
36896 | 2015-04-03 Jan Hubicka <hubicka@ucw.cz> | |
36897 | ||
36898 | PR ipa/65655 | |
36899 | * ipa-inline-analysis.c (edge_set_predicate): Do not redirect | |
36900 | speculative indirect edges to avoid ordering issue. | |
36901 | ||
36902 | 2015-04-03 Jan Hubicka <hubicka@ucw.cz> | |
36903 | ||
36904 | PR ipa/65076 | |
36905 | * ipa-inline.c (edge_badness): Add combined size to the denominator. | |
36906 | ||
36907 | 2015-04-03 Jakub Jelinek <jakub@redhat.com> | |
36908 | ||
36909 | * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set | |
36910 | TYPE_ARTIFICIAL on the .omp_data* types. | |
36911 | ||
36912 | 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> | |
36913 | ||
36914 | * cgraphunit.c (cgraph_node::expand_thunk): Don't expand | |
36915 | instrumentation thunks. | |
36916 | ||
36917 | 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> | |
36918 | ||
36919 | * config/i386/i386.c (ix86_expand_call): Avoid nested | |
36920 | PARALLEL in returned call value. | |
36921 | ||
36922 | 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> | |
36923 | ||
36924 | * lto-cgraph.c (input_cgraph_1): Always link instrumented | |
36925 | assembler name with original one. | |
36926 | ||
36927 | 2015-04-02 Uros Bizjak <ubizjak@gmail.com> | |
36928 | ||
36929 | * config/i386/i386.c (ix86_register_priority): Use AX_REG. | |
36930 | ||
36931 | 2015-04-02 Uros Bizjak <ubizjak@gmail.com> | |
36932 | ||
36933 | Revert parts of r216820. | |
36934 | * config/i386/i386.md (movqi_internal): Correct type calculation | |
36935 | for alternatives 3 and 5. | |
36936 | ||
36937 | 2015-04-02 Jakub Jelinek <jakub@redhat.com> | |
36938 | ||
36939 | PR preprocessor/61977 | |
36940 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't | |
36941 | predefine __vector/__bool/__pixel macros nor context sensitive | |
36942 | macros for CLK_ASM. | |
36943 | * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly. | |
36944 | ||
36945 | 2015-04-02 John David Anglin <danglin@gcc.gnu.org> | |
36946 | ||
36947 | * config/pa/pa.c (pa_output_move_double): Directly handle register | |
36948 | indexed memory operand. Simplify handling of scaled register indexed | |
36949 | memory operands. | |
36950 | ||
36951 | 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com> | |
36952 | ||
36953 | PR driver/65444 | |
36954 | * config/i386/linux-common.h (MPX_SPEC): New. | |
36955 | (CHKP_SPEC): Add MPX_SPEC. | |
36956 | * doc/invoke.texi (-fcheck-pointer-boudns): Document | |
36957 | possible issues with '-z bndplt' support in linker. | |
36958 | ||
36959 | 2015-04-02 Uros Bizjak <ubizjak@gmail.com> | |
36960 | ||
36961 | * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New. | |
36962 | (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC. | |
36963 | (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC. | |
36964 | * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC. | |
36965 | (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC. | |
36966 | ||
36967 | 2015-04-01 Uros Bizjak <ubizjak@gmail.com> | |
36968 | ||
36969 | * config/i386/sync.md (UNSPEC_MOVA): Remove. | |
36970 | (atomic_load<mode>): Change operand 0 predicate to | |
36971 | nonimmediate_operand and fix up the destination when needed. | |
36972 | Use UNSPEC_LDA. | |
36973 | (atomic_loaddi_fpu): Use UNSPEC_LDA. | |
36974 | (atomic_store<mode>): Change operand 1 predicate to | |
36975 | nonimmendate_operand and move the source to register when needed. | |
36976 | Use UNSPEC_STA. | |
36977 | (atomic_store<mode>_1): Use UNSPEC_STA. | |
36978 | (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand. | |
36979 | Fix moves from memory operand. Use UNSPEC_STA. | |
36980 | ||
36981 | 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
36982 | ||
36983 | * expmed.c (strict_volatile_bitfield_p): Check that the access will | |
36984 | not cross a MODESIZE boundary. | |
36985 | (store_bit_field, extract_bit_field): Added assertions in the | |
36986 | strict volatile bitfields code path. | |
36987 | ||
36988 | 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com> | |
36989 | ||
36990 | PR target/65624 | |
36991 | * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin): | |
36992 | Increase args array size by one to avoid buffer overflow. | |
36993 | ||
36994 | 2015-03-31 Jan Hubicka <hubicka@ucw.cz> | |
36995 | ||
36996 | * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream | |
36997 | split_part. | |
36998 | * ipa-inline.c (edge_badness): Add wrapper penalty. | |
36999 | (sum_callers): Move up. | |
37000 | (inline_small_functions): Set single_caller. | |
37001 | * ipa-inline.h (inline_summary): Add single_caller. | |
37002 | * ipa-split.c (split_function): Set split_part. | |
37003 | (cgraph_node::create_clone): Do not shadow decl; copy split_part. | |
37004 | * cgraph.h (cgraph_node): Add split_part. | |
37005 | ||
37006 | 2015-03-31 Uros Bizjak <ubizjak@gmail.com> | |
37007 | ||
37008 | PR target/58945 | |
37009 | * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword): | |
37010 | Do not split operands 0 and operands 2 to halfmode. | |
37011 | (atomic_compare_and_swap<mode>): Update for | |
37012 | atomic_compare_and_swap<dwi>_doubleword changes. | |
37013 | ||
37014 | 2015-03-31 Jan Hubicka <hubicka@ucw.cz> | |
37015 | ||
37016 | * tree.c (need_assembler_name_p): Artificial types have no ODR names. | |
37017 | * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when | |
37018 | no caching is done. | |
37019 | ||
37020 | 2015-03-31 Martin Liska <mliska@suse.cz> | |
37021 | ||
37022 | PR ipa/65557 | |
37023 | * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP | |
37024 | has already filled up function summary. | |
37025 | (sem_item_optimizer::update_hash_by_addr_refs): Likewise. | |
37026 | ||
37027 | 2015-03-31 Richard Biener <rguenther@suse.de> | |
37028 | ||
37029 | * tree-sra.c (create_access_replacement): Drop under-/over-alignment | |
37030 | of types. | |
37031 | ||
37032 | 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
37033 | ||
37034 | * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching | |
37035 | nested functions. | |
37036 | (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw. | |
37037 | (s390_asm_output_function_label): Adapt to new signature of | |
37038 | s390_function_num_hotpatch_hw | |
37039 | Optimise the code generating assembler output. | |
37040 | Add comments to assembler file. | |
37041 | ||
37042 | 2015-03-31 Richard Biener <rguenther@suse.de> | |
37043 | ||
37044 | PR middle-end/65626 | |
37045 | * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block | |
37046 | of the noreturn call so it is last and cleanup_control_flow_bb | |
37047 | can do the CFG part. | |
37048 | ||
37049 | 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com> | |
37050 | ||
37051 | PR target/65531 | |
37052 | * ipa-chkp.c (chkp_maybe_create_clone): Don't set | |
37053 | same_comdat_group for external symbols. | |
37054 | * symtab.c (symtab_node::verify_symtab_nodes): Avoid | |
37055 | infinite same_comdat_group traversal loop. | |
37056 | ||
37057 | 2015-03-31 Jakub Jelinek <jakub@redhat.com> | |
37058 | ||
37059 | PR plugins/61176 | |
37060 | * Makefile.in (install-plugin): Add all gcc/*.{h,def} files | |
37061 | automatically to $headers. | |
37062 | ||
37063 | 2015-03-30 Jakub Jelinek <jakub@redhat.com> | |
37064 | ||
37065 | PR ipa/65610 | |
37066 | * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare. | |
37067 | * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New | |
37068 | function. | |
37069 | (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store): | |
37070 | Use it. | |
37071 | * ipa-prop.c (param_type_may_change_p): Likewise. | |
37072 | * tree-ssa-live.c: Include ipa-utils.h and its dependencies. | |
37073 | (remove_unused_scope_block_p): Add in_ctor_dtor_block | |
37074 | argument. Before inlining, preserve | |
37075 | inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block | |
37076 | with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust | |
37077 | recursive calls. | |
37078 | (remove_unused_locals): Adjust remove_unused_scope_block_p caller. | |
37079 | ||
37080 | 2015-03-27 Jan Hubicka <hubicka@ucw.cz> | |
37081 | ||
37082 | PR ipa/65076 | |
37083 | * ipa-inline.c (edge_badness): Base denominator on callee's | |
37084 | grwoth squared. | |
37085 | ||
37086 | 2015-03-27 Martin Jambor <mjambor@suse.cz> | |
37087 | ||
37088 | PR ipa/65478 | |
37089 | * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New. | |
37090 | (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise. | |
37091 | * ipa-prop.h (ipa_node_params): New flags node_within_scc and | |
37092 | node_calling_single_call. | |
37093 | * ipa-cp.c (count_callers): New function. | |
37094 | (set_single_call_flag): Likewise. | |
37095 | (initialize_node_lattices): Count callers and set single_flag_call if | |
37096 | necessary. | |
37097 | (incorporate_penalties): New function. | |
37098 | (good_cloning_opportunity_p): Use it, dump new flags. | |
37099 | (propagate_constants_topo): Set node_within_scc flag if appropriate. | |
37100 | * doc/invoke.texi (ipa-cp-recursion-penalty, | |
37101 | ipa-cp-single-call-pentalty): Document. | |
37102 | ||
37103 | 2015-03-27 Jan Hubicka <hubicka@ucw.cz> | |
37104 | ||
37105 | PR ipa/65588 | |
37106 | * symtab.c (symtab_node::get_partitioning_class): Register vars | |
37107 | are duplicated. | |
37108 | * varpool.c (symbol_table::output_variables) Do not assemble unefined | |
37109 | decls for non-symbols. | |
37110 | ||
37111 | 2015-03-27 H.J. Lu <hongjiu.lu@intel.com> | |
37112 | ||
37113 | PR target/65248 | |
37114 | * output.h (default_binds_local_p_2): New. | |
37115 | * varasm.c (default_binds_local_p_2): Renamed to ... | |
37116 | (default_binds_local_p_3): This. Don't return true on protected | |
37117 | data symbol if protected data may be external. | |
37118 | (default_binds_local_p): Use default_binds_local_p_3. | |
37119 | (default_binds_local_p_1): Likewise. | |
37120 | (default_binds_local_p_2): New. | |
37121 | * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to | |
37122 | default_binds_local_p_2 if TARGET_MACHO is undefined. | |
37123 | ||
37124 | 2015-03-27 Jakub Jelinek <jakub@redhat.com> | |
37125 | ||
37126 | PR target/65593 | |
37127 | * config/i386/i386.c (legitimize_pic_address): If base | |
37128 | is SYMBOL_REF or LABEL_REF using %rip addressing, force | |
37129 | it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register. | |
37130 | ||
37131 | 2015-03-27 Jan Hubicka <hubicka@ucw.cz> | |
37132 | ||
37133 | PR target/65531 | |
37134 | * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of | |
37135 | comdat groups. | |
37136 | ||
37137 | 2015-03-27 Jan Hubicka <hubicka@ucw.cz> | |
37138 | ||
37139 | PR ipa/65600 | |
37140 | * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case | |
37141 | of optimized out indirect call. | |
37142 | (redirect_to_unreachable): Always build symbol table node for | |
37143 | BUILT_IN_UNREACHABLE | |
37144 | ||
37145 | 2015-03-27 Vladimir Makarov <vmakarov@redhat.com> | |
37146 | ||
37147 | PR target/65407 | |
37148 | * ira-costs.c (record_reg_classes): Process all constraint string | |
37149 | containing 0-9. | |
37150 | ||
37151 | 2015-03-27 Bernd Schmidt <bernds@codesourcery.com> | |
37152 | ||
37153 | * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not | |
37154 | memory_operand. | |
37155 | ||
37156 | PR target/65052 | |
37157 | * config/c6x/constraints.md (S3): New constraint. | |
37158 | * config/c6x/c6x.md (real_jump): Use it. | |
37159 | ||
37160 | 2015-03-26 Jan Hubicka <hubicka@ucw.cz> | |
37161 | ||
37162 | PR middle-end/65595 | |
37163 | * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only | |
37164 | do redirection if the call is not optimized out. | |
37165 | ||
37166 | 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com> | |
37167 | ||
37168 | PR target/65495 | |
37169 | * c-family/c.opt (fcheck-pointer-bounds): List supported languages. | |
37170 | (fchkp-check-incomplete-type): Add LTO. | |
37171 | (fchkp-zero-input-bounds-for-main): Likewise. | |
37172 | (fchkp-first-field-has-own-bounds): Likewise. | |
37173 | (fchkp-narrow-bounds): Likewise. | |
37174 | (fchkp-narrow-to-innermost-array): Likewise. | |
37175 | (fchkp-use-static-bounds): Likewise. | |
37176 | (fchkp-use-static-const-bounds): Likewise. | |
37177 | (fchkp-treat-zero-dynamic-size-as-infinite): Likewise. | |
37178 | ||
37179 | 2015-03-27 Marek Polacek <polacek@redhat.com> | |
37180 | ||
37181 | * gimple-iterator.h (gsi_prev_nondebug): Fix typo. | |
37182 | ||
37183 | 2015-03-27 Marek Polacek <polacek@redhat.com> | |
37184 | ||
37185 | PR sanitizer/65583 | |
37186 | * ubsan.c (ubsan_create_edge): New function. | |
37187 | (instrument_bool_enum_load): Call it. | |
37188 | (instrument_nonnull_arg): Likewise. | |
37189 | (instrument_nonnull_return): Likewise. | |
37190 | (instrument_object_size): Likewise. | |
37191 | ||
37192 | 2015-03-26 Jan Hubicka <hubicka@ucw.cz> | |
37193 | ||
37194 | * lto-streamer.h (class lto_location_cache): Turn loc_cache into | |
37195 | auto_vec. | |
37196 | ||
37197 | 2015-03-26 Jan Hubicka <hubicka@ucw.cz> | |
37198 | ||
37199 | PR lto/65536 | |
37200 | * lto-streamer.h (class lto_location_cache): New. | |
37201 | (struct data_in): Add location_cache. | |
37202 | (lto_input_location): Update prototype. | |
37203 | (stream_input_location_now): New. | |
37204 | * streamer-hooks.h (struct streamer_hooks): Make input_location to take | |
37205 | pointer to location. | |
37206 | (stream_input_location): Update. | |
37207 | * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h | |
37208 | (warn_odr): Apply location cache before warning. | |
37209 | (lto_input_location): Update prototype. | |
37210 | * gimple-streamer-in.c (input_phi, input_gimple_stmt): | |
37211 | Use stream_input_location_now. | |
37212 | * lto-streamer-in.c (lto_location_cache::current_cache): New static | |
37213 | variable. | |
37214 | (lto_location_cache::cmp_loc): New function. | |
37215 | (lto_location_cache::apply_location_cache): New function. | |
37216 | (lto_location_cache::accept_location_cache): New function. | |
37217 | (lto_location_cache::revert_location_cache): New function. | |
37218 | (lto_location_cache::input_location): New function. | |
37219 | (lto_input_location): Do location caching. | |
37220 | (stream_input_location_now): New function. | |
37221 | (input_eh_region, input_struct_function_base): Use | |
37222 | stream_input_location_now. | |
37223 | (lto_data_in_create): use new. | |
37224 | (lto_data_in_delete): Use delete. | |
37225 | * tree-streamer-in.c (unpack_ts_block_value_fields, | |
37226 | unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields, | |
37227 | lto_input_ts_exp_tree_pointers): Update for cached location api. | |
37228 | ||
37229 | 2015-03-26 Jan Hubicka <hubicka@ucw.cz> | |
37230 | ||
37231 | PR ipa/65076 | |
37232 | * passes.def: Add pass_nothrow. | |
37233 | * ipa-pure-const.c: (pass_data_nothrow): New. | |
37234 | (pass_nothrow): New. | |
37235 | (pass_nothrow::execute): New. | |
37236 | (make_pass_nothrow): New. | |
37237 | * tree-pass.h (make_pass_nothrow): Declare. | |
37238 | ||
37239 | 2015-03-26 Jan Hubicka <hubicka@ucw.cz> | |
37240 | ||
37241 | * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for | |
37242 | edge to change by speculation resolution or redirection. | |
37243 | (edge_set_predicate): Likewise. | |
37244 | (inline_summary_t::duplicate): Likewise. | |
37245 | (remap_edge_summaries): Likewise. | |
37246 | ||
37247 | 2015-03-26 Jan Hubicka <hubicka@ucw.cz> | |
37248 | ||
37249 | * ipa-inline.c (check_maybe_up, check_maybe_down, check_match): | |
37250 | New macros. | |
37251 | (can_inline_edge_p): Relax option matching for always inline functions. | |
37252 | ||
37253 | 2015-03-26 Uros Bizjak <ubizjak@gmail.com> | |
37254 | ||
37255 | PR target/65561 | |
37256 | * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm): | |
37257 | Check operand 4 and operand 0 for equality. | |
37258 | (avx512f_vextract<shuffletype>32x4_1_maskm): | |
37259 | Check operand 6 and operand 0 for equality. | |
37260 | (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0 | |
37261 | for equality. | |
37262 | (vec_extract_hi_<mode>_maskm): Ditto. | |
37263 | ||
37264 | 2015-03-26 Jan Hubicka <hubicka@ucw.cz> | |
37265 | ||
37266 | * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring | |
37267 | dead calls back to live. | |
37268 | (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency | |
37269 | cross check to ... | |
37270 | (cgraph_node::verify_node): ... here; verify only callee edges, | |
37271 | not caller. | |
37272 | * cif-code.def (CILK_SPAWN): New code. | |
37273 | ||
37274 | 2015-03-26 Jan Hubicka <hubicka@ucw.cz> | |
37275 | ||
37276 | * ipa-inline-analysis.c (redirect_to_unreachable): New function. | |
37277 | (edge_set_predicate): Use it to mark unreachable edges. | |
37278 | (inline_summary_t::duplicate): Remove unnecesary code. | |
37279 | (remap_edge_summaries): Likewise. | |
37280 | (dump_inline_summary): Report contains_cilk_spawn. | |
37281 | (compute_inline_parameters): Compute contains_cilk_spawn. | |
37282 | (inline_read_section, inline_write_summary): Stream | |
37283 | contains_cilk_spawn. | |
37284 | * ipa-inline.c (can_inline_edge_p): Do not touch | |
37285 | DECL_STRUCT_FUNCTION that may not be available; | |
37286 | use CIF_CILK_SPAWN for cilk; fix optimization attribute checks; | |
37287 | remove check for callee_fun->can_throw_non_call_exceptions and | |
37288 | replace it by optimization attribute check; check for flag_exceptions. | |
37289 | * ipa-inline-transform.c (inline_call): Maintain | |
37290 | DECL_FUNCTION_PERSONALITY | |
37291 | * ipa-inline.h (inline_summary): Add contains_cilk_spawn. | |
37292 | ||
37293 | 2015-03-26 Jakub Jelinek <jakub@redhat.com> | |
37294 | ||
37295 | PR tree-optimization/65551 | |
37296 | * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use | |
37297 | TYPE_PRECISION only for INTEGRAL_TYPE_P types. | |
37298 | ||
37299 | 2015-03-26 Richard Biener <rguenther@suse.de> | |
37300 | ||
37301 | PR middle-end/65555 | |
37302 | * tree-cfg.c (verify_gimple_call): Do not require a call to | |
37303 | have no LHS if it wasn't recognized as control altering yet. | |
37304 | ||
37305 | 2015-03-26 Jakub Jelinek <jakub@redhat.com> | |
37306 | ||
37307 | PR tree-optimization/64715 | |
37308 | * passes.def: Add another instance of pass_object_sizes before ccp1. | |
37309 | * tree-object-size.c (pass_object_sizes::execute): In | |
37310 | first_pass_instance, only handle __bos (, 1) and __bos (, 3) | |
37311 | calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the | |
37312 | __bos result and the computed constant. Remove redundant | |
37313 | checks, obsoleted by gimple_call_builtin_p test. | |
37314 | ||
37315 | * var-tracking.c (variable_tracking_main_1): Don't track | |
37316 | variables for targetm.no_register_allocation targets. | |
37317 | ||
37318 | 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org> | |
37319 | ||
37320 | * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove. | |
37321 | * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian. | |
37322 | ||
37323 | 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com> | |
37324 | ||
37325 | PR target/65569 | |
37326 | * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use | |
37327 | XXLXOR to create 0.0. On pre-VSX systems make sure the constant | |
37328 | 0.0 is correctly setup. | |
37329 | (extenddftf2_internal): Likewise. | |
37330 | ||
37331 | 2015-03-25 Sebastian Pop <s.pop@samsung.com> | |
37332 | ||
37333 | PR tree-optimization/65177 | |
37334 | * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread. | |
37335 | (bb_in_bbs): New. | |
37336 | (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all | |
37337 | edges not adjacent on the path to the original code. | |
37338 | ||
37339 | 2015-03-25 Uros Bizjak <ubizjak@gmail.com> | |
37340 | ||
37341 | PR bootstrap/65537 | |
37342 | * doc/install.texi (Building a native compiler): Document new | |
37343 | bootstrap-lto-noplugin configuration. Mention that bootstrap-lto | |
37344 | configuration assumes that the host supports the linker plugin. | |
37345 | ||
37346 | 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com> | |
37347 | ||
37348 | PR target/65508 | |
37349 | * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static | |
37350 | chain for generated call. | |
37351 | ||
37352 | 2015-03-25 Richard Biener <rguenther@suse.de> | |
37353 | ||
37354 | * passes.c (pass_manager::execute_early_local_passes): Guard | |
37355 | execution of pass_chkp_instrumentation_passes with | |
37356 | flag_check_pointer_bounds. | |
37357 | (pass_chkp_instrumentation_passes::gate): Likewise. | |
37358 | ||
37359 | 2015-03-25 Martin Liska <mliska@suse.cz> | |
37360 | ||
37361 | PR tree-optimization/65538 | |
37362 | * symbol-summary.h (function_summary::~function_summary): | |
37363 | Relese memory for allocated summaries. | |
37364 | (function_summary::release): New function. | |
37365 | ||
37366 | 2015-03-25 Jakub Jelinek <jakub@redhat.com> | |
37367 | ||
37368 | PR lto/65515 | |
37369 | * lto-streamer-out.c (DFS::worklist): New struct. | |
37370 | (DFS::worklist_vec): New data member. | |
37371 | (DFS::next_dfs_num): Remove. | |
37372 | (DFS::DFS): Rewritten using worklist instead of recursion, | |
37373 | using most of code from DFS::DFS_write_tree. | |
37374 | (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't | |
37375 | pass it to DFS_write_tree calls. | |
37376 | (DFS::DFS_write_tree): Remove SINGLE_P argument, after | |
37377 | quick initial checks push it into worklist_vec and return. | |
37378 | ||
37379 | 2015-03-25 Richard Biener <rguenther@suse.de> | |
37380 | ||
37381 | PR middle-end/65519 | |
37382 | * genmatch.c (expr::gen_transform): Re-write to avoid | |
37383 | using gimple_build. | |
37384 | ||
37385 | 2015-03-25 Bin Cheng <bin.cheng@arm.com> | |
37386 | ||
37387 | * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New. | |
37388 | ||
37389 | 2015-03-25 Bin Cheng <bin.cheng@arm.com> | |
37390 | ||
37391 | * config/arm/arm.opt (print_tune_info): New option. | |
37392 | * config/arm/arm.c (arm_print_tune_info): New function. | |
37393 | (arm_file_start): Call arm_print_tune_info. | |
37394 | * config/arm/arm-protos.h (struct tune_params): Add comment. | |
37395 | * doc/invoke.texi (@item -mprint-tune-info): New item. | |
37396 | (-mtune): mention it in ARM Option Summary. | |
37397 | ||
37398 | 2015-03-25 DJ Delorie <dj@redhat.com> | |
37399 | ||
37400 | * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to | |
37401 | correct clause. | |
37402 | ||
37403 | 2015-03-24 Jan Hubicka <hubicka@ucw.cz> | |
37404 | Martin Liska <mliska@suse.cz> | |
37405 | ||
37406 | * ipa-icf-gimple.h (return_with_result): Add missing colon to dump. | |
37407 | * ipa-icf.c (sem_function::get_hash): Hash new declaration properties. | |
37408 | (sem_item::add_type): New function. | |
37409 | (sem_function::hash_stmt): Add TREE_TYPE of gimple_op. | |
37410 | (sem_function::compare_polymorphic_p): Do not consider indirect calls. | |
37411 | (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash. | |
37412 | (sem_function::equals_wpa): Fix typo. | |
37413 | * ipa-icf.h (sem_item::add_type): New function. | |
37414 | (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol | |
37415 | order. | |
37416 | ||
37417 | 2015-03-24 Jakub Jelinek <jakub@redhat.com> | |
37418 | ||
37419 | PR tree-optimization/65533 | |
37420 | * tree-vect-slp.c (vect_build_slp_tree): Before re-trying | |
37421 | with swapped operands, call vect_free_slp_tree on | |
37422 | SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN | |
37423 | vector. | |
37424 | ||
37425 | 2015-03-24 Richard Biener <rguenther@suse.de> | |
37426 | ||
37427 | PR middle-end/65517 | |
37428 | * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops | |
37429 | for fixup if necessary. | |
37430 | ||
37431 | 2015-03-23 Sandra Loosemore <sandra@codesourcery.com> | |
37432 | ||
37433 | * doc/extend.texi (Function Attributes): Add @cindex entries | |
37434 | for all attributes and regularize their format. Delete text | |
37435 | about long-obsolete 68HC11 and 68HC12 targets. Move misplaced | |
37436 | information about "eightbit_data", "tiny_data", and "model" | |
37437 | variable attributes to the Variable Attributes section. Fix | |
37438 | some obvious typos and copy-editing issues. | |
37439 | (Variable Attributes, Type Attributes): Likewise add/fix | |
37440 | @cindex entries for all attributes. | |
37441 | ||
37442 | 2015-03-23 Jakub Jelinek <jakub@redhat.com> | |
37443 | ||
37444 | PR target/65523 | |
37445 | * tree-chkp.c (chkp_build_returned_bound): Ignore | |
37446 | ERF_RETURNS_ARG calls if they have fewer than needed arguments. | |
37447 | ||
37448 | 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org> | |
37449 | ||
37450 | PR target/65505 | |
37451 | * config/sh/predicates.md (simple_mem_operand, | |
37452 | displacement_mem_operand): Add test for reg. | |
37453 | (short_displacement_mem_operand): Test for displacement_mem_operand | |
37454 | before invoking sh_disp_addr_displacement. | |
37455 | * config/sh/constraints.md (Sdd, Sra): Simplify. | |
37456 | * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): | |
37457 | Remove redundant displacement_mem_operand tests. | |
37458 | ||
37459 | 2015-03-23 Georg-Johann Lay <avr@gjlay.de> | |
37460 | ||
37461 | PR target/65296 | |
37462 | * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify | |
37463 | the same -mmcu=MCU more than once. | |
37464 | ||
37465 | 2015-03-23 Jakub Jelinek <jakub@redhat.com> | |
37466 | ||
37467 | PR bootstrap/65522 | |
37468 | * ipa-devirt.c: Remove duplicate demangle.h include. | |
37469 | ||
37470 | PR target/65504 | |
37471 | * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER | |
37472 | on the pseudo. | |
37473 | (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set | |
37474 | REG_POINTER on *destptr after adjusting it for prologue size. | |
37475 | ||
37476 | PR ipa/65521 | |
37477 | * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash | |
37478 | ultimate_alias_target ()->order ints instead of | |
37479 | ultimate_alias_target () pointers. | |
37480 | ||
37481 | 2015-03-23 Richard Biener <rguenther@suse.de> | |
37482 | ||
37483 | PR tree-optimization/65518 | |
37484 | * tree-vect-stmts.c (vectorizable_load): Reject single-element | |
37485 | interleaving cases we generate absymal code for. | |
37486 | ||
37487 | 2015-03-23 Richard Biener <rguenther@suse.de> | |
37488 | ||
37489 | PR tree-optimization/65494 | |
37490 | * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate | |
37491 | matches here. | |
37492 | (vect_analyze_slp_instance): But do that here, always and once. | |
37493 | ||
37494 | 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
37495 | ||
37496 | * expmed.c (synth_mult): Fix comment about multiplying by T-1 and | |
37497 | adding T or multiplying by T+1 and subracting T. | |
37498 | ||
37499 | 2015-03-22 Jeff Law <law@redhat.com> | |
37500 | ||
37501 | PR rtl-optimization/64317 | |
37502 | * Makefile.in (OBJS): Add gcse-common.c | |
37503 | * gcse.c: Include gcse-common.h | |
37504 | (struct modify_pair_s): Move structure definition to gcse-common.h | |
37505 | (compute_transp): Move function to gcse-common.c. | |
37506 | (canon_list_insert): Similarly. | |
37507 | (record_last_mem_set_info): Break out some code and put it into | |
37508 | gcse-common.c. Call into the new common code. | |
37509 | (compute_local_properties): Pass additional arguments to compute_transp. | |
37510 | * postreload-gcse.c: Include gcse-common.h and df.h | |
37511 | (modify_mem_list_set, blocks_with_calls): New variables. | |
37512 | (modify_mem_list, canon_modify_mem_list, transp): Likewise. | |
37513 | (get_bb_avail_insn): Pass in the expression index too. | |
37514 | (alloc_mem): Allocate memory for the new bitmaps and lists. | |
37515 | (free_mem): Free memory for the new bitmaps and lists. | |
37516 | (insert_expr_in_table): Record a bitmap index for each entry we | |
37517 | add to the table. | |
37518 | (record_last_mem_set_info): Call into common code in gcse-common.c. | |
37519 | (get_bb_avail_insn): If no available insn was found in the requested | |
37520 | BB. If BB has a single predecessor, see if the expression is | |
37521 | transparent in BB and available in that single predecessor. | |
37522 | (compute_expr_transp): New wrapper for compute_transp. | |
37523 | (eliminate_partially_redundant_load): Pass expression's bitmap_index | |
37524 | to get_bb_avail_insn. Compute next_pred_bb_end a bit later. | |
37525 | (gcse_after_reload_main): If there are elements in the hash table, | |
37526 | then compute transparency for all the elements in the hash table. | |
37527 | * gcse-common.h: New file. | |
37528 | * gcse-common.c: New file. | |
37529 | ||
37530 | 2015-03-22 Sandra Loosemore <sandra@codesourcery.com> | |
37531 | ||
37532 | * doc/cpp.texi (Search Path): Hyphenate "command-line" when used | |
37533 | as an adjective. | |
37534 | (System Headers): Likewise. | |
37535 | (Ifdef): Likewise. | |
37536 | (Traditional macros): Likewise. | |
37537 | (Invocation): Likewise. | |
37538 | (Option Index): Likewise. | |
37539 | * doc/cppopts.texi (-M): Likewise. | |
37540 | (-finput-charset): Likewise. | |
37541 | (--help): Likewise. | |
37542 | * doc.invoke.texi (AVR Options): Likewise. | |
37543 | (V850 Options): Likewise. | |
37544 | ||
37545 | 2015-03-22 Jan Hubicka <hubicka@ucw.cz> | |
37546 | ||
37547 | PR ipa/65475 | |
37548 | * ipa-devirt.c: Include demangle.h | |
37549 | (odr_type_d): Add field rtti_broken. | |
37550 | (odr_subtypes_equivalent_p): Do not require name to match. | |
37551 | (compare_virtual_tables): Fix typo; if type already has ODR violation, | |
37552 | bypass the tests; be ready for function referneces in vtables that are | |
37553 | not DECL_VIRTUAL; make warnings to be OPT_Wodr. | |
37554 | (warn_odr): Give up for nameless types. | |
37555 | (warn_types_mismatch): Report mismatch in mangled names; | |
37556 | report mismatch in anonymous namespaces; look into component types to | |
37557 | give useful error; report when mismatch is dragged in from other ODR | |
37558 | type. | |
37559 | (odr_types_equivalent_p): Match types for being polymorphic; avoid | |
37560 | duplicated diagnostics. | |
37561 | (add_type_duplicate): Reorder checks so more informative ones come | |
37562 | first; fix typo; do not output "the extra base is defined here" when | |
37563 | we did not warn. | |
37564 | (BINFO_N_BASE_BINFOS): Relax sanity check. | |
37565 | ||
37566 | 2015-03-22 Martin Liska <mliska@suse.cz> | |
37567 | Jakub Jelinek <jakub@redhat.com> | |
37568 | ||
37569 | * config/i386/i386.c (def_builtin): Set deferred_isa_values for | |
37570 | masks that can potentially include a builtin. | |
37571 | (ix86_add_new_builtins): Introduce fast filter for isa values | |
37572 | that cannot trigger builtin inclusion. | |
37573 | ||
37574 | 2015-03-22 Martin Liska <mliska@suse.cz> | |
37575 | ||
37576 | * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function. | |
37577 | (sem_item::update_hash_by_local_refs): Likewise. | |
37578 | (sem_variable::get_hash): Empty line is fixed. | |
37579 | (sem_item_optimizer::execute): Include adding of hash references. | |
37580 | (sem_item_optimizer::update_hash_by_addr_refs): New function. | |
37581 | (sem_item_optimizer::build_hash_based_classes): Use local hash. | |
37582 | * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function. | |
37583 | (sem_item::update_hash_by_local_refs): Likewise. | |
37584 | ||
37585 | 2015-03-20 Jan Hubicka <hubicka@ucw.cz> | |
37586 | ||
37587 | PR ipa/65502 | |
37588 | * ipa-comdats.c (enqueue_references): Walk through thunks. | |
37589 | (ipa_comdats): Likewise. | |
37590 | (set_comdat_group_1): New function. | |
37591 | ||
37592 | 2015-03-20 Jan Hubicka <hubicka@ucw.cz> | |
37593 | ||
37594 | PR ipa/65475 | |
37595 | * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over | |
37596 | non-polymorphic | |
37597 | ||
37598 | 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com> | |
37599 | Gerald Pfeifer <gerald@pfeifer.com> | |
37600 | ||
37601 | * doc/contrib.texi (Contributors): Update entry for Danny Smith. | |
37602 | ||
37603 | 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com> | |
37604 | Sandra Loosemore <sandra@codesourcery.com> | |
37605 | ||
37606 | * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust | |
37607 | function parameter declaration. | |
37608 | * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value): | |
37609 | Update arguments to nios2_adjust_call_address(). | |
37610 | (sibcall_internal): Rename from *sibcall. | |
37611 | (sibcall_value_internal): Rename from *sibcall_value. | |
37612 | * config/nios2/nios2.c (nios2_emit_add_constant): New function. | |
37613 | (nios2_large_got_address): Add target temp reg parameter. | |
37614 | (nios2_got_address): Adjust call to nios2_large_got_address, add | |
37615 | force_reg around it. | |
37616 | (nios2_load_pic_address): Add target temp reg parameter, replace call | |
37617 | to nios2_got_address with corresponding code. | |
37618 | (nios2_legitimize_constant_address): Update call to | |
37619 | nios2_load_pic_address. | |
37620 | (nios2_adjust_call_address): Add temp reg parameter, update PIC case | |
37621 | to use temp reg for PIC loading purposes. | |
37622 | (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK. | |
37623 | (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. | |
37624 | (TARGET_ASM_OUTPUT_MI_THUNK): Likewise. | |
37625 | ||
37626 | 2015-03-21 Sandra Loosemore <sandra@codesourcery.com> | |
37627 | ||
37628 | * doc/invoke.texi (-fno-diagnostics-show-caret): Fix | |
37629 | usage of "the @option{...}". | |
37630 | (-Wopenmp-simd): Likewise. | |
37631 | (-fsanitize-recover): Likewise. | |
37632 | (-fsanitize-undefined-trap-on-error): Likewise. | |
37633 | (-flto): Likewise. | |
37634 | (tracer-dynamic-coverage-feedback): Likewise. | |
37635 | (reorder-block-duplicate-feedback): Likewise. | |
37636 | (loop-unroll-jam-size): Likewise. | |
37637 | (-B): Likewise. | |
37638 | (-I-): Likewise. | |
37639 | (-mabs=legacy): Likewise. | |
37640 | (-mupper-regs-df): Likewise. | |
37641 | (-mupper-regs-sf): Likewise. | |
37642 | (-mpointers-to-nested-functions): Likewise. | |
37643 | ||
37644 | 2015-03-21 Sandra Loosemore <sandra@codesourcery.com> | |
37645 | ||
37646 | * doc/extend.texi (Cilk Plus Builtins): Add markup. | |
37647 | ||
37648 | 2015-03-21 Sandra Loosemore <sandra@codesourcery.com> | |
37649 | ||
37650 | * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add | |
37651 | additional index entries and cross-references. | |
37652 | (-fchkp-check-incomplete-type): Likewise. | |
37653 | (-fchkp-first-field-has-own-bounds): Likewise. | |
37654 | (-fchkp-narrow-to-innermost-array): Likewise. | |
37655 | (-fchkp-use-fast-string-functions): Likewise. | |
37656 | (-fchkp-use-nochk-string-functions): Likewise. | |
37657 | (-fchkp-use-static-const-bounds): Likewise. | |
37658 | (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise. | |
37659 | (-fchkp-instrument-marked-only): Likewise. | |
37660 | (-fchkp-use-wrappers): Likewise. | |
37661 | (-static-libmpx): Likewise. | |
37662 | (-static-libmpxwrappers): Likewise. | |
37663 | * doc/extend.texi (bnd_legacy): Likewise. | |
37664 | (bnd_instrument): Likewise. | |
37665 | (bnd_variable_size): Likewise. | |
37666 | (Pointer Bounds Checker builtins): Likewise. | |
37667 | ||
37668 | 2015-03-21 Tom de Vries <tom@codesourcery.com> | |
37669 | ||
37670 | PR tree-optimization/65458 | |
37671 | * cgraph.c (cgraph_node::dump): Handle parallelized_function field. | |
37672 | * cgraph.h (cgraph_node): Add parallelized_function field. | |
37673 | * lto-cgraph.c (lto_output_node): Write parallelized_function field. | |
37674 | (input_overwrite_node): Read parallelized_function field. | |
37675 | * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set | |
37676 | parallelized_function on cgraph_node for child_fn. | |
37677 | * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h. | |
37678 | Remove include of gt-tree-parloops.h. | |
37679 | (parallelized_functions): Remove static variable. | |
37680 | (parallelized_function_p): Rewrite using parallelized_function field of | |
37681 | cgraph_node. | |
37682 | (create_loop_fn): Remove adding to parallelized_functions. | |
37683 | * Makefile.in (GTFILES): Remove tree-parloops.c | |
37684 | ||
37685 | 2015-03-20 Vladimir Makarov <vmakarov@redhat.com> | |
37686 | ||
37687 | PR rtl-optimization/64366 | |
37688 | * lra.c (lra_update_insn_regno_info): Consider regs in | |
37689 | CALL_INSN_FUNCTION_USAGE memory. | |
37690 | ||
37691 | 2015-03-20 Richard Biener <rguenther@suse.de> | |
37692 | ||
37693 | PR middle-end/64715 | |
37694 | * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p | |
37695 | for type comparison and gcc_checking_assert. | |
37696 | (chrec_fold_plus_poly_poly): Likewise. | |
37697 | (chrec_fold_multiply_poly_poly): Likewise. | |
37698 | (chrec_convert_1): Likewise. | |
37699 | * gimplify.c (gimplify_expr): Remove premature folding of | |
37700 | &X + CST to &MEM[&X, CST]. | |
37701 | ||
37702 | 2015-03-20 Jan Hubicka <hubicka@ucw.cz> | |
37703 | ||
37704 | * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed | |
37705 | already is final. | |
37706 | (ipa_inline): Recompute inline_failed codes. | |
37707 | * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE, | |
37708 | USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as | |
37709 | CIF_FINAL_ERROR. | |
37710 | ||
37711 | 2015-03-20 Uros Bizjak <ubizjak@gmail.com> | |
37712 | ||
37713 | PR rtl-optimization/60851 | |
37714 | * recog.c (constrain_operands): Accept a pseudo register before reload | |
37715 | for LRA enabled targets. | |
37716 | ||
37717 | 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com> | |
37718 | ||
37719 | PR target/65240 | |
37720 | * config/rs6000/predicates.md (easy_fp_constant): Remove special | |
37721 | -ffast-math handling that kept non-0 constants live in the RTL | |
37722 | until reload. Remove logic testing the number of instructions it | |
37723 | took to create a constant in a GPR that was never used, due to a | |
37724 | test for soft-float earlier. | |
37725 | (memory_fp_constant): Delete, no longer used. | |
37726 | ||
37727 | * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove | |
37728 | alternatives for loading non-0 constants into GPRs for hard | |
37729 | floating point that is no longer needed due to changes in | |
37730 | easy_fp_constant. Add support for loading 0.0 into GPRs. | |
37731 | (mov<mode>_hardfloat32): Likewise. | |
37732 | (mov<mode>_hardfloat64): Likewise. | |
37733 | (mov<mode>_64bit_dm): Likewise. | |
37734 | (movtd_64bit_nodm): Likewise. | |
37735 | (pre-reload move FP constant define_split): Delete define_split, | |
37736 | since it is no longer used. | |
37737 | (extenddftf2_internal): Remove GHF constraints that are not valid | |
37738 | for extenddftf2. | |
37739 | ||
37740 | 2015-03-19 Vladimir Makarov <vmakarov@redhat.com> | |
37741 | ||
37742 | PR rtl-optimization/63491 | |
37743 | * lra-constraints.c (check_and_process_move): Use src instead of | |
37744 | sreg. Remove some dead code. | |
37745 | ||
37746 | 2015-03-19 Jan Hubicka <hubicka@ucw.cz> | |
37747 | ||
37748 | PR ipa/65380 | |
37749 | * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols. | |
37750 | (sem_variable::merge): Likewise. | |
37751 | ||
37752 | 2015-03-19 Martin Liska <mliska@suse.cz> | |
37753 | ||
37754 | PR ipa/65465 | |
37755 | * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset | |
37756 | all fields of cgraph_thunk_info. | |
37757 | ||
37758 | 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com> | |
37759 | ||
37760 | * ipa-chkp.c (chkp_maybe_create_clone): Don't try to | |
37761 | clone instrumented thunks. | |
37762 | ||
37763 | 2015-03-19 Richard Biener <rguenther@suse.de> | |
37764 | ||
37765 | Revert | |
37766 | 2015-03-10 Richard Biener <rguenther@suse.de> | |
37767 | ||
37768 | PR middle-end/63155 | |
37769 | * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. | |
37770 | * tree-ssa-coalesce.c: Include timevar.h. | |
37771 | (attempt_coalesce): Handle graph being NULL. | |
37772 | (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. | |
37773 | Split out abnormal coalescing to ... | |
37774 | (perform_abnormal_coalescing): ... this function. | |
37775 | (coalesce_ssa_name): Perform abnormal coalescing without computing | |
37776 | live/conflict. | |
37777 | (verify_ssa_coalescing_worker): New function. | |
37778 | (verify_ssa_coalescing): Likewise. | |
37779 | ||
37780 | 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
37781 | Jakub Jelinek <jakub@redhat.com> | |
37782 | ||
37783 | PR sanitizer/65400 | |
37784 | * tsan.c (instrument_gimple): Clear tail call flag on | |
37785 | calls. | |
37786 | ||
37787 | 2015-03-19 Jakub Jelinek <jakub@redhat.com> | |
37788 | ||
37789 | PR sanitizer/65400 | |
37790 | * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal | |
37791 | call in the return bb. | |
37792 | (find_split_points): Add RETURN_BB argument, don't call | |
37793 | find_return_bb. | |
37794 | (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument, | |
37795 | if true append TSAN_FUNC_EXIT internal call after the call to | |
37796 | the split off function. | |
37797 | (execute_split_functions): Call find_return_bb here. | |
37798 | Don't optimize if TSAN_FUNC_EXIT is found in unexpected places. | |
37799 | Adjust find_split_points and split_function calls. | |
37800 | ||
37801 | 2015-03-18 DJ Delorie <dj@redhat.com> | |
37802 | ||
37803 | * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands. | |
37804 | (iorqi3_virt): Likewise. | |
37805 | ||
37806 | 2015-03-18 Tom de Vries <tom@codesourcery.com> | |
37807 | ||
37808 | * tree-parloops.c (parallelize_loops): Make static. | |
37809 | * tree-parloops.h (parallelize_loops): Remove extern declaration. | |
37810 | ||
37811 | 2015-03-18 Andrew Stubbs <ams@codesourcery.com> | |
37812 | ||
37813 | PR middle-end/64491 | |
37814 | Revert: | |
37815 | 2014-11-20 Andrew Stubbs <ams@codesourcery.com> | |
37816 | ||
37817 | * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop | |
37818 | condition would be removed due to undefined behaviour. | |
37819 | ||
37820 | 2015-03-18 Martin Liska <mliska@suse.cz> | |
37821 | ||
37822 | PR ipa/65432 | |
37823 | * cgraph.c (cgraph_node::get_create): Remove unnecessary | |
37824 | xstrdup_for_dump wrapper. | |
37825 | * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of | |
37826 | sem_item::name. | |
37827 | (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name | |
37828 | with xstrdup_for_dump. | |
37829 | (sem_variable::equals): Likewise. | |
37830 | (sem_item_optimizer::read_section): Use symtab_node::name instead of | |
37831 | sem_item::name. | |
37832 | (sem_item_optimizer::parse_funcs_and_vars): Likewise. | |
37833 | (sem_item_optimizer::merge_classes): Wrap symtab_node::name and | |
37834 | symtab_node::asm_name with xstrdup_for_dump. | |
37835 | (congruence_class::dump): Use symtab_node::name instead of | |
37836 | sem_item::name. | |
37837 | * ipa-icf.h (symtab_node::name): Remove. | |
37838 | (symtab_node::asm_name): Likewise. | |
37839 | ||
37840 | 2015-03-18 Jakub Jelinek <jakub@redhat.com> | |
37841 | ||
37842 | PR tree-optimization/65450 | |
37843 | * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New | |
37844 | function. | |
37845 | (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use | |
37846 | it instead of duplicate_ssa_name_ptr_info. | |
37847 | ||
37848 | PR target/65222 | |
37849 | * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type. | |
37850 | ||
37851 | 2015-03-18 Richard Biener <rguenther@suse.de> | |
37852 | ||
37853 | * tree-data-ref.h (struct access_matrix): Remove. | |
37854 | (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX, | |
37855 | AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS, | |
37856 | AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise. | |
37857 | (am_vector_index_for_loop): Likewise. | |
37858 | (struct data_reference): Remove access_matrix member. | |
37859 | (DR_ACCESS_MATRIX): Remove. | |
37860 | (lambda_vector_new): Add comment. | |
37861 | (lambda_matrix_new): Use XOBNEWVEC. | |
37862 | ||
37863 | 2015-03-18 Richard Biener <rguenther@suse.de> | |
37864 | ||
37865 | * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg. | |
37866 | (pass_ch::execute): Cleanup the CFG only if we did sth. | |
37867 | * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg. | |
37868 | ||
37869 | 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
37870 | ||
37871 | * expmed.c (synth_mult): Use std::swap instead of manually | |
37872 | swapping algorithms. | |
37873 | ||
37874 | 2015-03-18 Jakub Jelinek <jakub@redhat.com> | |
37875 | ||
37876 | PR target/65078 | |
37877 | * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New. | |
37878 | ||
37879 | 2015-03-16 Georg-Johann Lay <avr@gjlay.de> | |
37880 | ||
37881 | PR target/65296 | |
37882 | * config/avr/avr.opt (-nodevicelib): New option. | |
37883 | * doc/invoke.texi (AVR Options): Document it. | |
37884 | * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link | |
37885 | libgcc.a, libc.a, libm.a. | |
37886 | * config/avr/specs.h: Same. | |
37887 | * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs | |
37888 | which don't (directly) depend on the device. Print more help. | |
37889 | (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a. | |
37890 | (*cpp): Don't define __AVR_DEV_LIB_NAME__. | |
37891 | * config/avr/driver-avr.c: Remove -nodevicelib from option list in | |
37892 | case of an error. | |
37893 | (avr_devicespecs_file): Use suffix "%s" instead of absolute path | |
37894 | for specs file name. | |
37895 | * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove. | |
37896 | * config/avr/avr-mcus.def: Adjust initializers and comments. | |
37897 | ||
37898 | 2015-03-16 Jan Hubicka <hubicka@ucw.cz> | |
37899 | ||
37900 | * tree-sra.c (ipa_sra_preliminary_function_checks): Use | |
37901 | DECL_ONE_ONLY to check if decl is one only. | |
37902 | * ipa-split.c (consider_split): Limit splitt of one only functions. | |
37903 | ||
37904 | 2015-03-16 Jakub Jelinek <jakub@redhat.com> | |
37905 | ||
37906 | PR tree-optimization/65427 | |
37907 | * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New | |
37908 | functions. | |
37909 | (expand_vector_operations_1): Handle BLKmode vector COND_EXPR. | |
37910 | ||
37911 | 2015-03-16 Marek Polacek <polacek@redhat.com> | |
37912 | ||
37913 | * cgraph.h (add_new_static_var): Remove declaration. | |
37914 | * varpool.c (add_new_static_var): Remove function. | |
37915 | ||
37916 | 2015-03-16 Jakub Jelinek <jakub@redhat.com> | |
37917 | ||
37918 | * omp-low.c (expand_omp_target): Use auto_vec<tree, 11> | |
37919 | instead of vec<tree> * with vec_alloc and release for args. | |
37920 | Adjust all users. | |
37921 | ||
37922 | PR middle-end/65431 | |
37923 | * omp-low.c (delete_omp_context): Only splay_tree_delete | |
37924 | reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded | |
37925 | is_gimple_omp_oacc contexts. Don't look at ctx->outer. | |
37926 | ||
37927 | 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com> | |
37928 | ||
37929 | PR sanitizer/64820 | |
37930 | * cfgexpand.c (align_base): New function. | |
37931 | (alloc_stack_frame_space): Call it. | |
37932 | (expand_stack_vars): Align prev_frame to be sure | |
37933 | data->asan_vec elements aligned properly. | |
37934 | ||
37935 | 2015-03-16 Eric Botcazou <ebotcazou@adacore.com> | |
37936 | ||
37937 | PR middle-end/65409 | |
37938 | * expr.c (store_field): Do not do a direct block copy if the source is | |
37939 | a PARALLEL with BLKmode. | |
37940 | ||
37941 | 2015-03-16 Tom de Vries <tom@codesourcery.com> | |
37942 | ||
37943 | PR middle-end/65414 | |
37944 | Revert: | |
37945 | 2015-03-12 Tom de Vries <tom@codesourcery.com> | |
37946 | ||
37947 | PR rtl-optimization/64895 | |
37948 | * lra-lives.c (check_pseudos_live_through_calls): Use | |
37949 | actual_call_used_reg_set instead of call_used_reg_set, if available. | |
37950 | ||
37951 | 2015-03-16 Alan Modra <amodra@gmail.com> | |
37952 | ||
37953 | PR target/63150 | |
37954 | * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg. | |
37955 | Modify Z->r bswapdi splitter to use dest in place of scratch. | |
37956 | In r->Z and Z->r bswapdi splitter rename word_high, word_low | |
37957 | to word1, word2 and rearrange logic to suit. | |
37958 | (bswapdi2_64bit): Remove early clobber on Z->r alternative. | |
37959 | (bswapdi2_ldbrx): Likewise. Remove '??' on r->r. | |
37960 | (bswapdi2_32bit): Remove early clobber on Z->r alternative. | |
37961 | Add one '?' on r->r. Modify Z->r splitter to avoid need for | |
37962 | early clobber. | |
37963 | ||
37964 | 2015-03-14 Jakub Jelinek <jakub@redhat.com> | |
37965 | ||
37966 | PR tree-optimization/65369 | |
37967 | * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>: | |
37968 | Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of | |
37969 | (vs - 1) * TYPE_SIZE_UNIT (elem_type). | |
37970 | ||
37971 | PR tree-optimization/65418 | |
37972 | * tree-ssa-reassoc.c (extract_bit_test_mask): If there | |
37973 | are casts in the first PLUS_EXPR operand, ensure tbias and | |
37974 | *totallowp are in the inner type. | |
37975 | ||
37976 | PR rtl-optimization/65401 | |
37977 | * combine.c (rtx_equal_for_field_assignment_p): Add widen_x | |
37978 | argument. If true, adjust_address_nv of x with big-endian | |
37979 | correction for the mode widening to GET_MODE (y). | |
37980 | (make_field_assignment): Don't do MEM mode widening here. | |
37981 | Use MEM_P instead of GET_CODE == MEM. | |
37982 | ||
37983 | 2015-03-13 Ilya Verbin <ilya.verbin@intel.com> | |
37984 | ||
37985 | * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for | |
37986 | the external decls. | |
37987 | ||
37988 | 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
37989 | ||
37990 | PR target/64600 | |
37991 | * config/arm/arm.c (arm_gen_constant, AND case): Use | |
37992 | ARM_SIGN_EXTEND when constructing AND mask. | |
37993 | ||
37994 | 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
37995 | ||
37996 | * graph.c (print_graph_cfg): Make function names visible and append | |
37997 | parenthesis to it. Also make groups of basic blocks belonging to the | |
37998 | same function visible. | |
37999 | ||
38000 | 2015-03-12 Richard Biener <rguenther@suse.de> | |
38001 | ||
38002 | PR middle-end/44563 | |
38003 | * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards | |
38004 | to avoid quadratic behavior with inline expansion splitting blocks. | |
38005 | * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block | |
38006 | with the successor if the predecessor will be merged with it. | |
38007 | * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the | |
38008 | entry block with its successor. | |
38009 | ||
38010 | 2015-03-13 Richard Biener <rguenther@suse.de> | |
38011 | ||
38012 | PR middle-end/44563 | |
38013 | * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove. | |
38014 | (cleanup_tree_cfg_1): Do not call it. | |
38015 | (execute_cleanup_cfg_post_optimizing): Fixup the CFG here. | |
38016 | (fixup_noreturn_call): Mark the stmt as control altering. | |
38017 | * tree-cfg.c (execute_fixup_cfg): Do not dump the function | |
38018 | here. | |
38019 | (pass_data_fixup_cfg): Produce a dump file. | |
38020 | * tree-ssa-dom.c: Include tree-cfgcleanup.h. | |
38021 | (need_noreturn_fixup): New global. | |
38022 | (pass_dominator::execute): Fixup queued noreturn calls. | |
38023 | (optimize_stmt): Queue calls that became noreturn for fixup. | |
38024 | * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise. | |
38025 | * tree-ssa-pre.c: Include tree-cfgcleanup.h. | |
38026 | (el_to_fixup): New global. | |
38027 | (eliminate_dom_walker::before_dom_childre): Queue calls that | |
38028 | became noreturn for fixup. | |
38029 | (eliminate): Fixup queued noreturn calls. | |
38030 | * tree-ssa-propagate.c: Include tree-cfgcleanup.h. | |
38031 | (substitute_and_fold_dom_walker): New member stmts_to_fixup. | |
38032 | (substitute_and_fold_dom_walker::before_dom_children): Queue | |
38033 | alls that became noreturn for fixup. | |
38034 | (substitute_and_fold): Fixup queued noreturn calls. | |
38035 | ||
38036 | 2015-03-12 Jan Hubicka <hubicka@ucw.cz> | |
38037 | ||
38038 | * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P | |
38039 | and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they | |
38040 | are building; for methods check ODR type of class they belong to if | |
38041 | they may lead to a polymorphic call. | |
38042 | (sem_function::compare_polymorphic_p): Be bit smarter about testing | |
38043 | when function may lead to a polymorphic call. | |
38044 | (sem_function::compare_type_list): Remove. | |
38045 | (sem_variable::equals): Update use of compatible_types_p. | |
38046 | (sem_variable::parse_tree_refs): Remove. | |
38047 | (sem_item_optimizer::filter_removed_items): Do not filter out CXX | |
38048 | cdtor. | |
38049 | * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic | |
38050 | matching here. | |
38051 | (func_checker::compatible_polymorphic_types_p): Break out from ... | |
38052 | (unc_checker::compatible_types_p): ... here. | |
38053 | * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p): | |
38054 | Declare. | |
38055 | (unc_checker::compatible_types_p): Update. | |
38056 | * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections): | |
38057 | Remove. | |
38058 | ||
38059 | 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
38060 | ||
38061 | PR rtl-optimization/65235 | |
38062 | * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case): | |
38063 | When first element of vec_concat is const_int, calculate its size | |
38064 | using second element. | |
38065 | ||
38066 | 2015-03-12 Richard Biener <rguenther@suse.de> | |
38067 | ||
38068 | PR middle-end/65270 | |
38069 | * fold-const.c (operand_equal_p): Fix ordering of resetting | |
38070 | OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case. | |
38071 | ||
38072 | 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
38073 | ||
38074 | * config/s390/s390.c (s390_reorg): Move code to output nops after label | |
38075 | to s390_reorg (). | |
38076 | (s390_asm_output_function_label): Likewise. | |
38077 | * config/s390/s390.c (s390_asm_output_function_label): | |
38078 | Fix function label alignment with -mhtopatch. | |
38079 | * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE, | |
38080 | UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE | |
38081 | ("nop_2_byte"): New define_insn. | |
38082 | ("nop_4_byte"): Likewise. | |
38083 | ("nop_6_byte"): Likewise. | |
38084 | * doc/extend.texi (hotpatch): hotpatch attribute doc fixes. | |
38085 | * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes. | |
38086 | ||
38087 | 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com> | |
38088 | ||
38089 | PR target/65103 | |
38090 | * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC | |
38091 | register. | |
38092 | ||
38093 | 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com> | |
38094 | ||
38095 | PR target/65044 | |
38096 | * toplev.c (process_options): Restrict Pointer Bounds Checker | |
38097 | usage with Address Sanitizer. | |
38098 | ||
38099 | 2015-03-12 Richard Biener <rguenther@suse.de> | |
38100 | ||
38101 | * tree-cfg.c (gimple_split_block): Remove loop finding stmt | |
38102 | to split on. | |
38103 | * omp-low.c (expand_omp_taskreg): Split block before removing | |
38104 | the stmt. | |
38105 | (expand_omp_target): Likewise. | |
38106 | * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it. | |
38107 | * tree-parloops.c (create_call_for_reduction_1): Pass a proper | |
38108 | stmt to split_block. | |
38109 | ||
38110 | 2015-03-12 Tom de Vries <tom@codesourcery.com> | |
38111 | ||
38112 | PR rtl-optimization/64895 | |
38113 | * lra-lives.c (check_pseudos_live_through_calls): Use | |
38114 | actual_call_used_reg_set instead of call_used_reg_set, if available. | |
38115 | ||
38116 | 2015-03-10 Jan Hubicka <hubicka@ucw.cz> | |
38117 | ||
38118 | * cgraph.c (cgraph_node::release_body): Free function_in_decl_state. | |
38119 | (cgraph_node::remove): Likewise. | |
38120 | (cgraph_node::get_untransformed_body): Likewise. | |
38121 | * varpool.c (varpool_node::remove): Likewise. | |
38122 | (varpool_node::get_constructor): Add sanity check. | |
38123 | ||
38124 | 2015-03-11 Sandra Loosemore <sandra@codesourcery.com> | |
38125 | ||
38126 | * doc/invoke.texi (-fgnu89-inline): Remove discussion about | |
38127 | old GCC versions. | |
38128 | (-fabi-compat-version): Likewise. | |
38129 | (-ffriend-injection): Likewise. | |
38130 | (-Wdeclaration-after-statement): Likewise. | |
38131 | (-fomit-frame-pointer): Likewise. | |
38132 | (-ftree-coalesce-inlined-vars): Likewise. | |
38133 | (-fvisibility=): Likewise. | |
38134 | * doc/extend.texi (Typeof): Likewise. | |
38135 | (Zero Length): Likewise. | |
38136 | (Escaped Newlines): Likewise. | |
38137 | (Compound Literals): Likewise. | |
38138 | (Function Attributes): Likewise. | |
38139 | (Label Attributes): Likewise. | |
38140 | (Type Attributes): Likewise. | |
38141 | (Function Names): Likewise. | |
38142 | (Other Builtins): Likewise. | |
38143 | (Function Specific Option Pragmas): Likewise. | |
38144 | (C++ Interface): Likewise. | |
38145 | ||
38146 | 2015-03-11 Thomas Schwinge <thomas@codesourcery.com> | |
38147 | ||
38148 | * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc". | |
38149 | ||
38150 | 2015-03-11 Marek Polacek <polacek@redhat.com> | |
38151 | ||
38152 | PR tree-optimization/65388 | |
38153 | * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison. | |
38154 | ||
38155 | 2015-03-10 Georg-Johann Lay <avr@gjlay.de> | |
38156 | ||
38157 | PR target/65296 | |
38158 | * configure.ac [avr]: Check as for options -mrmw, --mlink-relax. | |
38159 | * configure: Regenerate. | |
38160 | * config.in: Regenerate. | |
38161 | * doc/invoke.texi (AVR Options) [-mrmw]: Document it. | |
38162 | [-mn-flash]: Document it. | |
38163 | [__AVR_ARCH__]: Document avrtiny. | |
38164 | ||
38165 | * config/avr/gen-avr-mmcu-specs.c (config.h): Include it. | |
38166 | (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION. | |
38167 | (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION. | |
38168 | ||
38169 | 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
38170 | ||
38171 | * doc/invoke.texi: Add missing cpu values (z196, zEC12). | |
38172 | ||
38173 | 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> | |
38174 | ||
38175 | PR target/65242 | |
38176 | * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not | |
38177 | allow reloads of PLUS in floating point/VSX registers. | |
38178 | ||
38179 | 2015-03-11 Junmo Park <junmoz.park@samsung.com> | |
38180 | ||
38181 | * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add | |
38182 | crypto_sha256_fast. | |
38183 | (cortex_a57_crypto_complex): Add crypto_sha256_slow. | |
38184 | ||
38185 | 2015-03-11 Richard Biener <rguenther@suse.de> | |
38186 | ||
38187 | PR tree-optimization/65310 | |
38188 | * tree-sra.c (build_ref_for_offset): Also preserve larger | |
38189 | alignment. | |
38190 | ||
38191 | 2015-03-11 Marat Zakirov <m.zakirov@samsung.com> | |
38192 | ||
38193 | * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0. | |
38194 | ||
38195 | 2015-03-10 Jakub Jelinek <jakub@redhat.com> | |
38196 | ||
38197 | PR target/65368 | |
38198 | * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn, | |
38199 | new define_expand. | |
38200 | (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns. | |
38201 | ||
38202 | 2015-03-10 Jan Hubicka <hubicka@ucw.cz> | |
38203 | ||
38204 | * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ... | |
38205 | (sem_function::equals_wpa): ... here. | |
38206 | ||
38207 | 2015-03-10 Marek Polacek <polacek@redhat.com> | |
38208 | Jakub Jelinek <jakub@redhat.com> | |
38209 | ||
38210 | PR sanitizer/65367 | |
38211 | * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG | |
38212 | when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE | |
38213 | separately. | |
38214 | ||
38215 | 2015-03-10 Jakub Jelinek <jakub@redhat.com> | |
38216 | ||
38217 | PR target/65286 | |
38218 | * config/rs6000/t-linux: For powerpc64* target set | |
38219 | MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME. | |
38220 | ||
38221 | 2015-03-10 Richard Biener <rguenther@suse.de> | |
38222 | ||
38223 | PR middle-end/44563 | |
38224 | * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit | |
38225 | for redirect_all_calls. | |
38226 | ||
38227 | 2015-03-10 Marek Polacek <polacek@redhat.com> | |
38228 | ||
38229 | * gdbinit.in (pcfun): Define and document. | |
38230 | ||
38231 | 2015-03-10 Ilya Verbin <ilya.verbin@intel.com> | |
38232 | ||
38233 | * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead | |
38234 | of libgomp-plugin.h. | |
38235 | (find_target_compiler): Support a case when the path to gcc is | |
38236 | specified in the PATH env var, so COLLECT_GCC doesn't contain a path. | |
38237 | (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from | |
38238 | intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from | |
38239 | libgomp-plugin.h. | |
38240 | (main): Use GCC_INSTALL_NAME as target_driver_name. | |
38241 | * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME | |
38242 | define. | |
38243 | (mkoffload.o): Remove obsolete include path and defines. | |
38244 | (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER). | |
38245 | ||
38246 | 2015-03-10 Richard Biener <rguenther@suse.de> | |
38247 | ||
38248 | PR middle-end/63155 | |
38249 | * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare. | |
38250 | * tree-ssa-coalesce.c: Include timevar.h. | |
38251 | (attempt_coalesce): Handle graph being NULL. | |
38252 | (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING. | |
38253 | Split out abnormal coalescing to ... | |
38254 | (perform_abnormal_coalescing): ... this function. | |
38255 | (coalesce_ssa_name): Perform abnormal coalescing without computing | |
38256 | live/conflict. | |
38257 | (verify_ssa_coalescing_worker): New function. | |
38258 | (verify_ssa_coalescing): Likewise. | |
38259 | ||
38260 | 2015-03-10 Georg-Johann Lay <avr@gjlay.de> | |
38261 | ||
38262 | PR target/65296 | |
38263 | * config.gcc (extra_options) [avr]: Remove. | |
38264 | (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o. | |
38265 | (tm_file) [avr]: Add avr/specs.h after avr/avr.h. | |
38266 | (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS. | |
38267 | ||
38268 | * config/avr/avr.opt (config/avr/avr-arch.h): Remove include. | |
38269 | (-mmcu=): Add Var and MissingArgError properties. | |
38270 | (-march=): Remove. | |
38271 | * config/avr/genmultilib.awk: Use -mmcu= instead of -march=. | |
38272 | * config/avr/t-multilib: Regenerate. | |
38273 | * config/avr/specs.h: New file. | |
38274 | * config/avr/driver-avr.c: New file. | |
38275 | * config/avr/genopt.sh: Remove file. | |
38276 | * config/avr/avr-tables.opt: Remove file. | |
38277 | * config/avr/predicates.md (avr_current_arch): Rename to avr_arch. | |
38278 | * config/avr/avr-c.c: Same. | |
38279 | * avr-arch.h: Same. | |
38280 | (avr_current_device): Remove proto. | |
38281 | * config/avr/avr.h (avr_current_arch): Rename to avr_arch. | |
38282 | (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device. | |
38283 | (EXTRA_SPEC_FUNCTIONS): Define. | |
38284 | (avr_devicespecs_file): New specs function proto. | |
38285 | (DRIVER_SELF_SPECS): Use device-specs-file spec function. | |
38286 | * config/avr/avr.c (avr_current_arch): Rename to avr_arch. | |
38287 | (avr_current_device): Remove definition and usage. | |
38288 | (avr_set_core_architecture): New static function. | |
38289 | (avr_option_override): Use it. | |
38290 | * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them. | |
38291 | (mcu_name): New static array. | |
38292 | (comparator, avr_archs_str, avr_mcus_str): New static functions. | |
38293 | (avr_inform_devices, avr_inform_core_architectures): New functions. | |
38294 | * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include. | |
38295 | (avrlibc.h) [WITH_AVRLIBC]: Include. | |
38296 | (../rtems.h, rtems.h) [WITH_RTEMS]: Include. | |
38297 | (print_mcu): Rewrite from scratch. | |
38298 | * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC): | |
38299 | Forward to avr-specific specs defined in device-specs file. | |
38300 | * config/avr/t-avr (driver-avr.o): New rule. | |
38301 | (avr-devices.o): Depend on avr-arch.h. | |
38302 | (avr-mcus): No more depend on avr-tables.opt. | |
38303 | (avr-tables.opt): Remove rule. | |
38304 | (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM. | |
38305 | ||
38306 | 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> | |
38307 | ||
38308 | * c-family/c.opt (fchkp-use-wrappers): New. | |
38309 | * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New. | |
38310 | (chkp_wrap_function): New. | |
38311 | (chkp_build_instrumented_fndecl): Support wrapped | |
38312 | functions. | |
38313 | * doc/invoke.texi (-fcheck-pointer-bounds): New. | |
38314 | (-fchkp-check-incomplete-type): New. | |
38315 | (-fchkp-first-field-has-own-bounds): New. | |
38316 | (-fchkp-narrow-bounds): New. | |
38317 | (-fchkp-narrow-to-innermost-array): New. | |
38318 | (-fchkp-optimize): New. | |
38319 | (-fchkp-use-fast-string-functions): New. | |
38320 | (-fchkp-use-nochk-string-functions): New. | |
38321 | (-fchkp-use-static-bounds): New. | |
38322 | (-fchkp-use-static-const-bounds): New. | |
38323 | (-fchkp-treat-zero-dynamic-size-as-infinite): New. | |
38324 | (-fchkp-check-read): New. | |
38325 | (-fchkp-check-write): New. | |
38326 | (-fchkp-store-bounds): New. | |
38327 | (-fchkp-instrument-calls): New. | |
38328 | (-fchkp-instrument-marked-only): New. | |
38329 | (-fchkp-use-wrappers): New. | |
38330 | (-static-libmpx): New. | |
38331 | (-static-libmpxwrappers): New. | |
38332 | ||
38333 | 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> | |
38334 | ||
38335 | * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New. | |
38336 | (CHKP_SPEC): Add wrappers library. | |
38337 | * c-family/c.opt (static-libmpxwrappers): New. | |
38338 | ||
38339 | 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com> | |
38340 | ||
38341 | * config/i386/linux-common.h (LIBMPX_LIBS): New. | |
38342 | (LIBMPX_SPEC): New. | |
38343 | (CHKP_SPEC): New. | |
38344 | * gcc.c (CHKP_SPEC): New. | |
38345 | (LINK_COMMAND_SPEC): Add CHKP_SPEC. | |
38346 | * c-family/c.opt (static-libmpx): New. | |
38347 | ||
38348 | 2015-03-10 Richard Biener <rguenther@suse.de> | |
38349 | ||
38350 | PR middle-end/44563 | |
38351 | * cgraph.h (struct cgraph_edge_hasher): Add hash overload | |
38352 | for compare_type. | |
38353 | * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer. | |
38354 | (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash. | |
38355 | (cgraph_add_edge_to_call_site_hash): Likewise. | |
38356 | (cgraph_node::get_edge): Likewise. | |
38357 | (cgraph_edge::set_call_stmt): Likewise. | |
38358 | (cgraph_edge::remove_caller): Likewise. | |
38359 | ||
38360 | 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com> | |
38361 | ||
38362 | * config/nds32/nds32.h (callee_saved_regs_size): Rename to ... | |
38363 | (callee_saved_gpr_regs_size): ... this. | |
38364 | (callee_saved_regs_first_regno): Rename to ... | |
38365 | (callee_saved_first_gpr_regno): ... this. | |
38366 | (callee_saved_regs_last_regno) Rename to ... | |
38367 | (callee_saved_last_gpr_regno): ... this. | |
38368 | * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed | |
38369 | variables. | |
38370 | (nds32_initial_elimination_offset): Likewise. | |
38371 | (nds32_expand_prologue): Likewise. | |
38372 | (nds32_expand_epilogue): Likewise. | |
38373 | (nds32_expand_prologue_v3push): Likewise. | |
38374 | (nds32_expand_epilogue_v3pop): Likewise. | |
38375 | * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push): | |
38376 | Adjust renamed variables. | |
38377 | (nds32_output_stack_pop): Likewise. | |
38378 | ||
38379 | 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
38380 | ||
38381 | * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B | |
38382 | code in comment. | |
38383 | ||
38384 | 2015-03-10 Jakub Jelinek <jakub@redhat.com> | |
38385 | ||
38386 | PR rtl-optimization/65321 | |
38387 | * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider | |
38388 | than shift mode. | |
38389 | * var-tracking.c (use_narrower_mode): Likewise. | |
38390 | ||
38391 | 2015-03-10 Jan Hubicka <hubicka@ucw.cz> | |
38392 | ||
38393 | PR tree-optimization/65355 | |
38394 | * varasm.c (notice_global_symbol): Do not produce RTL. | |
38395 | * symtab.c (symtab_node::can_increase_alignment_p): Check for section | |
38396 | anchor. | |
38397 | * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not | |
38398 | check for section anchors. | |
38399 | ||
38400 | 2015-03-10 Alan Modra <amodra@gmail.com> | |
38401 | ||
38402 | PR target/65286 | |
38403 | * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux | |
38404 | to be single-arch by default. Set cpu_is_64bit for powerpc64 | |
38405 | given --with-cpu=native. | |
38406 | * config/rs6000/t-fprules: Do not set default MULTILIB vars. | |
38407 | * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64 | |
38408 | and powerpc64le. | |
38409 | * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test | |
38410 | rs6000_isa_flags rather than TARGET_64BIT. | |
38411 | ||
38412 | 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp> | |
38413 | Kaz Kojima <kkojima@gcc.gnu.org> | |
38414 | ||
38415 | * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases. | |
38416 | ||
38417 | 2015-03-09 Jakub Jelinek <jakub@redhat.com> | |
38418 | ||
38419 | PR lto/65361 | |
38420 | * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT | |
38421 | on a TREE_BINFO, instead use BINFO_TYPE. | |
38422 | ||
38423 | 2015-03-09 Richard Biener <rguenther@suse.de> | |
38424 | ||
38425 | PR middle-end/65270 | |
38426 | * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF. | |
38427 | * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs | |
38428 | operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases | |
38429 | of that. When comparing dereferences compare alignment. | |
38430 | When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info. | |
38431 | ||
38432 | 2015-03-08 Jan Hubicka <hubicka@ucw.cz> | |
38433 | ||
38434 | * ipa-inline-analysis.c (check_callers): Check | |
38435 | node->can_remove_if_no_direct_calls_and_refs_p. | |
38436 | (growth_likely_positive): Reorganize to call | |
38437 | can_remove_if_no_direct_calls_p later. | |
38438 | * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p, | |
38439 | will_be_removed_from_program_if_no_direct_calls_p): Add | |
38440 | will_inline parameter. | |
38441 | * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p, | |
38442 | cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): | |
38443 | Handle inliner case correctly. | |
38444 | ||
38445 | 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
38446 | ||
38447 | PR tree-optimization/63743 | |
38448 | * cfgexpand.c (reorder_operands): Also reorder if only second operand | |
38449 | had its definition forwarded by TER. | |
38450 | ||
38451 | 2015-03-08 Jan Hubicka <hubicka@ucw.cz> | |
38452 | ||
38453 | PR lto/65316 | |
38454 | * ipa-utils.h (types_odr_comparable): Add strict argument. | |
38455 | * ipa-devirt.c: Fix whitespace; | |
38456 | (odr_hasher): Remove. | |
38457 | (odr_name_hasher, odr_vtable_hasher): New hashers. | |
38458 | (can_be_name_hashed_p): New predicate. | |
38459 | (hash_type_name): remove. | |
38460 | (hash_odr_name): New. | |
38461 | (odr_name_hasher::hash): new. | |
38462 | (can_be_vtable_hashed_p): New. | |
38463 | (hash_odr_vtable): New. | |
38464 | (odr_vtable_hasher::hash): New. | |
38465 | (types_same_for_odr): Add strict parameter. | |
38466 | (types_odr_comparable): Likewise. | |
38467 | (odr_name_hasher::equal): New. | |
38468 | (odr_vtable_hasher::equal): New. | |
38469 | (odr_name_hasher::remove): New. | |
38470 | (odr_hash_type): Change to hash_table<odr_name_hasher>. | |
38471 | (odr_vtable_hash_type): New. | |
38472 | (odr_vtable_hash): New. | |
38473 | (odr_subtypes_equivalent_p): Do strict comparsion. | |
38474 | (add_type_duplicate): Merge type names; cleanup; avoid type | |
38475 | duplicates. | |
38476 | (register_odr_type): Initialize vtable hash. | |
38477 | (build_type_inheritance_graph): Likewise | |
38478 | (get_odr_type): Reorg to use two hashes. | |
38479 | (dump_possible_polymorphic_call_targets): Move sanity check after debug | |
38480 | output. | |
38481 | (ipa_devirt): Dump type_inheritance_graph. | |
38482 | (types_same_for_odr): Add strict mode. | |
38483 | ||
38484 | 2015-03-05 Jan Hubicka <hubicka@ucw.cz> | |
38485 | ||
38486 | PR ipa/65334 | |
38487 | * cgraph.h (symtab_node): Add definition_alignment, | |
38488 | can_increase_alignment_p and increase_alignment. | |
38489 | * symtab.c (symtab_node::can_increase_alignment_p, | |
38490 | increase_alignment_1, symtab_node::increase_alignment, | |
38491 | symtab_node::definition_alignment): New. | |
38492 | * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use | |
38493 | can_increase_alignment_p. | |
38494 | * tree-vectorizer.c (increase_alignment): Use increase_alignment. | |
38495 | * tree-vect-stmts.c (ensure_base_align): Likewise. | |
38496 | * varasm.c (function_section_1): Use definition_alignment. | |
38497 | (assemble_start_function): Likewise. | |
38498 | (emit_local): likewise. | |
38499 | (build_constant_desc): Likewsie. | |
38500 | (output_constant_def_contents): Likewise. | |
38501 | (place_block_symbol): Likewise. | |
38502 | (output_object_block): Likewise. | |
38503 | ||
38504 | 2015-03-05 Jan Hubicka <hubicka@ucw.cz> | |
38505 | ||
38506 | PR ipa/65316 | |
38507 | * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE | |
38508 | when outputting debug. | |
38509 | ||
38510 | 2015-03-07 Marek Polacek <polacek@redhat.com> | |
38511 | Martin Uecker <uecker@eecs.berkeley.edu> | |
38512 | ||
38513 | PR sanitizer/65280 | |
38514 | * doc/invoke.texi: Update description of -fsanitize=bounds. | |
38515 | ||
38516 | 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com> | |
38517 | ||
38518 | * tree-ssa-phiopt.c (neg_replacement): Remove. | |
38519 | (tree_ssa_phiopt_worker): Remove negate optimization. | |
38520 | ||
38521 | 2015-03-05 Jan Hubicka <hubicka@ucw.cz> | |
38522 | ||
38523 | PR ipa/65302 | |
38524 | * value-prof.c (gimple_ic): Pure dead eh edges when needed. | |
38525 | ||
38526 | 2015-03-06 Richard Biener <rguenther@suse.de> | |
38527 | ||
38528 | PR middle-end/64928 | |
38529 | * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack | |
38530 | and liveout_obstack members. | |
38531 | (calculate_live_on_exit): Remove. | |
38532 | (calculate_live_ranges): Change declaration. | |
38533 | * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var. | |
38534 | (new_tree_live_info): Adjust. | |
38535 | (calculate_live_ranges): Delete livein when not wanted. | |
38536 | (calculate_live_ranges): Do not initialize liveness_bitmap_obstack. | |
38537 | Deal with partly deleted live info. | |
38538 | (loe_visit_block): Remove temporary bitmap by using | |
38539 | bitmap_ior_and_compl_into. | |
38540 | (live_worklist): Adjust accordingly. | |
38541 | (calculate_live_on_exit): Make static. | |
38542 | * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges | |
38543 | we do not need livein. | |
38544 | ||
38545 | 2015-03-06 Jonathan Wakely <jwakely@redhat.com> | |
38546 | ||
38547 | * real.c (real_from_string): Fix typo in assertion. | |
38548 | ||
38549 | 2015-03-06 Alex Velenko <alex.velenko@arm.com> | |
38550 | ||
38551 | * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of | |
38552 | the patch. | |
38553 | ||
38554 | 2015-03-05 Jan Hubicka <hubicka@ucw.cz> | |
38555 | ||
38556 | * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags. | |
38557 | ||
38558 | 2015-03-05 Vladimir Makarov <vmakarov@redhat.com> | |
38559 | ||
38560 | PR target/64342 | |
38561 | * lra-assigns.c (find_hard_regno_for): Rename to | |
38562 | find_hard_regno_for_1. Add a new parameter. | |
38563 | (find_hard_regno_for): New function using find_hard_regno_for_1. | |
38564 | ||
38565 | 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
38566 | ||
38567 | PR rtl-optimization/65067 | |
38568 | * expmed.c (store_bit_field, extract_bit_field): Reworked the | |
38569 | strict volatile bitfield handling. | |
38570 | ||
38571 | 2015-03-05 Martin Liska <mliska@suse.cz> | |
38572 | ||
38573 | PR ipa/65318 | |
38574 | * ipa-icf.c (sem_variable::equals): Compare variables types. | |
38575 | ||
38576 | 2015-03-05 Richard Henderson <rth@redhat.com> | |
38577 | ||
38578 | PR target/65121 | |
38579 | * config/arm/arm.c (arm_function_in_section_p): Fix predicate to | |
38580 | correctly check weak symbol binding. | |
38581 | ||
38582 | 2015-03-05 Steve Ellcey <sellcey@imgtec.com> | |
38583 | ||
38584 | PR middle-end/65315 | |
38585 | * cfgexpand.c (expand_stack_vars): Update large_align to maximum | |
38586 | needed alignment. | |
38587 | ||
38588 | 2015-03-05 Martin Liska <mliska@suse.cz> | |
38589 | ||
38590 | * ipa-inline.c (inline_small_functions): Set default value to | |
38591 | prevent warning during bootstrap. | |
38592 | * tree.h: Add pragma guard that ignores false positives during | |
38593 | bootstrap. | |
38594 | ||
38595 | 2015-03-05 Richard Biener <rguenther@suse.de> | |
38596 | ||
38597 | PR tree-optimization/65310 | |
38598 | * tree-vect-data-refs.c (vect_compute_data_ref_alignment): | |
38599 | Properly preserve alignment of the base of the access. | |
38600 | ||
38601 | 2015-03-05 Richard Biener <rguenther@suse.de> | |
38602 | ||
38603 | PR ipa/65270 | |
38604 | * ipa-icf-gimple.c (func_checker::compare_memory_operand): | |
38605 | Compare dependence info. | |
38606 | ||
38607 | 2015-03-05 Richard Biener <rguenther@suse.de> | |
38608 | ||
38609 | PR middle-end/65233 | |
38610 | * ipa-polymorphic-call.c: Include tree-ssa-operands.h and | |
38611 | tree-into-ssa.h. | |
38612 | (walk_ssa_copies): Revert last chage. Instead do not walk | |
38613 | SSA names registered for SSA update. | |
38614 | ||
38615 | 2015-03-03 Jan Hubicka <hubicka@ucw.cz> | |
38616 | ||
38617 | PR ipa/65270 | |
38618 | * ipa-icf.c (sem_item::compare_cgraph_references): Compare | |
38619 | vtable references for their containing type. | |
38620 | (sem_function::equals_wpa): Compare TYPE_RESTRICT | |
38621 | and type attributes. | |
38622 | ||
38623 | 2015-03-04 Eric Botcazou <ebotcazou@adacore.com> | |
38624 | ||
38625 | * fold-const.c (round_up_loc): Cast divisor to signed on all paths | |
38626 | before negating it. | |
38627 | * stor-layout.c (finalize_record_size): Revert latest change. | |
38628 | ||
38629 | 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org> | |
38630 | ||
38631 | * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs. | |
38632 | ||
38633 | 2015-03-03 Jan Hubicka <hubicka@ucw.cz> | |
38634 | ||
38635 | * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite | |
38636 | for correct comdat handling. | |
38637 | (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p): | |
38638 | Likewise. | |
38639 | * cgraph.h (call_for_symbol_and_aliases): Fix formating. | |
38640 | (used_from_object_file_p_worker): Remove. | |
38641 | (cgraph_node::only_called_directly_or_alised): Add | |
38642 | used_from_object_file_p. | |
38643 | * ipa-inline-analysis.c (growth_likely_positive): Optimie. | |
38644 | * ipa-inline-transform.c (can_remove_node_now_p_1): Use | |
38645 | can_remove_if_no_direct_calls_and_refs_p. | |
38646 | ||
38647 | 2015-03-04 Nick Clifton <nickc@redhat.com> | |
38648 | ||
38649 | * config/rl78/rl78.h (enum reg_class): Remove real registers from | |
38650 | General register class. | |
38651 | * config/rl78/rl78-real.md: Replace general register constraints | |
38652 | with real+virtual register constraints. | |
38653 | ||
38654 | 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com> | |
38655 | ||
38656 | * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins | |
38657 | from checking for -mhtm option. | |
38658 | ||
38659 | 2015-03-03 Jan Hubicka <hubicka@ucw.cz> | |
38660 | ||
38661 | * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases. | |
38662 | (struct ipa_sra_check_caller_data): Add has_thunk field. | |
38663 | (ipa_sra_check_caller): Check for thunk. | |
38664 | (ipa_sra_preliminary_function_checks): Give up on function with | |
38665 | thunks. | |
38666 | (ipa_early_sra): Use call_for_symbol_and_aliases. | |
38667 | ||
38668 | 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org> | |
38669 | ||
38670 | PR target/65249 | |
38671 | * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when | |
38672 | called for __stack_chk_guard symbol. | |
38673 | ||
38674 | 2015-03-03 DJ Delorie <dj@redhat.com> | |
38675 | ||
38676 | * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for | |
38677 | inc/dec. | |
38678 | (*addhi3_real): Likewise. | |
38679 | * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional | |
38680 | pattern to match incrementing memory. | |
38681 | * config/rl78/predicates.md (rl78_1_2_operand): New. | |
38682 | * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if | |
38683 | it's the same and only mem. | |
38684 | (rl78_alloc_physical_registers_op2): If there's effectively only | |
38685 | one MEM, transcode it into HL. | |
38686 | (rl78_far_p): Reject addresses that aren't legitimate. | |
38687 | ||
38688 | 2015-03-03 Eric Botcazou <ebotcazou@adacore.com> | |
38689 | ||
38690 | * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before | |
38691 | negating it. | |
38692 | ||
38693 | * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message. | |
38694 | ||
38695 | 2015-03-03 Max Filippov <jcmvbkbc@gmail.com> | |
38696 | ||
38697 | Implement call0 ABI for xtensa | |
38698 | * config/xtensa/constraints.md ("a" constraint): Include stack | |
38699 | pointer in case of call0 ABI. | |
38700 | ("q" constraint): Make empty in case of call0 ABI. | |
38701 | ("D" constraint): Include stack pointer in case of call0 ABI. | |
38702 | * config/xtensa/xtensa-protos.h (xtensa_set_return_address, | |
38703 | xtensa_expand_epilogue, xtensa_regno_to_class): Add new function | |
38704 | prototypes. | |
38705 | * config/xtensa/xtensa.c (xtensa_callee_save_size): New | |
38706 | variable. | |
38707 | (xtensa_regno_to_class): Make it a local variable in the | |
38708 | function xtensa_regno_to_class. | |
38709 | (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove | |
38710 | macro, function prototype and implementation. | |
38711 | (reg_nonleaf_alloc_order): Make it a local variable in the | |
38712 | function order_regs_for_local_alloc. | |
38713 | (xtensa_conditional_register_usage): New function. | |
38714 | (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro. | |
38715 | (xtensa_valid_move): Allow direct moves to stack pointer | |
38716 | register in call0 ABI. | |
38717 | (xtensa_setup_frame_addresses): Only spill register windows in | |
38718 | windowed ABI. | |
38719 | (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and | |
38720 | call0 ABI respectively. | |
38721 | (xtensa_function_arg_1): Only mark a7 register for copying in | |
38722 | windowed ABI. | |
38723 | (xtensa_call_save_reg): New function. | |
38724 | (compute_frame_size): Add space for callee saved register | |
38725 | storage to the frame size in call0 ABI. | |
38726 | (xtensa_expand_prologue): Generate code to set up stack frame | |
38727 | and save callee-saved registers in call0 ABI. | |
38728 | (xtensa_expand_epilogue): New function. | |
38729 | (xtensa_set_return_address): New function. | |
38730 | (xtensa_return_addr): Calculate return address in call0 ABI. | |
38731 | (xtensa_builtin_saveregs): Only mark a7 register for copying and | |
38732 | emit copying code in windowed ABI. | |
38733 | (order_regs_for_local_alloc): Add preferred register allocation | |
38734 | order for non-leaf function in call0 ABI. | |
38735 | (xtensa_static_chain): Add atatic chain passing for call0 ABI. | |
38736 | (xtensa_asm_trampoline_template): Add trampoline generation for | |
38737 | call0 ABI. | |
38738 | (xtensa_trampoline_init): Add trampoline initialization for | |
38739 | call0 ABI. | |
38740 | (xtensa_conditional_register_usage, xtensa_regno_to_class): New | |
38741 | functions. | |
38742 | * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro. | |
38743 | (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI. | |
38744 | (CALL_USED_REGISTERS): Modify to encode both windowed and call0 | |
38745 | ABI call-used registers. | |
38746 | (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI. | |
38747 | (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in | |
38748 | call0 ABI. | |
38749 | (REG_CLASS_CONTENTS): Include all registers into the preferred | |
38750 | reload registers set, adjust the set in the | |
38751 | xtensa_conditional_register_usage. | |
38752 | (xtensa_regno_to_class): Drop variable declaration. | |
38753 | (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class | |
38754 | function. | |
38755 | (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI | |
38756 | respectively. | |
38757 | (FUNCTION_PROFILER): Add _mcount call for call0 ABI. | |
38758 | (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI. | |
38759 | (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI. | |
38760 | (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool | |
38761 | location in call0 ABI. | |
38762 | (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing | |
38763 | stack adjustment size when handling exception. | |
38764 | (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI. | |
38765 | * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New | |
38766 | definitions. | |
38767 | ("return" pattern): Generate ret.n/ret in call0 ABI. | |
38768 | ("epilogue" pattern): Expand epilogue. | |
38769 | ("nonlocal_goto" pattern): Use default in call0 ABI. | |
38770 | ("eh_return" pattern): Move implementation to eh_set_a0_windowed, | |
38771 | emit eh_set_a0_* depending on ABI. | |
38772 | ("eh_set_a0_windowed" pattern): Former eh_return pattern. | |
38773 | ("eh_set_a0_call0", "blockage"): New patterns. | |
38774 | ||
38775 | 2015-03-03 Martin Liska <mliska@suse.cz> | |
38776 | ||
38777 | PR ipa/65287 | |
38778 | * ipa-icf.c (sem_variable::parse): Skip all alias variables. | |
38779 | ||
38780 | 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com> | |
38781 | ||
38782 | PR 65138/target | |
38783 | * config/rs6000/rs6000-tables.opt: Regenerate table. | |
38784 | ||
38785 | 2015-03-03 Renlin Li <renlin.li@arm.com> | |
38786 | ||
38787 | * doc/md.texi (@item ^): Change ? into ^. | |
38788 | ||
38789 | 2015-03-03 H.J. Lu <hongjiu.lu@intel.com> | |
38790 | ||
38791 | * doc/tm.texi: Regenerated. | |
38792 | ||
38793 | 2015-03-03 Max Filippov <jcmvbkbc@gmail.com> | |
38794 | ||
38795 | * builtins.c (expand_builtin_return_addr): Add | |
38796 | RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove | |
38797 | surrounding #ifdef. | |
38798 | * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change | |
38799 | definition to 1. | |
38800 | * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME): | |
38801 | Likewise. | |
38802 | * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if | |
38803 | undefined. | |
38804 | * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update | |
38805 | paragraph. | |
38806 | ||
38807 | 2015-03-03 Martin Jambor <mjambor@suse.cz> | |
38808 | Eric Botcazou <ebotcazou@adacore.com> | |
38809 | ||
38810 | * tree-sra.c (ipa_sra_check_caller_data): New type. | |
38811 | (has_caller_p): Removed. | |
38812 | (ipa_sra_check_caller): New function. | |
38813 | (ipa_sra_preliminary_function_checks): Use it. | |
38814 | ||
38815 | 2015-03-03 Martin Liska <mliska@suse.cz> | |
38816 | ||
38817 | * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or | |
38818 | instead of if branch. | |
38819 | ||
38820 | 2015-03-03 Martin Liska <mliska@suse.cz> | |
38821 | ||
38822 | PR ipa/65282 | |
38823 | * ipa-icf.c (sem_variable::equals): Fix wrong condition. | |
38824 | ||
38825 | 2015-03-23 Jeff Law <law@redhat.com> | |
38826 | ||
38827 | PR tree-optimization/65241 | |
38828 | * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr | |
38829 | hash table if INSERT is true. | |
38830 | ||
38831 | 2015-03-03 Georg-Johann Lay <avr@gjlay.de> | |
38832 | ||
38833 | PR target/65296 | |
38834 | * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove. | |
38835 | ||
38836 | 2015-03-03 Georg-Johann Lay <avr@gjlay.de> | |
38837 | ||
38838 | PR target/64331 | |
38839 | * config/avr/avr.c (context.h, tree-pass.h): Include them. | |
38840 | (avr_pass_data_recompute_notes): New static variable. | |
38841 | (avr_pass_recompute_notes): New class. | |
38842 | (avr_register_passes): New static function. | |
38843 | (avr_option_override): Call it. | |
38844 | ||
38845 | 2015-03-03 Georg-Johann Lay <avr@gjlay.de> | |
38846 | ||
38847 | Fix various problems with specs file generation. | |
38848 | ||
38849 | PR target/65296 | |
38850 | * config.gcc (extra_gcc_objs) [avr]: Remove. | |
38851 | * config/avr/driver-avr.c: Remove file. | |
38852 | * config/avr/t-avr (driver-avr.o): Remove rule. | |
38853 | (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and | |
38854 | INCLUDES to build. Depend on TM_H. | |
38855 | * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various | |
38856 | build warnings. Fix non-matching types and non-existing %-codes. | |
38857 | (tm.h): Include. | |
38858 | (*lib) [!WITH_AVRLIBC]: Don't link libdev.a. | |
38859 | (*libgcc) [WITH_AVRLIBC]: Add "-lm". | |
38860 | * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition. | |
38861 | * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=. | |
38862 | (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC) | |
38863 | (LIBGCC_SPEC): Remove definitions. | |
38864 | ||
38865 | 2015-03-03 Eric Botcazou <ebotcazou@adacore.com> | |
38866 | ||
38867 | * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG | |
38868 | to create a register in testing mode. | |
38869 | ||
38870 | 2015-03-03 Martin Liska <mliska@suse.cz> | |
38871 | Jan Hubicka <hubicka@ucw.cz> | |
38872 | ||
38873 | PR ipa/65263 | |
38874 | * cgraph.c (cgraph_node::has_thunk_p): New function. | |
38875 | * cgraph.h (cgraph_node::has_thunk_p: Likewise. | |
38876 | * ipa-icf.c (redirect_all_callers): Do not redirect thunks. | |
38877 | (sem_function::merge): Assert is changed. | |
38878 | ||
38879 | 2015-03-03 Martin Liska <mliska@suse.cz> | |
38880 | Martin Jambor <mjambor@suse.cz> | |
38881 | ||
38882 | PR ipa/65087 | |
38883 | * ipa-icf.c (sem_item_optimizer::execute): Change function | |
38884 | return value to boolean. | |
38885 | (sem_item_optimizer::merge_classes): Likewise. | |
38886 | (ipa_icf_driver): Return TODO_remove_functions in case there's | |
38887 | a merge operation processed. | |
38888 | * ipa-icf.h: Change function return value to boolean. | |
38889 | ||
38890 | 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com> | |
38891 | ||
38892 | PR 65138/target | |
38893 | * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic | |
38894 | processor type for 64-bit little endian PowerPC. | |
38895 | ||
38896 | * config/rs6000/rs6000.c (rs6000_option_override_internal): If | |
38897 | -mdebug=reg, print TARGET_DEFAULT. Fix logic to use | |
38898 | TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg | |
38899 | printing built-in mask so it does not pass NULL pointers. | |
38900 | ||
38901 | * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document | |
38902 | -mcpu=powerpc64le. | |
38903 | ||
38904 | 2015-03-02 Steve Ellcey <sellcey@imgtec.com> | |
38905 | ||
38906 | PR target/58158 | |
38907 | * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to | |
38908 | !ISA_HAS_FP_CONDMOVE. | |
38909 | ||
38910 | 2015-03-02 Aldy Hernandez <aldyh@redhat.com> | |
38911 | ||
38912 | * config/i386/i386.md (*udivmod<mode>4_pow2): Remove | |
38913 | reload_completed. | |
38914 | ||
38915 | 2015-03-02 Ulrich Drepper <drepper@gmail.com> | |
38916 | ||
38917 | * doc/invoke.texi (Options for Code Generation Conventions): | |
38918 | Fix URL of DSO paper. | |
38919 | ||
38920 | 2015-03-02 Jan Hubicka <hubicka@ucw.cz> | |
38921 | ||
38922 | PR ipa/65130 | |
38923 | * ipa-inline.c (check_callers): Looks for recursion. | |
38924 | (inline_to_all_callers): Give up on uninlinable or recursive edges. | |
38925 | * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update | |
38926 | summary of inline clones. | |
38927 | (do_estimate_growth_1): Fix recursion check. | |
38928 | ||
38929 | 2015-03-02 Jan Hubicka <hubicka@ucw.cz> | |
38930 | ||
38931 | PR ipa/64988 | |
38932 | * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve | |
38933 | comdat groups. | |
38934 | ||
38935 | 2015-03-02 Jan Hubicka <hubicka@ucw.cz> | |
38936 | Aldy Hernandez <aldyh@redhat.com> | |
38937 | ||
38938 | PR lto/65276 | |
38939 | * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert | |
38940 | when checking TYPE_BINFO. | |
38941 | ||
38942 | 2015-03-02 Richard Biener <rguenther@suse.de> | |
38943 | ||
38944 | PR ipa/65270 | |
38945 | * ipa-icf-gimple.c: Include builtins.h. | |
38946 | (func_checker::compare_memory_operand): Compare base alignment. | |
38947 | ||
38948 | 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com> | |
38949 | ||
38950 | PR target/65184 | |
38951 | * config/i386/i386.c (ix86_pass_by_reference): Bounds are never | |
38952 | passed by reference. | |
38953 | ||
38954 | 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com> | |
38955 | ||
38956 | PR target/65183 | |
38957 | * tree-chkp.c (chkp_check_lower): Don't check against | |
38958 | zero bounds for already instrumented functions. | |
38959 | (chkp_check_upper): Likewise. | |
38960 | (chkp_fini): Clean pass local data to avoid wrong reusage. | |
38961 | ||
38962 | 2015-02-28 Martin Liska <mliska@suse.cz> | |
38963 | Jan Hubicka <hubicka@ucw.cz> | |
38964 | ||
38965 | * ipa-icf.c (sem_variable::equals): Improve debug output; | |
38966 | get variable constructor. | |
38967 | (sem_variable::parse): Do not filter out too early; give up on | |
38968 | volatile and register vars. | |
38969 | (sem_item_optimizer::filter_removed_items): Filter out nonreadonly | |
38970 | variables. | |
38971 | * ipa-icf.h (sem_variable::init): Do not set ctor. | |
38972 | (sem_variable::ctor): Remove. | |
38973 | ||
38974 | 2015-03-01 Aldy Hernandez <aldyh@redhat.com> | |
38975 | ||
38976 | PR middle-end/65233 | |
38977 | * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs. | |
38978 | ||
38979 | 2015-02-28 Jan Hubicka <hubicka@ucw.cz> | |
38980 | ||
38981 | * ipa-icf.c: Include stor-layout.h | |
38982 | (sem_function::compare_cgraph_references): Rename to ... | |
38983 | (sem_item::compare_cgraph_references): ... this one. | |
38984 | (sem_variable::equals_wpa): New function | |
38985 | (sem_variable::equals): Do not check stuff already verified by | |
38986 | equals_wpa. | |
38987 | (sem_variable::equals): Reorg based on varasm.c:compare_constant. | |
38988 | * ipa-icf.h (sem_item): Add compare_cgraph_references. | |
38989 | (sem_function): Remove compare_cgraph_references. | |
38990 | (sem_variable): Turns equals_wpa into non-inline. | |
38991 | ||
38992 | 2015-02-28 Jan Hubicka <hubicka@ucw.cz> | |
38993 | ||
38994 | * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT. | |
38995 | (sem_item::add_expr): New function. | |
38996 | (sem_function::hash_stmt): Handle operands of most statements. | |
38997 | (sem_variable::get_hash): Hash the actual constructor. | |
38998 | * ipa-icf.h (sem_item): Add add_expr. | |
38999 | (sem_function): Update prototype of hash_stmt | |
39000 | ||
39001 | 2015-02-28 Martin Liska <mliska@suse.cz> | |
39002 | Jan Hubicka <hubicka@ucw.cz> | |
39003 | ||
39004 | PR ipa/65245 | |
39005 | * ipa-icf-gimple.c (func_checker::compare_function_decl): | |
39006 | Remove. | |
39007 | (func_checker::compare_variable_decl): Skip symtab vars. | |
39008 | (func_checker::compare_cst_or_decl): Update. | |
39009 | * ipa-icf.c (sem_function::parse): Do not consider aliases. | |
39010 | (sem_function::compare_cgraph_references): Add ADDRESS parameter; | |
39011 | use correct symtab predicates. | |
39012 | (sem_function::equals_wpa): Update uses of compare_cgraph_references. | |
39013 | (sem_variable::parse): Update comment. | |
39014 | (sem_item_optimizer::build_graph): Consider ultimate aliases | |
39015 | for references. | |
39016 | ||
39017 | 2015-02-28 Jan Hubicka <hubicka@ucw.cz> | |
39018 | ||
39019 | * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling | |
39020 | of OBJ_TYPE_REF. | |
39021 | ||
39022 | 2015-02-28 Jan Hubicka <hubicka@ucw.cz> | |
39023 | ||
39024 | * ipa-icf.c (sem_function::merge): Fix handling of COMDAT. | |
39025 | (sem_variable::merge) Likewise. | |
39026 | ||
39027 | 2015-02-28 Jan Hubicka <hubicka@ucw.cz> | |
39028 | ||
39029 | * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline | |
39030 | target; also match flag_ipa_devirt. | |
39031 | ||
39032 | 2015-03-01 Martin Liska <mliska@suse.cz> | |
39033 | Jan Hubicka <hubicka@ucw.cz> | |
39034 | ||
39035 | * ipa-icf-gimple.c (func_checker::compare_variable_decl): | |
39036 | Validate variable alignment. | |
39037 | * ipa-icf.c (sem_function::equals_private): Be more precise | |
39038 | about non-common function attributes. | |
39039 | (sem_variable::equals): Likewise. | |
39040 | ||
39041 | 2015-02-28 Jan Hubicka <hubicka@ucw.cz> | |
39042 | ||
39043 | PR ipa/65237 | |
39044 | * ipa-icf.c (sem_function::merge): Do not attempt to produce alias | |
39045 | across COMDAT group boundary. | |
39046 | ||
39047 | 2015-02-28 Jan Hubicka <hubicka@ucw.cz> | |
39048 | ||
39049 | PR ipa/65232 | |
39050 | * ipa-icf.c (clear_decl_rtl): New function. | |
39051 | (sem_function::merge): Clear RTL before forming alias. | |
39052 | (sem_variable::merge): Clear RTL before forming alias. | |
39053 | ||
39054 | 2015-02-28 Jan Hubicka <hubicka@ucw.cz> | |
39055 | ||
39056 | PR ipa/65236 | |
39057 | * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt. | |
39058 | ||
39059 | 2015-02-28 Xingxing Pan <xxingpan@marvell.com> | |
39060 | ||
39061 | * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type | |
39062 | to neon_to_gp<q>. | |
39063 | ||
39064 | 2015-02-27 Vladimir Makarov <vmakarov@redhat.com> | |
39065 | ||
39066 | * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix | |
39067 | a typo in the description. | |
39068 | ||
39069 | 2015-02-27 Vladimir Makarov <vmakarov@redhat.com> | |
39070 | ||
39071 | PR target/64317 | |
39072 | * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. | |
39073 | * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New. | |
39074 | * lra-constraints.c: Include "params.h". | |
39075 | (EBB_PROBABILITY_CUTOFF): Use | |
39076 | LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF. | |
39077 | (lra_inheritance): Use '<' instead of '<=' for | |
39078 | EBB_PROBABILITY_CUTOFF. | |
39079 | * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff): | |
39080 | Document change. | |
39081 | ||
39082 | 2015-02-27 Martin Liska <mliska@suse.cz> | |
39083 | ||
39084 | * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing | |
39085 | vector length condition. | |
39086 | ||
39087 | 2015-02-27 Sandra Loosemore <sandra@codesourcery.com> | |
39088 | ||
39089 | * doc/extend.texi (x86 transactional memory intrinsics): | |
39090 | Reorganize discussion of _xbegin. Clarify that the return | |
39091 | value is a bit mask. Expand example and move to end of section. | |
39092 | ||
39093 | 2015-02-26 Jakub Jelinek <jakub@redhat.com> | |
39094 | Aldy Hernandez <aldyh@redhat.com> | |
39095 | ||
39096 | PR rtl-optimization/65220 | |
39097 | * config/i386/i386.md (*udivmod<mode>4_pow2): New. | |
39098 | ||
39099 | 2015-02-27 Vladimir Makarov <vmakarov@redhat.com> | |
39100 | ||
39101 | PR target/65032 | |
39102 | * lra-remat.c (update_scratch_ops): New. | |
39103 | (do_remat): Call it. | |
39104 | * lra.c (lra_register_new_scratch_op): New. Take code from ... | |
39105 | (remove_scratches): ... here. | |
39106 | * lra-int.h (lra_register_new_scratch_op): New prototype. | |
39107 | ||
39108 | 2015-02-27 Marek Polacek <polacek@redhat.com> | |
39109 | ||
39110 | PR c/65040 | |
39111 | * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable | |
39112 | -Wformat-signedness anymore. | |
39113 | ||
39114 | 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | |
39115 | ||
39116 | * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New | |
39117 | function. | |
39118 | (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro. | |
39119 | ||
39120 | 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | |
39121 | ||
39122 | * config/s390/s390.c (enum s390_builtin): | |
39123 | Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC. | |
39124 | (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc. | |
39125 | (s390_init_builtins): Generate new builtin functions. | |
39126 | * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants. | |
39127 | (s390_sfpc, s390_efpc): New pattern definitions. | |
39128 | ||
39129 | 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | |
39130 | ||
39131 | * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin): | |
39132 | Rename S390_BUILTIN_max to S390_BUILTIN_MAX. | |
39133 | (s390_builtin_decls): New array. | |
39134 | (s390_init_builtins): Put builtin decls into s390_builtin_decls. | |
39135 | (s390_builtin_decl): New function. | |
39136 | (TARGET_BUILTIN_DECL): Define macro. | |
39137 | ||
39138 | 2015-02-27 Richard Biener <rguenther@suse.de> | |
39139 | ||
39140 | PR middle-end/63175 | |
39141 | * builtins.c (get_object_alignment_2): Make sure to re-apply | |
39142 | the ANDed mask after recursing to its operand gets us a new | |
39143 | misalignment bit position. | |
39144 | ||
39145 | 2015-02-26 Jan Hubicka <hubicka@ucw.cz> | |
39146 | Martin Liska <mliska@suse.cz> | |
39147 | ||
39148 | PR bootstrap/65150 | |
39149 | * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton): | |
39150 | Use address_matters_p. | |
39151 | (redirect_all_callers, set_addressable): New functions. | |
39152 | (sem_function::merge): Reorganize and fix merging issues. | |
39153 | (sem_variable::merge): Likewise. | |
39154 | (sem_variable::compare_sections): Remove. | |
39155 | * common.opt (fmerge-all-constants, fmerge-constants): Remove | |
39156 | Optimization flag. | |
39157 | * symtab.c (symtab_node::resolve_alias): When alias has aliases, | |
39158 | redirect them. | |
39159 | (symtab_node::make_decl_local): Set ADDRESSABLE bit when | |
39160 | decl is used. | |
39161 | (address_matters_1): New function. | |
39162 | (symtab_node::address_matters_p): New function. | |
39163 | * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix | |
39164 | check for merged flag. | |
39165 | * cgraph.h (address_matters_p): Declare. | |
39166 | (symtab_node::address_taken_from_non_vtable_p): Remove. | |
39167 | (symtab_node::address_can_be_compared_p): New method. | |
39168 | (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify. | |
39169 | * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p): | |
39170 | Remove. | |
39171 | (comdat_can_be_unshared_p_1) Use address_matters_p. | |
39172 | (update_vtable_references): Fix formating. | |
39173 | * ipa-ref.c (ipa_ref::address_matters_p): Move inline. | |
39174 | * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag. | |
39175 | * cgraphclones.c: Preserve merged and icf_merged flags. | |
39176 | ||
39177 | 2015-02-26 Sandra Loosemore <sandra@codesourcery.com> | |
39178 | ||
39179 | * doc/extend.texi (Function Attributes): Fix spelling and typos. | |
39180 | (Label Attributes): Likewise. | |
39181 | (Cilk Plus Builtins): Likewise. | |
39182 | (ARC SIMD Built-in Functions): Likewise. | |
39183 | (ARM C Language Extensions (ACLE)): Likewise. | |
39184 | (PowerPC Built-in Functions): Likewise. | |
39185 | (PowerPC Hardware Transactional Memory Built-in Functions): | |
39186 | Likewise. | |
39187 | ||
39188 | 2015-02-26 Jakub Jelinek <jakub@redhat.com> | |
39189 | ||
39190 | PR tree-optimization/65216 | |
39191 | * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of | |
39192 | new stmt and new SSA_NAME for lhs whenever the arguments have | |
39193 | changed and weren't just swapped. Fix comment typo. | |
39194 | ||
39195 | PR tree-optimization/65215 | |
39196 | * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false | |
39197 | for PDP endian targets. | |
39198 | (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop): | |
39199 | Fix up formatting issues. | |
39200 | (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access | |
39201 | size is smaller than the original, adjust MEM_REF offset by the | |
39202 | difference of sizes. Use is_gimple_mem_ref_addr instead of | |
39203 | is_gimple_min_invariant test to avoid adding address temporaries. | |
39204 | ||
39205 | 2015-02-26 Martin Liska <mliska@suse.cz> | |
39206 | Jan Hubicka <hubicka@ucw.cz> | |
39207 | ||
39208 | PR ipa/64693 | |
39209 | * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New. | |
39210 | (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function. | |
39211 | (sem_item_optimizer::process_cong_reduction): Include division by | |
39212 | sensitive references. | |
39213 | * ipa-icf.h (struct symbol_compare_hashmap_traits): New class. | |
39214 | * ipa-ref.c (ipa_ref::address_matters_p): New function. | |
39215 | * ipa-ref.h (ipa_ref::address_matters_p): Likewise. | |
39216 | ||
39217 | 2015-02-26 Georg-Johann Lay <avr@gjlay.de> | |
39218 | ||
39219 | PR target/65192 | |
39220 | * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range): | |
39221 | Remove. | |
39222 | * config/avr/avr.c: Same. | |
39223 | (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>: | |
39224 | Refuse any constant address not in 0..0xbf. | |
39225 | * config/avr/avr.md (*mov<mode>, *movsf): Remove | |
39226 | tiny_valid_direct_memory_access_range from insn conditions. | |
39227 | (mov<mode>): Don't special-case expansion of avrtiny addresses. | |
39228 | ||
39229 | 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org> | |
39230 | ||
39231 | PR target/61142 | |
39232 | * config/sh/sh.c (sh_check_add_incdec_notes): New function. | |
39233 | * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it. | |
39234 | * config/sh/predicates.md (const_logical_operand): New predicate. | |
39235 | * config/sh/sh.md: Add new peephole2 patterns. | |
39236 | ||
39237 | 2015-02-26 Marek Polacek <polacek@redhat.com> | |
39238 | ||
39239 | PR ipa/65008 | |
39240 | * ipa-inline.c (early_inliner): Recompute inline parameters. | |
39241 | ||
39242 | 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> | |
39243 | ||
39244 | PR target/65171 | |
39245 | * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure | |
39246 | instructions with TImode operands are included in the analysis. | |
39247 | ||
39248 | 2015-02-26 Sebastian Pop <s.pop@samsung.com> | |
39249 | ||
39250 | * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges | |
39251 | of an EDGE_FSM_THREAD. | |
39252 | ||
39253 | 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com> | |
39254 | ||
39255 | * config/rs6000/htm.md (tcheck): Fix assembly encoding. | |
39256 | ||
39257 | 2015-02-25 Aldy Hernandez <aldyh@redhat.com> | |
39258 | ||
39259 | PR debug/46102 | |
39260 | * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups. | |
39261 | ||
39262 | 2015-02-26 Sebastian Pop <s.pop@samsung.com> | |
39263 | ||
39264 | PR tree-optimization/65048 | |
39265 | * tree-ssa-threadupdate.c (valid_jump_thread_path): New. | |
39266 | (thread_through_all_blocks): Call valid_jump_thread_path. | |
39267 | Remove invalid FSM jump-thread paths. | |
39268 | ||
39269 | 2015-02-26 Jakub Jelinek <jakub@redhat.com> | |
39270 | ||
39271 | * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table. | |
39272 | (ipa_write_optimization_summaries): Likewise. | |
39273 | * tree-streamer.h: Include data-streamer.h. | |
39274 | (streamer_mode_table): Declare extern variable. | |
39275 | (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions. | |
39276 | * lto-streamer-out.c (lto_output_init_mode_table, | |
39277 | lto_write_mode_table): New functions. | |
39278 | (produce_asm_for_decls): Call lto_write_mode_table when streaming | |
39279 | offloading LTO. | |
39280 | * lto-section-in.c (lto_section_name): Add "mode_table" entry. | |
39281 | (lto_create_simple_input_block): Add mode_table argument to the | |
39282 | lto_input_block constructors. | |
39283 | * ipa-prop.c (ipa_prop_read_section, read_replacements_section): | |
39284 | Likewise. | |
39285 | * data-streamer-in.c (string_for_index): Likewise. | |
39286 | * ipa-inline-analysis.c (inline_read_section): Likewise. | |
39287 | * ipa-icf.c (sem_item_optimizer::read_section): Likewise. | |
39288 | * lto-cgraph.c (input_cgraph_opt_section): Likewise. | |
39289 | * lto-streamer-in.c (lto_read_body_or_constructor, | |
39290 | lto_input_toplevel_asms): Likewise. | |
39291 | (lto_input_mode_table): New function. | |
39292 | * tree-streamer-out.c (pack_ts_fixed_cst_value_fields, | |
39293 | pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields): | |
39294 | Use bp_pack_machine_mode. | |
39295 | * real.h (struct real_format): Add name field. | |
39296 | * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table. | |
39297 | (class lto_input_block): Add mode_table member. | |
39298 | (lto_input_block::lto_input_block): Add mode_table_ argument, | |
39299 | initialize mode_table. | |
39300 | (struct lto_file_decl_data): Add mode_table field. | |
39301 | (lto_input_mode_table, lto_output_init_mode_table): New prototypes. | |
39302 | * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields, | |
39303 | unpack_ts_decl_common_value_fields, | |
39304 | unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode. | |
39305 | * tree-streamer.c (streamer_mode_table): New variable. | |
39306 | * real.c (ieee_single_format, mips_single_format, | |
39307 | motorola_single_format, spu_single_format, ieee_double_format, | |
39308 | mips_double_format, motorola_double_format, | |
39309 | ieee_extended_motorola_format, ieee_extended_intel_96_format, | |
39310 | ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, | |
39311 | ibm_extended_format, mips_extended_format, ieee_quad_format, | |
39312 | mips_quad_format, vax_f_format, vax_d_format, vax_g_format, | |
39313 | decimal_single_format, decimal_double_format, decimal_quad_format, | |
39314 | ieee_half_format, arm_half_format, real_internal_format): Add name | |
39315 | field. | |
39316 | * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise. | |
39317 | ||
39318 | 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com> | |
39319 | ||
39320 | PR target/65161 | |
39321 | * config/i386/i386.c (ix86_sched_reorder): Skip instruction | |
39322 | reordering for selective scheduling. | |
39323 | ||
39324 | 2015-02-26 Terry Guo <terry.guo@arm.com> | |
39325 | ||
39326 | * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE. | |
39327 | * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag. | |
39328 | (arm_arch_no_volatile_ce): Declare new global variable. | |
39329 | * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable. | |
39330 | (arm_option_override): Assign value to arm_arch_no_volatile_ce. | |
39331 | * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it. | |
39332 | (TARGET_NO_VOLATILE_CE): New macro. | |
39333 | * config/arm/arm.md (arm_comparison_operator): Disabled if not allow | |
39334 | volatile memory access in IT block | |
39335 | ||
39336 | 2015-02-25 Kai Tietz <ktietz@redhat.com> | |
39337 | ||
39338 | PR tree-optimization/61917 | |
39339 | * tree-vect-loop.c (vectorizable_reduction): Handle obvious case | |
39340 | that reduc_def_stmt is null. | |
39341 | ||
39342 | 2015-02-25 Martin Liska <mliska@suse.cz> | |
39343 | ||
39344 | * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare | |
39345 | hard register variables. | |
39346 | ||
39347 | 2015-02-25 Kai Tietz <ktietz@redhat.com> | |
39348 | ||
39349 | PR target/64212 | |
39350 | * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0. | |
39351 | (symtab::noninterposable_alias): Likewise. | |
39352 | ||
39353 | 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com> | |
39354 | ||
39355 | PR target/65167 | |
39356 | * config/i386/i386.c (ix86_function_arg_regno_p): Support | |
39357 | bounds registers. | |
39358 | (avoid_func_arg_motion): Add dependencies for BNDSTX insns. | |
39359 | ||
39360 | 2015-02-25 Alan Lawrence <alan.lawrence@arm.com> | |
39361 | ||
39362 | PR target/64997 | |
39363 | * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P | |
39364 | as split condition; force split via '#' in output pattern. | |
39365 | ||
39366 | 2015-02-25 Richard Biener <rguenther@suse.de> | |
39367 | Kai Tietz <ktietz@redhat.com> | |
39368 | ||
39369 | PR tree-optimization/61917 | |
39370 | * tree-vect-loop.c (vectorizable_reduction): Allow | |
39371 | vect_internal_def without reduction to exit graceful. | |
39372 | ||
39373 | 2015-02-25 Georg-Johann Lay <avr@gjlay.de> | |
39374 | ||
39375 | PR target/65196 | |
39376 | * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized | |
39377 | only with NONDEBUG_INSN_P. | |
39378 | ||
39379 | 2015-02-25 Georg-Johann Lay <avr@gjlay.de> | |
39380 | ||
39381 | Use variadic macros with avr-log.c. | |
39382 | ||
39383 | * config/avr/avr-protos.h (avr_vdump): New prototype. | |
39384 | (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos. | |
39385 | (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump. | |
39386 | * config/avr/avr-log.c: Adjust comments. | |
39387 | (avr_vdump): New function. | |
39388 | (avr_vadump): Pass caller as 2nd argument instead of format string. | |
39389 | (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f) | |
39390 | (avr_log_set_caller_e, avr_log_set_caller_f): Remove. | |
39391 | ||
39392 | 2015-02-25 Jakub Jelinek <jakub@redhat.com> | |
39393 | ||
39394 | PR lto/64374 | |
39395 | * target.def (target_option_stream_in): New target hook. | |
39396 | * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke | |
39397 | targetm.target_option.post_stream_in if non-NULL. | |
39398 | * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN. | |
39399 | * doc/tm.texi: Updated. | |
39400 | * config/i386/i386.c (ix86_function_specific_post_stream_in): New | |
39401 | function. | |
39402 | (TARGET_OPTION_POST_STREAM_IN): Redefine. | |
39403 | ||
39404 | 2015-02-24 Jeff Law <law@redhat.com> | |
39405 | ||
39406 | PR target/65117 | |
39407 | * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering | |
39408 | of operand 0 and operand 2. | |
39409 | (zero_cost_loop_end, loop_end): Similarly. | |
39410 | ||
39411 | 2015-02-24 Aldy Hernandez <aldyh@redhat.com> | |
39412 | ||
39413 | * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to | |
39414 | CXX_MEM_STAT_INFO. | |
39415 | ||
39416 | 2015-02-24 DJ Delorie <dj@redhat.com> | |
39417 | ||
39418 | * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well. | |
39419 | * config/rl78/rl78-expand.md (movsf): New, same as movsi. | |
39420 | * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it | |
39421 | instead of hardcoding SImode. | |
39422 | ||
39423 | 2015-02-24 Bernd Schmidt <bernds@codesourcery.com> | |
39424 | ||
39425 | * omp-low.c (create_omp_child_function): Tag entrypoint | |
39426 | functions with a special attribute. | |
39427 | ||
dfb6d139 | 39428 | 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> |
fb2c1edd | 39429 | |
39430 | PR target/65058 | |
39431 | * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable. | |
39432 | ||
39433 | 2015-02-24 Vladimir Makarov <vmakarov@redhat.com> | |
39434 | ||
39435 | PR rtl-optimization/65123 | |
39436 | * lra-remat.c (operand_to_remat): Check hard regs in insn | |
39437 | definition too. | |
39438 | ||
39439 | 2015-02-24 Nick Clifton <nickc@redhat.com> | |
39440 | ||
39441 | * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on | |
39442 | to the assembler. | |
39443 | ||
39444 | 2015-02-24 Thomas Schwinge <thomas@codesourcery.com> | |
39445 | ||
39446 | PR libgomp/64625 | |
39447 | * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as | |
39448 | BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not | |
39449 | BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR. | |
39450 | (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as | |
39451 | BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not | |
39452 | BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR. | |
39453 | (BUILT_IN_GOACC_PARALLEL): Specify as | |
39454 | BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not | |
39455 | BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR. | |
39456 | * builtin-types.def | |
39457 | (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) | |
39458 | (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): | |
39459 | Remove function types. | |
39460 | (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR) | |
39461 | (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR) | |
39462 | (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): | |
39463 | New function types. | |
39464 | ||
39465 | 2015-02-24 Georg-Johann Lay <avr@gjlay.de> | |
39466 | ||
39467 | * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>. | |
39468 | ||
39469 | 2015-02-24 Jakub Jelinek <jakub@redhat.com> | |
39470 | ||
39471 | PR tree-optimization/65170 | |
39472 | * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization, | |
39473 | if val[1] < 0, clear also val[2] and return 3. | |
39474 | ||
39475 | 2015-02-24 Alan Modra <amodra@gmail.com> | |
39476 | ||
39477 | PR target/65172 | |
39478 | * config/rs6000/rs6000.c (get_memref_parts): Only return true | |
39479 | when *base is a reg. Handle nested plus addresses. Simplify | |
39480 | pre_modify test. | |
39481 | ||
39482 | 2015-02-22 Max Filippov <jcmvbkbc@gmail.com> | |
39483 | ||
39484 | * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): | |
39485 | use natural alignment when optimizing for size. | |
39486 | ||
39487 | 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org> | |
39488 | ||
39489 | PR target/65153 | |
39490 | * config/sh/sh.md (movsicc_true+3): Remove peephole. | |
39491 | * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare. | |
39492 | * config/sh/sh.c (replace_n_hard_rtx): Remove. | |
39493 | ||
39494 | 2015-02-23 Richard Sandiford <richard.sandiford@arm.com> | |
39495 | ||
39496 | PR fortran/63427 | |
39497 | * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are | |
39498 | too big for a wide_int. Implement missing wrapping operation. | |
39499 | ||
39500 | 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org> | |
39501 | ||
39502 | PR target/65163 | |
39503 | * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536 | |
39504 | instead of const_int 4294901760. | |
39505 | ||
39506 | 2015-02-23 Georg-Johann Lay <avr@gjlay.de> | |
39507 | ||
39508 | * config/avr/t-avr: Fix typo in comment. | |
39509 | ||
39510 | 2015-02-21 Richard Sandiford <richard.sandiford@arm.com> | |
39511 | ||
39512 | * doc/rtl.texi (fma): Clarify documentation. | |
39513 | ||
39514 | 2015-02-20 Aldy Hernandez <aldyh@redhat.com> | |
39515 | ||
39516 | PR debug/58123 | |
39517 | * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR | |
39518 | over input_location. | |
39519 | ||
39520 | 2015-02-20 Bernd Schmidt <bernds@codesourcery.com> | |
39521 | ||
39522 | * tree-streamer-in.c (unpack_ts_decl_common_value_fields, | |
39523 | unpack_ts_type_common_value_fields): If ACCEL_COMPILER, | |
39524 | restrict alignments to absolute_biggest_alignment. | |
39525 | * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): | |
39526 | Define. | |
39527 | * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add. | |
39528 | * doc/tm.texi: Regenerate. | |
39529 | * target.def (absolute_biggest_alignment): New DEFHOOKPOD. | |
39530 | ||
39531 | 2015-02-20 Vladimir Makarov <vmakarov@redhat.com> | |
39532 | ||
39533 | PR target/64172 | |
39534 | * ira-color.c (color_pass): Prevent splitting multi-register pseudos. | |
39535 | ||
39536 | 2015-02-20 Richard Biener <rguenther@suse.de> | |
39537 | ||
39538 | PR tree-optimization/65136 | |
39539 | * tree-ssa-propagate.c: Include cfgloop.h. | |
39540 | (replace_phi_args_in): Avoid replacing loop latch edge PHI | |
39541 | arguments with constants. | |
39542 | ||
39543 | 2015-02-20 Jakub Jelinek <jakub@redhat.com> | |
39544 | Martin Liska <mliska@suse.cz> | |
39545 | ||
39546 | PR target/63892 | |
39547 | * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl), | |
39548 | don't try to create_thunk if stdarg_p. If | |
39549 | !sem_item::target_supports_symbol_aliases_p (), similarly, and try to | |
39550 | redirect_callers if possible. | |
39551 | (sem_item_optimizer::execute): Call unregister_hooks here... | |
39552 | (ipa_icf_driver): ... instead of here. | |
39553 | ||
39554 | 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
39555 | ||
39556 | * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3): | |
39557 | Mark operand 0 as earlyclobber in 2nd alternative. | |
39558 | (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3): | |
39559 | Write negated shift amount into QI lowpart operand 0 and use it | |
39560 | in the shift step. | |
39561 | (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise. | |
39562 | ||
39563 | 2015-02-20 Bernd Schmidt <bernds@codesourcery.com> | |
39564 | ||
39565 | * cgraph.h (clone_function_name_1): Declare. | |
39566 | * cgraphclones.c (clone_function_name_1): New function. | |
39567 | (clone_function_name): Use it. | |
39568 | * lto-partition.c: Include "stringpool.h". | |
39569 | (must_not_rename, maybe_rewrite_identifier) | |
39570 | (validize_symbol_for_target): New static functions. | |
39571 | (privatize_symbol_name): Use must_not_rename. | |
39572 | (promote_symbol): Call validize_symbol_for_target. | |
39573 | (lto_promote_cross_file_statics): Likewise. | |
39574 | (lto_promote_statics_nonwpa): Likewise. | |
39575 | ||
39576 | 2015-02-20 Georg-Johann Lay <avr@gjlay.de> | |
39577 | ||
39578 | PR target/64452 | |
39579 | * config/avr/avr.md (pushhi_insn): New insn. | |
39580 | (push<mode>1): Push virtual regs in one chunk using pushhi1_insn. | |
39581 | ||
39582 | 2015-02-20 Bernd Schmidt <bernds@codesourcery.com> | |
39583 | Jakub Jelinek <jakub@redhat.com> | |
39584 | ||
39585 | * tree-streamer.c (preload_common_nodes): Don't preload | |
39586 | TI_VA_LIST* for offloading. | |
39587 | * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER | |
39588 | in_lto_p. | |
39589 | ||
39590 | 2015-02-19 John David Anglin <danlgin@gcc.gnu.org> | |
39591 | ||
39592 | * config/pa/pa.c (pa_emit_move_sequence): Always force | |
39593 | (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL | |
39594 | note on insn. | |
39595 | ||
39596 | * config/pa/pa.c (pa_reloc_rw_mask): New function. | |
39597 | (TARGET_ASM_RELOC_RW_MASK): Define. | |
39598 | (pa_cannot_force_const_mem): Revert previous change. | |
39599 | ||
39600 | 2015-02-19 Martin Jambor <mjmabor@suse.cz> | |
39601 | Jan Hubicka <hubicka@ucw.cz> | |
39602 | ||
39603 | PR ipa/65028 | |
39604 | * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation | |
39605 | across jump functions. | |
39606 | ||
39607 | 2015-02-19 Uros Bizjak <ubizjak@gmail.com> | |
39608 | ||
39609 | * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols. | |
39610 | ||
39611 | 2015-02-19 Sandra Loosemore <sandra@codesourcery.com> | |
39612 | ||
39613 | * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit. | |
39614 | ||
39615 | 2015-02-19 Richard Henderson <rth@redhat.com> | |
39616 | ||
39617 | PR middle-end/65074 | |
39618 | * varasm.c (default_binds_local_p_2): Don't test node->definition; | |
39619 | test DECL_EXTERNAL independent of symtab_node. | |
39620 | ||
39621 | 2015-02-19 Jakub Jelinek <jakub@redhat.com> | |
39622 | ||
39623 | PR lto/65012 | |
39624 | * varpool.c (varpool_node::get_constructor): Return early | |
39625 | if this->lto_file_data is NULL. | |
39626 | ||
39627 | 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | |
39628 | ||
39629 | * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG. | |
39630 | (rank_for_schedule_debug): Update. | |
39631 | (ready_sort): Make static. Move sorting logic to ... | |
39632 | (ready_sort_debug, ready_sort_real): New static functions. | |
39633 | (schedule_block): Sort both debug insns and real insns in preparation | |
39634 | for ready list trimming. Improve debug output. | |
39635 | * sched-int.h (ready_sort): Remove global declaration. | |
39636 | ||
39637 | 2015-02-18 Trevor Saunders <tsaunders@mozilla.com> | |
39638 | ||
39639 | * ipa-icf.c (sem_function::equals_private): Adjust. | |
39640 | (sem_function::bb_dict_test): Take a vec<int> * instead of | |
39641 | auto_vec<int>. | |
39642 | * ipa-icf.h (bb_dict_test): Likewise. | |
39643 | ||
39644 | 2015-02-18 Jakub Jelinek <jakub@redhat.com> | |
39645 | ||
39646 | PR gcov-profile/64634 | |
39647 | * tree-eh.c (frob_into_branch_around): Fix up typos | |
39648 | in function comment. | |
39649 | (lower_catch): Put eh_seq resulting from EH lowering of | |
39650 | the cleanup sequence after the cleanup rather than before it. | |
39651 | ||
39652 | 2015-02-18 Tom de Vries <tom@codesourcery.com> | |
39653 | ||
39654 | * common.opt (fstdarg-opt): New option. | |
39655 | * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt. | |
39656 | * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt. | |
39657 | (@item -fstdarg-opt): New item. | |
39658 | ||
39659 | 2015-02-18 H.J. Lu <hongjiu.lu@intel.com> | |
39660 | ||
39661 | PR target/65064 | |
39662 | * config/ia64/predicates.md (sdata_symbolic_operand): Return false | |
39663 | for common symbols. | |
39664 | ||
39665 | 2015-02-18 Jakub Jelinek <jakub@redhat.com> | |
39666 | ||
39667 | * config/i386/t-intelmic (mkoffload.o): Remove dependency on | |
39668 | insn-modes.h. | |
39669 | (ALL_HOST_OBJS): Add mkoffload.o. | |
39670 | * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise. | |
39671 | ||
39672 | 2015-02-18 Jan Hubicka <hubicka@ucw.cz> | |
39673 | ||
39674 | * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating. | |
39675 | (compare_virtual_tables): Be smarter about skipping typeinfos; | |
39676 | do sane output on virtual table table mismatch. | |
39677 | (warn_odr): Be ready for forward declarations of enums; | |
39678 | output sane info on base mismatch and virtual table mismatch. | |
39679 | (add_type_duplicate): Fix code choosing prevailing type; do not ICE | |
39680 | when only one type is polymorphic. | |
39681 | (get_odr_type): Fix hashtable corruption. | |
39682 | (dump_odr_type): Dump mangled names. | |
39683 | ||
39684 | 2015-02-18 Richard Biener <rguenther@suse.de> | |
39685 | ||
39686 | PR tree-optimization/65063 | |
39687 | * tree-predcom.c (determine_unroll_factor): Return 1 if we | |
39688 | have replaced looparound PHIs. | |
39689 | ||
39690 | 2015-02-18 Martin Liska <mliska@suse.cz> | |
39691 | ||
39692 | * lto-streamer.c (lto_streamer_init): Encapsulate | |
39693 | streamer_check_handled_ts_structures with checking macro. | |
39694 | ||
39695 | 2015-02-18 Jakub Jelinek <jakub@redhat.com> | |
39696 | ||
39697 | PR ipa/65087 | |
39698 | * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy | |
39699 | section if !implicit_section. | |
39700 | (cgraph_node::create_version_clone_with_body): Likewise. | |
39701 | * trans-mem.c (ipa_tm_create_version): Likewise. | |
39702 | ||
39703 | 2015-02-18 Richard Biener <rguenther@suse.de> | |
39704 | ||
39705 | PR tree-optimization/62217 | |
39706 | * tree-ssa-dom.c (cprop_operand): Avoid propagating copies | |
39707 | into BIVs. | |
39708 | ||
39709 | 2015-02-18 Marek Polacek <polacek@redhat.com> | |
39710 | ||
39711 | PR sanitizer/65081 | |
39712 | * ubsan.c (OBJSZ_MAX_OFFSET): Define. | |
39713 | (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset | |
39714 | is in range [-16K, -1]. Don't issue run-time error if | |
39715 | (ptr > ptr + offset). | |
39716 | ||
39717 | 2015-02-18 Thomas Schwinge <thomas@codesourcery.com> | |
39718 | ||
39719 | * doc/install.texi (nvptx-*-none): New section. | |
39720 | * doc/invoke.texi (Nvidia PTX Options): Likewise. | |
39721 | * config/nvptx/nvptx.opt: Update. | |
39722 | ||
39723 | * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs) | |
39724 | (access_check): New functions, copied from | |
39725 | config/i386/intelmic-mkoffload.c. | |
39726 | (main): For non-installed testing, look in all COMPILER_PATHs for | |
39727 | GCC_INSTALL_NAME. | |
39728 | ||
39729 | * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro. | |
39730 | ||
39731 | 2015-02-18 Andrew Pinski <apinski@cavium.com> | |
39732 | Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
39733 | ||
39734 | * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately): | |
39735 | Check whether the destination of SYMBOL_SMALL_TPREL is Pmode. | |
39736 | ||
39737 | 2015-02-17 Jan Hubicka <hubicka@ucw.cz> | |
39738 | ||
39739 | * ipa-visibility.c (function_and_variable_visibility): Only | |
39740 | check locality if node is not already local. | |
39741 | * ipa-inline.c (want_inline_function_to_all_callers_p): Use | |
39742 | call_for_symbol_and_aliases instead of | |
39743 | call_for_symbol_thunks_and_aliases. | |
39744 | (ipa_inline): Likewise. | |
39745 | * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): | |
39746 | first walk aliases. | |
39747 | * ipa.c (symbol_table::remove_unreachable_nodes): Use | |
39748 | call_for_symbol_and_aliases. | |
39749 | * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. | |
39750 | (ipa_propagate_frequency_1): Use it; use opt_for_fn | |
39751 | (ipa_propagate_frequency): Update. | |
39752 | (ipa_profile): Add opt_for_fn gueards. | |
39753 | ||
39754 | 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org> | |
39755 | ||
39756 | * config/sh/sh.opt (mcbranch-force-delay-slot): New option. | |
39757 | * doc/invoke.texi (SH options): Document it. | |
39758 | * config/sh/sh.c (sh_insn_length_adjustment): Check | |
39759 | TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E. | |
39760 | ||
39761 | 2015-02-17 H.J. Lu <hongjiu.lu@intel.com> | |
39762 | ||
39763 | * common.opt (fipa-cp-alignment): New. | |
39764 | * ipa-cp.c (ipcp_store_alignment_results): Check | |
39765 | flag_ipa_cp_alignment. | |
39766 | * opts.c (default_options_table): Enable -fipa-cp-alignment for | |
39767 | -O2. | |
39768 | (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment. | |
39769 | * doc/invoke.texi: Document -fipa-cp-alignment. | |
39770 | ||
39771 | 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org> | |
39772 | ||
39773 | PR target/64793 | |
39774 | * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn | |
39775 | to nil. Adjust comments. | |
39776 | ||
39777 | 2015-02-17 Jan Hubicka <hubicka@ucw.cz> | |
39778 | ||
39779 | * ipa-visibility.c (function_and_variable_visibility): Only | |
39780 | check locality if node is not already local. | |
39781 | * ipa-inline.c (want_inline_function_to_all_callers_p): Use | |
39782 | call_for_symbol_and_aliases instead of | |
39783 | call_for_symbol_thunks_and_aliases. | |
39784 | (ipa_inline): Likewise. | |
39785 | * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): | |
39786 | first walk aliases. | |
39787 | * ipa.c (symbol_table::remove_unreachable_nodes): Use | |
39788 | call_for_symbol_and_aliases. | |
39789 | * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol. | |
39790 | (ipa_propagate_frequency_1): Use it; use opt_for_fn | |
39791 | (ipa_propagate_frequency): Update. | |
39792 | (ipa_profile): Add opt_for_fn guards. | |
39793 | ||
39794 | 2015-02-17 Thomas Schwinge <thomas@codesourcery.com> | |
39795 | ||
39796 | * config/nvptx/mkoffload.c (parse_file): Fix logic error in | |
39797 | skipping of "strange" tokens. | |
39798 | ||
39799 | 2015-02-17 Jeff Law <law@redhat.com> | |
39800 | ||
39801 | * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove | |
39802 | obsolete comment. | |
39803 | ||
39804 | 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com> | |
39805 | ||
39806 | * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P | |
39807 | as forcing a HARD_DEP between instructions, thereby | |
39808 | disallowing rewriting to break dependencies. | |
39809 | ||
39810 | 2015-02-16 Jan Hubicka <hubicka@ucw.cz> | |
39811 | ||
39812 | * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton | |
39813 | * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of | |
39814 | variables in boundary that have no inlitalizer encoded and are | |
39815 | not aliases. | |
39816 | * varasm.c (default_binds_local_p_2): External definitions do not | |
39817 | count as definitions here. | |
39818 | ||
39819 | 2015-02-16 Jeff Law <law@redhat.com> | |
39820 | ||
39821 | PR tree-optimization/64823 | |
39822 | * tree-vrp.c (identify_jump_threads): Handle blocks with no real | |
39823 | statements. | |
39824 | * tree-ssa-threadedge.c (potentially_threadable_block): Allow | |
39825 | threading through blocks with PHIs, but no statements. | |
39826 | (thread_through_normal_block): Distinguish between blocks where | |
39827 | we did not process all the statements and blocks with no statements. | |
39828 | ||
39829 | 2015-02-16 Jakub Jelinek <jakub@redhat.com> | |
39830 | James Greenhalgh <james.greenhalgh@arm.com> | |
39831 | ||
39832 | PR ipa/64963 | |
39833 | * cgraphclones.c (cgraph_node::create_virtual_clone): Copy | |
39834 | section if not linkonce. Fix up formatting. | |
39835 | (cgraph_node::create_version_clone_with_body): Copy section. | |
39836 | * trans-mem.c (ipa_tm_create_version): Likewise. | |
39837 | ||
39838 | 2015-02-16 Richard Biener <rguenther@suse.de> | |
39839 | ||
39840 | PR tree-optimization/65077 | |
39841 | * tree-ssa-structalias.c (get_constraint_for_1): Handle | |
39842 | IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF. | |
39843 | (find_func_aliases): Allow float values to carry pointers again. | |
39844 | ||
39845 | 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com> | |
39846 | ||
39847 | * doc/install.texi (Specific): Reorder targets list to put | |
39848 | aarch64 in alphabetical order. Add a link to aarch64*-*-* | |
39849 | from the top menu. | |
39850 | ||
39851 | 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> | |
39852 | David Edelsohn <dje.gcc@gmail.com> | |
39853 | ||
39854 | PR target/65058 | |
39855 | * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage | |
39856 | mapping class to external variable or function reference. | |
39857 | * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage | |
39858 | mapping class. | |
39859 | ||
39860 | 2015-02-16 David Eelsohn <dje.gcc@gmail.com> | |
39861 | ||
39862 | PR target/53348 | |
39863 | * config/rs6000/rs6000.c (rs6000_declare_alias): Only use | |
39864 | ASM_WEAKEN_DECL if defined. | |
39865 | ||
39866 | 2015-02-16 Richard Biener <rguenther@suse.de> | |
39867 | ||
39868 | PR lto/65015 | |
39869 | * varasm.c (default_file_start): For LTO produced units | |
39870 | emit <artificial> as file directive. | |
39871 | ||
39872 | 2015-02-16 Richard Biener <rguenther@suse.de> | |
39873 | ||
39874 | PR tree-optimization/63593 | |
39875 | * tree-predcom.c (execute_pred_commoning_chain): Delay removing | |
39876 | stmts and releasing SSA names until... | |
39877 | (execute_pred_commoning): ... after processing all chains. | |
39878 | ||
39879 | 2015-02-16 Jan Hubicka <hubicka@ucw.cz> | |
39880 | ||
39881 | PR ipa/65059 | |
39882 | * ipa-comdats.c (ipa_comdats): Do not categorize thunks to | |
39883 | external functions. | |
39884 | ||
39885 | 2015-02-15 Sandra Loosemore <sandra@codesourcery.com> | |
39886 | ||
39887 | * doc/bugreport.texi: Adjust section titles throughout the file | |
39888 | to use "Title Case". | |
39889 | * doc/extend.texi: Likewise. | |
39890 | * doc/gcov.texi: Likewise. | |
39891 | * doc/implement-c.texi: Likewise. | |
39892 | * doc/implement-cxx.texi: Likewise. | |
39893 | * doc/invoke.texi: Likewise. | |
39894 | * doc/objc.texi: Likewise. | |
39895 | * doc/standards.texi: Likewise. | |
39896 | * doc/trouble.texi: Likewise. | |
39897 | ||
39898 | 2015-02-15 Jan Hubicka <hubicka@ucw.cz> | |
39899 | ||
39900 | * cgraph.h (symtab_node::has_aliases_p): Simplify. | |
39901 | (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p | |
39902 | * tree.c (lookup_binfo_at_offset): Make static. | |
39903 | (get_binfo_at_offset): Do not shadow offset; add explanatory | |
39904 | comment. | |
39905 | ||
39906 | 2015-02-15 John David Anglin <danglin@gcc.gnu.org> | |
39907 | ||
39908 | * config/pa/pa.c (pa_secondary_reload): Request a secondary reload | |
39909 | for all floading point loads and stores except those using a register | |
39910 | index address. | |
39911 | * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand | |
39912 | to a register. | |
39913 | ||
39914 | 2015-02-14 Jan Hubicka <hubicka@ucw.cz> | |
39915 | ||
39916 | * ipa-inline-analysis.c (growth_data): Add uninlinable field. | |
39917 | (do_estimate_growth_1): Record if any uninlinable edge was seen. | |
39918 | (estimate_growth): Handle uninlinable edges correctly. | |
39919 | (check_callers): New. | |
39920 | (growth_likely_positive): Handle aliases correctly. | |
39921 | ||
39922 | 2015-02-14 Jan Hubicka <hubicka@ucw.cz> | |
39923 | ||
39924 | * ipa-chkp.c: Use iterate_direct_aliases. | |
39925 | * symtab.c (resolution_used_from_other_file_p): Move inline. | |
39926 | (symtab_node::create_reference): Fix formating. | |
39927 | (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. | |
39928 | (symtab_node::iterate_reference): Move inline. | |
39929 | (symtab_node::iterate_referring): Move inline. | |
39930 | (symtab_node::iterate_direct_aliases): Move inline. | |
39931 | (symtab_node::used_from_object_file_p_worker): Inline into ... | |
39932 | (symtab_node::used_from_object_file_p): ... this one; move inline. | |
39933 | (symtab_node::call_for_symbol_and_aliases): Move inline; | |
39934 | use iterate_direct_aliases. | |
39935 | (symtab_node::call_for_symbol_and_aliases_1): New method. | |
39936 | (cgraph_node::call_for_symbol_and_aliases): Move inline; | |
39937 | use iterate_direct_aliases. | |
39938 | (cgraph_node::call_for_symbol_and_aliases_1): New method. | |
39939 | (varpool_node::call_for_node_and_aliases): Rename to ... | |
39940 | (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline; | |
39941 | use iterate_direct_aliases. | |
39942 | (varpool_node::call_for_symbol_and_aliases_1): New method. | |
39943 | * ipa.c (ipa_single_use): Use iterate_direct_aliases. | |
39944 | (ipa_discover_readonly_nonaddressable_var): Update. | |
39945 | * ipa-devirt.c: Fix formating. | |
39946 | * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p): | |
39947 | Move inline. | |
39948 | (cgraph_node::call_for_symbol_and_aliases): Move inline. | |
39949 | (cgraph_node::call_for_symbol_and_aliases_1): New function.. | |
39950 | * cgraph.h (used_from_object_file_p_worker): Remove. | |
39951 | (resolution_used_from_other_file_p): Move inline. | |
39952 | (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases. | |
39953 | (symtab_node::iterate_reference): Move inline. | |
39954 | (symtab_node::iterate_referring): Move inline. | |
39955 | (symtab_node::iterate_direct_aliases): Move inline. | |
39956 | (symtab_node::used_from_object_file_p_worker): Inline into ... | |
39957 | (symtab_node::used_from_object_file_p): Move inline. | |
39958 | * tree-emutls.c (ipa_lower_emutls): Update. | |
39959 | * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method. | |
39960 | (varpool_node::call_for_node_and_aliases): Remove. | |
39961 | ||
39962 | 2015-02-14 Jakub Jelinek <jakub@redhat.com> | |
39963 | ||
39964 | PR tree-optimization/62209 | |
39965 | * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and | |
39966 | op == range->exp, insert seq and gimplified code after labels | |
39967 | instead of after the phi. | |
39968 | ||
39969 | 2015-02-13 Jeff Law <law@redhat.com> | |
39970 | ||
39971 | PR bootstrap/65060 | |
39972 | Revert my change for tree-optimization/64823. | |
39973 | ||
39974 | 2015-02-13 Jakub Jelinek <jakub@redhat.com> | |
39975 | ||
39976 | PR tree-optimization/65053 | |
39977 | * tree-ssa-phiopt.c (value_replacement): When moving assign before | |
39978 | cond, either reset VR on lhs or set it to phi result VR. | |
39979 | ||
39980 | 2015-02-13 Jeff Law <law@redhat.com> | |
39981 | ||
39982 | PR tree-optimization/64823 | |
39983 | * tree-vrp.c (identify_jump_threads): Handle blocks with no statements. | |
39984 | * tree-ssa-threadedge.c (potentially_threadable_block): Allow | |
39985 | threading through blocks with PHIs, but no statements. | |
39986 | (thread_through_normal_block): Distinguish between blocks where | |
39987 | we did not process all the statements and blocks with no statements. | |
39988 | ||
39989 | PR rtl-optimization/47477 | |
39990 | * match.pd (convert (plus/minus (convert @0) (convert @1): New | |
39991 | simplifier to narrow arithmetic. | |
39992 | ||
39993 | 2015-02-13 Jan Hubicka <hubicka@ucw.cz> | |
39994 | ||
39995 | PR ipa/65028 | |
39996 | * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop | |
39997 | polymorphic call info when type is not known to be preserved. | |
39998 | ||
39999 | 2015-02-13 Maritn Jambor <mjambor@suse.cz> | |
40000 | ||
40001 | PR ipa/65028 | |
40002 | * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function. | |
40003 | (inline_call): Use it. | |
40004 | ||
40005 | 2015-02-13 Thomas Schwinge <thomas@codesourcery.com> | |
40006 | ||
40007 | * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to | |
40008 | GOMP_DEVICE_NVIDIA_PTX. | |
40009 | ||
40010 | 2015-02-13 Jakub Jelinek <jakub@redhat.com> | |
40011 | ||
40012 | PR ipa/65034 | |
40013 | * stmt.c (emit_case_nodes): Use void_type_node instead of | |
40014 | NULL_TREE as LABEL_DECL type. | |
40015 | ||
40016 | 2015-02-13 John David Anglin <danglin@gcc.gnu.org> | |
40017 | ||
40018 | * config/pa/constraints.md: Change "Q" and "T" constraints to memory | |
40019 | constraints. | |
40020 | * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant | |
40021 | symbolic references to data to be forced to constant memory on the | |
40022 | SOM target. | |
40023 | ||
40024 | 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com> | |
40025 | ||
40026 | PR tree-optimization/65002 | |
40027 | * tree-cfg.c (pass_data_fixup_cfg): Don't update | |
40028 | SSA on start. | |
40029 | * tree-sra.c (some_callers_have_no_vuse_p): New. | |
40030 | (ipa_early_sra): Reject functions whose callers | |
40031 | assume function is read only. | |
40032 | ||
40033 | 2015-02-13 Richard Biener <rguenther@suse.de> | |
40034 | ||
40035 | PR lto/65015 | |
40036 | * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name | |
40037 | for LTO produced CUs. | |
40038 | ||
40039 | 2015-02-13 Bin Cheng <bin.cheng@arm.com> | |
40040 | ||
40041 | PR tree-optimization/64705 | |
40042 | * tree-ssa-loop-niter.h (expand_simple_operations): New parameter. | |
40043 | * tree-ssa-loop-niter.c (expand_simple_operations): New parameter. | |
40044 | * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New. | |
40045 | (find_bivs, find_givs_in_stmt_scev): Pass new argument to | |
40046 | expand_simple_operations. | |
40047 | ||
40048 | 2015-02-13 H.J. Lu <hongjiu.lu@intel.com> | |
40049 | Richard Henderson <rth@redhat.com> | |
40050 | ||
40051 | PR rtl/32219 | |
40052 | * cgraphunit.c (cgraph_node::finalize_function): Set definition | |
40053 | before notice_global_symbol. | |
40054 | (varpool_node::finalize_decl): Likewise. | |
40055 | * varasm.c (default_binds_local_p_2): Rename from | |
40056 | default_binds_local_p_1, add weak_dominate argument. Use direct | |
40057 | returns instead of assigning to local variable. Unify varpool and | |
40058 | cgraph paths via symtab_node. Reject undef weak variables before | |
40059 | testing visibility. Reorder tests for simplicity. | |
40060 | (default_binds_local_p): Use default_binds_local_p_2. | |
40061 | (default_binds_local_p_1): Likewise. | |
40062 | (decl_binds_to_current_def_p): Unify varpool and cgraph paths | |
40063 | via symtab_node. | |
40064 | (default_elf_asm_output_external): Emit visibility when specified. | |
40065 | ||
40066 | 2015-02-13 Alan Modra <amodra@gmail.com> | |
40067 | ||
40068 | * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in | |
40069 | code setting up r11 for out-of-line fp restore. | |
40070 | ||
40071 | 2015-02-13 Eric Botcazou <ebotcazou@adacore.com> | |
40072 | ||
40073 | * config/visium/visium.opt (msv-mode): Add RejectNegative and Report. | |
40074 | (muser-mode): Likewise. | |
40075 | ||
40076 | 2015-02-13 Alan Modra <amodra@gmail.com> | |
40077 | ||
40078 | * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry | |
40079 | or adddi3_carry when restoring frame_reg_rtx from r0 after restvr. | |
40080 | ||
40081 | 2015-02-12 David Howells <dhowells@redhat.com> | |
40082 | ||
40083 | * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security | |
40084 | warning. | |
40085 | * tree-ssa-uninit.c (dump_predicates): Likewise. | |
40086 | * opts.c (print_filtered_help): Likewise. | |
40087 | ||
40088 | 2015-02-12 Jakub Jelinek <jakub@redhat.com> | |
40089 | ||
40090 | * dwarf2out.c (output_die): Use "%s", name instead of name to | |
40091 | avoid -Wformat-security warning. | |
40092 | ||
40093 | * dwarf2asm.c (dw2_asm_output_vms_delta): Only define | |
40094 | if ASM_OUTPUT_DWARF_VMS_DELTA is defined. | |
40095 | * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta | |
40096 | only if ASM_OUTPUT_DWARF_VMS_DELTA is defined. | |
40097 | ||
40098 | 2015-02-12 Jason Merrill <jason@redhat.com> | |
40099 | ||
40100 | * common.opt (-flifetime-dse): New. | |
40101 | ||
40102 | 2015-02-12 Jakub Jelinek <jakub@redhat.com> | |
40103 | ||
40104 | PR sanitizer/65019 | |
40105 | * ubsan.c (ubsan_expand_objsize_ifn): Always return true. | |
40106 | ||
40107 | PR tree-optimization/65014 | |
40108 | * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR, | |
40109 | use original second operand of arg0 or arg1 instead of | |
40110 | that adjusted by STRIP_NOPS. | |
40111 | ||
40112 | 2015-02-11 Jeff Law <law@redhat.com> | |
40113 | ||
40114 | PR target/63347 | |
40115 | * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn | |
40116 | that needs to be queued, just queue it for a single cycle. | |
40117 | ||
40118 | 2015-02-11 Jan Hubicka <hubicka@ucw.cz> | |
40119 | ||
40120 | * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing | |
40121 | bodies of thunks; comment on why. | |
40122 | * symtab.c (symtab_node::get_partitioning_class): Aliases of extern | |
40123 | symbols are extern. | |
40124 | ||
40125 | 2015-02-11 Richard Henderson <rth@redhat.com> | |
40126 | ||
40127 | PR sanitize/65000 | |
40128 | * tree-eh.c (mark_reachable_handlers): Mark source and destination | |
40129 | regions of __builtin_eh_copy_values. | |
40130 | ||
40131 | 2015-02-11 Jakub Jelinek <jakub@redhat.com> | |
40132 | ||
40133 | PR middle-end/65003 | |
40134 | * varasm.c (place_block_symbol): Assert that DECL_RTL of the | |
40135 | ultimate alias is MEM with SYMBOL_REF satisfying | |
40136 | SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM | |
40137 | to place_block_symbol, but instead pass the SYMBOL_REF operand of it. | |
40138 | ||
40139 | 2015-02-11 Thomas Schwinge <thomas@codesourcery.com> | |
40140 | ||
40141 | * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of | |
40142 | "diagnostic-core.h". | |
40143 | (main): Initialize progname, and call diagnostic_initialize. | |
40144 | ||
40145 | * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__ | |
40146 | instead of __OPENMP_TARGET__. | |
40147 | ||
40148 | * config/nvptx/mkoffload.c: Include "gomp-constants.h". | |
40149 | (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly) | |
40150 | hard-coding PTX_ID. | |
40151 | ||
40152 | 2015-02-11 H.J. Lu <hongjiu.lu@intel.com> | |
40153 | ||
40154 | * doc/sourcebuild.texi (pie_enabled): Document. | |
40155 | ||
40156 | 2015-02-11 Martin Liska <mliska@suse.cz> | |
40157 | ||
40158 | PR ipa/64813 | |
40159 | * cgraphunit.c (cgraph_node::expand_thunk): Do not create | |
40160 | a return value for call to a function that is noreturn. | |
40161 | ||
40162 | 2015-02-11 Richard Biener <rguenther@suse.de> | |
40163 | ||
40164 | PR lto/65015 | |
40165 | * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list | |
40166 | and -fresolution. | |
40167 | ||
40168 | 2015-02-11 Andrew Pinski <apinski@cavium.com> | |
40169 | ||
40170 | PR target/64893 | |
40171 | * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins): | |
40172 | Change the first argument type to size_type_node and add another | |
40173 | size_type_node. | |
40174 | (aarch64_simd_expand_builtin): Handle the new argument to | |
40175 | AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather | |
40176 | print an out when the first two arguments are not | |
40177 | nonzero integer constants. | |
40178 | * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK): | |
40179 | Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi. | |
40180 | ||
40181 | 2015-02-11 Jakub Jelinek <jakub@redhat.com> | |
40182 | ||
40183 | PR target/61925 | |
40184 | * config/i386/i386.c (ix86_reset_to_default_globals): Removed. | |
40185 | (ix86_reset_previous_fndecl): Restore it here, unconditionally. | |
40186 | (ix86_set_current_function): Rewritten. | |
40187 | (ix86_add_new_builtins): Temporarily clear current_target_pragma | |
40188 | when creating builtin fndecls. | |
40189 | ||
40190 | 2015-02-10 Jan Hubicka <hubicka@ucw.cz> | |
40191 | ||
40192 | PR ipa/65005 | |
40193 | * ipa-visibility.c (cgraph_node::non_local_p): Turn into static | |
40194 | function. | |
40195 | * symtab.c (symtab_node::verify_base): Remove check that non-definitions | |
40196 | have no comdat group. | |
40197 | * lto-cgraph.c (lto_output_node): Always output thunk and alias info. | |
40198 | (lto_output_varpool_node): Always output alias info. | |
40199 | (output_refs): Output refs of boundary aliases, too. | |
40200 | (compute_ltrans_boundary): Add alias and thunk target into boundaries. | |
40201 | (output_symtab): Output call eges in thunks in boundary. | |
40202 | (get_alias_symbol): Remove. | |
40203 | (input_node, input_varpool_node): Do not special case weakrefs. | |
40204 | * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove | |
40205 | alias and thunks targets in the boundary; do not take removed symbols | |
40206 | from their comdat groups. | |
40207 | * cgraph.c (cgraph_node::local_info): Look through aliases and thunks. | |
40208 | (cgraph_node::global_info): Remove. | |
40209 | (cgraph_node::rtl_info): Look through aliases and thunks. | |
40210 | * cgrpah.h (global_info): Remove. | |
40211 | (non_local_p): Remove. | |
40212 | ||
40213 | 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com> | |
40214 | Sandra Loosemore <sandra@codesourcery.com> | |
40215 | ||
40216 | * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references | |
40217 | to inline asm. List dialects in proper order. | |
40218 | ||
40219 | 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com> | |
40220 | Sandra Loosemore <sandra@codesourcery.com> | |
40221 | ||
40222 | * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error. | |
40223 | ||
40224 | 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com> | |
40225 | ||
40226 | * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly | |
40227 | modified) reference to Solaris. | |
40228 | ||
40229 | 2015-02-10 Sandra Loosemore <sandra@codesourcery.com> | |
40230 | ||
40231 | * doc/extend.texi (Extended Asm): Fix typos. | |
40232 | ||
40233 | 2015-02-10 Jakub Jelinek <jakub@redhat.com> | |
40234 | ||
40235 | PR sanitizer/65004 | |
40236 | * ubsan.c (ubsan_expand_vptr_ifn): Always return true. | |
40237 | ||
40238 | 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org> | |
40239 | ||
40240 | PR target/64661 | |
40241 | * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, | |
40242 | TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS, | |
40243 | TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses. | |
40244 | * config/sh/constraints.md (Ara, Add): New constraints. | |
40245 | * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New | |
40246 | predicates. | |
40247 | (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use | |
40248 | atomic_mem_operand_0. Don't use force_reg on the memory address. | |
40249 | (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and | |
40250 | Sra constraint. Convert to insn_and_split. Add workaround for | |
40251 | PR 64974. | |
40252 | (atomic_compare_and_swap<mode>_hard): Copy to | |
40253 | atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split. | |
40254 | Use atomic_mem_operand_0 predicate. | |
40255 | (atomic_compare_and_swap<mode>_soft_gusa, | |
40256 | atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and | |
40257 | AraAdd constraints. | |
40258 | (atomic_compare_and_swap<mode>_soft_tcb, | |
40259 | atomic_compare_and_swap<mode>_soft_imask, | |
40260 | atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use | |
40261 | atomic_mem_operand_0 predicate and SraSdd constraints. | |
40262 | (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra | |
40263 | constraint. | |
40264 | (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1. | |
40265 | Convert to insn_and_split. Use atomic_mem_operand_0 predicate. | |
40266 | (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>, | |
40267 | atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use | |
40268 | force_reg on the memory address. | |
40269 | (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard, | |
40270 | atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard, | |
40271 | atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use | |
40272 | atomic_mem_operand_1 predicate and Sra constraint. | |
40273 | (atomic_fetch_<fetchop_name><mode>_hard): Copy to | |
40274 | atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split. | |
40275 | Use atomic_mem_operand_1 predicate. | |
40276 | (atomic_<fetchop_name><mode>_hard): Copy to | |
40277 | atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split. | |
40278 | Use atomic_mem_operand_1 predicate. | |
40279 | (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1. | |
40280 | Convert to insn_and_split. Use atomic_mem_operand_1 predicate. | |
40281 | (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to | |
40282 | insn_and_split. Use atomic_mem_operand_1 predicate. | |
40283 | (atomic_<fetchop_name>_fetch<mode>_hard): Copy to | |
40284 | atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split. | |
40285 | Use atomic_mem_operand_1 predicate. | |
40286 | (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1. | |
40287 | Convert to insn_and_split. Use atomic_mem_operand_1 predicate. | |
40288 | (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems | |
40289 | in generated insn with original mem operand before emitting the insn. | |
40290 | (atomic_fetch_<fetchop_name><mode>_soft_gusa, | |
40291 | atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa, | |
40292 | atomic_<fetchop_name>_fetch<mode>_soft_gusa, | |
40293 | atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa): | |
40294 | Use atomic_mem_operand_1 predicate and AraAdd constraints. | |
40295 | (atomic_fetch_<fetchop_name><mode>_soft_tcb, | |
40296 | atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb, | |
40297 | atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask, | |
40298 | atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb, | |
40299 | atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask, | |
40300 | atomic_<fetchop_name>_fetch<mode>_soft_tcb, | |
40301 | atomic_not_fetch<mode>_soft_tcb, | |
40302 | atomic_<fetchop_name>_fetch<mode>_soft_imask, | |
40303 | atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>, | |
40304 | atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask): | |
40305 | Use atomic_mem_operand_1 predicate and SraSdd constraints. | |
40306 | ||
40307 | 2015-02-10 Uros Bizjak <ubizjak@gmail.com> | |
40308 | ||
40309 | * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2 | |
40310 | and 3 earlyclobber operands. | |
40311 | ||
40312 | 2015-02-10 Jan Hubicka <hubicka@ucw.cz> | |
40313 | ||
40314 | * common.opt (fstack-reuse): Mark as optimization. | |
40315 | ||
40316 | 2015-02-10 Jan Hubicka <hubicka@ucw.cz> | |
40317 | ||
40318 | PR ipa/64982 | |
40319 | * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks. | |
40320 | ||
40321 | 2015-02-10 Trevor Saunders <tsaunders@mozilla.com> | |
40322 | ||
40323 | PR tree-optimization/64326 | |
40324 | * cfghooks.c (make_forwarder_block): Cap frequency of created block. | |
40325 | ||
40326 | 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de> | |
40327 | ||
40328 | PR gcov-profile/61889 | |
40329 | * gcov-tool.c: Remove wrong #if !defined(_WIN32) | |
40330 | ||
40331 | 2015-02-10 Richard Biener <rguenther@suse.de> | |
40332 | ||
40333 | PR tree-optimization/64995 | |
40334 | * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the | |
40335 | value we use is final. | |
40336 | (visit_reference_op_store): Always valueize op. | |
40337 | (visit_use): Properly valueize vuses. | |
40338 | ||
40339 | 2015-02-10 Richard Biener <rguenther@suse.de> | |
40340 | ||
40341 | PR tree-optimization/64909 | |
40342 | * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly | |
40343 | pass a scalar-stmt count estimate to the cost model. | |
40344 | * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise. | |
40345 | ||
40346 | 2015-02-10 Alexander Monakov <amonakov@ispras.ru> | |
40347 | ||
40348 | * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is | |
40349 | enabled by default together with var-tracking. | |
40350 | ||
40351 | 2015-02-10 Nick Clifton <nickc@redhat.com> | |
40352 | ||
40353 | * config/rl78/rl78.c: Remove DIV attribute code accidentally | |
40354 | included in previous rl78 commit. | |
40355 | ||
40356 | 2015-02-10 Richard Biener <rguenther@suse.de> | |
40357 | ||
40358 | * tree-streamer.h (streamer_read_tree_bitfields): Adjust. | |
40359 | * tree-streamer-in.c (streamer_read_tree_bitfields): Do not | |
40360 | return the bitpack. | |
40361 | ||
40362 | 2015-02-09 Trevor Saunders <tsaunders@mozilla.com> | |
40363 | ||
40364 | PR gcov-profile/61889 | |
40365 | * config.in: regenerate. | |
40366 | * configure.in: Likewise. | |
40367 | * configure.ac: Check for ftw.h. | |
40368 | * gcov-tool.c: Check for ftw.h before using nftw. | |
40369 | ||
40370 | 2015-02-09 Trevor Saunders <tsaunders@mozilla.com> | |
40371 | ||
40372 | PR lto/64076 | |
40373 | * ipa-visibility.c (update_visibility_by_resolution_info): Only | |
40374 | assert when not in lto mode. | |
40375 | ||
40376 | 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn> | |
40377 | ||
40378 | * ira-color.c (setup_left_conflict_sizes_p): Simplify | |
40379 | initialization/assignment of conflict_size. | |
40380 | ||
40381 | 2015-02-09 Jan Hubicka <hubicka@ucw.cz> | |
40382 | ||
40383 | PR ipa/64978 | |
40384 | * ipa-cp.c (gather_caller_stats): Skip thunks. | |
40385 | (propagate_constants_topo): Skip aliases. | |
40386 | ||
40387 | 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org> | |
40388 | ||
40389 | PR target/64761 | |
40390 | * config/sh/sh.c (sh_option_override): Don't change | |
40391 | -freorder-blocks-and-partition to -freorder-blocks even when | |
40392 | unwinding is enabled. | |
40393 | (sh_can_follow_jump): Return false if the followee jump is | |
40394 | a crossing jump when -freorder-blocks-and-partition is specified. | |
40395 | * config/sh/sh.md (*jump_compact_crossing): New insn. | |
40396 | ||
40397 | 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com> | |
40398 | Kaz Kojima <kkojima@gcc.gnu.org> | |
40399 | ||
40400 | PR target/64761 | |
40401 | * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare. | |
40402 | * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine. | |
40403 | (sh_can_redirect_branch): Rename to ... | |
40404 | (sh_can_follow_jump): ... this. Constify argument types. | |
40405 | * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define. | |
40406 | * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation. | |
40407 | * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump. | |
40408 | * doc/tm.texi: Regenerate. | |
40409 | ||
40410 | 2015-02-09 Jakub Jelinek <jakub@redhat.com> | |
40411 | ||
40412 | PR sanitizer/64981 | |
40413 | * builtins.c (expand_builtin): Call targetm.expand_builtin | |
40414 | for BUILT_IN_MD builtins regardless of asan_intercepted_p. | |
40415 | ||
40416 | 2015-02-08 Jan Hubicka <hubicka@ucw.cz> | |
40417 | ||
40418 | PR ipa/61548 | |
40419 | * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS. | |
40420 | ||
40421 | 2015-02-08 Jan Hubicka <hubicka@ucw.cz> | |
40422 | ||
40423 | PR ipa/63566 | |
40424 | * ipa-icf.c (set_local): New function. | |
40425 | (sem_function::merge): Use it. | |
40426 | ||
40427 | 2015-02-08 Jan Hubicka <hubicka@ucw.cz> | |
40428 | ||
40429 | * ipa-devirt.c (odr_types_equivalent_p): Fix formating. | |
40430 | (add_type_duplicate): Fix comparison of BINFOs. | |
40431 | ||
40432 | 2015-02-08 Jan Hubicka <hubicka@ucw.cz> | |
40433 | ||
40434 | * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE | |
40435 | on getting VOID pointer. | |
40436 | ||
40437 | 2015-02-09 Jakub Jelinek <jakub@redhat.com> | |
40438 | ||
40439 | PR target/64979 | |
40440 | * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for | |
40441 | va_list escapes. | |
40442 | ||
40443 | 2015-02-09 Richard Biener <rguenther@suse.de> | |
40444 | ||
40445 | * genmatch.c (replace_id): Copy expr_type. | |
40446 | ||
40447 | 2015-02-09 Richard Biener <rguenther@suse.de> | |
40448 | ||
40449 | * tree-streamer.h (streamer_pack_tree_bitfields): Remove. | |
40450 | (streamer_write_tree_bitfields): Declare. | |
40451 | * tree-streamer-in.c (unpack_ts_base_value_fields): Inline, | |
40452 | properly unpack padding. | |
40453 | (unpack_value_fields): Inline ... | |
40454 | (streamer_read_tree_bitfields): ... here. | |
40455 | * tree-streamer-out.c (pack_ts_base_value_fields): Inline | |
40456 | and properly add padding bits. | |
40457 | (streamer_pack_tree_bitfields): Fold into ... | |
40458 | (streamer_write_tree_bitfields): ... this new function, | |
40459 | exposing the bitpack object. | |
40460 | * lto-streamer-out.c (lto_write_tree_1): Call | |
40461 | streamer_write_tree_bitfields. | |
40462 | ||
40463 | 2015-02-09 Richard Biener <rguenther@suse.de> | |
40464 | ||
40465 | PR tree-optimization/54000 | |
40466 | * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h. | |
40467 | (struct ivopts_data): Add loop_loc member. | |
40468 | (tree_ssa_iv_optimize_loop): Dump loop location. | |
40469 | (create_new_ivs): Likewise, also dump number of IVs generated. | |
40470 | ||
40471 | 2015-02-09 Martin Liska <mliska@suse.cz> | |
40472 | ||
40473 | * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks | |
40474 | just if not yet registered. | |
40475 | (ipa_icf_generate_summary): Register callgraph hooks. | |
40476 | ||
40477 | 2015-02-08 Andrew Pinski <apinski@cavium.com> | |
40478 | ||
40479 | * config/aarch64/aarch64.c (gty_dummy): Delete. | |
40480 | ||
40481 | 2015-02-08 Jan Hubicka <hubicka@ucw.cz> | |
40482 | ||
40483 | PR ipa/63566 | |
40484 | * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases. | |
40485 | (cgraph_node::local_p): Remove thunk related FIXME. | |
40486 | ||
40487 | 2015-02-08 Jan Hubicka <hubicka@ucw.cz> | |
40488 | ||
40489 | PR ipa/63566 | |
40490 | * i386.c (ix86_function_regparm): Look through aliases to see if callee | |
40491 | is local and optimized. | |
40492 | (ix86_function_sseregparm): Likewise; also use target's SSE math | |
40493 | settings; error out instead of silently generating wrong code | |
40494 | on mismatches. | |
40495 | (init_cumulative_args): Look through aliases. | |
40496 | ||
40497 | 2015-02-08 Jan Hubicka <hubicka@ucw.cz> | |
40498 | ||
40499 | PR ipa/63566 | |
40500 | * ipa-split.c (execute_split_functions): Split if function has aliases. | |
40501 | ||
40502 | 2015-02-08 Jan Hubicka <hubicka@ucw.cz> | |
40503 | ||
40504 | PR ipa/63566 | |
40505 | * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is | |
40506 | aliases before trying to expand it. | |
40507 | (cgraph_node::expand_thunk): Fix formating. | |
40508 | ||
40509 | 2015-02-07 Sandra Loosemore <sandra@codesourcery.com> | |
40510 | ||
40511 | * doc/extend.texi (Function Attributes [naked]): Copy-edit. | |
40512 | (Using Assembly Language with C): Expand introduction. | |
40513 | (Basic Asm): Copy-edit. Add more information about uses of | |
40514 | basic asm. | |
40515 | (Extended Asm): Copy-edit. Document new escape syntax and | |
40516 | %l[label] syntax. | |
40517 | (Global Reg Vars): Copy-edit. | |
40518 | (Local Reg Vars): Likewise. | |
40519 | ||
40520 | 2015-02-06 David Edelsohn <dje.gcc@gmail.com> | |
40521 | ||
40522 | PR debug/2714 | |
40523 | PR bootstrap/64256 | |
40524 | * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384. | |
40525 | (DBX_CONTIN_CHAR): Define. | |
40526 | ||
40527 | 2015-02-06 Sebastian Pop <s.pop@samsung.com> | |
40528 | Brian Rzycki <b.rzycki@samsung.com> | |
40529 | ||
40530 | PR tree-optimization/64878 | |
40531 | * tree-ssa-threadedge.c: Include tree-ssa-loop.h. | |
40532 | (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi. | |
40533 | Stop recursion at loop phi nodes after having visited a loop phi node. | |
40534 | ||
40535 | 2015-02-06 Jakub Jelinek <jakub@redhat.com> | |
40536 | ||
40537 | * toplev.c (process_options): Change flag_ipa_ra before creating | |
40538 | optimization_{default,current}_node. | |
40539 | ||
40540 | PR ipa/64896 | |
40541 | * cgraphunit.c (cgraph_node::expand_thunk): If | |
40542 | restype is not is_gimple_reg_type nor the thunk_fndecl | |
40543 | returns aggregate_value_p, set restmp to a temporary variable | |
40544 | instead of resdecl. | |
40545 | ||
40546 | 2015-02-06 Vladimir Makarov <vmakarov@redhat.com> | |
40547 | ||
40548 | * lra.c (lra_emit_add): Fix a typo in using disp instead of base. | |
40549 | ||
40550 | 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com> | |
40551 | ||
40552 | PR target/64205 | |
40553 | * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not | |
40554 | add a general secondary reload handler for SDmode, unless we have | |
40555 | both read/write support for SDmode. | |
40556 | ||
40557 | 2015-02-06 Jakub Jelinek <jakub@redhat.com> | |
40558 | ||
40559 | PR middle-end/64937 | |
40560 | * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags): | |
40561 | Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT | |
40562 | or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't | |
40563 | 1 before, push it to abstract_vec. | |
40564 | (dwarf2out_abstract_function): Adjust caller. Don't call | |
40565 | set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or | |
40566 | DECL_ABSTRACT_P flags for all abstract_vec elts. | |
40567 | ||
40568 | 2015-02-06 Renlin Li <renlin.li@arm.com> | |
40569 | ||
40570 | * tree-ssa-forwprop.c (execute): Keep location info while rewrite | |
40571 | complex gimple. | |
40572 | * tree-ssa.c (execute_update_addresses_taken): Likewise. | |
40573 | ||
40574 | 2015-02-06 Jeff Law <law@redhat.com> | |
40575 | ||
40576 | PR target/64889 | |
40577 | * config/h8300/h8300.c (push): New argument "in_prologue". | |
40578 | Pass "in_prologue" along to "F". | |
40579 | (h8300_push_pop): Corresponding changes. | |
40580 | (h8300_expand_prologue): Likewise. | |
40581 | (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P. | |
40582 | ||
40583 | 2015-02-06 Jakub Jelinek <jakub@redhat.com> | |
40584 | ||
40585 | PR rtl-optimization/64957 | |
40586 | PR debug/64817 | |
40587 | * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for | |
40588 | IOR rather than for AND. | |
40589 | ||
40590 | 2015-02-06 Eric Botcazou <ebotcazou@adacore.com> | |
40591 | ||
40592 | PR target/62631 | |
40593 | * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs | |
40594 | of shift-add and (add + shift) operations. Rename local variable. | |
40595 | ||
40596 | 2015-02-05 Jeff Law <law@redhat.com> | |
40597 | ||
40598 | PR target/17306 | |
40599 | * config/h8300/constraints.md (U): Correctly dectect | |
40600 | "eightbit_data" memory addresses. | |
40601 | * config/h8300/h8300.c (eightbit_constant_address_p): Also | |
40602 | handle (const (plus (symbol_ref (x)))) where x is declared | |
40603 | as an 8-bit data memory address. | |
40604 | * config/h8300/h8300.md (call, call_value): Correctly detect | |
40605 | "funcvec" functions. | |
40606 | ||
40607 | PR target/43264 | |
40608 | * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by | |
40609 | 24 to 28 bits for the H8/300. | |
40610 | ||
40611 | 2015-02-06 Alan Modra <amodra@gmail.com> | |
40612 | ||
40613 | PR target/64876 | |
40614 | * config/rs6000/rs6000.c (chain_already_loaded): New function. | |
40615 | (rs6000_call_aix): Use it. | |
40616 | ||
dfb6d139 | 40617 | 2015-02-05 Jan Hubicka <hubicka@ucw.cz> |
fb2c1edd | 40618 | |
40619 | * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds | |
40620 | check. | |
40621 | ||
40622 | 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com> | |
40623 | ||
40624 | * config/h8300/constraints.md ("U" constraint): Use strict | |
40625 | variant of REG_OK_FOR_BASE_P after reload has started. | |
40626 | ||
40627 | 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com> | |
40628 | ||
40629 | * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition, | |
40630 | define to zero if !TARGET_NEON. | |
40631 | (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition. | |
40632 | ||
40633 | 2015-02-04 Jan Hubicka <hubicka@ucw.cz> | |
40634 | Trevor Saunders <tsaunders@mozilla.com> | |
40635 | ||
40636 | PR ipa/61548 | |
40637 | * tree-emultls.c (new_emutls_decl): Resolve alias after creating it. | |
40638 | ||
40639 | 2015-02-04 Jan Hubicka <hubicka@ucw.cz> | |
40640 | ||
40641 | PR ipa/61548 | |
40642 | * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue | |
40643 | when removing varpool nodes. | |
40644 | ||
40645 | 2015-02-04 Jan Hubicka <hubicka@ucw.cz> | |
40646 | ||
40647 | PR ipa/61548 | |
40648 | * varpool.c (varpool_node::remove): Fix order of variables. | |
40649 | ||
40650 | 2015-02-04 Jan Hubicka <hubicka@ucw.cz> | |
40651 | ||
40652 | PR ipa/64686 | |
40653 | * ipa-inline.c (inline_small_functions): Fix ordering issue between | |
40654 | speculation resolution and key updates. | |
40655 | ||
40656 | 2015-02-04 Jan Hubicka <hubicka@ucw.cz> | |
40657 | ||
40658 | * ipa-prop.c (update_indirect_edges_after_inlining): By more careful | |
40659 | about not letting any speculative edges unupdated. | |
40660 | ||
40661 | 2015-02-04 Jan Hubicka <hubicka@ucw.cz> | |
40662 | ||
40663 | PR gcov/64123 | |
40664 | * gcov-io.c (gcov_var): Export. | |
40665 | ||
40666 | 2015-02-04 Jan Hubicka <hubicka@ucw.cz> | |
40667 | ||
40668 | PR middle-end/64922 | |
40669 | * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update | |
40670 | edges that become speculative. | |
40671 | ||
40672 | 2015-02-04 Jakub Jelinek <jakub@redhat.com> | |
40673 | ||
40674 | * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03 | |
40675 | or DW_LANG_Fortran08. | |
40676 | (lower_bound_default): Return 1 for DW_LANG_Fortran03 or | |
40677 | DW_LANG_Fortran08. | |
40678 | (gen_compile_unit_die): Handle "GNU Fortran2003" and | |
40679 | "GNU Fortran2008" language strings. | |
40680 | * dbxout.c (get_lang_number): Use lang_GNU_Fortran. | |
40681 | * langhooks.h (lang_GNU_Fortran): New prototype. | |
40682 | * langhooks.c (lang_GNU_Fortran): New function. | |
40683 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use | |
40684 | lang_GNU_Fortran. | |
40685 | ||
40686 | 2015-02-04 Eric Botcazou <ebotcazou@adacore.com> | |
40687 | ||
40688 | * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error. | |
40689 | (RTX_OK_FOR_OLO10_P): Likewise. | |
40690 | ||
40691 | 2015-02-04 Eric Botcazou <ebotcazou@adacore.com> | |
40692 | ||
40693 | * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset. | |
40694 | ||
40695 | 2015-02-04 Jan Hubicka <hubicka@ucw.cz> | |
40696 | ||
40697 | PR middle-end/64922 | |
40698 | * gimple.c: Include gimple-ssa.h. | |
40699 | (maybe_remove_unused_call_args): New function. | |
40700 | * gimple.h (maybe_remove_unused_call_args): Declare. | |
40701 | * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it. | |
40702 | * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise. | |
40703 | * gimple-fold.c (gimple_fold_call): Likewise. | |
40704 | ||
40705 | 2015-02-04 H.J. Lu <hongjiu.lu@intel.com> | |
40706 | ||
40707 | PR rtl-optimization/64905 | |
40708 | * lra-eliminations.c (setup_can_eliminate): Clear hard frame | |
40709 | pointer alignment if it isn't needed. | |
40710 | ||
40711 | 2015-02-04 Matthew Wahab <matthew.wahab@arm.com> | |
40712 | ||
40713 | * config/aarch64/aarch64-cores.def: Add cortex-a72 and | |
40714 | cortex-a72.cortex-a53. | |
40715 | * config/aarch64/aarch64-tune.md: Regenerate. | |
40716 | * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72". | |
40717 | ||
40718 | 2015-02-04 Nick Clifton <nickc@redhat.com> | |
40719 | ||
40720 | * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs | |
40721 | inside a MEM. | |
40722 | ||
40723 | 2015-02-04 Jakub Jelinek <jakub@redhat.com> | |
40724 | ||
40725 | * builtins.def (DEF_BUILTIN_CHKP): Define if not defined. | |
40726 | (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine. | |
40727 | (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead | |
40728 | of DEF_BUILTIN. | |
40729 | (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT, | |
40730 | BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use | |
40731 | DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN. | |
40732 | (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, | |
40733 | BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK, | |
40734 | BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use | |
40735 | DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN. | |
40736 | * tree-core.h (enum built_in_function): In between | |
40737 | BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values | |
40738 | for builtins that use DEF_BUILTIN_CHKP macro. | |
40739 | ||
40740 | 2015-02-04 Alexandre Oliva <aoliva@redhat.com> | |
40741 | ||
40742 | PR debug/64817 | |
40743 | * cfgexpand.c (expand_debug_expr): Compute unsignedp from | |
40744 | operands for tcc_comparison exprs. Fix typos. | |
40745 | ||
40746 | PR debug/64817 | |
40747 | * simplify-rtx.c (simplify_binary_operation_1): Simplify one | |
40748 | of two XORs that have an intervening AND or IOR. | |
40749 | ||
40750 | PR debug/64817 | |
40751 | * simplify-rtx.c (simplify_binary_operation_1): Rewrite | |
40752 | simplification of XOR of AND to not allocate new rtx before | |
40753 | committing to a simplification. | |
40754 | ||
40755 | 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
40756 | ||
40757 | * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of | |
40758 | manual swaps in all peepholes. | |
40759 | ||
40760 | 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
40761 | ||
40762 | * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead | |
40763 | of manual swapping implementation. | |
40764 | (aarch64_expand_vec_perm_const_1): Likewise. | |
40765 | ||
dfb6d139 | 40766 | 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com> |
fb2c1edd | 40767 | |
40768 | * config/aarch64/aarch64.c (NAMED_PARAM): Delete it. | |
40769 | (generic_addrcost_table): Remove NAMED_PARAM. | |
40770 | (cortexa57_addrcost_table): Likewise. | |
40771 | (xgene1_addrcost_table): Likewise. | |
40772 | (generic_regmove_table): Likewise. | |
40773 | (cortexa53_regmove_table): Likewise. | |
40774 | (xgene1_regmove_table): Likewise. | |
40775 | (generic_vector_table): Likewise. | |
40776 | (cortexa57_vector_table): Likewise. | |
40777 | (xgene1_vector_table): Likewise. | |
40778 | (generic_tunings): Likewise. | |
40779 | (cortexa53_tunings): Likewise. | |
40780 | (cortexa57_tunings): Likewise. | |
40781 | (xgene1_tunings): Likewise. | |
40782 | ||
40783 | 2015-02-04 Matthew Wahab <matthew.wahab@arm.com> | |
40784 | ||
40785 | * config/arm/arm-cores.def: Add cortex-a72 and | |
40786 | cortex-a72.cortex-a53. | |
40787 | * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise. | |
40788 | * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise. | |
40789 | * config/arm/arm-tune.md: Regenerate. | |
40790 | * config/arm/arm-tables.opt: Add entries for "cortex-a72" and | |
40791 | "cortex-a72.cortex-a53". | |
40792 | * doc/invoke.texi (ARM Options/-mtune): Likewise. | |
40793 | ||
40794 | 2015-02-04 Nick Clifton <nickc@redhat.com> | |
40795 | ||
40796 | PR target/64408 | |
40797 | * config/fr30/predicates.md (di_operand): Add SUBREG to the list | |
40798 | of accepted codes. | |
40799 | (nonimmediate_di_operand): Likewise. | |
40800 | ||
40801 | * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more | |
40802 | prefixes of known F5 using MSP430 MCUs. | |
40803 | ||
40804 | 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
40805 | ||
40806 | * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF. | |
40807 | * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf | |
40808 | instead of __builtin_sqrt. | |
40809 | ||
40810 | 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com> | |
40811 | ||
40812 | * varasm.c (do_assemble_alias): Follow transparent alias | |
40813 | chain for target. | |
40814 | (default_assemble_visibility): Follow transparent alias | |
40815 | chain for decl name. | |
40816 | ||
40817 | 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
40818 | ||
40819 | PR middle-end/62103 | |
40820 | * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION | |
40821 | to compute size of referenced value in the constant case. | |
40822 | ||
40823 | 2015-02-03 Jakub Jelinek <jakub@redhat.com> | |
40824 | ||
40825 | PR rtl-optimization/64756 | |
40826 | * cse.c (invalidate_dest): New function. | |
40827 | (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and | |
40828 | HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record, | |
40829 | invalidate and do not record it. | |
40830 | ||
40831 | 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org> | |
40832 | ||
40833 | PR target/64660 | |
40834 | * config/sh/sync.md (atomic_<fetchop_name><mode>_hard, | |
40835 | atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb, | |
40836 | atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard, | |
40837 | atomic_nand<mode>_soft_tcb): New insns. | |
40838 | (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split. | |
40839 | Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused. | |
40840 | (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split. | |
40841 | Split into atomic_not_fetchsi_hard if operands[0] is unused. | |
40842 | (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split. | |
40843 | Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused. | |
40844 | (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into | |
40845 | atomic_not<mode>_hard if operands[0] is unused. | |
40846 | (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to | |
40847 | insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa | |
40848 | if operands[0] is unused. | |
40849 | (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split | |
40850 | into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused. | |
40851 | (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split. | |
40852 | Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is | |
40853 | unused. | |
40854 | (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split | |
40855 | into atomic_not<mode>_soft_tcb if operands[0] is unused. | |
40856 | (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to | |
40857 | insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask | |
40858 | if operands[0] is unused. | |
40859 | (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split | |
40860 | into atomic_not_fetch<mode>_soft_imask is operands[0] is unused. | |
40861 | (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into | |
40862 | atomic_nand_fetchsi_hard if operands[0] is unused. | |
40863 | (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into | |
40864 | atomic_nand<mode>_hard if operands[0] is unused. | |
40865 | (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split | |
40866 | into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused. | |
40867 | (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split | |
40868 | into atomic_nand<mode>_soft_tcb if operands[0] is unused. | |
40869 | (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split | |
40870 | into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused. | |
40871 | (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split. | |
40872 | Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused. | |
40873 | (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into | |
40874 | atomic_not<mode>_hard if operands[0] is unused. | |
40875 | (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split. | |
40876 | Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is | |
40877 | unused. | |
40878 | (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split | |
40879 | into atomic_not<mode>_soft_tcb if operands[0] is unused. | |
40880 | (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into | |
40881 | atomic_nand<mode>_hard if operands[0] is unused. | |
40882 | (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split | |
40883 | into atomic_nand<mode>_soft_tcb if operands[0] is unused. | |
40884 | ||
40885 | 2015-02-03 David Malcolm <dmalcolm@redhat.com> | |
40886 | ||
40887 | PR jit/64810 | |
40888 | * Makefile.in (GCC_OBJS): Add gcc-main.o. | |
40889 | * gcc-main.c: New file, containing "main" taken from gcc.c. | |
40890 | * gcc.c (do_self_spec): Free decoded_options. | |
40891 | (class driver): Move declaration to gcc.h. | |
40892 | (main): Move declaration and implementation to new file | |
40893 | gcc-main.c. | |
40894 | (driver_get_configure_time_options): New function. | |
40895 | * gcc.h (class driver): Move this declaration here, from | |
40896 | gcc.c. | |
40897 | (driver_get_configure_time_options): New declaration. | |
40898 | ||
40899 | 2015-02-03 Jan Hubicka <hubicka@ucw.cz> | |
40900 | ||
40901 | * ipa-inline-analysis.c (simple_edge_hints): Fix check for | |
40902 | cross-module inlining. | |
40903 | * cgraph.h (cgraph_node): Add flag merged. | |
40904 | * ipa-icf.c (sem_function::merge): Maintain it. | |
40905 | ||
40906 | 2015-02-03 Richard Sandiford <richard.sandiford@arm.com> | |
40907 | ||
40908 | * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P | |
40909 | instead of OBJECT_P. | |
40910 | ||
40911 | 2015-02-03 Eric Botcazou <ebotcazou@adacore.com> | |
40912 | ||
40913 | PR target/62631 | |
40914 | * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS. | |
40915 | (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL. | |
40916 | * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on | |
40917 | int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set. | |
40918 | ||
40919 | 2015-02-03 Jakub Jelinek <jakub@redhat.com> | |
40920 | ||
40921 | PR other/63504 | |
40922 | * combine.c (reg_n_sets_max): New variable. | |
40923 | (can_change_dest_mode, reg_nonzero_bits_for_combine, | |
40924 | reg_num_sign_bit_copies_for_combine, get_last_value_validate, | |
40925 | get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max. | |
40926 | (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max. | |
40927 | (rest_of_handle_combine): Initialize reg_n_sets_max. | |
40928 | ||
40929 | 2015-02-02 Jan Hubicka <hubicka@ucw.cz> | |
40930 | ||
40931 | * ipa-inline.c (early_inliner): Skip inlining only in always_inlined; | |
40932 | if some always_inline was inlined, apply changes before inlining | |
40933 | heuristically. | |
40934 | ||
40935 | 2015-02-02 David Malcolm <dmalcolm@redhat.com> | |
40936 | ||
40937 | PR jit/64810 | |
40938 | * config/arm/arm.c (arm_option_override): Set | |
40939 | arm_selected_arch/cpu/tune to NULL on entry. | |
40940 | ||
40941 | 2015-02-02 Tejas Belagod <tejas.belagod@arm.com> | |
40942 | Andrew Pinski <pinskia@gcc.gnu.org> | |
40943 | Jakub Jelinek <jakub@gcc.gnu.org> | |
40944 | ||
40945 | PR target/64231 | |
40946 | * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large | |
40947 | integer typing for small model. Use IN_RANGE. | |
40948 | ||
40949 | 2015-02-02 Richard Biener <rguenther@suse.de> | |
40950 | ||
40951 | * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs. | |
40952 | * tree-vrp.c (vrp_valueize_1): Likewise. | |
40953 | ||
40954 | 2015-02-02 Alan Modra <amodra@gmail.com> | |
40955 | ||
40956 | * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather | |
40957 | than mem for toc_restore. | |
40958 | * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define. | |
40959 | (call_indirect_aix, call_value_indirect_aix): Adjust to suit. | |
40960 | (call_indirect_elfv2, call_value_indirect_elfv2): Likewise. | |
40961 | ||
40962 | 2015-02-01 David Edelsohn <dje.gcc@gmail.com> | |
40963 | ||
40964 | PR target/64047 | |
40965 | * config/rs6000/rs6000.c (rs6000_set_current_function): Handle | |
40966 | explicit default options. | |
40967 | ||
40968 | 2015-02-01 Jan Hubicka <hubicka@ucw.cz> | |
40969 | ||
40970 | PR ipa/64872 | |
40971 | * ipa-utils.c (ipa_merge_profiles): Add release argument. | |
40972 | * ipa-icf.c (sem_function::merge): Do not release body when merging. | |
40973 | * ipa-utils.h (ipa_merge_profiles): Update prototype. | |
40974 | ||
40975 | 2015-02-01 Jakub Jelinek <jakub@redhat.com> | |
40976 | ||
40977 | PR debug/64817 | |
40978 | * cfgexpand.c (deep_ter_debug_map): New variable. | |
40979 | (avoid_deep_ter_for_debug): New function. | |
40980 | (expand_debug_expr): If TERed SSA_NAME is in | |
40981 | deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL | |
40982 | instead of trying to expand SSA_NAME's def stmt. | |
40983 | (expand_debug_locations): When expanding debug bind | |
40984 | of a DEBUG_EXPR_DECL to corresponding SSA_NAME, | |
40985 | temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's | |
40986 | value. | |
40987 | (pass_expand::execute): Call avoid_deep_ter_for_debug on | |
40988 | all debug bind stmts. Delete deep_ter_debug_map after | |
40989 | expand_debug_location if non-NULL and clear it. | |
40990 | ||
40991 | 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org> | |
40992 | ||
40993 | PR target/64851 | |
40994 | * config/sh/sync.md (atomic_fetch_notsi_hard, | |
40995 | atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa, | |
40996 | atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask, | |
40997 | atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard, | |
40998 | atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb, | |
40999 | atomic_not_fetch<mode>_soft_imask): New insns. | |
41000 | ||
41001 | 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | |
41002 | ||
41003 | * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro. | |
41004 | (rank_for_schedule_debug): Split from ... | |
41005 | (rank_for_schedule): ... this. | |
41006 | (ready_sort): Sort DEBUG_INSNs separately from normal INSNs. | |
41007 | * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order. | |
41008 | ||
41009 | 2015-01-31 Sandra Loosemore <sandra@codesourcery.com> | |
41010 | ||
41011 | * doc/md.texi (Machine Constraints): Alphabetize table by target. | |
41012 | * doc/extend.texi (x86 Variable Attributes): Move section to | |
41013 | correct alphabetization after renaming. | |
41014 | (x86 Type Attributes): Likewise. | |
41015 | (Target Builtins): Re-alphabetize menu. | |
41016 | (x86 Built-in Functions): Move section to correct alphabetization | |
41017 | after renaming. | |
41018 | (x86 transactional memory intrinsics): Likewise. | |
41019 | * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options | |
41020 | and x86 Windows Options in table and menu. | |
41021 | (x86 Options): Move section to correct alphabetization after | |
41022 | renaming. | |
41023 | (x86 Windows Options): Likewise. | |
41024 | ||
41025 | 2015-01-31 Sandra Loosemore <sandra@codesourcery.com> | |
41026 | ||
41027 | * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the | |
41028 | preferred names of the architecture and its 32- and 64-bit | |
41029 | variants. | |
41030 | * doc/invoke.texi: Likewise. | |
41031 | * doc/md.texi: Likewise. | |
41032 | ||
41033 | 2015-01-31 Uros Bizjak <ubizjak@gmail.com> | |
41034 | ||
41035 | PR target/64882 | |
41036 | * config/i386/predicates.md (address_no_seg_operand): Reject | |
41037 | non-CONST_INT_P operands in invalid mode. | |
41038 | ||
41039 | 2015-01-31 Uros Bizjak <ubizjak@gmail.com> | |
41040 | ||
41041 | * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of | |
41042 | address_operand 0. Rename from *prefetch_prefetchwt1_<mode>. | |
41043 | * config/i386/predicates.md (address_no_seg_operand): Call | |
41044 | address_operand with VOIDmode. | |
41045 | (vsib_address_operand): Ditto. | |
41046 | (address_mpx_no_base_operand): Ditto. | |
41047 | (address_mpx_no_index_operand): Ditto. | |
41048 | ||
41049 | 2015-01-30 Vladimir Makarov <vmakarov@redhat.com> | |
41050 | ||
41051 | PR target/64688 | |
41052 | * lra-constraints.c (original_subreg_reg_mode): New. | |
41053 | (simplify_operand_subreg): Try to simplify subreg of const. Use | |
41054 | original_subreg_reg_mode for it. | |
41055 | (swap_operands): Update original_subreg_reg_mode. | |
41056 | (curr_insn_transform): Set up original_subreg_reg_mode. | |
41057 | ||
41058 | 2015-01-30 Vladimir Makarov <vmakarov@redhat.com> | |
41059 | ||
41060 | PR target/64617 | |
41061 | * lra-constraints.c (prohibited_class_reg_set_mode_p): New | |
41062 | function. | |
41063 | (process_alt_operands): Use it. | |
41064 | (curr_insn_transform): Check the optional reload pseudo class is | |
41065 | ok for the mode. | |
41066 | ||
41067 | 2015-01-30 Joseph Myers <joseph@codesourcery.com> | |
41068 | ||
41069 | * diagnostic.c (fatal_error (const char *, ...)): Remove function. | |
41070 | * diagnostic-core.h (fatal_error (const char *, ...)): Remove | |
41071 | prototype. | |
41072 | * toplev.h (init_asm_output): Update comment on use of | |
41073 | UNKNOWN_LOCATION with fatal_error. | |
41074 | * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c, | |
41075 | config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h, | |
41076 | config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c, | |
41077 | config/i386/intelmic-mkoffload.c, config/nios2/nios2.c, | |
41078 | config/nvptx/mkoffload.c, config/nvptx/nvptx.h, | |
41079 | config/rs6000/host-darwin.c, config/rs6000/rs6000.c, | |
41080 | config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c, | |
41081 | ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c, | |
41082 | lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c, | |
41083 | lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c, | |
41084 | tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of | |
41085 | fatal_error changed to pass input_location as first argument. | |
41086 | ||
41087 | 2015-01-30 Martin Liska <mliska@suse.cz> | |
41088 | ||
41089 | * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006 | |
41090 | in #pragma GCC diagnostic guards. | |
41091 | ||
41092 | 2015-01-30 Richard Biener <rguenther@suse.de> | |
41093 | ||
41094 | PR tree-optimization/64829 | |
41095 | * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do | |
41096 | not add a widening conversion pattern but hand off extra | |
41097 | widenings to callers. | |
41098 | (vect_recog_widen_mult_pattern): Handle extra widening produced | |
41099 | by vect_handle_widen_op_by_const. | |
41100 | (vect_recog_widen_shift_pattern): Likewise. | |
41101 | (vect_pattern_recog_1): Remove excess vertical space in dumping. | |
41102 | * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise. | |
41103 | (vect_init_vector_1): Likewise. | |
41104 | (vect_get_vec_def_for_operand): Likewise. | |
41105 | (vect_finish_stmt_generation): Likewise. | |
41106 | (vectorizable_load): Likewise. | |
41107 | (vect_analyze_stmt): Likewise. | |
41108 | (vect_is_simple_use): Likewise. | |
41109 | ||
41110 | 2015-01-29 Jeff Law <law@redhat.com> | |
41111 | ||
41112 | * combine.c (try_combine): Fix typo in comment. | |
41113 | ||
41114 | 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org> | |
41115 | ||
41116 | PR target/64580 | |
41117 | * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order. | |
41118 | (rs6000_stack_info): Add assert. | |
41119 | (rs6000_output_savres_externs): New function, split off from... | |
41120 | (rs6000_output_function_prologue): ... here. Do not call it for | |
41121 | thunks. | |
41122 | ||
41123 | 2015-01-29 Jeff Law <law@redhat.com> | |
41124 | ||
41125 | PR target/15184 | |
41126 | * combine.c (try_combine): If I0 is a memory load and I3 a store | |
41127 | to a related address, increase the "goodness" of doing a 4-insn | |
41128 | combination with I0-I3. | |
41129 | (make_field_assignment): Handle SUBREGs in the ior+and case. | |
41130 | ||
41131 | 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com> | |
41132 | ||
41133 | PR tree-optimization/64746 | |
41134 | * tree-if-conv.c (mask_exists): New function. | |
41135 | (predicate_mem_writes): Save created mask with given size for further | |
41136 | use. | |
41137 | (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it. | |
41138 | (ifcvt_repair_bool_pattern): Collect all statements that are root | |
41139 | of bool pattern and use iterative algorithm to remove multiple uses | |
41140 | of predicates, display number of required iterations. | |
41141 | ||
41142 | 2015-01-29 Richard Biener <rguenther@suse.de> | |
41143 | ||
41144 | PR tree-optimization/64853 | |
41145 | * tree-vrp.c (vrp_valueize_1): Do not return anything if the | |
41146 | stmt will get simulated again. | |
41147 | * tree-ssa-ccp.c (valueize_op_1): Likewise. | |
41148 | ||
41149 | 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
41150 | ||
41151 | * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of | |
41152 | return_in_pc. Remove redundant assignments. | |
41153 | (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc. | |
41154 | (arm_expand_epilogue): Don't compare boolean with true in if condition. | |
41155 | ||
41156 | 2015-01-29 Uros Bizjak <ubizjak@gmail.com> | |
41157 | ||
41158 | * config/i386/i386.c (ix86_mode_after): Make static. | |
41159 | ||
41160 | 2015-01-29 Richard Biener <rguenther@suse.de> | |
41161 | ||
41162 | PR tree-optimization/64844 | |
41163 | * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always | |
41164 | dump cost model analysis. | |
41165 | * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): | |
41166 | Do not register adjusted load/store costs here. | |
41167 | ||
41168 | 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com> | |
41169 | Uros Bizjak <ubizjak@gmail.com> | |
41170 | ||
41171 | * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New. | |
41172 | * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by | |
41173 | using x86_use_pseudo_pic_reg. | |
41174 | * config/i386/i386.c (ix86_conditional_register_usage): Remove | |
41175 | support for fixed PIC register. | |
41176 | (ix86_use_pseudo_pic_reg): Not static any more. | |
41177 | ||
41178 | 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com> | |
41179 | ||
41180 | PR middle-end/64805 | |
41181 | * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference | |
41182 | to avoid error in cgraph node verification. | |
41183 | ||
41184 | 2015-01-29 Marek Polacek <polacek@redhat.com> | |
41185 | ||
41186 | * doc/standards.texi: Reflect that the default for C is gnu11. | |
41187 | ||
41188 | 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org> | |
41189 | ||
41190 | PR target/64761 | |
41191 | * reorg.c (switch_text_sections_between_p): New function. | |
41192 | (relax_delay_slots): Call it when testing if the jump insn | |
41193 | is removable. Use targetm.can_follow_jump when testing if | |
41194 | the conditional branch can follow an unconditional jump. | |
41195 | ||
41196 | 2015-01-27 Caroline Tice <cmtice@google.com> | |
41197 | ||
41198 | Committing VTV Cywin/Ming patch for Patrick Wollgast | |
41199 | * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o, | |
41200 | if -fvtable-verify=preinit/std is used. | |
41201 | * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise. | |
41202 | * config/i386/mingw32.h (STARTFILE_SPEC): Likewise. | |
41203 | * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o, | |
41204 | if -fvtable-verify=preinit/std is used. | |
41205 | * config/i386/mingw32.h (ENDFILE_SPEC): Likewise. | |
41206 | * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi, | |
41207 | if -fvtable-verify=preinit/std is used. | |
41208 | * config/i386/mingw-w64.h (LIB_SPEC): Likewise. | |
41209 | * config/i386/mingw32.h (LIB_SPEC): Likewise. | |
41210 | * varasm.c (assemble_variable): Add code to properly set the comdat | |
41211 | section and name for the .vtable_map_vars section in case the | |
41212 | target is PE or COFF. | |
41213 | ||
41214 | 2015-01-29 Jan Hubicka <hubicka@ucw.cz> | |
41215 | ||
41216 | PR ipa/64801 | |
41217 | * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter; | |
41218 | make sane BB profile. | |
41219 | (cgraph_node::expand_thunk): Make sane BB profile. | |
41220 | (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p. | |
41221 | * cgraph.h (init_lowered_empty_function): Update prototype. | |
41222 | * config/i386/i386.c (make_resolver_func): Update call. | |
41223 | * predict.c (gate): Disable branch prediction pass if | |
41224 | profile is already there. | |
41225 | ||
41226 | 2015-01-29 Jan Hubicka <hubicka@ucw.cz> | |
41227 | ||
41228 | * optc-save-gen.awk: flag_fp_contract_mode is no longer speical. | |
41229 | * opth-gen.awk: Likewise. | |
41230 | * common.opt: Mark flag_fp_contract_mode as Optimization. | |
41231 | ||
41232 | 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
41233 | ||
41234 | * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16. | |
41235 | * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16. | |
41236 | ||
41237 | 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org> | |
41238 | ||
41239 | PR target/64659 | |
41240 | * config/sh/predicates.md (atomic_arith_operand, | |
41241 | atomic_logical_operand): Remove. | |
41242 | * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove. | |
41243 | (atomic_arith_operand_0): New predicate. | |
41244 | (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values. | |
41245 | Use atomic_arith_operand_0 for input values. | |
41246 | (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard, | |
41247 | atomic_compare_and_swap<mode>_soft_gusa, | |
41248 | atomic_compare_and_swap<mode>_soft_tcb, | |
41249 | atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and | |
41250 | arith_reg_operand instead of register_operand. | |
41251 | (atomic_exchange<mode>): Use arith_reg_dest for output value. Use | |
41252 | atomic_arith_operand_0 for newval input. | |
41253 | (atomic_exchangesi_hard, atomic_exchange<mode>_hard, | |
41254 | atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb, | |
41255 | atomic_exchange<mode>_soft_imask): Use arith_reg_dest and | |
41256 | arith_reg_operand instead of register_operand. | |
41257 | (atomic_arith_operand_1, atomic_logical_operand_1): New predicates. | |
41258 | fetchop_predicate_1, fetchop_constraint_1_llcs, | |
41259 | fetchop_constraint_1_gusa, fetchop_constraint_1_tcb, | |
41260 | fetchop_constraint_1_imask): New code iterator attributes. | |
41261 | (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of | |
41262 | register_operand. Use fetchop_predicate_1. | |
41263 | (atomic_fetch_<fetchop_name>si_hard, | |
41264 | atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of | |
41265 | register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs. | |
41266 | (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest | |
41267 | and arith_reg_operand instead of register_operand. Use | |
41268 | fetchop_predicate_1, fetchop_constraint_1_gusa. | |
41269 | (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest | |
41270 | and arith_reg_operand instead of register_operand. Use | |
41271 | fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence | |
41272 | to allow R0 usage. | |
41273 | (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest | |
41274 | and arith_reg_operand instead of register_operand. Use | |
41275 | fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence | |
41276 | to allow R0 usage. | |
41277 | (atomic_fetch_nand<mode>): Use arith_reg_dest instead of | |
41278 | register_operand. Use atomic_logical_operand_1. | |
41279 | (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard, | |
41280 | atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and | |
41281 | arith_reg_operand instead of register_operand. | |
41282 | (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask): | |
41283 | Use arith_reg_dest and arith_reg_operand instead of register_operand. | |
41284 | Use logical_operand and rK08. Adjust asm sequence to allow R0 usage. | |
41285 | (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of | |
41286 | register_operand. Use fetchop_predicate_1. | |
41287 | (atomic_<fetchop_name>_fetchsi_hard, | |
41288 | atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and | |
41289 | arith_reg_operand instead of register_operand. Use fetchop_predicate_1, | |
41290 | fetchop_constraint_1_llcs. | |
41291 | (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and | |
41292 | arith_reg_operand instead of register_operand. Use fetchop_predicate_1, | |
41293 | fetchop_constraint_1_gusa. | |
41294 | (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and | |
41295 | arith_reg_operand instead of register_operand. Use fetchop_predicate_1, | |
41296 | fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage. | |
41297 | (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and | |
41298 | arith_reg_operand instead of register_operand. Use fetchop_predicate_1, | |
41299 | fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage. | |
41300 | (atomic_nand_fetch<mode>): Use arith_reg_dest instead of | |
41301 | register_operand. Use atomic_logical_operand_1. | |
41302 | (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard, | |
41303 | atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and | |
41304 | arith_reg_operand instead of register_operand. | |
41305 | (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and | |
41306 | arith_reg_operand instead of register_operand. Use logical_operand | |
41307 | and K08. Adjust asm sequence to allow R0 usage. | |
41308 | (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and | |
41309 | arith_reg_operand instead of register_operand. Use logical_operand | |
41310 | and K08. | |
41311 | ||
41312 | 2015-01-28 Jakub Jelinek <jakub@redhat.com> | |
41313 | ||
41314 | PR other/63504 | |
41315 | * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor): | |
41316 | Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>. | |
41317 | (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum | |
41318 | only get_full_len HOST_WIDE_INTs from get_val () array rather than | |
41319 | all bits in *val_wide. | |
41320 | ||
41321 | 2015-01-28 Jan Hubicka <hubicka@ucw.cz> | |
41322 | ||
41323 | * varpool.c (tls_model_names): Fix names. | |
41324 | (varpool_node::dump): Dump tls- prefix for tls models. | |
41325 | ||
41326 | 2015-01-28 Thomas Schwinge <thomas@codesourcery.com> | |
41327 | Bernd Schmidt <bernds@codesourcery.com> | |
41328 | Nathan Sidwell <nathan@codesourcery.com> | |
41329 | ||
41330 | * config/nvptx/mkoffload.c: New file. | |
41331 | * config/nvptx/t-nvptx: Add build rules for it. | |
41332 | * config.gcc <nvptx-*> [$enable_as_accelerator = yes] | |
41333 | (extra_programs): Add mkoffload. | |
41334 | * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New | |
41335 | function. | |
41336 | (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it. | |
41337 | ||
41338 | 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com> | |
41339 | ||
41340 | PR middle-end/64809 | |
41341 | * cfgexpand.c (reorder_operands): Skip debug gimples. | |
41342 | ||
41343 | 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com> | |
41344 | ||
41345 | PR tree-optimization/64277 | |
41346 | * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base | |
41347 | range info when possible to refine estimation. | |
41348 | ||
41349 | 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
41350 | ||
41351 | PR tree-optimization/64718 | |
41352 | * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type | |
41353 | be a 16bit unsigned integer when n->range is 16. | |
41354 | (bswap_replace): Convert src to that type if necessary for all bswap | |
41355 | sizes. Fix rotation right notation in nearby comment. Use bswap_type | |
41356 | set in pass_optimize_bswap::execute (). | |
41357 | ||
41358 | 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com> | |
41359 | ||
41360 | * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New. | |
41361 | * config/aarch64/aarch64-simd-builtins.def (abs): Split by | |
41362 | integer and floating point variants. | |
41363 | * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS. | |
41364 | ||
41365 | 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com> | |
41366 | ||
41367 | * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators | |
41368 | for all vector modes. | |
41369 | ||
41370 | 2015-01-28 Jakub Jelinek <jakub@redhat.com> | |
41371 | ||
41372 | PR bootstrap/64612 | |
41373 | * doc/sourcebuild.texi (comdat_group): Document. | |
41374 | ||
41375 | 2015-01-28 Terry Guo <terry.guo@arm.com> | |
41376 | ||
41377 | * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern. | |
41378 | ||
41379 | 2015-01-27 David Malcolm <dmalcolm@redhat.com> | |
41380 | ||
41381 | * toplev.c (print_version): Add param "show_global_state", and | |
41382 | only print GGC and plugin information if it is true. | |
41383 | (init_asm_output): Pass in "true" for the new param when calling | |
41384 | print_version. | |
41385 | (process_options): Likewise. | |
41386 | (toplev::main): Likewise. | |
41387 | * toplev.h (print_version): Add new param to decl. | |
41388 | ||
41389 | 2015-01-27 Jan Hubicka <hubicka@ucw.cz> | |
41390 | ||
41391 | PR ipa/60871 | |
41392 | PR ipa/64139 | |
41393 | * tree.c (lookup_binfo_at_offset): New function. | |
41394 | (get_binfo_at_offset): Use it. | |
41395 | ||
41396 | 2015-01-27 Jan Hubicka <hubicka@ucw.cz> | |
41397 | ||
41398 | PR ipa/64282 | |
41399 | * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert | |
41400 | on vtable being vtable. | |
41401 | ||
41402 | 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com> | |
41403 | ||
41404 | * doc/extend.texi: s/390: Update documentation of hotpatch attribute. | |
41405 | * doc/invoke.texi (-mhotpatch): s/390: Update documentation of | |
41406 | -mhotpatch= option. | |
41407 | * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and | |
41408 | -mno-hotpatch options. Change syntax of -mhotpatch= option. | |
41409 | * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): | |
41410 | Renamed. | |
41411 | (s390_hotpatch_trampoline_halfwords_max): Renamed. | |
41412 | (s390_hotpatch_hw_max): New name. | |
41413 | (s390_hotpatch_trampoline_halfwords): Renamed. | |
41414 | (s390_hotpatch_hw_before_label): New name. | |
41415 | (get_hotpatch_attribute): Removed. | |
41416 | (s390_hotpatch_hw_after_label): New name. | |
41417 | (s390_handle_hotpatch_attribute): Add second parameter to hotpatch | |
41418 | attribute. | |
41419 | (s390_attribute_table): Ditto. | |
41420 | (s390_function_num_hotpatch_trampoline_halfwords): Renamed. | |
41421 | (s390_function_num_hotpatch_hw): New name. | |
41422 | Remove special handling of inline functions and hotpatching. | |
41423 | Return number of nops before and after the function label. | |
41424 | (s390_can_inline_p): Removed. | |
41425 | (s390_asm_output_function_label): Emit a configurable number of nops | |
41426 | after the function label. | |
41427 | (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch. | |
41428 | (TARGET_CAN_INLINE_P) Removed. | |
41429 | (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New. | |
41430 | ||
41431 | 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
41432 | Jiong Wang <jiong.wang@arm.com> | |
41433 | ||
41434 | * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead | |
41435 | of scratch reg. | |
41436 | (cb<optab><mode>1): Likewise. | |
41437 | * config/aarch64/iterators.md (bcond): New define_code_attr. | |
41438 | ||
41439 | 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | |
41440 | ||
41441 | * config/s390/s390.c (s390_memory_move_cost): Increase costs for | |
41442 | memory accesses. | |
41443 | ||
41444 | 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | |
41445 | ||
41446 | * config/s390/s390.c (s390_register_move_cost): Increase costs for | |
41447 | FPR->GPR moves. | |
41448 | ||
41449 | 2015-01-27 Richard Biener <rguenther@suse.de> | |
41450 | ||
41451 | * tree-vrp.c (update_value_range): Intersect the range with | |
41452 | old recorded SSA name range information. | |
41453 | ||
41454 | 2015-01-27 Nick Clifton <nickc@redhat.com> | |
41455 | ||
41456 | * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the | |
41457 | BC, DE and HL registers directly, not via AX. | |
41458 | When decrementing the stack pointer by a large amount, transfer SP | |
41459 | into AX and perform the subtraction there. | |
41460 | (rl78_expand_epilogue): Perform the inverse of the above | |
41461 | enhancements. | |
41462 | ||
41463 | 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
41464 | ||
41465 | * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove. | |
41466 | ||
41467 | 2015-01-27 Jakub Jelinek <jakub@redhat.com> | |
41468 | Yury Gribov <y.gribov@samsung.com> | |
41469 | ||
41470 | PR ubsan/64741 | |
41471 | * ubsan.c (ubsan_source_location): Refactor code. | |
41472 | (ubsan_type_descriptor): Update type size. Refactor code. | |
41473 | ||
41474 | 2015-01-27 Richard Biener <rguenther@suse.de> | |
41475 | ||
41476 | PR tree-optimization/56273 | |
41477 | PR tree-optimization/59124 | |
41478 | PR tree-optimization/64277 | |
41479 | * tree-vrp.c (vrp_finalize): Emit array-bound warnings only | |
41480 | from the first VRP pass. | |
41481 | ||
41482 | 2015-01-27 Jakub Jelinek <jakub@redhat.com> | |
41483 | ||
41484 | PR ipa/64776 | |
41485 | * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting, | |
41486 | handle the first argument in the same loop as all the other arguments. | |
41487 | ||
41488 | PR rtl-optimization/61058 | |
41489 | * jump.c (cleanup_barriers): Update basic block boundaries | |
41490 | if BLOCK_FOR_INSN is non-NULL on PREV. | |
41491 | ||
41492 | 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com> | |
41493 | ||
41494 | * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of | |
41495 | bounds narrowing, already instrumented calls and calls to | |
41496 | not instrumentable functions. | |
41497 | ||
41498 | 2015-01-27 Jakub Jelinek <jakub@redhat.com> | |
41499 | ||
41500 | PR tree-optimization/64807 | |
41501 | * wide-int.cc (wi::divmod_internal): Clear | |
41502 | b_dividend[dividend_blocks_needed]. | |
41503 | ||
41504 | 2015-01-26 DJ Delorie <dj@redhat.com> | |
41505 | ||
41506 | * config/rl78/rl78.c (move_elim_pass): Don't optimize away | |
41507 | volatile memory references. | |
41508 | ||
41509 | 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org> | |
41510 | ||
41511 | PR target/49263 | |
41512 | * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before | |
41513 | remove_insn. | |
41514 | * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right | |
41515 | shifts if it already fits into K08. | |
41516 | ||
41517 | 2015-01-26 Jakub Jelinek <jakub@redhat.com> | |
41518 | ||
41519 | PR ipa/64730 | |
41520 | * ipa-inline.c (inline_small_functions): Print "unknown" even | |
41521 | if edge->call_stmt is non-NULL, but has builtins or unknown | |
41522 | location. | |
41523 | ||
41524 | PR middle-end/64421 | |
41525 | * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts | |
41526 | with asterisk, skip the first character. | |
41527 | ||
41528 | 2015-01-26 H.J. Lu <hongjiu.lu@intel.com> | |
41529 | ||
41530 | PR target/64806 | |
41531 | * config/i386/i386 (feature_priority): Revert the last P_POPCNT | |
41532 | order change. | |
41533 | ||
41534 | 2015-01-26 Uros Bizjak <ubizjak@gmail.com> | |
41535 | ||
41536 | PR target/64795 | |
41537 | * config/i386/i386.md (*movdi_internal): Also check operand 0 | |
41538 | to determine TYPE_LEA operand. | |
41539 | (*movsi_internal): Ditto. | |
41540 | ||
41541 | 2015-01-26 Jakub Jelinek <jakub@redhat.com> | |
41542 | ||
41543 | * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add | |
41544 | OPTION_MASK_QUAD_MEMORY_ATOMIC. | |
41545 | ||
41546 | 2015-01-26 Renlin Li <renlin.li@arm.com> | |
41547 | ||
41548 | * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct | |
41549 | the comment. | |
41550 | * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit | |
41551 | for higher part. | |
41552 | ||
41553 | 2015-01-26 Richard Biener <rguenther@suse.de> | |
41554 | ||
41555 | PR middle-end/64764 | |
41556 | * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle | |
41557 | combining two BIT_AND_EXPR predicates. | |
41558 | ||
41559 | 2015-01-26 H.J. Lu <hongjiu.lu@intel.com> | |
41560 | ||
41561 | PR bootstrap/64754 | |
41562 | * tree-ssa-structalias.c (new_var_info): Initialize ruid. | |
41563 | ||
41564 | 2015-01-26 Terry Guo <terry.guo@arm.com> | |
41565 | ||
41566 | * config/arm/arm.c (arm_file_start): Update the assignment of | |
41567 | Tag_ABI_HardFP_use. | |
41568 | ||
41569 | 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com> | |
41570 | ||
41571 | * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57 | |
41572 | pipeline model. | |
41573 | config/arm/arm.md: Include the new Cortex-A57 model. | |
41574 | (generic_sched): Don't use generic_sched when tuning for | |
41575 | Cortex-A57. | |
41576 | ||
41577 | 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org> | |
41578 | Uros Bizjak <ubizjak@gmail.com> | |
41579 | ||
41580 | * config/i386/i386.c (get_builtin_code_for_version): Add | |
41581 | support for BMI and BMI2 multiversion functions. | |
41582 | ||
41583 | 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
41584 | ||
41585 | * emit-rtl.h (store_bit_field): Move prototype to expmed.h. | |
41586 | (extract_bit_field): Likewise. | |
41587 | (extract_low_bits): Likewise. | |
41588 | (expand_mult): Likewise. | |
41589 | (expand_mult_highpart_adjust): Likewise. | |
41590 | ||
41591 | 2015-01-24 H.J. Lu <hongjiu.lu@intel.com> | |
41592 | ||
41593 | * config/i386/driver-i386.c (host_detect_local_cpu): Check new | |
41594 | Silvermont, Haswell, Broadwell and Knights Landing model numbers. | |
41595 | * config/i386/i386.c (processor_model): Add | |
41596 | M_INTEL_COREI7_BROADWELL. | |
41597 | (arch_names_table): Add "broadwell". | |
41598 | ||
41599 | 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org> | |
41600 | ||
41601 | PR target/49263 | |
41602 | PR target/53987 | |
41603 | PR target/64345 | |
41604 | PR target/59533 | |
41605 | PR target/52933 | |
41606 | PR target/54236 | |
41607 | PR target/51244 | |
41608 | * config/sh/sh-protos.h | |
41609 | (sh_extending_set_of_reg::can_use_as_unextended_reg, | |
41610 | sh_extending_set_of_reg::use_as_unextended_reg, | |
41611 | sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn, | |
41612 | sh_is_movrt_insn, sh_insn_operands_modified_between_p, | |
41613 | sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr, | |
41614 | sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions. | |
41615 | (sh_treg_insns): New class. | |
41616 | * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook. | |
41617 | (scope_counter): New class. | |
41618 | (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest, | |
41619 | sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn, | |
41620 | sh_extending_set_of_reg::can_use_as_unextended_reg, | |
41621 | sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr, | |
41622 | sh_in_recog_treg_set_expr, sh_try_split_insn_simple, | |
41623 | sh_split_treg_set_expr): New functions. | |
41624 | (addsubcosts): Handle treg_set_expr. | |
41625 | (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT. | |
41626 | (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND. | |
41627 | (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases. | |
41628 | (sh_insn_operands_modified_between_p): Make non-static. | |
41629 | * config/sh/predicates.md (zero_extend_movu_operand): Allow | |
41630 | simple_mem_operand in addition to displacement_mem_operand. | |
41631 | (zero_extend_operand): Don't allow zero_extend_movu_operand. | |
41632 | (treg_set_expr, treg_set_expr_not_const01, | |
41633 | arith_reg_or_treg_set_expr): New predicates. | |
41634 | * config/sh/sh.md (tstsi_t): Use arith_reg_operand and | |
41635 | arith_or_int_operand instead of logical_operand. Convert to | |
41636 | insn_and_split. Try to optimize constant operand in splitter. | |
41637 | (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split. | |
41638 | (*tstqi_t_zero): Delete. | |
41639 | (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition. | |
41640 | (tstsi_t_and_not): Delete. | |
41641 | (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract. | |
41642 | Convert to insn_and_split. | |
41643 | (unnamed split, tstsi_t_zero_extract_xor, | |
41644 | tstsi_t_zero_extract_subreg_xor_little, | |
41645 | tstsi_t_zero_extract_subreg_xor_big): Delete. | |
41646 | (*tstsi_t_shift_mask): New insn_and_split. | |
41647 | (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try | |
41648 | to recombine with surrounding insns when splitting. | |
41649 | (*negtstsi): Add !sh_in_recog_treg_set_expr condition. | |
41650 | (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ... | |
41651 | (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4, | |
41652 | *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns. | |
41653 | (*cbranch_div0s: Delete. | |
41654 | (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. | |
41655 | Try to recombine with surrounding insns when splitting. Add operand | |
41656 | order variants. | |
41657 | (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01. | |
41658 | (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb, | |
41659 | *addc_r_r_msb, *addc_2r_msb): Delete. | |
41660 | (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand | |
41661 | order variant. | |
41662 | (*addc_negreg_t): New insn_and_split. | |
41663 | (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. | |
41664 | Try to recombine with surrounding insns when splitting. | |
41665 | Add operand order variants. | |
41666 | (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New | |
41667 | insn_and_split patterns. | |
41668 | (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with | |
41669 | surrounding insns when splitting. | |
41670 | (unnamed rotcr split): Use arith_reg_or_treg_set_expr. | |
41671 | (*rotcl): Likewise. Add zero_extract variant. | |
41672 | (*ashrsi2_31): New insn_and_split. | |
41673 | (*negc): Convert to insn_and_split. Use treg_set_expr. | |
41674 | (*zero_extend<mode>si2_disp_mem): Update comment. | |
41675 | (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split | |
41676 | condition. | |
41677 | (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine | |
41678 | with surrounding insns when splitting. | |
41679 | (any_treg_expr_to_reg): New insn_and_split. | |
41680 | (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2, | |
41681 | *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5, | |
41682 | *neg_zero_extract_6, *zero_extract_0, *zero_extract_1, | |
41683 | *zero_extract_2): New single bit zero extract patterns. | |
41684 | (bld_reg, *bld_regqi): Fold into bld<mode>_reg. | |
41685 | (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load, | |
41686 | *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load, | |
41687 | *movdi_gbr_load): Use arith_reg_dest instead of register_operand for | |
41688 | set destination. | |
41689 | (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of | |
41690 | register_operand for set source. | |
41691 | ||
41692 | 2015-01-23 Jan Hubicka <hubicka@ucw.cz> | |
41693 | ||
41694 | * i386.opt (prefetch_sse): New targetsave. | |
41695 | * i386.c (ix86_function_specific_save): Save prefetch_sse. | |
41696 | (ix86_function_specific_restore): Restore prefetch_sse and initialize | |
41697 | ix86_cost/ix86_tune_cost. | |
41698 | ||
41699 | 2015-01-23 David Malcolm <dmalcolm@redhat.com> | |
41700 | ||
41701 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): | |
41702 | Support the JIT by using 0 as the language type. | |
41703 | ||
41704 | 2015-01-23 Vladimir Makarov <vmakarov@redhat.com> | |
41705 | ||
41706 | PR target/64317 | |
41707 | * lra-lives.c (make_hard_regno_born): Add parameter. Don't make | |
41708 | REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo. | |
41709 | (mark_regno_live, process_bb_lives): Pass new parameter value to | |
41710 | make_hard_regno_born. | |
41711 | ||
41712 | 2015-01-23 Jakub Jelinek <jakub@redhat.com> | |
41713 | ||
41714 | PR rtl-optimization/63637 | |
41715 | PR rtl-optimization/60663 | |
41716 | * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST | |
41717 | if elt->cost is MAX_COST for ASM_OPERANDS. | |
41718 | (find_sets_in_insn): Fix up comment typo. | |
41719 | (cse_insn): Don't set src_volatile for all non-volatile | |
41720 | ASM_OPERANDS in PARALLELs, but just those with multiple outputs | |
41721 | or with "memory" clobber. Set elt->cost to MAX_COST | |
41722 | for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST | |
41723 | if new_src is ASM_OPERANDS and elt->cost is MAX_COST. | |
41724 | ||
41725 | 2015-01-23 Uros Bizjak <ubizjak@gmail.com> | |
41726 | ||
41727 | * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for | |
41728 | alternative 1. | |
41729 | ||
41730 | 2015-01-23 Uros Bizjak <ubizjak@gmail.com> | |
41731 | ||
41732 | * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to | |
41733 | libgcc/config/i386/elf-lib.h. | |
41734 | ||
41735 | 2015-01-23 Jakub Jelinek <jakub@redhat.com> | |
41736 | ||
41737 | PR driver/64737 | |
41738 | * gcc.c (print_configuration): Don't print a blank line at the end | |
41739 | here... | |
41740 | (run_attempt): ... but here unstead. | |
41741 | ||
41742 | PR middle-end/64734 | |
41743 | * omp-low.c (scan_sharing_clauses): Don't ignore | |
41744 | OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses | |
41745 | on target data/update constructs. | |
41746 | ||
41747 | 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
41748 | ||
41749 | PR target/50928 | |
41750 | * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here. | |
41751 | (DEBUG_RELOAD): Removed define. | |
41752 | (m32c_limit_reload_class): Enable traces with if DEBUG0. | |
41753 | (m32c_function_arg): Added a type cast. | |
41754 | (m32c_legitimize_reload_address): Push A_REGS reload with PSImode. | |
41755 | * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments. | |
41756 | * config/m32c/bitops.md (andqi3_16): Likewise. | |
41757 | * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise. | |
41758 | (push_a01_l): Likewise. | |
41759 | ||
41760 | 2015-01-23 David Malcolm <dmalcolm@redhat.com> | |
41761 | ||
41762 | PR jit/64721 | |
41763 | * main.c (main): Construct toplev instances with init_signals=true. | |
41764 | * toplev.c (general_init): Add param "init_signals", and use it to | |
41765 | conditionalize the calls to signal and host_hooks.extra_signals. | |
41766 | (toplev::toplev): Add param "init_signals". | |
41767 | (toplev::main): When invoking general_init, pass m_init_signals | |
41768 | to control whether signal-handlers are installed. | |
41769 | * toplev.h (toplev::toplev): Add param "init_signals". | |
41770 | (toplev::m_init_signals): New field. | |
41771 | ||
41772 | 2015-01-23 David Malcolm <dmalcolm@redhat.com> | |
41773 | ||
41774 | PR jit/64722 | |
41775 | * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to | |
41776 | NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the | |
41777 | latter may be affected by the former (e.g. on i686). | |
41778 | ||
41779 | 2015-01-23 Martin Liska <mliska@suse.cz> | |
41780 | ||
41781 | * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow | |
41782 | false positive during profiledbootstrap. | |
41783 | ||
41784 | 2015-01-23 Tom de Vries <tom@codesourcery.com> | |
41785 | ||
41786 | PR libgomp/64672 | |
41787 | * lto-opts.c (lto_write_options): Output non-explicit conservative | |
41788 | -fno-openacc. | |
41789 | * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc. | |
41790 | (append_compiler_options): Pass -fopenacc through. | |
41791 | ||
41792 | 2015-01-23 Tom de Vries <tom@codesourcery.com> | |
41793 | ||
41794 | PR libgomp/64707 | |
41795 | * lto-opts.c (lto_write_options): Output non-explicit conservative | |
41796 | -fno-openmp. | |
41797 | * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp. | |
41798 | (append_compiler_options): Pass -fopenmp through. | |
41799 | ||
41800 | 2015-01-23 Jakub Jelinek <jakub@redhat.com> | |
41801 | ||
41802 | PR debug/64511 | |
41803 | * dwarf2out.c (struct dw_loc_descr_node): Add chain_next | |
41804 | GTY markup. | |
41805 | ||
41806 | * diagnostic-core.h (internal_error_no_backtrace): New prototype. | |
41807 | * diagnostic.def (DK_ICE_NOBT): New kind. | |
41808 | * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT | |
41809 | like DK_ICE, but never print backtrace. | |
41810 | (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE. | |
41811 | (internal_error_no_backtrace): New function. | |
41812 | * gcc.c (execute): Use internal_error_no_backtrace instead of | |
41813 | internal_error. | |
41814 | ||
41815 | 2015-01-22 Jeff Law <law@redhat.com> | |
41816 | ||
41817 | PR target/52076 | |
41818 | * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to | |
41819 | improve code density for small immediate to memory case. | |
41820 | (insv): Better handle bitfield assignments when the field is | |
41821 | being set to all ones. | |
41822 | * config/m68k/predicates.md (reg_or_pow2_m1_operand): New | |
41823 | operand predicate. | |
41824 | ||
41825 | 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
41826 | Jakub Jelinek <jakub@redhat.com> | |
41827 | ||
41828 | PR middle-end/64729 | |
41829 | * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit | |
41830 | for !TARGET_LIBC_PROVIDES_SSP version and | |
41831 | -fstack-protector-{all,strong,explicit} otherwise. | |
41832 | * config/freebsd.h (LINK_SSP_SPEC): Handle | |
41833 | -fstack-protector-{strong,explicit}. | |
41834 | ||
41835 | 2015-01-22 Jan Hubicka <hubicka@ucw.cz> | |
41836 | H.J. Lu <hongjiu.lu@intel.com> | |
41837 | ||
41838 | PR ipa/64694 | |
41839 | * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of | |
41840 | heap. | |
41841 | ||
41842 | 2015-01-22 Wei Mi <wmi@google.com> | |
41843 | ||
41844 | PR rtl-optimization/64557 | |
41845 | * dse.c (record_store): Call get_addr for mem_addr. | |
41846 | (check_mem_read_rtx): Likewise. | |
41847 | ||
41848 | 2015-01-22 Eric Botcazou <ebotcazou@adacore.com> | |
41849 | ||
41850 | * fold-const.c (const_binop): Add early return for non-tcc_binary. | |
41851 | ||
41852 | 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com> | |
41853 | ||
41854 | * toplev.c (init_local_tick): Process the failure when read | |
41855 | fails for random_seed. | |
41856 | ||
41857 | * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for | |
41858 | 'pretty_name' to avoid memory overflow. | |
41859 | ||
41860 | 2015-01-22 Richard Biener <rguenther@suse.de> | |
41861 | ||
41862 | PR middle-end/64728 | |
41863 | * tree-ssa-coalesce.c (coalesce_partitions): Do not perform | |
41864 | abnormal coalescing on undefined SSA names. | |
41865 | ||
41866 | 2015-22-01 Uros Bizjak <ubizjak@gmail.com> | |
41867 | ||
41868 | PR target/64688 | |
41869 | PR target/64477 | |
41870 | * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints | |
41871 | for alternative 3. | |
41872 | (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1. | |
41873 | ||
41874 | 2015-01-22 Trevor Saunders <tsaunders@mozilla.com> | |
41875 | ||
41876 | PR middle-end/63325 | |
41877 | * fold-const.c (fold_checksum_tree): Don't include value of | |
41878 | expr->decl_with_vis.symtab_node in the checksum. | |
41879 | ||
41880 | 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | |
41881 | ||
41882 | * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or". | |
41883 | ||
41884 | 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com> | |
41885 | ||
41886 | PR driver/64690 | |
41887 | * gcc.c (insert_comments): New function. | |
41888 | (try_generate_repro): Call it. | |
41889 | (append_text): Removed. | |
41890 | ||
41891 | 2015-01-22 Richard Biener <rguenther@suse.de> | |
41892 | ||
41893 | * ipa-inline.c (can_inline_edge_p): Disable inlining of edges | |
41894 | with IL incompatible options. Properly honor user optimize | |
41895 | attributes. | |
41896 | ||
41897 | 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org> | |
41898 | ||
41899 | PR rtl-optimization/64682 | |
41900 | * combine.c (distribute_notes): When moving a death note for | |
41901 | a register that is set in the new I2, make sure to put it | |
41902 | before that new I2. | |
41903 | ||
41904 | 2015-01-21 David Edelsohn <dje.gcc@gmail.com> | |
41905 | ||
41906 | * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags | |
41907 | not TARGET_DEFAULT. | |
41908 | ||
41909 | 2015-01-21 Jakub Jelinek <jakub@redhat.com> | |
41910 | ||
41911 | PR debug/64511 | |
41912 | * simplify-rtx.c (simplify_relational_operation_1): Don't try to | |
41913 | optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0)) | |
41914 | into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)). | |
41915 | ||
41916 | PR sanitizer/64706 | |
41917 | * doc/invoke.texi (-fsanitize=vptr): Document. | |
41918 | ||
41919 | PR rtl-optimization/62078 | |
41920 | * dse.c: Include cfgcleanup.h. | |
41921 | (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed | |
41922 | anything call purge_all_dead_edges and cleanup_cfg at the end | |
41923 | of the pass. | |
41924 | ||
41925 | 2015-01-21 Jan Hubicka <hubicka@ucw.cz> | |
41926 | ||
41927 | * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect | |
41928 | edges. | |
41929 | ||
41930 | 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
41931 | ||
41932 | * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread | |
41933 | decl attribute. | |
41934 | ||
41935 | 2015-01-21 David Sherwood <david.sherwood@arm.com> | |
dfb6d139 | 41936 | Tejas Belagod <Tejas.Belagod@arm.com> |
fb2c1edd | 41937 | |
41938 | * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed. | |
41939 | * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed. | |
41940 | * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class): | |
41941 | Removed. | |
41942 | ||
41943 | 2015-01-21 David Sherwood <david.sherwood@arm.com> | |
dfb6d139 | 41944 | Tejas Belagod <Tejas.Belagod@arm.com> |
fb2c1edd | 41945 | |
41946 | * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist) | |
41947 | (aarch64_reverse_mask): New decls. | |
41948 | * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum. | |
41949 | (insn_count): New mode_attr. | |
41950 | * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci) | |
41951 | (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci) | |
41952 | (vec_load_lanesxi): Made ABI compliant for Big Endian targets. | |
41953 | (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3) | |
41954 | (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3) | |
41955 | (aarch64_simd_st4): New patterns. | |
41956 | * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist) | |
41957 | (aarch64_reverse_mask): New functions. | |
41958 | ||
41959 | 2015-01-21 Alan Hayward <alan.hayward@arm.com> | |
41960 | ||
41961 | * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy): | |
41962 | Declare. | |
41963 | * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra | |
41964 | addressing modes for BE. | |
41965 | (aarch64_print_operand): Add 'R' specifier. | |
41966 | (aarch64_simd_disambiguate_copy): Delete. | |
41967 | (aarch64_simd_emit_reg_reg_move): New function. | |
41968 | * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move | |
41969 | in define_splits for structural moves. | |
41970 | (mov<mode>): Use less restrictive predicates. | |
41971 | (*aarch64_mov<mode>): Simplify and only allow for LE. | |
41972 | (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New. | |
41973 | ||
41974 | 2015-01-21 Alan Hayward <alan.hayward@arm.com> | |
41975 | ||
41976 | * rtlanal.c (subreg_get_info): Exit early for simple and common cases. | |
41977 | ||
41978 | 2015-01-21 Richard Henderson <rth@redhat.com> | |
41979 | ||
41980 | PR target/64669 | |
41981 | * ccmp.c (used_in_cond_stmt_p): Remove. | |
41982 | (expand_ccmp_expr): Don't use it. | |
41983 | ||
41984 | 2015-01-21 Nick Clifton <nickc@redhat.com> | |
41985 | ||
41986 | * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside | |
41987 | PARALLELs. | |
41988 | ||
41989 | 2015-01-21 Richard Biener <rguenther@suse.de> | |
41990 | ||
41991 | PR middle-end/64313 | |
41992 | * tree-core.h (builtin_info, builtin_info_type): Turn from | |
41993 | an object with two arrays into an array of an object with | |
41994 | decl and two flags, implicit_p and declared_p. | |
41995 | * tree.h (builtin_decl_explicit, builtin_decl_implicit, | |
41996 | set_builtin_decl, set_builtin_decl_implicit_p, | |
41997 | builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust. | |
41998 | (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions. | |
41999 | * builtins.c (builtin_info): Adjust. | |
42000 | * gimplify.c (gimplify_addr_expr): References to builtins | |
42001 | that have been declared by the user makes them eligible for | |
42002 | use by the compiler. Call set_builtin_decl_implicit_p on them. | |
42003 | ||
42004 | 2015-01-20 Jeff Law <law@redhat.com> | |
42005 | ||
42006 | PR target/59946 | |
42007 | * config/m68k/m68k.md (Comparison expanders and patterns): Do not | |
42008 | allow pc-relative addresses in operand predicates or constraints. | |
42009 | ||
42010 | 2015-01-21 Bin Cheng <bin.cheng@arm.com> | |
42011 | ||
42012 | * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer | |
42013 | neon on aarch32 processors for stringops. | |
42014 | ||
42015 | 2015-01-19 Jan Hubicka <hubicka@ucw.cz> | |
42016 | ||
42017 | PR ipa/63576 | |
42018 | * ipa-utils.c (ipa_merge_profiles): Merge speculative edges. | |
42019 | ||
42020 | 2015-01-19 Jan Hubicka <hubicka@ucw.cz> | |
42021 | ||
42022 | PR lto/45375 | |
42023 | * ipa-inline.c: Include lto-streamer.h | |
42024 | (report_inline_failed_reason): Output source file differences and | |
42025 | flags on optimization/target node mismatch. | |
42026 | (can_inline_edge_p): Consider caller to be the outer inline function; | |
42027 | be less restrictive about matching opimize and optimize_size attributes. | |
42028 | (inline_account_function_p): Break out from ... | |
42029 | (inline_small_functions): ... here. | |
42030 | * ipa-inline-transform.c (clone_inlined_nodes): Use | |
42031 | inline_account_function_p. | |
42032 | (inline_call): Use optimize attribution; use inline_account_function_p. | |
42033 | (inline_transform): Use opt_for_fn. | |
42034 | * ipa-inline.h (inline_account_function_p): Declare. | |
42035 | ||
42036 | 2015-01-20 Jakub Jelinek <jakub@redhat.com> | |
42037 | ||
42038 | PR debug/64663 | |
42039 | * dwarf2out.c (decl_piece_node): Don't put bitsize into | |
42040 | mode if bitsize <= 0. | |
42041 | (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl, | |
42042 | dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit | |
42043 | sizes and positions. | |
42044 | ||
42045 | 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com> | |
42046 | ||
42047 | * config/nios2/nios2.c (nios2_asm_file_end): Implement | |
42048 | TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when | |
42049 | needed. | |
42050 | (TARGET_ASM_FILE_END): Define. | |
42051 | ||
42052 | 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | |
42053 | ||
42054 | * config/arm/arm-protos.h (enum arm_sched_autopref): New constants. | |
42055 | (struct tune_params): Use the enum. | |
42056 | * arm.c (arm_*_tune): Update. | |
42057 | (arm_option_override): Update. | |
42058 | ||
42059 | 2015-01-20 Richard Biener <rguenther@suse.de> | |
42060 | ||
42061 | PR ipa/64684 | |
42062 | * ipa-reference.c (add_static_var): Inline ... | |
42063 | (analyze_function): ... here after splitting out from ... | |
42064 | (is_proper_for_analysis): ... this. | |
42065 | ||
42066 | 2015-01-20 Matthew Wahab <matthew.wahab@arm.com> | |
42067 | ||
42068 | PR target/64149 | |
42069 | * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle. | |
42070 | * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag, | |
42071 | replace the conditional with it's true branch. | |
42072 | * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true. | |
42073 | (arm_lra_p): Remove. | |
42074 | ||
42075 | 2015-01-20 Eric Botcazou <ebotcazou@adacore.com> | |
42076 | ||
42077 | * config/visium/visium.h (LIB_SPEC): Adjust in default case. | |
42078 | ||
42079 | 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
42080 | ||
42081 | * config/tilegx/mul-tables.c: Move symtab.h include after | |
42082 | coretypes.h include. | |
42083 | * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, | |
42084 | vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, | |
42085 | flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h, | |
42086 | wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h, | |
42087 | explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. | |
42088 | ||
42089 | 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com> | |
42090 | ||
42091 | PR bootstrap/64676 | |
42092 | Revert: | |
42093 | 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com> | |
42094 | ||
42095 | PR rtl-optimization/64081 | |
42096 | * loop-iv.c (def_pred_latch_p): New function. | |
42097 | (latch_dominating_def): Allow specific cases with non-single | |
42098 | definitions. | |
42099 | (iv_get_reaching_def): Likewise. | |
42100 | (check_complex_exit_p): New function. | |
42101 | (check_simple_exit): Use check_complex_exit_p to allow certain cases | |
42102 | with exits not executing on any iteration. | |
42103 | ||
42104 | 2015-01-19 Jan Hubicka <hubicka@ucw.cz> | |
42105 | ||
42106 | PR lto/45375 | |
42107 | * i386.c (ix86_option_override_internal): Use ix86_tune_cost | |
42108 | to set branch cost. | |
42109 | ||
42110 | 2015-01-19 Jan Hubicka <hubicka@ucw.cz> | |
42111 | ||
42112 | PR lto/45375 | |
42113 | * i386.c (gate): Check flag_expensive_optimizations and | |
42114 | optimize_size. | |
42115 | (ix86_option_override_internal): Drop optimize_size condition | |
42116 | on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER, | |
42117 | MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE, | |
42118 | MASK_PREFER_AVX128. | |
42119 | (ix86_avx256_split_vector_move_misalign, | |
42120 | ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed. | |
42121 | * sse.md (all uses of TARGET_PREFER_AVX128): Add | |
42122 | optimize_insn_for_speed_p check. | |
42123 | ||
42124 | 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com> | |
42125 | ||
42126 | * config/mips/mips.h (FP_ASM_SPEC): New define. | |
42127 | (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC | |
42128 | instead. | |
42129 | ||
42130 | 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org> | |
42131 | ||
42132 | PR target/53988 | |
42133 | * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return | |
42134 | nullptr for insn when reaching the first insn. | |
42135 | * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator. | |
42136 | (sh_insn_operands_modified_between_p): Add nullptr check. | |
42137 | (sh_find_extending_set_of_reg): Fix log message. Don't accept | |
42138 | sign extending mem load if the insn contains any UNSPEC or | |
42139 | UNSPEC_VOLATILE. | |
42140 | ||
42141 | 2015-01-19 Jan Hubicka <hubicka@ucw.cz> | |
42142 | ||
42143 | * params.def (inline-unit-growth): Drop to 15%. | |
42144 | * invoke.texi (inline-unit-growth): Document change. | |
42145 | ||
42146 | 2015-01-19 Martin Liska <mliska@suse.cz> | |
42147 | ||
42148 | PR ipa/64668 | |
42149 | * ipa-icf-gimple.c (func_checker::compare_operand): Call proper | |
42150 | function for second argument of OBJ_TYPE_REF. | |
42151 | ||
42152 | 2015-01-19 Jan Hubicka <hubicka@ucw.cz> | |
42153 | ||
42154 | PR ipa/64218 | |
42155 | * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check | |
42156 | whether function is an alias. | |
42157 | ||
42158 | 2015-01-19 Jan Hubicka <hubicka@ucw.cz> | |
42159 | ||
42160 | * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless | |
42161 | cases. | |
42162 | ||
42163 | 2015-01-19 Vladimir Makarov <vmakarov@redhat.com> | |
42164 | ||
42165 | PR rtl-optimization/64671 | |
42166 | * lra-remat.c (operand_to_remat): Don't consider jump and call | |
42167 | insns. | |
42168 | ||
42169 | 2015-01-19 David Edelsohn <dje.gcc@gmail.com> | |
42170 | ||
42171 | PR target/59828 | |
42172 | * config/rs6000/default64.h: Include rs6000-cpus.def. | |
42173 | (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8). | |
42174 | (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4. | |
42175 | * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7 | |
42176 | and POWER8. | |
42177 | * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to | |
42178 | POWER8. | |
42179 | * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine | |
42180 | pseudo-op to specify assembler dialect. | |
42181 | ||
42182 | 2015-01-19 Martin Liska <mliska@suse.cz> | |
42183 | ||
42184 | PR ipa/64664 | |
42185 | * ipa-icf.c (sem_item_optimizer::filter_removed_items): | |
42186 | Handle safe potentially removed nodes during filtering. | |
42187 | ||
42188 | 2015-01-19 Martin Liska <mliska@suse.cz> | |
42189 | ||
42190 | * doc/extend.texi (no_icf): Add new attribute description. | |
42191 | * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases | |
42192 | where the pass attempts to merge a function with no_icf attribute. | |
42193 | ||
42194 | 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
42195 | ||
42196 | PR target/64532 | |
42197 | * doc/md.texi (ARM Options): Document register constraints. | |
42198 | ||
42199 | 2015-01-19 Jiong Wang <jiong.wang@arm.com> | |
42200 | Andrew Pinski <apinski@cavium.com> | |
42201 | ||
42202 | PR target/64304 | |
42203 | * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted. | |
42204 | (ashl<mode>3): Don't expand if operands[2] is not constant. | |
42205 | ||
42206 | 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
42207 | ||
42208 | PR target/64448 | |
42209 | * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal): | |
42210 | Match xor-and-xor RTL pattern. | |
42211 | ||
42212 | 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com> | |
42213 | ||
42214 | PR rtl-optimization/64081 | |
42215 | * loop-iv.c (def_pred_latch_p): New function. | |
42216 | (latch_dominating_def): Allow specific cases with non-single | |
42217 | definitions. | |
42218 | (iv_get_reaching_def): Likewise. | |
42219 | (check_complex_exit_p): New function. | |
42220 | (check_simple_exit): Use check_complex_exit_p to allow certain cases | |
42221 | with exits not executing on any iteration. | |
42222 | ||
42223 | 2015-01-19 Jakub Jelinek <jakub@redhat.com> | |
42224 | ||
42225 | * common.opt (fgraphite): Fix a typo. | |
42226 | ||
42227 | 2015-01-19 Felix Yang <felix.yang@huawei.com> | |
42228 | ||
42229 | * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New | |
42230 | pattern. | |
42231 | * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp, | |
42232 | uminp, smax_nanp, smin_nanp): New builtins. | |
42233 | * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32, | |
42234 | vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32, | |
42235 | vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64, | |
42236 | vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64, | |
42237 | vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8, | |
42238 | vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8, | |
42239 | vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64, | |
42240 | vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64, | |
42241 | vpminnms_f32): Rewrite using builtin functions. | |
42242 | ||
42243 | 2015-01-19 Thomas Schwinge <thomas@codesourcery.com> | |
42244 | ||
42245 | PR libgomp/64625 | |
42246 | * omp-low.c (offload_symbol_decl): Remove variable. | |
42247 | (get_offload_symbol_decl): Remove function. | |
42248 | (expand_omp_target): For BUILT_IN_GOMP_TARGET, | |
42249 | BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL | |
42250 | instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START, | |
42251 | BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL, | |
42252 | BUILT_IN_GOACC_UPDATE don't pass it at all. | |
42253 | ||
42254 | 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com> | |
42255 | ||
42256 | * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk | |
42257 | callers. | |
42258 | ||
42259 | 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com> | |
42260 | ||
42261 | * ipa-chkp.c (chkp_produce_thunks): Add early param | |
42262 | to split thunks production into two passes. Keep | |
42263 | 'always_inline' function bodies after the first pass. | |
42264 | (pass_data_ipa_chkp_early_produce_thunks): New. | |
42265 | (pass_ipa_chkp_early_produce_thunks): New. | |
42266 | (pass_ipa_chkp_produce_thunks::execute): Adjust to new | |
42267 | chkp_produce_thunks signature. | |
42268 | (make_pass_ipa_chkp_early_produce_thunks): New. | |
42269 | * passes.def (pass_ipa_chkp_early_produce_thunks): New. | |
42270 | (pass_ipa_chkp_produce_thunks): Move after local optimizations. | |
42271 | * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New. | |
42272 | ||
42273 | 2015-01-18 Jan Hubicka <hubicka@ucw.cz> | |
42274 | ||
42275 | * cgraph.c (cgraph_node::dump): Dump profile flags. | |
42276 | ||
42277 | 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org> | |
42278 | ||
42279 | PR target/64652 | |
42280 | * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address | |
42281 | reg appear first in the parallel. | |
42282 | ||
42283 | 2015-01-18 Jan Hubicka <hubicka@ucw.cz> | |
42284 | ||
42285 | * ipa-reference.c (set_reference_optimization_summary, | |
42286 | ipa_reference_get_not_written_global): Do nothing if ipa-reference is | |
42287 | disabled. | |
42288 | (ignore_module_statics): New static var. | |
42289 | (propagate_bits): If ipa-reference is disabled, do not look into local | |
42290 | properties. | |
42291 | (analyze_function): Disable analysis when ipa_reference is disabled. | |
42292 | (generate_summary): Do not dump when reference is disabled; | |
42293 | collect vars accessed from functions with ipa-reference disabled. | |
42294 | (get_read_write_all_from_node): When ipa-reference is disabled, use the | |
42295 | node flags. | |
42296 | (gate): Enable for LTO. | |
42297 | (ignore_edge_p): New function. | |
42298 | (propagate): Skip functions w/o ipa-reference analysis. | |
42299 | * optc-save-gen.awk: Handle optimize_debug correctly. | |
42300 | * opth-gen.awk: Likewise. | |
42301 | * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse, | |
42302 | fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region, | |
42303 | fira-share-save-slots, fira-share-spill-slots, | |
42304 | fmodulo-sched-allow-regmoves, fpartial-inlining, | |
42305 | sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow, | |
42306 | ftracer, ftree-parallelize-loops, fassociative-math, | |
42307 | freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as | |
42308 | Optimization | |
42309 | (fauto-profile, fcommon, fdata-sections, fipa-icf-variables, | |
42310 | ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as | |
42311 | Optimization. | |
42312 | * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items): | |
42313 | Fix for IPA. | |
42314 | ||
42315 | 2015-01-18 Jan Hubicka <hubicka@ucw.cz> | |
42316 | ||
42317 | PR ipa/64378 | |
42318 | * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative | |
42319 | flag correctly. | |
42320 | * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation. | |
42321 | ||
42322 | 2015-01-18 Sandra Loosemore <sandra@codesourcery.com> | |
42323 | ||
42324 | * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]): | |
42325 | Remove duplicate option listings. | |
42326 | ||
42327 | 2015-01-18 Felix Yang <felix.yang@huawei.com> | |
42328 | ||
42329 | * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test. | |
42330 | (autofdo_source_profile::get_callsite_total_count, | |
42331 | function_instance::get_function_instance_by_decl, | |
42332 | string_table::get_index, string_table::get_index_by_decl, | |
42333 | afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline): | |
42334 | Fix comment typos. Reformatting and minor code rearrangement. | |
42335 | ||
42336 | 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org> | |
42337 | ||
42338 | * config/rs6000/rs6000.md (probe_stack): Delete. | |
42339 | (probe_stack_address): New. | |
42340 | ||
42341 | 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org> | |
42342 | ||
42343 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT | |
42344 | to test for 32-bit ABIs, not !TARGET_POWERPC64. | |
42345 | ||
42346 | 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org> | |
42347 | ||
42348 | * config/rs6000/rs6000.c (rs6000_parallel_return): New function. | |
42349 | (rs6000_function_value): Use it. Handle SCmode and TCmode as well, | |
42350 | for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD | |
42351 | snafu. | |
42352 | (rs6000_libcall_value): Use the new function. | |
42353 | ||
42354 | 2015-01-17 Sandra Loosemore <sandra@codesourcery.com> | |
42355 | ||
42356 | * doc/invoke.texi ([-ftracer]): Remove duplicate option listing. | |
42357 | ||
42358 | 2015-01-17 Eric Botcazou <ebotcazou@adacore.com> | |
42359 | ||
42360 | * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid, | |
42361 | implement a more precise life analysis for it during backward scan. | |
42362 | ||
42363 | 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com> | |
42364 | ||
42365 | * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed. | |
42366 | ||
42367 | 2015-01-17 Bernd Schmidt <bernds@codesourcery.com> | |
42368 | ||
42369 | PR rtl-optimization/52773 | |
42370 | * calls.c (emit_library_call_value): When pushing arguments use | |
42371 | stack_pointer_rtx rather than virtual_outgoing_args_rtx in | |
42372 | CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic | |
42373 | stack pointer reference into CALL_INSN_FUNCTION_USAGE. | |
42374 | ||
42375 | 2015-01-17 Jeff Law <law@redhat.com> | |
42376 | ||
42377 | PR rtl-optimization/32790 | |
42378 | * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT, | |
42379 | not ZERO_EXTEND in SET_DESTs. | |
42380 | ||
42381 | 2015-01-17 Alan Modra <amodra@gmail.com> | |
42382 | ||
42383 | * cprop.c (do_local_cprop): Revert last change. | |
42384 | ||
42385 | 2015-01-16 DJ Delorie <dj@redhat.com> | |
42386 | Nick Clifton <nickc@redhat.com> | |
42387 | ||
42388 | * config/rl78/rl78-real.md (addqi3_real): Allow volatiles. | |
42389 | (addhi3_real): Likewise. Fix [HL+0] syntax. | |
42390 | (subqi3_real): Likewise. | |
42391 | (subhi3_real): Likewise. | |
42392 | (cbranchqi4_real): Likewise. Allow saddr,#imm. | |
42393 | (cbranchhi4_real): Likewise. | |
42394 | (cbranchhi4_real_inverted): Likewise. | |
42395 | (cbranchsi4_real_lt): Likewise. | |
42396 | (cbranchsi4_real_ge): Likewise. | |
42397 | (cbranchsi4_real_ge): Likewise. | |
42398 | * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise. | |
42399 | (sub<mode>3_virt): Likewise. | |
42400 | (cbranchqi4_virt): Likewise. | |
42401 | (cbranchhi4_virt): Likewise. | |
42402 | * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means | |
42403 | always use '[reg+imm]' even when imm is zero. | |
42404 | * config/rl78/predicates.md (rl78_volatile_memory_operand): New. | |
42405 | (rl78_general_operand): New. | |
42406 | (rl78_nonimmediate_operand): New. | |
42407 | (rl78_nonfar_operand): Use them. | |
42408 | (rl78_nonfar_nonimm_operand): Likewise. | |
42409 | (rl78_stack_based_mem): Fix. | |
42410 | * config/rl78/constraints.md (Ibqi): New. | |
42411 | (IBqi): New. | |
42412 | (Wsa): New. | |
42413 | (Wsf): New. | |
42414 | (Cs1): Fix. | |
42415 | * config/rl78/rl78-expand.md (andqi3): Accept volatiles. | |
42416 | (iorqi3): Likewise. | |
42417 | (xorqi3): Likewise. | |
42418 | * config/rl78/rl78-protos.h (rl78_sfr_p): New. | |
42419 | ||
42420 | * config/rl78/constrains (Qs8): New constraint. | |
42421 | * config/rl78/rl78.c (rl78_flags_already_set): New function. | |
42422 | * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype. | |
42423 | * config/rl78/rl78-real.md (update_Z): New attribute. | |
42424 | Update patterns to set it. | |
42425 | (cbranchqi4_real): Call rl78_flags_already_set() to determine if a | |
42426 | shorter compare and branch sequence can be used. | |
42427 | (cbranchhi4_real): Likewise. | |
42428 | (cbranchhi4_real_inverted): Likewise. | |
42429 | ||
42430 | * config/rl78/predicates.md (uword_operand): Allow symbol_refs. | |
42431 | * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near | |
42432 | address space. | |
42433 | * config/rl78/rl78.c (rl78_get_name_encoding): New. | |
42434 | (rl78_option_override): Allow -mes0 only if C. | |
42435 | (characterize_address): Support subregs of symbol_refs. | |
42436 | (rl78_addr_space_address_mode): Move. Add __near. | |
42437 | (rl78_far_p): Likewise. | |
42438 | (rl78_addr_space_pointer_mode): Likewise. | |
42439 | (rl78_as_legitimate_address): Likewise. | |
42440 | (rl78_addr_space_subset_p): Likewise. | |
42441 | (rl78_addr_space_convert): Likewise. | |
42442 | (rl78_print_operand_1): Support 16-bit addressing of 32-bit | |
42443 | symbols with -mes0. | |
42444 | (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC] | |
42445 | addressing. | |
42446 | (rl78_alloc_physical_registers_op1): Change logic to prefer | |
42447 | symbol[BC] addressing. | |
42448 | (frodata_section): New. | |
42449 | (rl78_asm_init_sections): Initialize it. | |
42450 | (rl78_select_section): Put __far readonly symbols in .frodata. | |
42451 | (rl78_make_type_far): New. | |
42452 | (rl78_insert_attributes): Force all readonly symbols to be | |
42453 | __far when -mes0. | |
42454 | (rl78_asm_out_integer): New. | |
42455 | * config/rl78/rl78.h (ADDR_SPACE_NEAR): New. | |
42456 | * config/rl78/rl78.opt (-mes0): New. | |
42457 | ||
42458 | * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New. | |
42459 | (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. | |
42460 | (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. | |
42461 | * config/rl78/rl78-protos.h (rl78_output_labelref): New. | |
42462 | (rl78_saddr_p): New. | |
42463 | (rl78_output_aligned_common): New. | |
42464 | * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings. | |
42465 | (rl78_handle_saddr_attribute): New. | |
42466 | (rl78_handle_naked_attribute): New. | |
42467 | (rl78_attribute_table): Add saddr. | |
42468 | (rl78_print_operand_1): Don't print '!' on saddr operands. | |
42469 | (rl78_print_operand_1): Strip encodings. | |
42470 | (rl78_sfr_p): New. | |
42471 | (rl78_strip_name_encoding): New. | |
42472 | (rl78_attrlist_to_encoding): New. | |
42473 | (rl78_encode_section_info): New. | |
42474 | (rl78_asm_init_sections): New. | |
42475 | (rl78_select_section): New. | |
42476 | (rl78_output_labelref): New. | |
42477 | (rl78_output_aligned_common): New. | |
42478 | (rl78_asm_out_integer): New. | |
42479 | (rl78_asm_ctor_dtor): New. | |
42480 | (rl78_asm_constructor): New. | |
42481 | (rl78_asm_destructor): New. | |
42482 | ||
42483 | * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es. | |
42484 | * config/rl78/rl78.c (rl78_expand_epilogue): Update. | |
42485 | (transcode_memory_rtx): Update. | |
42486 | (rl78_expand_epilogue): Use A_REG instead of 0. | |
42487 | ||
42488 | 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | |
42489 | ||
42490 | * config/arm/arm-protos.h (struct tune_params): New field | |
42491 | sched_autopref_queue_depth. | |
42492 | * config/arm/arm.c (sched-int.h): Include header. | |
42493 | (arm_first_cycle_multipass_dfa_lookahead_guard,) | |
42494 | (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook. | |
42495 | (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,) | |
42496 | (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,) | |
42497 | (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,) | |
42498 | (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,) | |
42499 | (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,) | |
42500 | (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): | |
42501 | Specify sched_autopref_queue_depth value. Enabled for A15 and A57. | |
42502 | * config/arm/t-arm (arm.o): Update. | |
42503 | * haifa-sched.c (update_insn_after_change): Update. | |
42504 | (rank_for_schedule): Use auto-prefetcher model, if requested. | |
42505 | (autopref_multipass_init): New static function. | |
42506 | (autopref_rank_for_schedule): New rank_for_schedule heuristic. | |
42507 | (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static | |
42508 | variable for debug dumps. | |
42509 | (autopref_multipass_dfa_lookahead_guard_1): New static helper function. | |
42510 | (autopref_multipass_dfa_lookahead_guard): New global function that | |
42511 | implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook. | |
42512 | (init_h_i_d): Update. | |
42513 | * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob. | |
42514 | * sched-int.h (enum autopref_multipass_data_status): New const enum. | |
42515 | (autopref_multipass_data_): Structure for auto-prefetcher data. | |
42516 | (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs. | |
42517 | (struct _haifa_insn_data:autopref_multipass_data): New field. | |
42518 | (INSN_AUTOPREF_MULTIPASS_DATA): New access macro. | |
42519 | (autopref_multipass_dfa_lookahead_guard): Declare. | |
42520 | ||
42521 | 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | |
42522 | ||
42523 | * rtlanal.c (get_base_term): Handle SCRATCH. | |
42524 | ||
42525 | 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | |
42526 | ||
42527 | * config/aarch64/aarch64.c | |
42528 | (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook. | |
42529 | (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. | |
42530 | * config/arm/arm.c | |
42531 | (arm_first_cycle_multipass_dfa_lookahead): Implement hook. | |
42532 | (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define. | |
42533 | ||
42534 | 2015-01-17 Alan Modra <amodra@gmail.com> | |
42535 | ||
42536 | * cprop.c (do_local_cprop): Disallow replacement of fixed | |
42537 | hard registers. | |
42538 | ||
42539 | 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
42540 | ||
42541 | PR target/62066 | |
42542 | * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before | |
42543 | early return 0. | |
42544 | ||
42545 | 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
42546 | ||
42547 | * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters. | |
42548 | * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update. | |
42549 | ||
42550 | 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
42551 | ||
42552 | * config/arm/arm.md: Move comment about splitting Thumb1 patterns to... | |
42553 | * config/arm/thumb1.md: ... Here. | |
42554 | ||
42555 | 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> | |
42556 | ||
42557 | * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow | |
42558 | TImode for TARGET_32BIT. | |
42559 | ||
42560 | 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> | |
42561 | ||
42562 | * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE, | |
42563 | TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement | |
42564 | as ... | |
42565 | (rs6000_abi_word_mode): New function. | |
42566 | ||
42567 | 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> | |
42568 | ||
42569 | * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD | |
42570 | instead of UNITS_PER_WORD to describe the size of stack slots. | |
42571 | ||
42572 | 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> | |
42573 | ||
42574 | * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement | |
42575 | as rs6000_promote_function_mode. Move comment to there. | |
42576 | (rs6000_promote_function_mode): New function. | |
42577 | ||
42578 | 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org> | |
42579 | ||
42580 | * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32 | |
42581 | -mpowerpc64 is active. | |
42582 | ||
42583 | 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com> | |
42584 | ||
42585 | PR middle-end/64353 | |
42586 | * tree-cfg.c (pass_data_fixup_cfg): Update SSA for | |
42587 | virtuals on start. | |
42588 | ||
42589 | 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com> | |
42590 | ||
42591 | * config/arm/cortex-a57.md: Remove duplicate of file accidentally | |
42592 | introduced in revision 219724. | |
42593 | ||
42594 | 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
dfb6d139 | 42595 | Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
fb2c1edd | 42596 | |
42597 | PR target/64263 | |
42598 | * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the | |
42599 | destination is not a GP reg. | |
42600 | (*movdi_aarch64): Likewise. | |
42601 | ||
42602 | 2015-01-16 David Edelsohn <dje.gcc@gmail.com> | |
42603 | ||
42604 | PR target/64623 | |
42605 | * config/rs6000/default64.h: Revert ISA change. | |
42606 | ||
42607 | 2015-01-16 Richard Biener <rguenther@suse.de> | |
42608 | ||
42609 | PR middle-end/64614 | |
42610 | * tree-ssa-uninit.c: Include tree-cfg.h. | |
42611 | (MAX_SWITCH_CASES): New define. | |
42612 | (convert_control_dep_chain_into_preds): Handle switch statements. | |
42613 | (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0. | |
42614 | (normalize_one_pred_1): Do not split bit-manipulations. | |
42615 | Record (x & CST). | |
42616 | ||
42617 | 2015-01-16 Richard Biener <rguenther@suse.de> | |
42618 | ||
42619 | PR tree-optimization/64568 | |
42620 | * tree-ssa-forwprop.c (pass_forwprop::execute): Guard | |
42621 | complex load rewriting for TARGET_MEM_REFs. | |
42622 | ||
42623 | 2015-01-16 Uros Bizjak <ubizjak@gmail.com> | |
42624 | ||
42625 | * builtins.c (expand_builtin_acc_on_device): Check target for NULL. | |
42626 | ||
42627 | 2015-01-16 Matthew Wahab <matthew.wahab@arm.com> | |
42628 | ||
42629 | PR target/64149 | |
42630 | * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag | |
42631 | variable. | |
42632 | * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true. | |
42633 | (aarch64_lra_p): Remove. | |
42634 | ||
42635 | 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com> | |
42636 | ||
42637 | PR target/64363 | |
42638 | * ipa-chkp.h (chkp_instrumentable_p): New. | |
42639 | * ipa-chkp.c: Include tree-inline.h. | |
42640 | (chkp_instrumentable_p): New. | |
42641 | (chkp_maybe_create_clone): Use chkp_instrumentable_p. | |
42642 | Fix processing of not instrumentable functions. | |
42643 | (chkp_versioning): Use chkp_instrumentable_p. Warn about | |
42644 | not instrumentable functions. | |
42645 | * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use | |
42646 | chkp_instrumentable_p. | |
42647 | * tree-inline.h (copy_forbidden): New. | |
42648 | * tree-inline.c (copy_forbidden): Not static anymore. | |
42649 | ||
42650 | 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
42651 | ||
42652 | * optc-save-gen.awk (cl_target_option_print_diff): Mark indent, | |
42653 | ptr1, ptr2 unused. | |
42654 | ||
42655 | 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com> | |
42656 | ||
42657 | * lra-constraints.c (curr_insn_transform): Change a reload pseudo of | |
42658 | type OP_OUT to OP_INOUT. | |
42659 | ||
42660 | 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com> | |
42661 | ||
42662 | * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum | |
42663 | (high x) y) to y if x and y have the same base. | |
42664 | ||
42665 | 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com> | |
42666 | ||
42667 | * config/arm/cortex-a57.md: New. | |
42668 | * config/aarch64/aarch64.md: Include it. | |
42669 | * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it. | |
42670 | * config/aarch64/aarch64-tune.md: Regenerate. | |
42671 | ||
42672 | 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com> | |
42673 | ||
42674 | PR target/64015 | |
42675 | * ccmp.c (expand_ccmp_next): New function. | |
42676 | (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence | |
42677 | and compare insn sequence. | |
42678 | * config/aarch64/aarch64.c (aarch64_code_to_ccmode, | |
42679 | aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions. | |
42680 | (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO. | |
42681 | * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>. | |
42682 | (*ccmp_ior): Changed to ccmp_ior<mode>. | |
42683 | (cmp<mode>): New pattern. | |
42684 | * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update | |
42685 | parameters. | |
42686 | * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters. | |
42687 | ||
42688 | 2015-01-16 Ilya Tocar <ilya.tocar@intel.com> | |
42689 | ||
42690 | * config/i386/avx2intrin.h (_mm256_bslli_epi128, | |
42691 | _mm256_bsrli_epi128): New. | |
42692 | * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto. | |
42693 | ||
42694 | 2015-01-15 Jiong Wang <jiong.wang@arm.com> | |
42695 | ||
42696 | * expmed.c (store_bit_field_using_insv): Improve warning message. | |
42697 | Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED. | |
42698 | ||
42699 | 2015-01-15 Jiong Wang <jiong.wang@arm.com> | |
42700 | ||
42701 | PR rtl-optimization/64011 | |
42702 | * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when | |
42703 | there is partial overflow. | |
42704 | ||
42705 | 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> | |
42706 | ||
42707 | * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change | |
42708 | prototype. | |
42709 | (nds32_expand_epilogue_v3pop): Likewise. | |
42710 | * config/nds32/nds32.md (sibcall): Define this for sibling call | |
42711 | optimization. | |
42712 | (sibcall_register): Likewise. | |
42713 | (sibcall_immediate): Likewise. | |
42714 | (sibcall_value): Likewise. | |
42715 | (sibcall_value_register): Likewise. | |
42716 | (sibcall_value_immediate): Likewise. | |
42717 | (sibcall_epilogue): Likewise. | |
42718 | (epilogue): Pass false to indicate this is not a sibcall epilogue. | |
42719 | * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case. | |
42720 | (nds32_expand_epilogue_v3pop): Likewise. | |
42721 | ||
42722 | 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> | |
42723 | ||
42724 | * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New. | |
42725 | * config/nds32/nds32.md (unspec_volatile_func_return): Remove. | |
42726 | (return_internal): New. | |
42727 | (return): Define this named pattern. | |
42728 | (simple_return): Define this named pattern. | |
42729 | * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal | |
42730 | pattern instead of unspec_volatile_func_return. | |
42731 | (nds32_expand_epilogue_v3pop): Likewise. | |
42732 | (nds32_can_use_return_insn): New function. | |
42733 | ||
42734 | 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> | |
42735 | ||
42736 | * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New. | |
42737 | * config/nds32/nds32.md (pop25return): New. | |
42738 | * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit | |
42739 | pop25return pattern. | |
42740 | ||
42741 | 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> | |
42742 | ||
42743 | * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp, | |
42744 | -mforbid-fp-as-gp, and -mex9 options. | |
42745 | ||
42746 | 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com> | |
42747 | ||
42748 | * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and | |
42749 | remove -mgp-direct option. | |
42750 | ||
42751 | 2015-01-15 Jan Hubicka <hubicka@ucw.cz> | |
42752 | ||
42753 | * doc/invoke.texi (--param early-inlining-insns): Update default value. | |
42754 | * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14. | |
42755 | ||
42756 | 2015-01-15 Jan Hubicka <hubicka@ucw.cz> | |
42757 | ||
42758 | * ipa-inline.c (inline_small_functions): Work around hints | |
42759 | cache issue. | |
42760 | ||
42761 | 2015-01-15 Sandra Loosemore <sandra@codesourcery.com> | |
42762 | ||
42763 | PR target/59710 | |
42764 | * doc/invoke.texi (Option Summary): Document new Nios II | |
42765 | -mgpopt= syntax. | |
42766 | (Nios II Options): Likewise. | |
42767 | * config/nios2/nios2.opt: Add -mgpopt= option support. | |
42768 | Modify existing -mgpopt and -mno-gpopt options to be aliases. | |
42769 | * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New. | |
42770 | * config/nios2/nios2.c (nios2_option_override): Adjust | |
42771 | -mgpopt defaulting. | |
42772 | (nios2_in_small_data_p): Return true for explicit small data | |
42773 | sections even with -G0. | |
42774 | (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt= | |
42775 | option choices. | |
42776 | ||
42777 | 2015-01-15 Jan Hubicka <hubicka@ucw.cz> | |
42778 | ||
42779 | PR ipa/64612 | |
42780 | * ipa-inline-transform.c (can_remove_node_now_p): Fix handling | |
42781 | of comdat locals. | |
42782 | (inline_call): Fix removal of aliases. | |
42783 | ||
42784 | 2015-01-15 Jakub Jelinek <jakub@redhat.com> | |
42785 | ||
42786 | * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR, | |
42787 | include SANITIZE_VPTR in SANITIZE_UNDEFINED. | |
42788 | * opts.c (common_handle_option): Add -fsanitize=vptr. | |
42789 | * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS, | |
42790 | BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New. | |
42791 | * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER, | |
42792 | UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE. | |
42793 | (ubsan_expand_vptr_ifn): New prototype. | |
42794 | * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE, | |
42795 | expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL, | |
42796 | expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, | |
42797 | expand_LOOP_VECTORIZED): Make argument nameless, remove | |
42798 | ATTRIBUTE_UNUSED. | |
42799 | (expand_UBSAN_VPTR): New function. | |
42800 | * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W | |
42801 | in fn spec. | |
42802 | (UBSAN_VPTR): New internal function. | |
42803 | * sanopt.c (tree_map_traits): Renamed to ... | |
42804 | (sanopt_tree_map_traits): ... this. | |
42805 | (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes. | |
42806 | (sanopt_ctx): Adjust asan_check_map type for tree_map_traits | |
42807 | to sanopt_tree_map_traits renaming. Add vptr_check_map field. | |
42808 | (maybe_optimize_ubsan_vptr_ifn): New function. | |
42809 | (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR. | |
42810 | (pass_sanopt::execute): Likewise. Call sanopt_optimize even for | |
42811 | -fsanitize=vptr. | |
42812 | * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain | |
42813 | internal calls like pure functions for aliasing, even when they | |
42814 | have other side-effects that prevent making them ECF_PURE. | |
42815 | * ubsan.c (ubsan_vptr_type_cache_decl): New variable. | |
42816 | (ubsan_expand_vptr_ifn): New function. | |
42817 | ||
42818 | 2015-01-15 Vladimir Makarov <vmakarov@redhat.com> | |
42819 | ||
42820 | PR rtl-optimization/64110 | |
42821 | * stmt.c (parse_output_constraint): Process '^' and '$'. | |
42822 | (parse_input_constraint): Ditto. | |
42823 | * lra-constraints.c (process_alt_operands): Process the new | |
42824 | constraints. | |
42825 | * ira-costs.c (record_reg_classes): Process the new constraint | |
42826 | '^'. | |
42827 | * genoutput.c (indep_constraints): Add '^' and '$'. | |
42828 | * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'. | |
42829 | * doc/md.texi: Add description of the new constraints. | |
42830 | ||
42831 | 2015-01-15 Thomas Schwinge <thomas@codesourcery.com> | |
42832 | Bernd Schmidt <bernds@codesourcery.com> | |
42833 | Cesar Philippidis <cesar@codesourcery.com> | |
42834 | James Norris <jnorris@codesourcery.com> | |
42835 | Tom de Vries <tom@codesourcery.com> | |
42836 | Ilmir Usmanov <i.usmanov@samsung.com> | |
42837 | Dmitry Bocharnikov <dmitry.b@samsung.com> | |
42838 | Evgeny Gavrin <e.gavrin@samsung.com> | |
42839 | Jakub Jelinek <jakub@redhat.com> | |
42840 | ||
42841 | * builtin-types.def (BT_FN_VOID_INT_INT_VAR) | |
42842 | (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) | |
42843 | (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): | |
42844 | New function types. | |
42845 | * builtins.c: Include "gomp-constants.h". | |
42846 | (expand_builtin_acc_on_device): New function. | |
42847 | (expand_builtin, is_inexpensive_builtin): Handle | |
42848 | BUILT_IN_ACC_ON_DEVICE. | |
42849 | * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER): | |
42850 | New macros. | |
42851 | * cgraph.c (cgraph_node::create): Consider flag_openacc next to | |
42852 | flag_openmp. | |
42853 | * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h. | |
42854 | <*-intelmic-* | *-intelmicemul-*> (tm_file): Add | |
42855 | i386/intelmic-offload.h. | |
42856 | * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link | |
42857 | to libgomp and its dependencies. | |
42858 | * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise. | |
42859 | * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. | |
42860 | * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. | |
42861 | * config/ia64/hpux.h (LIB_SPEC): Likewise. | |
42862 | * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. | |
42863 | * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. | |
42864 | * doc/generic.texi: Update for OpenACC changes. | |
42865 | * doc/gimple.texi: Likewise. | |
42866 | * doc/invoke.texi: Likewise. | |
42867 | * doc/sourcebuild.texi: Likewise. | |
42868 | * gimple-pretty-print.c (dump_gimple_omp_for): Handle | |
42869 | GF_OMP_FOR_KIND_OACC_LOOP. | |
42870 | (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS, | |
42871 | GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA, | |
42872 | GF_OMP_TARGET_KIND_OACC_UPDATE, | |
42873 | GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. | |
42874 | Dump more data. | |
42875 | * gimple.c: Update comments for OpenACC changes. | |
42876 | * gimple.def: Likewise. | |
42877 | * gimple.h: Likewise. | |
42878 | (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP, | |
42879 | GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, | |
42880 | GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE, | |
42881 | GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA. | |
42882 | (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the | |
42883 | appropriate place. | |
42884 | (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions. | |
42885 | * gimplify.c: Include "gomp-constants.h". | |
42886 | Update comments for OpenACC changes. | |
42887 | (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA, | |
42888 | OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA, | |
42889 | OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. | |
42890 | (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle | |
42891 | OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, | |
42892 | OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, | |
42893 | OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER, | |
42894 | OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, | |
42895 | OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, | |
42896 | OMP_CLAUSE_SEQ. | |
42897 | (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use | |
42898 | GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use | |
42899 | OMP_CLAUSE_SET_MAP_KIND. | |
42900 | (gimplify_oacc_cache): New function. | |
42901 | (gimplify_omp_for): Handle OACC_LOOP. | |
42902 | (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL, | |
42903 | OACC_DATA. | |
42904 | (gimplify_omp_target_update): Handle OACC_ENTER_DATA, | |
42905 | OACC_EXIT_DATA, OACC_UPDATE. | |
42906 | (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA, | |
42907 | OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA, | |
42908 | OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE. | |
42909 | (gimplify_body): Consider flag_openacc next to flag_openmp. | |
42910 | * lto-streamer-out.c: Include "gomp-constants.h". | |
42911 | * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE) | |
42912 | (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END) | |
42913 | (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL) | |
42914 | (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT) | |
42915 | (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS) | |
42916 | (BUILT_IN_ACC_ON_DEVICE): New builtins. | |
42917 | * omp-low.c: Include "gomp-constants.h". | |
42918 | Update comments for OpenACC changes. | |
42919 | (struct omp_context): Add reduction_map, gwv_below, gwv_this | |
42920 | members. | |
42921 | (extract_omp_for_data, use_pointer_for_field, install_var_field) | |
42922 | (new_omp_context, delete_omp_context, scan_sharing_clauses) | |
42923 | (create_omp_child_function, scan_omp_for, scan_omp_target) | |
42924 | (check_omp_nesting_restrictions, lower_reduction_clauses) | |
42925 | (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges): | |
42926 | Update for OpenACC changes. | |
42927 | (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS: | |
42928 | OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH, | |
42929 | OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG, | |
42930 | OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT, | |
42931 | OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT, | |
42932 | OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of | |
42933 | OMP_CLAUSE_MAP_*. | |
42934 | (expand_omp_for_static_nochunk, expand_omp_for_static_chunk): | |
42935 | Handle GF_OMP_FOR_KIND_OACC_LOOP. | |
42936 | (expand_omp_target, lower_omp_target): Handle | |
42937 | GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS, | |
42938 | GF_OMP_TARGET_KIND_OACC_UPDATE, | |
42939 | GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA, | |
42940 | GF_OMP_TARGET_KIND_OACC_DATA. | |
42941 | (pass_expand_omp::execute, execute_lower_omp) | |
42942 | (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to | |
42943 | flag_openmp. | |
42944 | (offload_symbol_decl): New variable. | |
42945 | (oacc_get_reduction_array_id, oacc_max_threads) | |
42946 | (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction) | |
42947 | (maybe_lookup_oacc_reduction, enclosing_target_ctx) | |
42948 | (oacc_loop_or_target_p, oacc_lower_reduction_var_helper) | |
42949 | (oacc_gimple_assign, oacc_initialize_reduction_data) | |
42950 | (oacc_finalize_reduction_data, oacc_process_reduction_data): New | |
42951 | functions. | |
42952 | (is_targetreg_ctx): Remove function. | |
42953 | * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_, | |
42954 | OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE, | |
42955 | OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, | |
42956 | OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT, | |
42957 | OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS, | |
42958 | OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH. | |
42959 | * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly. | |
42960 | * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR) | |
42961 | (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR) | |
42962 | (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR) | |
42963 | (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR) | |
42964 | (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros. | |
42965 | * tree-core.h: Update comments for OpenACC changes. | |
42966 | (enum omp_clause_map_kind): Remove. | |
42967 | (struct tree_omp_clause): Change type of map_kind member from enum | |
42968 | omp_clause_map_kind to unsigned char. | |
42969 | * tree-inline.c: Update comments for OpenACC changes. | |
42970 | * tree-nested.c: Likewise. Include "gomp-constants.h". | |
42971 | (convert_nonlocal_reference_stmt, convert_local_reference_stmt) | |
42972 | (convert_tramp_reference_stmt, convert_gimple_call): Update for | |
42973 | OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use | |
42974 | OMP_CLAUSE_SET_MAP_KIND. | |
42975 | * tree-pretty-print.c: Include "gomp-constants.h". | |
42976 | (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT, | |
42977 | OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG, | |
42978 | OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, | |
42979 | OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, | |
42980 | OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, | |
42981 | OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_* | |
42982 | instead of OMP_CLAUSE_MAP_*. | |
42983 | (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS, | |
42984 | OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, | |
42985 | OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP. | |
42986 | * tree-streamer-in.c: Include "gomp-constants.h". | |
42987 | (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of | |
42988 | OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND. | |
42989 | * tree-streamer-out.c: Include "gomp-constants.h". | |
42990 | (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of | |
42991 | OMP_CLAUSE_MAP_*. | |
42992 | * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA) | |
42993 | (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE) | |
42994 | (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes. | |
42995 | * tree.c (omp_clause_num_ops): Update accordingly. | |
42996 | * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE): | |
42997 | Likewise. | |
42998 | (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY) | |
42999 | (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES) | |
43000 | (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES) | |
43001 | (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES) | |
43002 | (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES) | |
43003 | (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros. | |
43004 | * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind. | |
43005 | (OMP_CLAUSE_SET_MAP_KIND): New macro. | |
43006 | * varpool.c (varpool_node::get_create): Consider flag_openacc next | |
43007 | to flag_openmp. | |
43008 | * config/i386/intelmic-offload.h: New file. | |
43009 | * config/nvptx/offload.h: Likewise. | |
43010 | ||
43011 | 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
43012 | ||
43013 | * explow.h: Remove duplicate contents. | |
43014 | * dojump.h: Likewise. | |
43015 | ||
43016 | 2015-01-15 Richard Earnshaw <rearnsha@arm.com> | |
43017 | ||
43018 | * arm.c (arm_xgene_tune): Add default initializer for instruction | |
43019 | fusion. | |
43020 | ||
43021 | 2015-01-15 Jan Hubicka <hubicka@ucw.cz> | |
43022 | ||
43023 | PR ipa/64068 | |
43024 | PR ipa/64559 | |
43025 | * ipa.c (symbol_table::remove_unreachable_nodes): | |
43026 | Do not put abstract origins into boundary. | |
43027 | ||
43028 | 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com> | |
43029 | ||
43030 | * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage. | |
43031 | * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto. | |
43032 | ||
43033 | 2015-01-15 Steve Ellcey <sellcey@mips.com> | |
43034 | ||
43035 | * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h, | |
43036 | cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h, | |
43037 | builtins.def, and chkp-builtins.def. | |
43038 | ||
43039 | 2015-01-15 David Edelsohn <dje.gcc@gmail.com> | |
43040 | ||
43041 | * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use | |
43042 | ISA 2.7 (POWER8). | |
43043 | ||
43044 | 2015-01-15 Richard Biener <rguenther@suse.de> | |
43045 | ||
43046 | PR tree-optimization/61743 | |
43047 | * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range | |
43048 | information on PHIs for some simple cases. | |
43049 | ||
43050 | 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> | |
43051 | ||
43052 | * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list. | |
43053 | Include xgene1.md. | |
43054 | * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1. | |
43055 | * config/arm/arm-cores.def (xgene1): New entry. | |
43056 | * config/arm/arm-tables.opt: Regenerate. | |
43057 | * config/arm/arm-tune.md: Regenerate. | |
43058 | * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1. | |
43059 | ||
43060 | 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com> | |
43061 | ||
43062 | * tree-if-conv.c: Include hash-map.h. | |
43063 | (aggressive_if_conv): New variable. | |
43064 | (fold_build_cond_expr): Add simplification of non-zero condition. | |
43065 | (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge | |
43066 | destination block is not always executed. | |
43067 | (if_convertible_phi_p): Fix commentary, allow phi nodes have more | |
43068 | than two predecessors if AGGRESSIVE_IF_CONV is true. | |
43069 | (if_convertible_stmt_p): Fix commentary. | |
43070 | (all_preds_critical_p): New function. | |
43071 | (has_pred_critical_p): New function. | |
43072 | (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true | |
43073 | BB can have more than two predecessors and all incoming edges can be | |
43074 | critical. | |
43075 | (predicate_bbs): Skip predication for loop exit block, use build2_loc | |
43076 | to compute predicate for true edge. | |
43077 | (find_phi_replacement_condition): Delete this function. | |
43078 | (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED. | |
43079 | Allow interchange PHI arguments if EXTENDED is false. | |
43080 | Change check that block containing reduction statement candidate | |
43081 | is predecessor of phi-block since phi may have more than two arguments. | |
43082 | (phi_args_hash_traits): New helper structure. | |
43083 | (struct phi_args_hash_traits): New type. | |
43084 | (phi_args_hash_traits::hash): New function. | |
43085 | (phi_args_hash_traits::equal_keys): New function. | |
43086 | (gen_phi_arg_condition): New function. | |
43087 | (predicate_scalar_phi): Add handling of phi nodes with more than two | |
43088 | arguments, delete COND and TRUE_BB arguments, insert body of | |
43089 | find_phi_replacement_condition to predicate ordinary phi nodes. | |
43090 | (predicate_all_scalar_phis): Skip blocks with the only predecessor, | |
43091 | delete call of find_phi_replacement_condition and invoke | |
43092 | predicate_scalar_phi with two arguments. | |
43093 | (insert_gimplified_predicates): Add assert that non-predicated block | |
43094 | don't have statements to insert. | |
43095 | (ifcvt_split_critical_edges): New function. | |
43096 | (ifcvt_split_def_stmt): Likewise. | |
43097 | (ifcvt_walk_pattern_tree): Likewise. | |
43098 | (stmt_is_root_of_bool_pattern): Likewise. | |
43099 | (ifcvt_repair_bool_pattern): Likewise. | |
43100 | (ifcvt_local_dce): Likewise. | |
43101 | (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which | |
43102 | is copy of inner or outer loop force_vectorize field, invoke | |
43103 | ifcvt_split_critical_edges, ifcvt_local_dce and | |
43104 | ifcvt_repair_bool_pattern for aggressive if-conversion. | |
43105 | ||
43106 | 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com> | |
43107 | ||
43108 | * config/aarch64/aarch64.md: Include xgene1.md. | |
43109 | * config/aarch64/xgene1.md: New file. | |
43110 | ||
43111 | 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> | |
43112 | ||
43113 | * config/aarch64/aarch64-cores.def (xgene1): Update/add the | |
43114 | xgene1 (APM XGene-1) core definition. | |
43115 | * config/aarch64/aarch64.c: Add cost tables for APM XGene-1 | |
43116 | * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1 | |
43117 | * doc/invoke.texi: Document -mcpu=xgene1. | |
43118 | ||
43119 | 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
43120 | ||
43121 | * dojump.h: New header file. | |
43122 | * explow.h: Likewise. | |
43123 | * expr.h: Remove includes. | |
43124 | Move expmed.c prototypes to expmed.h. | |
43125 | Move dojump.c prototypes to dojump.h. | |
43126 | Move alias.c prototypes to alias.h. | |
43127 | Move explow.c prototypes to explow.h. | |
43128 | Move calls.c prototypes to calls.h. | |
43129 | Move emit-rtl.c prototypes to emit-rtl.h. | |
43130 | Move varasm.c prototypes to varasm.h. | |
43131 | Move stmt.c prototypes to stmt.h. | |
43132 | (saved_pending_stack_adjust): Move to dojump.h. | |
43133 | (adjust_address): Move to explow.h. | |
43134 | (adjust_address_nv): Move to emit-rtl.h. | |
43135 | (adjust_bitfield_address): Likewise. | |
43136 | (adjust_bitfield_address_size): Likewise. | |
43137 | (adjust_bitfield_address_nv): Likewise. | |
43138 | (adjust_automodify_address_nv): Likewise. | |
43139 | * explow.c (expr_size): Move to expr.c. | |
43140 | (int_expr_size): Likewise. | |
43141 | (tree_expr_size): Likewise. | |
43142 | Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43143 | fixed-value.h hashtab.h statistics.h stmt.h varasm.h. | |
43144 | * genemit.c (main): Generate includes statistics.h, real.h, | |
43145 | fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, | |
43146 | stmt.h. | |
43147 | * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, | |
43148 | function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, | |
43149 | explow.h, emit-rtl.h, stmt.h. | |
43150 | * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h, | |
43151 | fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h. | |
43152 | * genemit.c (open_base_files): Generate includes flags.h, statistics.h, | |
43153 | real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, | |
43154 | emit-rtl.h, varasm.h, stmt.h. | |
43155 | * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, | |
43156 | hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, | |
43157 | function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h, | |
43158 | fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h, | |
43159 | expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h. | |
43160 | * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h | |
43161 | double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h | |
43162 | function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h | |
43163 | insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h | |
43164 | tm.h tree.h varasm.h vec.h wide-int.h. | |
43165 | * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h | |
43166 | explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h | |
43167 | hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h | |
43168 | real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h. | |
43169 | * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h | |
43170 | emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h | |
43171 | insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h. | |
43172 | * loop-iv.c: Likewise. | |
43173 | * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h | |
43174 | emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h | |
43175 | statistics.h stmt.h tree.h varasm.h wide-int.h. | |
43176 | * lra-constraints.c: Likewise. | |
43177 | * lra-eliminations.c: Likewise. | |
43178 | * lra-lives.c: Likewise. | |
43179 | * lra-remat.c: Likewise. | |
43180 | * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h | |
43181 | explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h | |
43182 | statistics.h stmt.h tree.h varasm.h wide-int.h. | |
43183 | * hw-doloop.c: Likewise. | |
43184 | * ira-color.c: Likewise. | |
43185 | * ira-emit.c: Likewise. | |
43186 | * loop-doloop.c: Likewise. | |
43187 | * loop-invariant.c: Likewise. | |
43188 | * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h | |
43189 | explow.h expmed.h fixed-value.h inchash.h real.h rtl.h | |
43190 | statistics.h stmt.h tree.h varasm.h wide-int.h. | |
43191 | * caller-save.c: Include alias.h calls.h dojump.h double-int.h | |
43192 | emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h | |
43193 | statistics.h stmt.h tree.h varasm.h wide-int.h. | |
43194 | * combine-stack-adj.c: Likewise. | |
43195 | * cse.c: Likewise. | |
43196 | * ddg.c: Likewise. | |
43197 | * ifcvt.c: Likewise. | |
43198 | * ira-costs.c: Likewise. | |
43199 | * jump.c: Likewise. | |
43200 | * lra-coalesce.c: Likewise. | |
43201 | * lra-spills.c: Likewise. | |
43202 | * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h | |
43203 | explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h | |
43204 | stmt.h varasm.h wide-int.h. | |
43205 | * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h | |
43206 | explow.h expmed.h fixed-value.h real.h statistics.h stmt.h | |
43207 | varasm.h. | |
43208 | * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h | |
43209 | double-int.h explow.h expmed.h fixed-value.h flags.h real.h | |
43210 | statistics.h stmt.h varasm.h wide-int.h. | |
43211 | * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h | |
43212 | expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h | |
43213 | varasm.h wide-int.h. | |
43214 | * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h | |
43215 | expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. | |
43216 | * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h | |
43217 | emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h | |
43218 | statistics.h stmt.h. | |
43219 | * config/tilepro/tilepro.c: Likewise. | |
43220 | * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h | |
43221 | explow.h expmed.h fixed-value.h real.h statistics.h stmt.h. | |
43222 | * config/pdp11/pdp11.c: Likewise. | |
43223 | * config/xtensa/xtensa.c: Likewise. | |
43224 | * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h | |
43225 | explow.h expmed.h fixed-value.h real.h statistics.h stmt.h | |
43226 | varasm.h. | |
43227 | * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43228 | fixed-value.h flags.h function.h hard-reg-set.h hashtab.h | |
43229 | insn-config.h real.h rtl.h statistics.h stmt.h tm.h. | |
43230 | * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43231 | fixed-value.h flags.h function.h hard-reg-set.h hashtab.h | |
43232 | insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h. | |
43233 | * rtl-chkp.c: Likewise. | |
43234 | * tree-chkp-opt.c: Likewise. | |
43235 | * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h | |
43236 | explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h | |
43237 | hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h. | |
43238 | * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43239 | fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h | |
43240 | statistics.h stmt.h. | |
43241 | * tree-vect-data-refs.c: Likewise. | |
43242 | * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h | |
43243 | expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h | |
43244 | rtl.h statistics.h stmt.h varasm.h. | |
43245 | * internal-fn.c: Likewise. | |
43246 | * ipa-icf-gimple.c: Likewise. | |
43247 | * lto-section-out.c: Likewise. | |
43248 | * tree-data-ref.c: Likewise. | |
43249 | * tree-nested.c: Likewise. | |
43250 | * tree-outof-ssa.c: Likewise. | |
43251 | * tree-predcom.c: Likewise. | |
43252 | * tree-pretty-print.c: Likewise. | |
43253 | * tree-scalar-evolution.c: Likewise. | |
43254 | * tree-ssa-strlen.c: Likewise. | |
43255 | * tree-vect-loop.c: Likewise. | |
43256 | * tree-vect-patterns.c: Likewise. | |
43257 | * tree-vect-slp.c: Likewise. | |
43258 | * tree-vect-stmts.c: Likewise. | |
43259 | * tsan.c: Likewise. | |
43260 | * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43261 | fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h | |
43262 | stmt.h. | |
43263 | * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h | |
43264 | expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h | |
43265 | statistics.h stmt.h varasm.h. | |
43266 | * loop-unroll.c: Likewise. | |
43267 | * ubsan.c: Likewise. | |
43268 | * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h | |
43269 | expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h | |
43270 | stmt.h varasm.h. | |
43271 | * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43272 | fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h. | |
43273 | * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h | |
43274 | expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h | |
43275 | statistics.h stmt.h. | |
43276 | * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h | |
43277 | expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h | |
43278 | statistics.h stmt.h varasm.h. | |
43279 | * gimple-match-head.c: Likewise. | |
43280 | * lto-cgraph.c: Likewise. | |
43281 | * lto-section-in.c: Likewise. | |
43282 | * lto-streamer-in.c: Likewise. | |
43283 | * lto-streamer-out.c: Likewise. | |
43284 | * tree-affine.c: Likewise. | |
43285 | * tree-cfg.c: Likewise. | |
43286 | * tree-cfgcleanup.c: Likewise. | |
43287 | * tree-if-conv.c: Likewise. | |
43288 | * tree-into-ssa.c: Likewise. | |
43289 | * tree-ssa-alias.c: Likewise. | |
43290 | * tree-ssa-copyrename.c: Likewise. | |
43291 | * tree-ssa-dse.c: Likewise. | |
43292 | * tree-ssa-forwprop.c: Likewise. | |
43293 | * tree-ssa-live.c: Likewise. | |
43294 | * tree-ssa-math-opts.c: Likewise. | |
43295 | * tree-ssa-pre.c: Likewise. | |
43296 | * tree-ssa-sccvn.c: Likewise. | |
43297 | * tree-tailcall.c: Likewise. | |
43298 | * tree-vect-generic.c: Likewise. | |
43299 | * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43300 | fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h. | |
43301 | * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43302 | fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h. | |
43303 | * varasm.c: Likewise. | |
43304 | * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43305 | fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h | |
43306 | varasm.h. | |
43307 | * init-regs.c: Likewise. | |
43308 | * ira.c: Likewise. | |
43309 | * omp-low.c: Likewise. | |
43310 | * stack-ptr-mod.c: Likewise. | |
43311 | * tree-ssa-reassoc.c: Likewise. | |
43312 | * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43313 | fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h | |
43314 | varasm.h. | |
43315 | * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43316 | fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h. | |
43317 | * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43318 | fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h. | |
43319 | * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43320 | fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h. | |
43321 | * tree-ssa-phiopt.c: Likewise. | |
43322 | * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43323 | fixed-value.h hashtab.h real.h statistics.h stmt.h. | |
43324 | * config/fr30/fr30.c: Likewise. | |
43325 | * config/frv/frv.c: Likewise. | |
43326 | * expr.c: Likewise. | |
43327 | * final.c: Likewise. | |
43328 | * optabs.c: Likewise. | |
43329 | * passes.c: Likewise. | |
43330 | * simplify-rtx.c: Likewise. | |
43331 | * stmt.c: Likewise. | |
43332 | * toplev.c: Likewise. | |
43333 | * var-tracking.c: Likewise. | |
43334 | * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43335 | fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. | |
43336 | * lower-subreg.c: Likewise. | |
43337 | * postreload-gcse.c: Likewise. | |
43338 | * ree.c: Likewise. | |
43339 | * reginfo.c: Likewise. | |
43340 | * store-motion.c: Likewise. | |
43341 | * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43342 | fixed-value.h hashtab.h real.h stmt.h varasm.h. | |
43343 | * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43344 | fixed-value.h hashtab.h statistics.h stmt.h. | |
43345 | * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43346 | fixed-value.h hashtab.h statistics.h stmt.h varasm.h. | |
43347 | * except.c: Likewise. | |
43348 | * explow.c: Likewise. | |
43349 | * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43350 | fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h | |
43351 | varasm.h. | |
43352 | * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43353 | fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h. | |
43354 | * tree-ssa-structalias.c: Likewise. | |
43355 | * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43356 | fixed-value.h insn-config.h real.h statistics.h. | |
43357 | * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43358 | fixed-value.h insn-config.h real.h statistics.h stmt.h. | |
43359 | * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43360 | fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. | |
43361 | * cfgbuild.c: Likewise. | |
43362 | * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43363 | fixed-value.h real.h rtl.h statistics.h stmt.h. | |
43364 | * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43365 | fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. | |
43366 | * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43367 | fixed-value.h real.h statistics.h stmt.h. | |
43368 | * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h | |
43369 | fixed-value.h real.h statistics.h stmt.h varasm.h. | |
43370 | * cprop.c: Likewise. | |
43371 | * modulo-sched.c: Likewise. | |
43372 | * postreload.c: Likewise. | |
43373 | * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h | |
43374 | flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h | |
43375 | statistics.h stmt.h varasm.h. | |
43376 | * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h | |
43377 | explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h | |
43378 | rtl.h statistics.h stmt.h varasm.h. | |
43379 | * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h | |
43380 | fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h | |
43381 | varasm.h. | |
43382 | * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h | |
43383 | function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h | |
43384 | varasm.h. | |
43385 | * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h | |
43386 | fixed-value.h function.h hashtab.h real.h statistics.h stmt.h | |
43387 | varasm.h. | |
43388 | * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h | |
43389 | fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. | |
43390 | * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h | |
43391 | function.h real.h statistics.h stmt.h varasm.h. | |
43392 | * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h | |
43393 | insn-config.h real.h statistics.h stmt.h. | |
43394 | * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h | |
43395 | statistics.h stmt.h. | |
43396 | * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43397 | fixed-value.h flags.h hard-reg-set.h insn-config.h real.h | |
43398 | statistics.h stmt.h varasm.h. | |
43399 | * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43400 | fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h. | |
43401 | * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h | |
43402 | flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h. | |
43403 | * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43404 | fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h | |
43405 | statistics.h stmt.h varasm.h. | |
43406 | * ipa-polymorphic-call.c: Likewise. | |
43407 | * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h | |
43408 | expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h | |
43409 | statistics.h stmt.h. | |
43410 | * config/c6x/c6x.c: Likewise. | |
43411 | * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h | |
43412 | explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h | |
43413 | statistics.h stmt.h varasm.h. | |
43414 | * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43415 | fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h | |
43416 | stmt.h varasm.h. | |
43417 | * ipa-split.c: Likewise. | |
43418 | * tree-eh.c: Likewise. | |
43419 | * tree-ssa-dce.c: Likewise. | |
43420 | * tree-ssa-loop-niter.c: Likewise. | |
43421 | * tree-vrp.c: Likewise. | |
43422 | * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h | |
43423 | expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h | |
43424 | stmt.h. | |
43425 | * config/nds32/nds32-fp-as-gp.c: Likewise. | |
43426 | * config/nds32/nds32-intrinsic.c: Likewise. | |
43427 | * config/nds32/nds32-isr.c: Likewise. | |
43428 | * config/nds32/nds32-md-auxiliary.c: Likewise. | |
43429 | * config/nds32/nds32-memory-manipulation.c: Likewise. | |
43430 | * config/nds32/nds32-pipelines-auxiliary.c: Likewise. | |
43431 | * config/nds32/nds32-predicates.c: Likewise. | |
43432 | * config/nds32/nds32.c: Likewise. | |
43433 | * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43434 | fixed-value.h hashtab.h real.h statistics.h. | |
43435 | * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43436 | fixed-value.h hashtab.h real.h statistics.h stmt.h. | |
43437 | * config/arm/arm.c: Likewise. | |
43438 | * config/avr/avr.c: Likewise. | |
43439 | * config/bfin/bfin.c: Likewise. | |
43440 | * config/h8300/h8300.c: Likewise. | |
43441 | * config/i386/i386.c: Likewise. | |
43442 | * config/ia64/ia64.c: Likewise. | |
43443 | * config/iq2000/iq2000.c: Likewise. | |
43444 | * config/m32c/m32c.c: Likewise. | |
43445 | * config/m32r/m32r.c: Likewise. | |
43446 | * config/m68k/m68k.c: Likewise. | |
43447 | * config/mcore/mcore.c: Likewise. | |
43448 | * config/mep/mep.c: Likewise. | |
43449 | * config/mips/mips.c: Likewise. | |
43450 | * config/mn10300/mn10300.c: Likewise. | |
43451 | * config/moxie/moxie.c: Likewise. | |
43452 | * config/pa/pa.c: Likewise. | |
43453 | * config/rl78/rl78.c: Likewise. | |
43454 | * config/rx/rx.c: Likewise. | |
43455 | * config/s390/s390.c: Likewise. | |
43456 | * config/sh/sh.c: Likewise. | |
43457 | * config/sparc/sparc.c: Likewise. | |
43458 | * config/spu/spu.c: Likewise. | |
43459 | * config/stormy16/stormy16.c: Likewise. | |
43460 | * config/v850/v850.c: Likewise. | |
43461 | * config/vax/vax.c: Likewise. | |
43462 | * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43463 | fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h. | |
43464 | * config/msp430/msp430.c: Likewise. | |
43465 | * predict.c: Likewise. | |
43466 | * value-prof.c: Likewise. | |
43467 | * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h | |
43468 | expmed.h fixed-value.h hashtab.h statistics.h stmt.h. | |
43469 | * config/microblaze/microblaze.c: Likewise. | |
43470 | * config/nios2/nios2.c: Likewise. | |
43471 | * config/rs6000/rs6000.c: Likewise. | |
43472 | * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h | |
43473 | insn-config.h real.h rtl.h statistics.h stmt.h. | |
43474 | * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h | |
43475 | insn-config.h real.h statistics.h stmt.h. | |
43476 | * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43477 | fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h. | |
43478 | * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43479 | fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h. | |
43480 | * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43481 | fixed-value.h real.h statistics.h stmt.h. | |
43482 | * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43483 | fixed-value.h statistics.h stmt.h. | |
43484 | * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h | |
43485 | stmt.h. | |
43486 | ||
43487 | 2015-01-15 Jakub Jelinek <jakub@redhat.com> | |
43488 | ||
43489 | * gengtype.c (create_user_defined_type): Workaround | |
43490 | -Wmaybe-uninitialized false positives. | |
43491 | * cse.c (fold_rtx): Likewise. | |
43492 | * loop-invariant.c (gain_for_invariant): Likewise. | |
43493 | ||
43494 | 2015-01-15 Eric Botcazou <ebotcazou@adacore.com> | |
43495 | ||
43496 | * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to | |
43497 | set the memory attributes in all cases but clear MEM_EXPR if need be. | |
43498 | ||
43499 | 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com> | |
43500 | ||
43501 | PR tree-optimization/64434 | |
43502 | * cfgexpand.c (reorder_operands): New function. | |
43503 | (expand_gimple_basic_block): Insert call of reorder_operands if | |
43504 | optimized is true. | |
43505 | ||
43506 | 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com> | |
43507 | ||
43508 | * config/mips/micromips.md (*swp): Remove explicit parallel. | |
43509 | (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise. | |
43510 | * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise. | |
43511 | (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise. | |
43512 | (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise. | |
43513 | (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise. | |
43514 | (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise. | |
43515 | (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise. | |
43516 | (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise. | |
43517 | (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise. | |
43518 | (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise. | |
43519 | (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise. | |
43520 | (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise. | |
43521 | (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise. | |
43522 | (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise. | |
43523 | (mips_wrdsp): Likewise. | |
43524 | * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit | |
43525 | parallel. | |
43526 | (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise. | |
43527 | (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise. | |
43528 | (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise. | |
43529 | (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise. | |
43530 | (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise. | |
43531 | (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise. | |
43532 | * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel. | |
43533 | (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise. | |
43534 | (ssmaddsqdq4, ssmsubsqdq4): Likewise. | |
43535 | ||
43536 | 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> | |
43537 | ||
43538 | * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA. | |
43539 | (mips_print_operand): Support 'y' to print exact log2 in decimal | |
43540 | of a const_int. | |
43541 | * config/mips/mips.h (ISA_HAS_LSA): New define. | |
43542 | (ISA_HAS_DLSA): Likewise. | |
43543 | * config/mips/mips.md (<GPR:d>lsa): New define_insn. | |
43544 | * config/mips/predicates.md (const_immlsa_operand): New predicate. | |
43545 | ||
43546 | 2015-01-15 Martin Liska <mliska@suse.cz> | |
43547 | ||
43548 | PR target/64377 | |
43549 | * optc-save-gen.awk: Add support for array types. | |
43550 | ||
43551 | 2015-01-15 Richard Biener <rguenther@suse.de> | |
43552 | ||
43553 | PR middle-end/64365 | |
43554 | * tree-data-ref.c (dr_analyze_indices): Make sure that accesses | |
43555 | for MEM_REF access functions with the same base can never partially | |
43556 | overlap. | |
43557 | ||
dfb6d139 | 43558 | 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com> |
fb2c1edd | 43559 | |
43560 | * common.opt: New option -fstack-protector-explicit. | |
43561 | * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum. | |
43562 | (stack_protect_decl_phase): Handle stack_protect attribute for | |
43563 | explicit stack protection requests. | |
43564 | (expand_used_vars): Similarly. | |
43565 | * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro. | |
43566 | * doc/extend.texi: Add documentation for "stack_protect" attribute. | |
43567 | * doc/invoke.texi: Add documentation for -fstack-protector-explicit. | |
43568 | ||
43569 | 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org> | |
43570 | ||
43571 | PR target/53988 | |
43572 | * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore | |
43573 | reg-reg copies. | |
43574 | (sh_extending_set_of_reg): New struct. | |
43575 | (sh_find_extending_set_of_reg, sh_split_tst_subregs, | |
43576 | sh_remove_reg_dead_or_unused_notes): New Declarations. | |
43577 | * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes, | |
43578 | sh_find_extending_set_of_reg, sh_split_tst_subregs, | |
43579 | sh_extending_set_of_reg::use_as_extended_reg): New functions. | |
43580 | * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs, | |
43581 | convert to insn_and_split and use new function sh_split_tst_subregs. | |
43582 | ||
43583 | 2015-01-14 Sandra Loosemore <sandra@codesourcery.com> | |
43584 | ||
43585 | * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker | |
43586 | option. | |
43587 | (Optimization Options): Move -fuse-ld documentation to... | |
43588 | (Link Options): ...here. | |
43589 | ||
43590 | 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> | |
43591 | ||
43592 | * config/mips/constraints.md (ZC): Add support for R6 LL/SC | |
43593 | offsets. | |
43594 | (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT. | |
43595 | * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to... | |
43596 | (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro. | |
43597 | * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC | |
43598 | instead of ZR for the memory operand of LL/SC. | |
43599 | (compare_and_swap_12, sync_add<mode>): Likewise. | |
43600 | (sync_<optab>_12, sync_old_<optab>_12): Likewise. | |
43601 | (sync_new_<optab>_12, sync_nand_12): Likewise. | |
43602 | (sync_old_nand_12, sync_new_nand_12): Likewise. | |
43603 | (sync_sub<mode>, sync_old_add<mode>): Likewise. | |
43604 | (sync_old_sub<mode>, sync_new_add<mode>): Likewise. | |
43605 | (sync_new_sub<mode>, sync_<optab><mode>): Likewise. | |
43606 | (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise. | |
43607 | (sync_nand<mode>, sync_old_nand<mode>): Likewise. | |
43608 | (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise. | |
43609 | (test_and_set_12, atomic_compare_and_swap<mode>): Likewise. | |
43610 | (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise. | |
43611 | * doc/md.texi (ZC): Update description. | |
43612 | ||
43613 | 2015-01-14 Andrew MacLeod <amacleod@redhat.com> | |
43614 | ||
43615 | * builtins.c (expand_builtin_atomic_exchange): Remove error when | |
43616 | memory model is CONSUME. | |
43617 | (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load, | |
43618 | expand_builtin_atomic_store): Change invalid memory model errors to | |
43619 | warnings. | |
43620 | (expand_builtin_atomic_clear): Change invalid model errors to warnings | |
43621 | and issue warning for CONSUME. | |
43622 | ||
43623 | 2015-01-14 Aldy Hernandez <aldyh@redhat.com> | |
43624 | ||
43625 | * lto-cgraph: Update function comments for | |
43626 | lto_symtab_encoder_encode_*. | |
43627 | ||
43628 | 2015-01-14 Ilya Verbin <ilya.verbin@intel.com> | |
43629 | ||
43630 | * Makefile.in (site.exp): Do not set ENABLE_LTO. | |
43631 | ||
43632 | 2015-01-14 Ilya Verbin <ilya.verbin@intel.com> | |
43633 | ||
43634 | * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries. | |
43635 | * lto-cgraph.c (select_what_to_stream): Remove argument, use | |
43636 | lto_stream_offload_p instead. | |
43637 | * lto-streamer.h (select_what_to_stream): Remove argument. | |
43638 | * passes.c (ipa_write_summaries): Likewise. | |
43639 | * tree-pass.h (ipa_write_summaries): Likewise. | |
43640 | ||
43641 | 2015-01-14 Richard Biener <rguenther@suse.de> | |
43642 | ||
43643 | PR tree-optimization/59354 | |
43644 | * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from | |
43645 | groups larger than the slp group size as having gaps. | |
43646 | ||
43647 | 2015-01-14 Andrew MacLeod <amacleod@redhat.com> | |
43648 | ||
43649 | PR middle-end/59448 | |
43650 | * builtins.c (get_memmodel): Promote consume to acquire always. | |
43651 | ||
43652 | 2015-01-14 Ilya Tocar <ilya.tocar@intel.com> | |
43653 | ||
43654 | PR target/64386 | |
43655 | * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode, | |
43656 | V32HImode. | |
43657 | ||
43658 | 2015-01-14 Ilya Tocar <ilya.tocar@intel.com> | |
43659 | ||
43660 | PR target/64393 | |
43661 | * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET): | |
43662 | Enable AVX512BW. | |
43663 | (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI. | |
43664 | * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check | |
43665 | AVX512VBMI, as it implies AVX512BW. | |
43666 | ||
43667 | 2015-01-14 Ilya Tocar <ilya.tocar@intel.com> | |
43668 | ||
43669 | PR target/64387 | |
43670 | * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. | |
43671 | (vec_unpacks_hi_v16sf): Ditto. | |
43672 | ||
43673 | 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
43674 | ||
43675 | * config/aarch64/arm_neon.h: Error out if AdvancedSIMD | |
43676 | is not available. | |
43677 | ||
43678 | 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
43679 | ||
43680 | * doc/invoke.texi (mapcs): Mention deprecation. | |
43681 | (mapcs-frame): Likewise. | |
43682 | ||
43683 | 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
43684 | ||
43685 | PR target/64453 | |
43686 | * config/arm/arm.c (callee_saved_reg_p): Define. | |
43687 | (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if | |
43688 | register is callee saved instead of !call_used_regs[reg]. | |
43689 | (thumb1_compute_save_reg_mask): Likewise. | |
43690 | ||
43691 | 2015-01-14 Hale Wang <hale.wang@arm.com> | |
43692 | ||
43693 | * config/arm/arm.c: Tune the max_cond_insns/branch_cost for | |
43694 | Cortex-M7. | |
43695 | ||
43696 | 2015-01-14 Richard Biener <rguenther@suse.de> | |
43697 | ||
43698 | PR lto/64415 | |
43699 | * tree-inline.c (insert_debug_decl_map): Check destination | |
43700 | function MAY_HAVE_DEBUG_STMTS. | |
43701 | (insert_init_debug_bind): Likewise. | |
43702 | (insert_init_stmt): Remove redundant check. | |
43703 | (remap_gimple_stmt): Drop debug stmts if the destination | |
43704 | function has var-tracking assignments disabled. | |
43705 | ||
43706 | 2015-01-14 Martin Liska <mliska@suse.cz> | |
43707 | ||
43708 | * ipa-icf-gimple.c (func_checker::compare_operand): Add support for | |
43709 | IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison. | |
43710 | ||
43711 | 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
43712 | ||
43713 | PR target/64460 | |
43714 | * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2. | |
43715 | (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3. | |
43716 | ||
43717 | 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com> | |
43718 | ||
43719 | * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA | |
43720 | level from an ARCH; do not inject the default. | |
43721 | (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from | |
43722 | MIPS_ISA_LEVEL_SPEC. | |
43723 | (MIPS_ISA_NAN2008_SPEC): Update comment. | |
43724 | (BASE_DRIVER_SELF_SPECS): Likewise. | |
43725 | * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add | |
43726 | MIPS_DEFAULT_ISA_LEVEL_SPEC. | |
43727 | * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise. | |
43728 | * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise. | |
43729 | * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise. | |
43730 | ||
43731 | 2015-01-14 Richard Biener <rguenther@suse.de> | |
43732 | ||
43733 | PR tree-optimization/64493 | |
43734 | PR tree-optimization/64495 | |
43735 | * tree-vect-loop.c (vect_finalize_reduction): For double-reductions | |
43736 | assign the proper vectorized PHI to the inner loop exit PHIs. | |
43737 | ||
43738 | 2015-01-14 Joey Ye <joey.ye@arm.com> | |
43739 | ||
43740 | * config/arm/arm.c (arm_compute_save_reg_mask): | |
43741 | Do not save lr in case of tail call. | |
43742 | * config/arm/thumb2.md (*thumb2_pop_single): New pattern. | |
43743 | ||
dfb6d139 | 43744 | 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu> |
fb2c1edd | 43745 | |
43746 | * tree-vrp.c (check_array_ref): Emit more warnings | |
43747 | for warn_array_bounds >= 2. | |
43748 | * common.opt: New option -Warray-bounds=. | |
43749 | * doc/invoke.texi: Document -Warray-bounds=. | |
43750 | ||
43751 | 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com> | |
43752 | ||
43753 | * config/nds32/nds32.opt (mforce-fp-as-gp): Remove. | |
43754 | (mforbid-fp-as-gp): Remove. | |
43755 | (mex9): Remove. | |
43756 | * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove. | |
43757 | (nds32_symbol_load_store_p): Remove. | |
43758 | (nds32_fp_as_gp_check_available): Clean up implementation. | |
43759 | * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9 | |
43760 | cases. | |
43761 | * config/nds32/nds32.c (nds32_asm_file_start): No need to consider | |
43762 | fp-as-gp and ex9 cases. | |
43763 | ||
43764 | 2015-01-13 Jan Hubicka <hubicka@ucw.cz> | |
43765 | ||
43766 | * tree-profile.c (init_ic_make_global_vars): Drop workaround | |
43767 | for bintuils bug 14342. | |
43768 | (init_ic_make_global_vars): Likewise. | |
43769 | (gimple_init_edge_profiler): Likewise. | |
43770 | (gimple_gen_ic_func_profiler): Likewise. | |
43771 | ||
43772 | 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> | |
43773 | ||
43774 | * ipa-inline.c (inline_small_functions): Swap the operands in | |
43775 | enum. | |
43776 | ||
43777 | 2015-01-13 Jan Hubicka <hubicka@ucw.cz> | |
43778 | ||
43779 | PR ipa/64481 | |
43780 | * ipa-inline-analysis.c (node_growth_cache): Remove. | |
43781 | (initialize_growth_caches): Do not initialize it. | |
43782 | (free_growth_caches): Do not free it. | |
43783 | (do_estimate_growth): Rename to ... | |
43784 | (estimate_growth): ... this one; drop growth cache code. | |
43785 | (growth_likely_positive): Always go the heuristics way. | |
43786 | * ipa-inline.c (can_inline_edge_p): Walk through aliases. | |
43787 | (reset_edge_caches): Do not reset node growth. | |
43788 | (heap_edge_removal_hook): Do not maintain cache. | |
43789 | (inline_small_functions): Likewise; strenghten sanity check. | |
43790 | (ipa_inline): Do not maintain caches. | |
43791 | * ipa-inline.h (node_growth_cache): Remove. | |
43792 | (do_estimate_growth): Remove to ... | |
43793 | (estimate_growth): this one; remove inline version. | |
43794 | (reset_node_growth_cache): Remove. | |
43795 | ||
43796 | 2015-01-13 Jan Hubicka <hubicka@ucw.cz> | |
43797 | ||
43798 | PR ipa/64565 | |
43799 | * ipa-inline.c (inline_small_functions): Update callee keys after | |
43800 | resolving speculation | |
43801 | (inline_small_functions): Always check monotonicity of the queue. | |
43802 | ||
43803 | 2015-01-13 Marek Polacek <polacek@redhat.com> | |
43804 | ||
43805 | PR middle-end/64391 | |
43806 | * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE. | |
43807 | ||
43808 | 2015-01-13 Jakub Jelinek <jakub@redhat.com> | |
43809 | ||
43810 | PR rtl-optimization/64286 | |
43811 | * ree.c (combine_reaching_defs): Move part of comment earlier, | |
43812 | remove !SCALAR_INT_MODE_P check. | |
43813 | (add_removable_extension): Don't add vector mode | |
43814 | extensions if all uses of the source register aren't the same | |
43815 | vector extensions. | |
43816 | ||
43817 | 2015-01-13 Renlin Li <renlin.li@arm.com> | |
43818 | ||
43819 | * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2. | |
43820 | (CTZ_DEFINED_VALUE_AT_ZERO): Ditto. | |
43821 | ||
43822 | 2015-01-13 Martin Liska <mliska@suse.cz> | |
43823 | ||
43824 | * ipa-icf.c (sem_function::equals_private): Call new functions | |
43825 | cl_target_option_print_diff and cl_optimization_print_diff. | |
43826 | * optc-save-gen.awk (cl_target_option_print_diff): New function. | |
43827 | (cl_optimization_print_diff): Likewise. | |
43828 | * opth-gen.awk: Likewise. | |
43829 | ||
43830 | 2015-01-13 Richard Sandiford <richard.sandiford@arm.com> | |
43831 | ||
43832 | * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3) | |
43833 | (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw) | |
43834 | (*sub_<optab><ALLX:mode>_shft_<GPI:mode>) | |
43835 | (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2) | |
43836 | (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2) | |
43837 | (*sub_uxtsi_multp2_uxtw): Add stack pointer sources. | |
43838 | ||
43839 | 2015-01-13 Andrew Pinski <apinski@cavium.com> | |
43840 | ||
43841 | * config/aarch64/aarch64.c (fusion_load_store): Check dest mode | |
43842 | instead of src mode. | |
43843 | ||
43844 | 2015-01-13 Richard Biener <rguenther@suse.de> | |
43845 | ||
43846 | PR lto/64373 | |
43847 | * lto-streamer-out.c (tree_is_indexable): Guard for NULL | |
43848 | DECL_CONTEXT. | |
43849 | ||
43850 | 2015-01-13 Andrew Pinski <apinski@cavium.com> | |
43851 | ||
43852 | * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject | |
43853 | volatile mems. | |
43854 | (aarch64_operands_adjust_ok_for_ldpstp): Likewise. | |
43855 | ||
43856 | 2015-01-13 Jakub Jelinek <jakub@redhat.com> | |
43857 | ||
43858 | PR middle-end/63974 | |
43859 | * cfgexpand.c (expand_computed_goto): Don't call | |
43860 | convert_memory_address here. | |
43861 | ||
43862 | 2015-01-13 Richard Biener <rguenther@suse.de> | |
43863 | ||
43864 | PR tree-optimization/64406 | |
43865 | * tree-loop-distibution.c (pass_loop_distribution::execute): | |
43866 | Reset the SCEV hashtable if we distributed anything. | |
43867 | ||
43868 | 2015-01-13 Richard Biener <rguenther@suse.de> | |
43869 | ||
43870 | PR tree-optimization/64404 | |
43871 | * tree-vect-stmts.c (vectorizable_load): Reject conflicting | |
43872 | SLP types for CSEd loads. | |
43873 | ||
43874 | 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
43875 | ||
43876 | PR tree-optimization/64436 | |
43877 | * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the | |
43878 | merge of two symbolic numbers for a bitwise OR to ... | |
43879 | (perform_symbolic_merge): This. Also fix computation of the range and | |
43880 | end of the symbolic number corresponding to the result of a bitwise OR. | |
43881 | ||
43882 | 2015-01-13 Richard Biener <rguenther@suse.de> | |
43883 | ||
43884 | PR tree-optimization/64568 | |
43885 | * tree-ssa-forwprop.c (pass_forwprop::execute): Properly | |
43886 | release defs of removed stmts, avoid splitting TARGET_MEM_REFs. | |
43887 | ||
43888 | 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> | |
43889 | ||
43890 | * config/nds32/nds32.c (nds32_legitimate_address_p): Consider | |
43891 | TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases. | |
43892 | ||
43893 | 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> | |
43894 | ||
43895 | * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own | |
43896 | target-specific symbol_ref flag. | |
43897 | (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref | |
43898 | resides in rodata section. | |
43899 | * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define. | |
43900 | (nds32_encode_section_info): New function. | |
43901 | ||
43902 | 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> | |
43903 | ||
43904 | * config/nds32/nds32.md (call): Use pseudo instruction bal which | |
43905 | clobbers TA_REGNUM if large code model is specified. | |
43906 | (call_register): Likewise. | |
43907 | (call_immediate): Likewise. | |
43908 | (call_value): Likewise. | |
43909 | (call_value_register): Likewise. | |
43910 | (call_value_immediate): Likewise. | |
43911 | ||
43912 | 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> | |
43913 | ||
43914 | * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro. | |
43915 | (TARGET_CMODEL_MEDIUM): New macro. | |
43916 | (TARGET_CMODEL_LARGE): New macro. | |
43917 | * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding | |
43918 | code model setting in assembly code. | |
43919 | ||
43920 | 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> | |
43921 | ||
43922 | * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS): | |
43923 | Remove MASK_GP_DIRECT flag. | |
43924 | * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as | |
43925 | one of the multilib default options. | |
43926 | * config/nds32/nds32.opt (mgp-direct): Remove. | |
43927 | * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of | |
43928 | -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian. | |
43929 | ||
43930 | 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com> | |
43931 | ||
43932 | * config/nds32/nds32.opt (mcmodel): Add new option. | |
43933 | * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type | |
43934 | to describe code model. | |
43935 | ||
43936 | 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org> | |
43937 | ||
43938 | PR target/64479 | |
43939 | * rtlanal.c (set_reg_p): Handle SEQUENCE constructs. | |
43940 | ||
43941 | 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org> | |
43942 | ||
43943 | * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function. | |
43944 | (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define. | |
43945 | (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables. | |
43946 | (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and | |
43947 | __builtin_sh_set_fpscr. | |
43948 | ||
43949 | 2015-01-12 Sandra Loosemore <sandra@codesourcery.com> | |
43950 | ||
43951 | * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses | |
43952 | after a funtion name just to indicate it is a function. | |
43953 | ([-fsanitize-undefined-trap-on-error]): Likewise. | |
43954 | ([-fdbg-cnt=]): Likewise. | |
43955 | ([-mmemcpy]): Likewise. | |
43956 | ([-mflush-func]): Likewise. | |
43957 | ([-msynci]): Likewise. | |
43958 | ||
43959 | 2015-01-12 Sandra Loosemore <sandra@codesourcery.com> | |
43960 | ||
43961 | * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing | |
43962 | example. | |
43963 | ||
43964 | 2015-01-12 Jakub Jelinek <jakub@redhat.com> | |
43965 | ||
43966 | PR tree-optimization/64563 | |
43967 | * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE | |
43968 | instead of != VR_VARYING. | |
43969 | ||
43970 | PR target/64513 | |
43971 | * config/i386/i386.c (ix86_expand_prologue): Add | |
43972 | REG_FRAME_RELATED_EXPR to %rax and %r10 pushes. | |
43973 | ||
43974 | PR tree-optimization/64454 | |
43975 | * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize | |
43976 | op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1] | |
43977 | for signed or [0, op1 - 1] for unsigned modulo. | |
43978 | (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges | |
43979 | even if op1 does not satisfy integer_pow2p. | |
43980 | ||
43981 | PR other/64370 | |
43982 | * sreal.c (sreal::to_double): Use ldexp instead of scalbnl. | |
43983 | ||
43984 | 2015-01-12 Jeff Law <law@redhat.com> | |
43985 | ||
43986 | PR target/64461 | |
43987 | * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE. | |
43988 | (trunchiqi2, truncsihi2): Similarly. | |
43989 | ||
43990 | * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly | |
43991 | rather than calling F. | |
43992 | ||
43993 | 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
43994 | ||
43995 | * tsan.c (instrument_expr): Use force_gimple_operand. | |
43996 | Use may_be_nonaddressable_p instead of is_gimple_addressable. | |
43997 | ||
43998 | 2015-01-12 Richard Biener <rguenther@suse.de> | |
43999 | ||
44000 | PR tree-optimization/64530 | |
44001 | * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle | |
44002 | back dr1. | |
44003 | ||
44004 | 2015-01-12 Richard Biener <rguenther@suse.de> | |
44005 | ||
44006 | PR middle-end/64357 | |
44007 | * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple | |
44008 | latches properly. | |
44009 | ||
44010 | 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
44011 | ||
44012 | * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match | |
44013 | Cortex-A17 tuning parameters. | |
44014 | * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17. | |
44015 | ||
44016 | 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
44017 | ||
44018 | * config/arm/arm-protos.h (tune_params): Add fuseable_ops field. | |
44019 | * config/arm/arm.c (arm_macro_fusion_p): New function. | |
44020 | (arm_macro_fusion_pair_p): Likewise. | |
44021 | (TARGET_SCHED_MACRO_FUSION_P): Define. | |
44022 | (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise. | |
44023 | (ARM_FUSE_NOTHING): Likewise. | |
44024 | (ARM_FUSE_MOVW_MOVT): Likewise. | |
44025 | (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune, | |
44026 | arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune, | |
44027 | arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune, | |
44028 | arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune, | |
44029 | arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune | |
44030 | arm_cortex_a5_tune): Specify fuseable_ops value. | |
44031 | ||
44032 | 2015-01-12 H.J. Lu <hongjiu.lu@intel.com> | |
44033 | ||
44034 | PR bootstrap/64561 | |
44035 | * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker | |
44036 | test for PIE with copy reloc. | |
44037 | * configure: Regenerated. | |
44038 | ||
44039 | 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
44040 | ||
44041 | * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0 | |
44042 | in gen_rtx_REG. | |
44043 | (arm_tls_descseq_addr): Likewise. | |
44044 | (arm_gen_movmemqi): Likewise. | |
44045 | (arm_expand_epilogue_apcs_frame): Likewise. | |
44046 | (arm_expand_epilogue): Likewise. | |
44047 | (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1 | |
44048 | in gen_rtx_REG. | |
44049 | ||
44050 | 2015-01-12 Martin Liska <mliska@suse.cz> | |
44051 | ||
44052 | PR ipa/64550 | |
44053 | * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare | |
44054 | volatility for correct operands. | |
44055 | ||
44056 | 2015-01-12 Martin Liska <mliska@suse.cz> | |
44057 | ||
44058 | * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as | |
44059 | indication that a function is not leaf. | |
44060 | (sem_function::compare_polymorphic_p): Likewise. | |
44061 | ||
44062 | 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | |
44063 | ||
44064 | * config/visium/visium.c: Add includes hashtab.h, hash-set.h, | |
44065 | machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h, | |
44066 | fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h, | |
44067 | fold-const.h, tree-check.h. | |
44068 | ||
44069 | 2015-01-12 Jan Hubicka <hubicka@ucw.cz> | |
44070 | ||
44071 | PR ipa/63967 | |
44072 | PR ipa/64425 | |
44073 | * ipa-inline.c (compute_uninlined_call_time, | |
44074 | compute_inlined_call_time): Use counts for extra precision when | |
44075 | needed possible. | |
44076 | (big_speedup_p): Fix formating. | |
44077 | (RELATIVE_TIME_BENEFIT_RANGE): Remove. | |
44078 | (relative_time_benefit): Remove. | |
44079 | (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint; | |
44080 | merge guessed and read profile paths. | |
44081 | (inline_small_functions): Count only !optimize_size functions into | |
44082 | initial size; be more lax about sanity check when profile is used; | |
44083 | be sure to update inlined function profile when profile is read. | |
44084 | ||
44085 | 2015-01-12 Jan Hubicka <hubicka@ucw.cz> | |
44086 | ||
44087 | PR ipa/63470 | |
44088 | * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust | |
44089 | cost when edge becomes direct. | |
44090 | * ipa-prop.c (make_edge_direct): Do not adjust when speculation | |
44091 | is resolved or when introducing new speculation. | |
44092 | ||
44093 | 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com> | |
44094 | ||
44095 | PR ipa/64551 | |
44096 | PR ipa/64552 | |
44097 | * ipa-icf.c (sem_function::equals_private): Use '&&' instead of | |
44098 | '||' to fix typo issue. | |
44099 | ||
44100 | * tree.h (target_opts_for_fn): Check NULL_TREE since it can | |
44101 | accept and return NULL. | |
44102 | ||
44103 | 2015-01-12 Martin Liska <mliska@suse.cz> | |
44104 | ||
44105 | * cgraph.c (cgraph_edge::remove_callee): Move function to header | |
44106 | file for being inlined. | |
44107 | (cgraph_set_edge_callee): Delete. | |
44108 | (cgraph_edge::redirect_callee): Move function to header file | |
44109 | for being inlined. | |
44110 | (cgraph_edge::make_direct): Use new function. | |
44111 | (cgraph_edge::dump_edge_flags): New function created from | |
44112 | static dump_edge_flags function. | |
44113 | (cgraph_node::dump): Use new function. | |
44114 | (cgraph_edge::verify_count_and_frequency): New function created | |
44115 | from verify_edge_count_and_frequency. | |
44116 | (cgraph_edge::verify_corresponds_to_fndecl): New function created | |
44117 | from verify_edge_corresponds_to_fndecl. | |
44118 | (verify_edge_corresponds_to_fndecl): Delete. | |
44119 | (cgraph_node::verify_node): Use new function. | |
44120 | * cgraph.h (cgraph_edge::set_callee): New function. | |
44121 | (cgraph_edge::dump_edge_flags): Likewise. | |
44122 | (cgraph_edge::verify_corresponds_to_fndecl): Likewise. | |
44123 | ||
44124 | 2015-01-11 Jan Hubicka <hubicka@ucw.cz> | |
44125 | ||
44126 | * ipa-utils.c (estimate_function_body_sizes): Do not | |
44127 | free node params when called late with early=true. | |
44128 | ||
44129 | 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com> | |
44130 | ||
44131 | * doc/md.texi (Instruction Patterns): Rewrite text for | |
44132 | clarity. | |
44133 | (Example): Likewise. | |
44134 | ||
44135 | 2015-01-10 Sandra Loosemore <sandra@codesourcery.com> | |
44136 | ||
44137 | * doc/invoke.texi (Option Summary): Break long lines. | |
44138 | [(-fdiagnostics-color)]: Put long literal in @smallexample | |
44139 | instead of inline. | |
44140 | [(-fsanitize-recover)]: Likewise. | |
44141 | [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox. | |
44142 | [(-ffast-math)]: Likewise. | |
44143 | [(--param max-inline-insns-recursive)]: Likewise. | |
44144 | [(--param max-inline-recursive-depth)]: Likewise. | |
44145 | [(-mno-text-section-literals)]: Likewise. | |
44146 | ||
44147 | 2015-01-10 Thomas Schwinge <thomas@codesourcery.com> | |
44148 | ||
44149 | * doc/install.texi: Update for libgomp being renamed from "GNU | |
44150 | OpenMP Runtime Library" to "GNU Offloading and Multi Processing | |
44151 | Runtime Library". | |
44152 | * doc/sourcebuild.texi: Likewise. | |
44153 | ||
44154 | 2015-01-10 Anthony Green <green@moxielogic.com> | |
44155 | ||
44156 | * config/moxie/moxie.c (moxie_option_override): Fix forcing of | |
44157 | mul.x availability for moxiebox configuration. | |
44158 | ||
44159 | 2015-01-09 Anthony Green <green@moxielogic.com> | |
44160 | ||
44161 | * config/moxie/moxie.md: Tabify assembly output. | |
44162 | ||
44163 | 2015-01-09 Anthony Green <green@moxielogic.com> | |
44164 | ||
44165 | * config/moxie/moxie.md (CC_REG): Correct register definition. | |
44166 | ||
44167 | 2015-01-09 Sandra Loosemore <sandra@codesourcery.com> | |
44168 | ||
44169 | * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup. | |
44170 | ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location | |
44171 | of log files. | |
44172 | ||
44173 | 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> | |
44174 | ||
44175 | * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon. | |
44176 | ||
44177 | 2015-01-09 Bernd Schmidt <bernds@codesourcery.com> | |
44178 | Jakub Jelinek <jakub@redhat.com> | |
44179 | ||
44180 | PR middle-end/64412 | |
44181 | * lto-streamer.h (lto_stream_offload_p): New declaration. | |
44182 | * lto-streamer.c (lto_stream_offload_p): New variable. | |
44183 | * cgraphunit.c (ipa_passes): Set lto_stream_offload_p | |
44184 | at the same time as section_name_prefix. | |
44185 | * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION | |
44186 | if lto_stream_offload_p. | |
44187 | * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't | |
44188 | stream TREE_TARGET_OPTION if lto_stream_offload_p. | |
44189 | (write_ts_function_decl_tree_pointers): Don't | |
44190 | stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p. | |
44191 | * tree-streamer-in.c (unpack_value_fields): Don't stream | |
44192 | TREE_TARGET_OPTION in if ACCEL_COMPILER. | |
44193 | (lto_input_ts_function_decl_tree_pointers): Don't stream | |
44194 | DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER. | |
44195 | * lto-opts.c (lto_write_options): Use lto_stream_offload_p | |
44196 | instead of section_name_prefix string comparisons. | |
44197 | ||
44198 | 2015-01-09 Jakub Jelinek <jakub@redhat.com> | |
44199 | ||
44200 | PR rtl-optimization/64536 | |
44201 | * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate | |
44202 | tablejumps. | |
44203 | ||
44204 | 2015-01-09 Michael Collison <michael.collison@linaro.org> | |
44205 | ||
44206 | PR tree-optimization/64322 | |
44207 | * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive | |
44208 | range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic. | |
44209 | ||
44210 | 2015-01-09 Tom de Vries <tom@codesourcery.com> | |
44211 | ||
44212 | PR rtl-optimization/64539 | |
44213 | * regcprop.c (kill_clobbered_values): Factor out of ... | |
44214 | (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values | |
44215 | instead of note_stores with kill_clobbered_value. | |
44216 | ||
44217 | 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> | |
44218 | ||
44219 | * ginclude/unwind-arm-common.h: Revert previous commit. | |
44220 | ||
44221 | 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> | |
44222 | ||
44223 | * config.gcc (arm*-*-freebsd*): New configuration. | |
44224 | * config/arm/freebsd.h: New file. | |
44225 | * config.host: Add extra components for arm*-*-freebsd*. | |
44226 | * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE. | |
44227 | * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE. | |
44228 | ||
44229 | 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
44230 | ||
44231 | * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__ | |
44232 | for -mcpu=e6500. | |
44233 | * config/rs6000/t-rtems: Add e6500 multilibs. | |
44234 | ||
44235 | 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
44236 | ||
44237 | * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for | |
44238 | MPC8540. | |
44239 | ||
44240 | 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
44241 | ||
44242 | * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of | |
44243 | MULTILIB_EXCEPTIONS. | |
44244 | ||
44245 | 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
44246 | ||
44247 | * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of | |
44248 | MULTILIB_EXCEPTIONS. | |
44249 | ||
44250 | 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
44251 | ||
44252 | * config/arm/t-rtems-eabi: Rename to... | |
44253 | * config/arm/t-rtems: ...this. | |
44254 | * config/arm/rtems-eabi.h: Rename to... | |
44255 | * config/arm/rtems.h: ...this. | |
44256 | * config.gcc (arm*-*-rtems*): Reflect changes above. | |
44257 | ||
44258 | 2015-01-09 Richard Biener <rguenther@suse.de> | |
44259 | ||
44260 | PR tree-optimization/64410 | |
44261 | * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR | |
44262 | on the LHS. | |
44263 | (execute_update_addresses_taken): Deal with that. | |
44264 | * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise | |
44265 | loads/stores for complex variables. | |
44266 | ||
44267 | 2015-01-09 Martin Liska <mliska@suse.cz> | |
44268 | ||
44269 | * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA | |
44270 | name comparison. | |
44271 | (func_checker::compare_memory_operand): New function. | |
44272 | (func_checker::compare_operand): Split case to newly | |
44273 | added functions. | |
44274 | (func_checker::compare_cst_or_decl): New function. | |
44275 | (func_checker::compare_gimple_call): Identify | |
44276 | memory operands. | |
44277 | (func_checker::compare_gimple_assign): Likewise. | |
44278 | * ipa-icf-gimple.h: New function. | |
44279 | ||
44280 | 2015-01-09 Martin Liska <mliska@suse.cz> | |
44281 | ||
44282 | PR ipa/64503 | |
44283 | * sreal.c (sreal::dump): Change unsigned format to signed for | |
44284 | m_exp value. | |
44285 | (sreal::to_double): Replace exp2 with scalbln. | |
44286 | ||
44287 | 2015-01-09 Martin Liska <mliska@suse.cz> | |
44288 | ||
44289 | * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation. | |
44290 | * ipa-icf.c (sem_function::equals_private): Add support for target and | |
44291 | (sem_item_optimizer::merge_classes): Remove redundant function | |
44292 | optimization flags comparison. | |
44293 | * tree.h (target_opts_for_fn): New function. | |
44294 | ||
44295 | 2015-01-09 Tom de Vries <tom@codesourcery.com> | |
44296 | ||
44297 | * omp-low.c (expand_omp_for_static_chunk): Fix assert. | |
44298 | ||
44299 | 2015-01-09 Kito Cheng <kito@0xlab.org> | |
44300 | ||
44301 | PR rtl-optimization/64348 | |
44302 | * lra-constraints.c (split_reg): Fix caller-save store/restore | |
44303 | instruction generation. | |
44304 | ||
44305 | 2015-01-08 John David Anglin <danglin@gcc.gnu.org> | |
44306 | ||
44307 | PR gcov-profile/61790 | |
44308 | * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has | |
44309 | long long. Fallback to int64_t if host doesn't have long long and | |
44310 | use strtol if int64_t is long. Otherwise, use sscanf for conversion. | |
44311 | ||
44312 | 2015-01-08 Jakub Jelinek <jakub@redhat.com> | |
44313 | ||
44314 | PR tree-optimization/63989 | |
44315 | * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default | |
44316 | from 1000 to 10000. | |
44317 | * tree-ssa-strlen.c (get_strinfo): Moved earlier. | |
44318 | (get_stridx): If we don't have a record for certain SSA_NAME, | |
44319 | but it is POINTER_PLUS_EXPR of some SSA_NAME we do with | |
44320 | constant offset, call get_stridx_plus_constant. | |
44321 | (get_stridx_plus_constant): New function. | |
44322 | (zero_length_string): Don't use get_stridx here. | |
44323 | ||
44324 | PR target/55023 | |
44325 | PR middle-end/64388 | |
44326 | * dse.c (struct insn_info): Mention frame_read set also | |
44327 | before reload for tail calls on some targets. | |
44328 | (scan_insn): Revert 2014-12-22 change. Set frame_read | |
44329 | also before reload for tail calls if | |
44330 | HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read | |
44331 | instead of add_non_frame_wild_read for non-const/memset | |
44332 | tail calls after reload. | |
44333 | ||
44334 | 2015-01-08 Jason Merrill <jason@redhat.com> | |
44335 | ||
44336 | * ubsan.c (do_ubsan_in_current_function): New. | |
44337 | (pass_ubsan::gate): Use it. | |
44338 | * ubsan.h: Declare it. | |
44339 | * convert.c (convert_to_integer): Use it. | |
44340 | ||
44341 | 2015-01-08 Jakub Jelinek <jakub@redhat.com> | |
44342 | ||
44343 | PR target/64338 | |
44344 | * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse | |
44345 | compare_code when it is unconditionally overwritten afterwards. | |
44346 | Use ix86_reverse_condition instead of reverse_condition. Don't | |
44347 | change code if *reverse_condition* returned UNKNOWN and don't | |
44348 | swap ct/cf and negate diff in that case. | |
44349 | ||
44350 | 2015-01-08 Mike Stump <mikestump@comcast.net> | |
44351 | ||
44352 | * tsan.c (pass_tsan::gate): Add no_sanitize_thread support. | |
44353 | (pass_tsan_O0::gate): Likewise. | |
44354 | * extend.texi (Function Attributes): Add no_sanitize_thread | |
44355 | documentation. | |
44356 | ||
44357 | 2015-01-08 Thomas Schwinge <thomas@codesourcery.com> | |
44358 | ||
44359 | * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi | |
44360 | for registering builtins. | |
44361 | * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't | |
44362 | add -fopenmp to the argv_obstack used when invoking | |
44363 | compile_for_target. | |
44364 | ||
44365 | * config/i386/intelmic-mkoffload.c (compile_for_target): Always | |
44366 | add "-m32" or "-m64" to argv_obstack. | |
44367 | (generate_host_descr_file): Likewise, when invoking host_compiler. | |
44368 | (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking | |
44369 | ld. | |
44370 | ||
44371 | 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org> | |
44372 | ||
44373 | * config/sh/sh-mem.cc: Use constant as second operand when emitting | |
44374 | tstsi_t insns. | |
44375 | ||
44376 | 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org> | |
44377 | ||
44378 | PR target/55212 | |
44379 | * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of | |
44380 | constant load if constant operand fits into I08. | |
44381 | ||
44382 | 2015-01-08 Jakub Jelinek <jakub@redhat.com> | |
44383 | ||
44384 | PR sanitizer/64336 | |
44385 | * tree.c (build2_stat): Fix up initialization of TREE_READONLY | |
44386 | and TREE_THIS_VOLATILE for MEM_REFs. | |
44387 | (build5_stat): Fix up initialization of TREE_READONLY and | |
44388 | TREE_THIS_VOLATILE for TARGET_MEM_REFs. | |
44389 | ||
44390 | 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org> | |
44391 | ||
44392 | PR target/64533 | |
44393 | * config/sh/sh.md (*addsi3_compact): Use u constraint instead | |
44394 | of r for the second alternative of the destination operand. | |
44395 | ||
44396 | 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org> | |
44397 | ||
44398 | PR target/36557 | |
44399 | * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New. | |
44400 | ||
44401 | 2015-01-07 Sandra Loosemore <sandra@codesourcery.com> | |
44402 | ||
44403 | * doc/invoke.texi ([-fvtable-verify]): Fix markup on option | |
44404 | keywords. | |
44405 | ([-fivar-visibility], [-fvisibility]): Likewise. | |
44406 | ||
44407 | 2015-01-07 Sandra Loosemore <sandra@codesourcery.com> | |
44408 | ||
44409 | * doc/invoke.texi: Fix incorrect uses of @samp markup throughout | |
44410 | the file where @code, @command, etc is more appropriate. | |
44411 | ||
44412 | 2015-01-06 Sandra Loosemore <sandra@codesourcery.com> | |
44413 | ||
44414 | * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting | |
44415 | of -mrecip= documentation. | |
44416 | ||
44417 | 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com> | |
44418 | ||
44419 | PR target/64505 | |
44420 | * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the | |
44421 | correct reload handler if -m32 -mpowerpc64 is used. | |
44422 | ||
44423 | 2015-01-06 Tom de Vries <tom@codesourcery.com> | |
44424 | ||
44425 | * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment. | |
44426 | ||
44427 | 2015-01-08 Christian Bruel <christian.bruel@st.com> | |
44428 | ||
44429 | PR target/64507 | |
44430 | * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length. | |
44431 | ||
44432 | 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
44433 | ||
44434 | PR tree-optimization/63259 | |
44435 | * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking | |
44436 | if optab exists for 16bit byteswap. | |
44437 | ||
44438 | 2015-01-06 Jakub Jelinek <jakub@redhat.com> | |
44439 | ||
44440 | * opts.c (common_handle_option): Add support for | |
44441 | -fno-sanitize=all and -f{,no-}sanitize-recover=all. | |
44442 | * doc/invoke.texi: Document -fno-sanitize=all, | |
44443 | -f{,no-}sanitize-recover=all. Document that | |
44444 | -fsanitize=float-cast-overflow is not enabled | |
44445 | by -fsanitize=undefined. Fix up documentation | |
44446 | of -f{,no-}sanitize-recover. | |
44447 | ||
44448 | 2015-01-06 Eric Botcazou <ebotcazou@adacore.com> | |
44449 | ||
44450 | * config.gcc: Add Visium support. | |
44451 | * configure.ac: Likewise. | |
44452 | * configure: Regenerate. | |
44453 | * doc/extend.texi (interrupt attribute): Add Visium. | |
44454 | * doc/invoke.texi: Document Visium options. | |
44455 | * doc/install.texi: Document Visium target. | |
44456 | * doc/md.texi: Document Visium constraints. | |
44457 | * common/config/visium: New directory. | |
44458 | * config/visium: Likewise. | |
44459 | ||
44460 | 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org> | |
44461 | ||
44462 | * simplify-rtx.c (simplify_binary_operation_1): Handle more cases | |
44463 | for the "(and X (ior (not X) Y) -> (and X Y)" transform. | |
44464 | ||
44465 | 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org> | |
44466 | ||
44467 | * combine.c (combine_validate_cost): Do not count the cost of a | |
44468 | split I2 twice. Do not display it twice in the dump, either. | |
44469 | ||
44470 | 2015-01-05 Sandra Loosemore <sandra@codesourcery.com> | |
44471 | ||
44472 | Revert parts of r219199. | |
44473 | * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on | |
44474 | <inttypes.h>. | |
44475 | ([-Wtraditional]): Restore markup on <limits.h>. | |
44476 | ||
44477 | 2015-01-05 Trevor Saunders <tsaunders@mozilla.com> | |
44478 | ||
44479 | PR c++/31397 | |
44480 | * doc/invoke.texi: Document -Wsuggest-override. | |
44481 | ||
44482 | 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com> | |
44483 | ||
44484 | PR rtl-optimization/64287 | |
44485 | * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default. | |
44486 | (process_options): Disable flag_ipa_ra if profiling. | |
44487 | ||
44488 | 2015-01-05 Eric Botcazou <ebotcazou@adacore.com> | |
44489 | ||
44490 | * config/nds32/nds32-peephole2.md: Do not mention define_peephole. | |
44491 | ||
44492 | 2015-01-05 Max Filippov <jcmvbkbc@gmail.com> | |
44493 | ||
44494 | * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail, | |
44495 | hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops): | |
44496 | put under #if TARGET_LOOPS guard. | |
44497 | ||
44498 | 2015-01-05 Uros Bizjak <ubizjak@gmail.com> | |
44499 | ||
44500 | * config/i386/i386.c (output_387_binary_op): Use std::swap. | |
44501 | ||
44502 | 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org> | |
44503 | ||
44504 | * rtlanal.c (refers_to_regno_p): Change return value from int to bool. | |
44505 | * rtl.h (refers_to_regno_p): Add overload. | |
44506 | * cse.c: Use it. | |
44507 | * bt-load.c: Likewise. | |
44508 | * combine.c: Likewise. | |
44509 | * df-scan.c: Likewise. | |
44510 | * sched-deps.c: Likewise. | |
44511 | * config/s390/s390.c: Likewise. | |
44512 | * config/m32r/m32r.c: Likewise. | |
44513 | * config/rs6000/spe.md: Likewise. | |
44514 | * config/rs6000/rs6000.c: Likewise. | |
44515 | * config/pa/pa.c: Likewise. | |
44516 | * config/stormy16/stormy16.c: Likewise. | |
44517 | * config/cris/cris.c: Likewise. | |
44518 | * config/arc/arc.md: Likewise. | |
44519 | * config/arc/arc.c: Likewise. | |
44520 | * config/sh/sh.md: Likewise. | |
44521 | * config/sh/sh.c: Likewise. | |
44522 | * config/frv/frv.c: Likewise. | |
44523 | ||
44524 | 2015-01-05 Jakub Jelinek <jakub@redhat.com> | |
44525 | ||
44526 | PR sanitizer/64265 | |
44527 | * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal | |
44528 | call as cleanup of the whole body. | |
44529 | * internal-fn.def (TSAN_FUNC_EXIT): New internal call. | |
44530 | * tsan.c (replace_func_exit): New function. | |
44531 | (instrument_func_exit): Moved earlier. | |
44532 | (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls. | |
44533 | Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have | |
44534 | been found. | |
44535 | (tsan_pass): Don't call instrument_func_exit. | |
44536 | * internal-fn.c (expand_TSAN_FUNC_EXIT): New function. | |
44537 | * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during | |
44538 | inlining. | |
44539 | ||
44540 | PR sanitizer/64344 | |
44541 | * ubsan.h (ubsan_instrument_float_cast): Add ARG argument. | |
44542 | * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass | |
44543 | it to libubsan handler instead of EXPR. Fold comparisons earlier, | |
44544 | if the result is integer_zerop, return NULL_TREE. | |
44545 | * convert.c (convert_to_integer): Pass expr as ARG. | |
44546 | ||
44547 | PR tree-optimization/64465 | |
44548 | * tree-inline.c (redirect_all_calls): During inlining | |
44549 | clean up EH stmts and EH edges if redirect_call_stmt_to_callee | |
44550 | changed the stmt to a non-throwing call. | |
44551 | ||
44552 | 2015-01-05 Sandra Loosemore <sandra@codesourcery.com> | |
44553 | ||
44554 | * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp, | |
44555 | etc markup throughout the file. | |
44556 | ||
44557 | 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
44558 | ||
44559 | Enable experimental TSAN support for Ada. | |
44560 | * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR. | |
44561 | ||
44562 | 2015-01-05 Jakub Jelinek <jakub@redhat.com> | |
44563 | ||
44564 | PR tree-optimization/64494 | |
44565 | * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also | |
44566 | clear SSA_NAME_ANTI_RANGE_P flag. | |
44567 | ||
44568 | 2015-01-05 Marek Polacek <polacek@redhat.com> | |
44569 | ||
44570 | * doc/extend.texi (Arrays of Length Zero): Add missing comma. | |
44571 | ||
44572 | 2015-01-05 Jakub Jelinek <jakub@redhat.com> | |
44573 | ||
44574 | Update copyright years. | |
44575 | ||
44576 | * gcc.c (process_command): Update copyright notice dates. | |
44577 | * gcov-dump.c: Ditto. | |
44578 | * gcov.c: Ditto. | |
44579 | * doc/cpp.texi: Bump @copying's copyright year. | |
44580 | * doc/cppinternals.texi: Ditto. | |
44581 | * doc/gcc.texi: Ditto. | |
44582 | * doc/gccint.texi: Ditto. | |
44583 | * doc/gcov.texi: Ditto. | |
44584 | * doc/install.texi: Ditto. | |
44585 | * doc/invoke.texi: Ditto. | |
44586 | ||
44587 | * auto-profile.c, auto-profile.h: Fix up Copyright line. | |
44588 | ||
44589 | 2015-01-04 Sandra Loosemore <sandra@codesourcery.com> | |
44590 | ||
44591 | * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix | |
44592 | verb tense, etc. | |
44593 | ([-fvtable-verify], [-fvtv-debug]): Likewise. | |
44594 | ([-Wabi]): Likewise. | |
44595 | ([-fmessage-length]): Likewise. | |
44596 | ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise. | |
44597 | ([-Wno-discarded-qualifiers]): Likewise. | |
44598 | ([-Wnodiscarded-array-qualifiers]): Likewise. | |
44599 | ([-Wno-virtual-move-assign]): Likewise. | |
44600 | ([-fsanitize=address], [-fsanitize=thread]): Likewise. | |
44601 | ([-fsanitize=leak], [-fsanitize=undefined]): Likewise. | |
44602 | ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise. | |
44603 | ([-fsanitize-undefined-trap-on-error]): Likewise. | |
44604 | ([-floop-interchange]): Likewise. | |
44605 | ([-ftree-coalesce-inlined-vars]): Likewise. | |
44606 | ([-fvect-cost-model]): Likewise. | |
44607 | ([-flto]): Likewise. | |
44608 | ([--param]): Likewise. | |
44609 | (Spec Files): Likewise. | |
44610 | ([-mstrict-align]): Likewise. | |
44611 | ([-mfix-cortex-a53-835769]): Likewise. | |
44612 | ([-march], [-mtune]): Likewise. | |
44613 | ([-mpic-register]): Likewise. | |
44614 | ([-munaligned-access]): Likewise. | |
44615 | ([-msp8]): Likewise. | |
44616 | (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise. | |
44617 | (AVR Built-in Macros): Likewise. | |
44618 | ([-mpreferred-stack-boundary]): Likewise. | |
44619 | ([-mtune-crtl]): Likewise. | |
44620 | ([-mashf]): Likewise. | |
44621 | ([-mmcu=]): Likewise. | |
44622 | ([-minrt]): Likewise. | |
44623 | ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise. | |
44624 | ([-mupper-regs]): Likewise. | |
44625 | ([-matomic-model]): Likewise. | |
44626 | ([-mdiv]): Likewise. | |
44627 | ([-mzdcbranch]): Likewise. | |
44628 | ([-mdisable-callt]): Likewise. | |
44629 | ([-msoft-float]): Likewise. | |
44630 | ([-m8byte-align]): Likewise. | |
44631 | ([-fstack-reuse]): Likewise. | |
44632 | ||
44633 | 2015-01-03 Sandra Loosemore <sandra@codesourcery.com> | |
44634 | ||
44635 | * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]): | |
44636 | Fix markup, light copy-editing. | |
44637 | ([-fauto-profile]): Rewrite to fix formatting and content | |
44638 | problems. | |
44639 | ||
44640 | 2015-01-03 Sandra Loosemore <sandra@codesourcery.com> | |
44641 | ||
44642 | * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]): | |
44643 | Copy-edit description. | |
44644 | ([-fisolate-erroneous-paths-attribute]): Likewise. | |
44645 | * common.opt (fisolate-erroneous-paths-dereference): | |
44646 | Copy-edit description. | |
44647 | (fisolate-erroneous-paths-attribute): Likewise. | |
44648 | ||
44649 | 2015-01-03 Sandra Loosemore <sandra@codesourcery.com> | |
44650 | ||
44651 | * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and | |
44652 | tidy grammar. | |
44653 | ||
44654 | 2015-01-03 Sandra Loosemore <sandra@codesourcery.com> | |
44655 | ||
44656 | * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex. | |
44657 | ([-fvtv-debug]): Likewise. | |
44658 | ([-Wc++-compat]): Likewise. | |
44659 | ([-Wc++11-compat]): Likewise. | |
44660 | ([-Wc++14-compat]): Likewise. | |
44661 | ([-Wno-sized-deallocation]): Likewise. | |
44662 | ([-femit-class-debug-always]): Likewise. | |
44663 | ([-femit-struct-debug-detailed]): Likewise. | |
44664 | ([-fno-keep-inline-dllexport]): Likewise. | |
44665 | ([-fira-algorithm]): Likewise. | |
44666 | ([-fira-region]): Likewise. | |
44667 | ([-flra-remat]): Likewise. | |
44668 | ([-fipa-ra]): Likewise. | |
44669 | ([-fhoist-adjacent-loads]): Likewise. | |
44670 | ([-fisolate-erroneous-paths-dereference]): Likewise. | |
44671 | ([-fisolate-erroneous-paths-attribute]): Likewise. | |
44672 | ([-ftree-switch-conversion]): Likewise. | |
44673 | ([-ftree-tail-merge]): Likewise. | |
44674 | ([-ftree-loop-if-convert]): Likewise. | |
44675 | ([-ftree-loop-if-convert-stores]): Likewise. | |
44676 | ([-ftree-loop-distribution]): Likewise. | |
44677 | ([-ftree-loop-distribute-patterns]): Likewise. | |
44678 | ([-flto-compression-level]): Likewise. | |
44679 | ([-flto-report]): Likewise. | |
44680 | ([-flto-report-wpa]): Likewise. | |
44681 | ([-fuse-linker-plugin]): Likewise. | |
44682 | ([-mfix-cortex-a53-835769]): Likewise. | |
44683 | ([-mno-fix-cortex-a53-835769]): Likewise. | |
44684 | ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the | |
44685 | explicit listing; add a note to the discussion indicating they | |
44686 | exist. Reorder table to group similar options. Add missing | |
44687 | @opindex entries. Add @need commands throughout the table to | |
44688 | allow it to be split across multiple pages. | |
44689 | ([-m8bit-idiv]): Fix @opindex. | |
44690 | ([-mavx256-split-unaligned-load]): Likewise. | |
44691 | ([-mavx256-split-unaligned-store]): Likewise. | |
44692 | ([-mstack-protector-guard]): Likewise. | |
44693 | ([-mcpu=]): Likewise. | |
44694 | ([-mcpu]): Likewise. | |
44695 | ([-mpointer-size=]): Likewise. | |
44696 | ||
44697 | 2015-01-03 John David Anglin <danglin@gcc.gnu.org> | |
44698 | ||
44699 | * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint | |
44700 | instead of `m' constraint. Likewise for unnamed movb comparison | |
44701 | patterns using reg_before_reload_operand predicate. | |
44702 | * config/pa/predicates.md (reg_before_reload_operand): Tighten | |
44703 | predicate to reject register index and LO_SUM DLT memory forms | |
44704 | after reload. | |
44705 | ||
44706 | 2015-01-02 Sandra Loosemore <sandra@codesourcery.com> | |
44707 | ||
44708 | * doc/invoke.texi (Option Summary): Fix spelling of | |
44709 | -fdevirtualize-at-ltrans. | |
44710 | ([-fdevirtualize]): Fix markup. | |
44711 | ([-fdevirtualize-speculatively]): Fix typo. | |
44712 | ([-fdevirtualize-at-ltrans]): Likewise. Make description less | |
44713 | implementor-speaky. | |
44714 | * common.opt (fdevirtualize-at-ltrans): Likewise. | |
44715 | * ipa-devirt.c: Fix typos in comments throughout the file. | |
44716 | (ipa_devirt): Fix typos in format strings for dump output. | |
44717 | ||
44718 | 2015-01-02 Sandra Loosemore <sandra@codesourcery.com> | |
44719 | ||
44720 | * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate | |
44721 | discussion of defaults, light copy-editing. | |
44722 | ||
44723 | 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
44724 | ||
44725 | * tsan.c (instrument_expr): corrected previous checkin. | |
44726 | ||
44727 | 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
44728 | ||
44729 | Instrument bit field and unaligned accesses for TSAN. | |
44730 | * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function. | |
44731 | (BUILT_IN_TSAN_WRITE_RANGE): New built-in function. | |
44732 | * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF. | |
44733 | Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for | |
44734 | unaligned memory regions. | |
44735 | ||
44736 | 2015-01-01 Anthony Green <green@moxielogic.com> | |
44737 | ||
44738 | * config/moxie/predicates.md (moxie_general_movsrc_operand): | |
44739 | Restrict move source register offsets to 16 bits. | |
44740 | \f | |
44741 | Copyright (C) 2015 Free Software Foundation, Inc. | |
44742 | ||
44743 | Copying and distribution of this file, with or without modification, | |
44744 | are permitted in any medium without royalty provided the copyright | |
44745 | notice and this notice are preserved. |