summaryrefslogtreecommitdiff
path: root/gcc/config
Commit message (Collapse)AuthorAgeFilesLines
* * expr.h: Remove prototypes of functions defined in builtins.c.amacleod2014-06-0247-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.h: (build_call_expr_*, build_string_literal): Add prototypes. Remove prototypes of functions defined in builtins.c. * builtins.h: Update prototype list to include all exported functions. * builtins.c: (default_libc_has_function, gnu_libc_has_function, no_c99_libc_has_function): Move to targhooks.c (build_string_literal, build_call_expr_loc_array, build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move to tree.c. (expand_builtin_object_size, fold_builtin_object_size): Make static. * targhooks.c (default_libc_has_function, gnu_libc_has_function, no_c99_libc_has_function): Relocate from builtins.c. * tree.c: Include builtins.h. (build_call_expr_loc_array, build_call_expr_loc_vec, build_call_expr_loc, build_call_expr, build_string_literal): Relocate from builtins.c. * fold-const.h (fold_fma): Move prototype to builtins.h. * realmpfr.h (do_mpc_arg2): Move prototype to builtins.h. * fortran/trans.c (trans_runtime_error_vararg): Call fold_build_call_array_loc instead of fold_builtin_call_array. * asan.c: Include builtins.h. * cfgexpand.c: Likewise. * convert.c: Likewise. * emit-rtl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * fold-const.c: Likewise. * gimple-fold.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * gimplify.c: Likewise. * ipa-inline.c: Likewise. * ipa-prop.c: Likewise. * lto-streamer-out.c: Likewise. * stmt.c: Likewise. * tree-inline.c: Likewise. * tree-object-size.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-streamer-in.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-stmts.c: Likewise. c * c-decl.c: Include builtins.h. * c-parser.c: Likewise. cp * decl.c: Include builtins.h. * semantics.c: Likewise. go * go-gcc.cc: Include builtins.h. lto * lto-symtab.c: Include builtins.h. config * aarch64/aarch64.c: Include builtins.h. * alpha/alpha.c: Likewise. * arc/arc.c: Likewise. * arm/arm.c: Likewise. * avr/avr.c: Likewise. * bfin/bfin.c: Likewise. * c6x/c6x.c: Likewise. * cr16/cr16.c: Likewise. * cris/cris.c: Likewise. * epiphany/epiphany.c: Likewise. * fr30/fr30.c: Likewise. * frv/frv.c: Likewise. * h8300/h8300.c: Likewise. * i386/i386.c: Likewise. * i386/winnt.c: Likewise. * ia64/ia64.c: Likewise. * iq2000/iq2000.c: Likewise. * lm32/lm32.c: Likewise. * m32c/m32c.c: Likewise. * m32r/m32r.c: Likewise. * m68k/m68k.c: Likewise. * mcore/mcore.c: Likewise. * mep/mep.c: Likewise. * microblaze/microblaze.c: Likewise. * mips/mips.c: Likewise. * mmix/mmix.c: Likewise. * mn10300/mn10300.c: Likewise. * moxie/moxie.c: Likewise. * msp430/msp430.c: Likewise. * nds32/nds32.c: Likewise. * pa/pa.c: Likewise. * pdp11/pdp11.c: Likewise. * picochip/picochip.c: Likewise. * rl78/rl78.c: Likewise. * rs6000/rs6000.c: Likewise. * rx/rx.c: Likewise. * s390/s390.c: Likewise. * score/score.c: Likewise. * sh/sh.c: Likewise. * sparc/sparc.c: Likewise. * spu/spu.c: Likewise. * stormy16/stormy16.c: Likewise. * tilegx/tilegx.c: Likewise. * tilepro/tilepro.c: Likewise. * v850/v850.c: Likewise. * vax/vax.c: Likewise. * xtensa/xtensa.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211145 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64] Remove ISB after FPCR write.mshawcroft2014-06-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211140 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/61336rth2014-06-021-4/+5
| | | | | | | | * config/alpha/alpha.c (print_operand_address): Allow symbolic addresses inside asms. Use output_operand_lossage instead of gcc_unreachable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211139 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/61239uros2014-06-021-1/+1
| | | | | | | | | * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211134 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix ICE in aarch64_float_const_representable_pvries2014-06-021-0/+3
| | | | | | | | | 2014-06-02 Tom de Vries <tom@codesourcery.com> * config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle case that x has VOIDmode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211132 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR target/61154ramana2014-06-022-2/+2
| | | | | | | | | | | | | 2014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/61154 * config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define. * config/arm/arm.md (mov64 splitter): Replace const_double_operand with immediate_operand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211129 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/ia64/ia64.cschwab2014-06-021-1/+1
| | | | | | | | (ia64_first_cycle_multipass_dfa_lookahead_guard): Check pending_data_specs first. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211127 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/constraints.md (Bw): Rename from 'w'.uros2014-06-012-28/+30
| | | | | | | | | (Bz): Rename from 'z'. * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211119 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/61377ktietz2014-06-012-5/+13
| | | | | | | | | * constrains.md (define_constrain): New 'Bs' constraint. * i386.md (sibcall_insn_operand): Use Bs instead of m constraint. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211112 138bc75d-0d04-0410-961f-82ee72b054a4
* Summary: m68k: add missing early clobber in beq0_di, bne0_di patternsschwab2014-05-311-7/+7
| | | | | | | | | * config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint a separate alternative where the scratch operand 2 is marked as early clobber. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211104 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/kugan2014-05-313-0/+138
| | | | | | | | | | | | | | | | | | | | | | | | 2014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org> * config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define. (arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR. (bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr and __builtins_arm_get_fpscr. (arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and __builtins_arm_get_fpscr. (arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and __builtins_arm_ldfpscr. (arm_atomic_assign_expand_fenv): New function. * config/arm/vfp.md (set_fpscr): New pattern. (get_fpscr) : Likewise. * config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and VUNSPEC_SET_FPSCR. * doc/extend.texi (AARCH64 Built-in Functions) : Document __builtins_arm_set_fpscr, __builtins_arm_get_fpscr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211103 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/60104ktietz2014-05-303-6/+23
| | | | | | | | | | | | | | | | | | | * config/i386/i386.c (x86_output_mi_thunk): Add memory case for sibling-tail-calls. * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain to its use. * config/i386/predicates.md (sibcall_memory_operand): New predicate. (sibcall_insn_operand): Add check for sibcall_memory_operand. PR target/60104 * gcc.target/i386/sibcall-1.c: New test. * gcc.target/i386/sibcall-2.c: New test. * gcc.target/i386/sibcall-3.c: New test. * gcc.target/i386/sibcall-4.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211089 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4denisc2014-05-303-47/+47
| | | | | | | | | * config/avr/avr-tables.opt: Regenerate. * config/avr/t-multilib: Regenerate. * doc/avr-mmcu.texi: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211085 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/:ian2014-05-301-9/+11
| | | | | | | | | | * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma target("sse"). testsuite/: * gcc.target/i386/pause-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211079 138bc75d-0d04-0410-961f-82ee72b054a4
* -fuse-caller-save - Enable for i386vries2014-05-301-0/+3
| | | | | | | | | | | | | 2014-05-30 Tom de Vries <tom@codesourcery.com> * config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true. * gcc.target/i386/fuse-caller-save.c: New test. * gcc.dg/ira-shrinkwrap-prep-1.c: Run with -fno-use-caller-save. * gcc.dg/ira-shrinkwrap-prep-2.c: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211078 138bc75d-0d04-0410-961f-82ee72b054a4
* [ARM] Use mov_imm type for movw operations consistentlyktkachov2014-05-302-2/+2
| | | | | | | | | * config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw to mov_imm. * config/arm/vfp.md (*thumb2_movsi_vfp): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211073 138bc75d-0d04-0410-961f-82ee72b054a4
* Detect EXT patterns to vec_perm_const, use for EXT intrinsicsalalaw012014-05-296-313/+390
| | | | | | | | | | | | | | | | | | | | | | * config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers, TYPES_BINOPV): New static data. * config/aarch64/aarch64-simd-builtins.def (im_lane_bound): New builtin. * config/aarch64/aarch64-simd.md (aarch64_ext, aarch64_im_lane_boundsi): New patterns. * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match patterns for EXT. (aarch64_evpc_ext): New function. * config/aarch64/iterators.md (UNSPEC_EXT): New enum element. * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16, vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32, vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8, vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32, vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211058 138bc75d-0d04-0410-961f-82ee72b054a4
* * arm/iterators.md (shiftable_ops): New code iterator.rearnsha2014-05-294-38/+70
| | | | | | | | | | | | | | (t2_binop0, arith_shift_insn): New code attributes. * arm/predicates.md (shift_nomul_operator): New predicate. * arm/arm.md (insn_enabled): Delete. (enabled): Remove insn_enabled test. (*arith_shiftsi): Delete. Replace with ... (*<arith_shift_insn>_multsi): ... new pattern. (*<arith_shift_insn>_shiftsi): ... new pattern. * config/arm/arm.c (arm_print_operand): Handle operand format 'b'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211050 138bc75d-0d04-0410-961f-82ee72b054a4
* -fuse-caller-save - Enable for MIPSvries2014-05-292-4/+21
| | | | | | | | | | | | | | | | | | | | 2014-05-29 Radovan Obradovic <robradovic@mips.com> Tom de Vries <tom@codesourcery.com> * config/mips/mips.h (POST_CALL_TMP_REG): Define. * config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG clobber. (mips_split_call): Use POST_CALL_TMP_REG. (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true. * gcc.target/mips/mips.exp: Add use-caller-save to -ffoo/-fno-foo options. * gcc.target/mips/fuse-caller-save.h: New include file. * gcc.target/mips/fuse-caller-save.c: New test. * gcc.target/mips/fuse-caller-save-mips16.c: Same. * gcc.target/mips/fuse-caller-save-micromips.c: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211049 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2014-05-288-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | * doc/md.texi: Document that the % constraint character must be at the beginning of the string. * genoutput.c (validate_insn_alternatives): Check that '=', '+' and '%' only appear at the beginning of a constraint. * ira.c (commutative_constraint_p): Delete. (ira_get_dup_out_num): Expect the '%' commutativity marker to be at the start of the string. * config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove duplicate '='s. * config/arm/neon.md (bicdi3_neon): Likewise. * config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si) (slt_si, sltu_si): Likewise. * config/vax/vax.md (sbcdi3): Likewise. * config/h8300/h8300.md (*cmpstz): Remove duplicate '+'. * config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600) (mul64): Move '%' to beginning of constraint. * config/arm/arm.md (*xordi3_insn): Likewise. * config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3) (xorsi3): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211031 138bc75d-0d04-0410-961f-82ee72b054a4
* Centralise clearing hardware capabilities with Sun ldro2014-05-285-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: * configure.ac ($gcc_cv_ld_clearcap): New test. * configure: Regenerate. * config.in: Regenerate. * config/sol2.opt (mclear-hwcap): New option. * config/sol2.h (LINK_CLEARCAP_SPEC): Define. * config/sol2-clearcap.map: Moved here from testsuite/gcc.target/i386/clearcap.map. * config/sol2-clearcapv2.map: Move here from gcc.target/i386/clearcapv2.map. * config/t-sol2 (install): Depend on install-clearcap-map. (install-clearcap-map): New target. * doc/invoke.texi (Option Summary, Solaris 2 Options): Document -mclear-hwcap. gcc/testsuite: * lib/clearcap.exp: New file. * gcc.dg/vect/vect.exp: Load clearcap.exp. Remove clearcap_ldflags handling. Call clearcap-init, clearcap-finish. * gcc.target/i386/i386.exp: Likewise. * gcc.target/i386/clearcap.map: Move to ../config/sol2-clearcap.map. * gcc.target/i386/clearcapv2.map: Move to ../config/sol2-clearcapv2.map. * gcc.target/x86_64/abi/avx/abi-avx.exp: Likewise. * gcc.target/x86_64/abi/avx512f/abi-avx512f.exp: Likewise. libitm: * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for -mclear-hwcap instead. * configure: Regenerate. * clearcap.map: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211014 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-28 Olivier Hainque <hainque@adacore.com>hainque2014-05-282-0/+30
| | | | | | | | | | | * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX. (CPP_SPEC): Add entry for -mcpu=8548. * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548. * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211011 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/gjl2014-05-287-14/+49
| | | | | | | | | | | | | | | PR libgcc/61152 * config/dbx.h (License): Add Runtime Library Exception. * config/newlib-stdint.h (License): Same. * config/rtems.h (License): Same * config/initfini-array.h (License): Same * config/v850/v850.h (License): Same. * config/v850/v850-opts.h (License): Same * config/v850/rtems.h (License): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211004 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-27 Andrew Pinski <apinski@cavium.com>pinskia2014-05-281-5/+5
| | | | | | | | | | | | * config/aarch64/aarch64.md (stack_protect_set_<mode>): Use <w> for the register in assembly template. (stack_protect_test): Use the mode of operands[0] for the result. (stack_protect_test_<mode>): Use <w> for the register in assembly template. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210996 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rx/rx.c (add_vector_labels): New.dj2014-05-281-2/+87
| | | | | | | | | | | | | | (rx_output_function_prologue): Call it. (rx_handle_func_attribute): Don't require empty arguments. (rx_handle_vector_attribute): New. (rx_attribute_table): Add "vector" attribute. * doc/extend.texi (interrupt, vector): Document new/changed RX-specific attributes. * config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210995 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-27 Steve Ellcey <sellcey@mips.com>sje2014-05-271-0/+1
| | | | | | | * config/mips/mips.c: Add include of cgraph.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210975 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libgcc/61152gjl2014-05-2712-24/+36
| | | | | | | | | | | | | | | | | | | * config/arm/arm.h (License): Add note to COPYING.RUNTIME. * config/arm/arm-cores.def (License): Same. * config/arm/arm-opts.h (License): Same. * config/arm/aout.h (License): Same. * config/arm/bpabi.h (License): Same. * config/arm/elf.h (License): Same. * config/arm/linux-elf.h (License): Same. * config/arm/linux-gas.h (License): Same. * config/arm/netbsd-elf.h (License): Same. * config/arm/uclinux-eabi.h (License): Same. * config/arm/uclinux-elf.h (License): Same. * config/arm/vxworks.h (License): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210969 138bc75d-0d04-0410-961f-82ee72b054a4
* [ARM] Vectorise bswap* in aarch32.ktkachov2014-05-274-12/+92
| | | | | | | | | | | | | | | | | * config/arm/neon.md (neon_bswap<mode>): New pattern. * config/arm/arm.c (neon_itype): Add NEON_BSWAP. (arm_init_neon_builtins): Handle NEON_BSWAP. Define required type nodes. (arm_expand_neon_builtin): Handle NEON_BSWAP. (arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins. * config/arm/arm_neon_builtins.def (bswap): Define builtins. * config/arm/iterators.md (VDQHSD): New mode iterator. * lib/target-supports.exp (check_effective_target_vect_bswap): Specify arm*-*-* support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210967 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libgcc/61152gjl2014-05-272-0/+8
| | | | | | | | | * config/arm/arm-opts.h (License): Add GCC Runtime Library Exception. * config/arm/arm-cores.def (License): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210959 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/61271uros2014-05-261-4/+4
| | | | | | | | | | * config/i386/i386.c (ix86_rtx_costs) <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>: Fix condition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210937 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/61098amodra2014-05-263-134/+124
| | | | | | | | | | | | | | | | | | | | * config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded params and return a bool. Remove dead code. Update comment. Assert we have a const_int source. Remove bogus code from 32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct handling of constants > 2G and reg_equal note, from.. (rs6000_emit_set_long_const): ..here. Remove unneeded param and return value. Update comment. If we can, use a new pseudo for intermediate calculations. * config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update prototype. * config/rs6000/rs6000.md (movsi_internal1_single+1): Update call to rs6000_emit_set_const in splitter. (movdi_internal64+2, +3): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210932 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-23 Richard Biener <rguenther@suse.de>rguenth2014-05-264-63/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system.h: Define __STDC_FORMAT_MACROS before including inttypes.h. * hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT, HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC, HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED, HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX, HOST_WIDEST_INT_C): Remove. (PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define if C99 inttypes.h is not available. * coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t. * gcov-io.h (gcov_type, gcov_type_unsigned): Likewise. * gcov-io.c (gcov_histo_index): Drop non-64bit hwi case. * cfgloop.h (struct niter_desc): Use uint64_t for niter field. * bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters. (struct output_info): Likewise. (print_statistics): Adjust. (dump_bitmap_statistics): Likewise. * bt-load.c (migrate_btr_defs): Print with PRId64. * cfg.c (dump_edge_info, dump_bb_info): Likewise. (MAX_SAFE_MULTIPLIER): Adjust. * cfghooks.c (dump_bb_for_graph): Print with PRId64. * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee, dump_cgraph_node): Likewise. * final.c (dump_basic_block_info): Likewise. * gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise. * gcov.c (format_gcov): Likewise. * ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t for calculation. (get_clone_agg_value): Use HOST_WIDE_INT for offset. * ipa-inline.c (compute_max_insns): Use int64_t for calcuation. (inline_small_functions, dump_overall_stats, dump_inline_stats): Use PRId64 for dumping. * ipa-profile.c (dump_histogram, ipa_profile): Likewise. * ira-color.c (struct allocno_hard_regs): Use int64_t for cost. (add_allocno_hard_regs): Adjust. * loop-doloop.c (doloop_modify): Print using PRId64. * loop-iv.c (inverse): Compute in uint64_t. (determine_max_iter, iv_number_of_iterations): Likewise. * loop-unroll.c (decide_peel_completely, decide_peel_simple): Print using PRId64. * lto-streamer-out.c (write_symbol): Use uint64_t. * mcf.c (CAP_INFINITY): Use int64_t maximum. (dump_fixup_edge, create_fixup_graph, cancel_negative_cycle, find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64. * modulo-sched.c (const_iteration_count): Use int64_t. (sms_schedule): Dump using PRId64. * predict.c (dump_prediction): Likewise. * pretty-print.h (pp_widest_integer): Remove. * profile.c (get_working_sets, is_edge_inconsistent, is_inconsistent, read_profile_edge_counts): Dump using PRId64. * tree-pretty-print.c (pp_double_int): Remove case handling HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT. * tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t and adjust users. (pass_optimize_bswap::execute): Remove restriction on hosts. * tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT. * tree-streamer-out.c (streamer_write_tree_header): Likewise. * tree.c (widest_int_cst_value): Remove. * tree.h (widest_int_cst_value): Likewise. * value-prof.c (dump_histogram_value): Print using PRId64. * gengtype.c (main): Also inject int64_t. * ggc-page.c (struct max_alignment): Use int64_t. * alloc-pool.c (struct allocation_object_def): Likewise. * ira-conflicts.c (build_conflict_bit_table): Use uint64_t for computation. * doc/tm.texi.in: Remove reference to HOST_WIDEST_INT. * doc/tm.texi: Regenerated. * gengtype-lex.l (IWORD): Handle [u]int64_t. * config/sh/sh.c (expand_cbranchdi4): Use gcov_type. * config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value, mmix_output_register_setting): Use [u]int64_t in prototypes. * config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting, mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str, mmix_output_octa, mmix_output_shifted_value): Adjust. (mmix_intval): Adjust. Remove unreachable case. * config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use int64_t. lto/ * lto.c (lto_parse_hex): Use int64_t. (lto_resolution_read): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210931 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-core.h (tree_decl_with_vis): Replace comdat_group byhubicka2014-05-243-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | symtab_node pointer. * tree.c (copy_node_stat): Be sure tonot copy symtab_node pointer. (find_decls_types_r): Do not walk COMDAT_GROUP. * tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group. * varasm.c (make_decl_one_only): Use set_comdat_group; create node if needed. * ipa-inline-transform.c (save_inline_function_body): Update way we decl->symtab mapping. * symtab.c (symtab_hash, hash_node, eq_node symtab_insert_node_to_hashtable): Remove. (symtab_register_node): Update. (symtab_unregister_node): Update. (symtab_get_node): Reimplement as inline function. (symtab_add_to_same_comdat_group): Update. (symtab_dissolve_same_comdat_group_list): Update. (dump_symtab_base): Update. (verify_symtab_base): Update. (symtab_make_decl_local): Update. (fixup_same_cpp_alias_visibility): Update. (symtab_nonoverwritable_alias): Update. * cgraphclones.c (set_new_clone_decl_and_node_flags): Update. * ipa.c (update_visibility_by_resolution_info): UPdate. * bb-reorder.c: Include cgraph.h * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal with comdat groups. * ipa-comdats.c (set_comdat_group, ipa_comdats): Update. * cgraph.c (cgraph_get_create_node): Update. * cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group and comdat_group_. (symtab_get_node): Make inline. (symtab_insert_node_to_hashtable): Remove. (symtab_can_be_discarded): Update. (decl_comdat_group): New function. * tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers): Update. * lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out comdat group name. (read_comdat_group): New function. (input_node, input_varpool_node): Use it. * trans-mem.c (ipa_tm_create_version_alias): Update code creating comdat groups. * mips.c (mips_start_unique_function): Likewise. (ix86_code_end): Likewise. (rs6000_code_end): Likweise. * tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream comdat group. * lto-symtab.c (lto_symtab_merge_symbols): Update code setting symtab pointer. * lto.c (compare_tree_sccs_1): Do not compare comdat groups. * optmize.c (maybe_thunk_body): Use set_comdat_group. (maybe_clone_body): Likewise. * decl.c (duplicate_decls): Update code duplicating comdat group; do not copy symtab pointer; before freeing newdecl remove it from symtab. * decl2.c (constrain_visibility): Use set_comdat_group. * c-decl.c (merge_decls): Preserve symtab node pointers. (duplicate_decls): Free new decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210901 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Make all rlw*nm and rld*c* type shiftsegher2014-05-235-51/+81
| | | | | | | | | | They are often labeled just "integer" currently. Fix that. Also handle shift properly in those scheduling descriptions that neglected it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210873 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Make all logical instructions one typesegher2014-05-2324-104/+122
| | | | | | | | They are currently just "integer", but the dot version is fast_compare. This makes them all "logical". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210872 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Make all add instructions one typesegher2014-05-2325-51/+95
| | | | | | | | | | They are currently just "integer", but the dot version is fast_compare. This makes them all "add". Later we should introduce attributes to distinguish e.g. addc and adde (which aren't currently handled as separate instructions at all, only in groups). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210871 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Make all shift instructions one typesegher2014-05-2325-192/+388
| | | | | | | | | | | This uses the attributes "var_shift" and "dot" to specify the differences: var_shift_rotate -> shift var_shift=yes delayed_compare -> shift var_shift=no dot=yes var_delayed_compare -> shift var_shift=yes dot=yes git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210870 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Make all divide instructions one typesegher2014-05-2326-72/+89
| | | | | | | | | | | | This uses the attribute "size" to specify the differences: idiv -> div size=32 ldiv -> div size=64 It could use "dot" as well, but the current code doesn't handle that. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210869 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Make all insert instructions one typesegher2014-05-2325-47/+57
| | | | | | | | | | | | This uses the attribute "size" to specify the differences: insert_word -> insert size=32 insert_dword -> insert size=64 It could use "dot" as well, but the current code doesn't handle that. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210868 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Make all multiply instructions one typesegher2014-05-2326-115/+188
| | | | | | | | | | | | | | This uses the attributes "size" and "dot" to specify the differences: imul3 -> mul size=8 imul2 -> mul size=16 imul -> mul size=32 lmul -> mul size=64 imul_compare -> mul size=32 dot=yes lmul_compare -> mul size=64 dot=yes git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210867 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: New type attribute value "halfmul"segher2014-05-235-40/+36
| | | | | | | | | | | This is for the legacy integer multiply-accumulate instructions. Quite a mouthful, and "mulhw" is also a terrible name since we already have a machine instruction called exactly that. Hence "halfmul". Also fixes the titan automaton description for this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210866 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH 1/9] rs6000: Clean up the "type" attributesegher2014-05-231-1/+16
| | | | | | | | Get rid of the one huge line. Group and order things a bit. Further changes will follow so this doesn't try to make it perfect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210865 138bc75d-0d04-0410-961f-82ee72b054a4
* [AARCH64] Support tail indirect function call.mshawcroft2014-05-235-20/+38
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210861 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix bootstrap error on ia64mkuvyrkov2014-05-231-0/+2
| | | | | | | | * config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard): Return default value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210845 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/61231amodra2014-05-232-3/+4
| | | | | | | | | | * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode. * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell): Use "Y" constraint rather than "m". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210835 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>kugan2014-05-224-0/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define. * config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv): New function declaration. * config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR. AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR. (aarch64_init_builtins) : Initialize builtins __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr. __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr. (aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr __builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr, and __builtins_aarch64_set_fpsr. (aarch64_atomic_assign_expand_fenv): New function. * config/aarch64/aarch64.md (set_fpcr): New pattern. (get_fpcr) : Likewise. (set_fpsr) : Likewise. (get_fpsr) : Likewise. (unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR and UNSPECV_SET_FPSR. * doc/extend.texi (AARCH64 Built-in Functions) : Document __builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr. __builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210828 138bc75d-0d04-0410-961f-82ee72b054a4
* Create a new header lto-section-names.hbernds2014-05-222-3/+2
| | | | | | | | | | | | | | | | | | | | gcc/ * config/darwin.c: Include "lto-section-names.h". (LTO_SEGMENT_NAME): Don't define. * config/i386/winnt.c: Include "lto-section-names.h". * lto-streamer.c: Include "lto-section-names.h". * lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define. * lto-wrapper.c: Include "lto-section-names.h". (LTO_SECTION_NAME_PREFIX): Don't define. * lto-section-names.h: New file. * cgraphunit.c: Include "lto-section-names.h". gcc/lto/ * lto-object.c: Include "lto-section-names.h". (LTO_SEGMENT_NAME): Don't define. * lto.c: Include "lto-section-names.h". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210819 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/bergner2014-05-221-1/+1
| | | | | | | | | | * config/rs6000/htm.md (ttest): Use correct shift value to get CR0. gcc/testsuite/ * gcc.target/powerpc/htm-ttest.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210815 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/61208rearnsha2014-05-221-5/+5
| | | | | | | * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210812 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/msp430/msp430.h (ASM_SPEC): Add spaces after insertednickc2014-05-221-2/+2
| | | | | | | options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210808 138bc75d-0d04-0410-961f-82ee72b054a4