Commit Graph

124618 Commits

Author SHA1 Message Date
David Malcolm
0f9cdef43a passes.def: New.
* passes.def: New.

	* passes.c (init_optimization_passes): Move the construction of
	the pass hierarchy into a new passes.def file.

	* Makefile.in (passes.o): Add dependency on passes.def.

From-SVN: r201038
2013-07-18 18:55:48 +00:00
David Malcolm
2efa40870b passes.c (init_optimization_passes): Introduce macros for constructing the tree of passes (INSERT_PASSES_AFTER...
* passes.c (init_optimization_passes): Introduce macros for
	constructing the tree of passes (INSERT_PASSES_AFTER,
	PUSH_INSERT_PASSES_WITHIN, POP_INSERT_PASSES,
	TERMINATE_PASS_LIST).

From-SVN: r201037
2013-07-18 18:25:32 +00:00
Vladimir Makarov
bc404e1b8c [multiple changes]
2013-07-18  Vladimir Makarov  <vmakarov@redhat.com>
	    Wei Mi  <wmi@google.com>

	PR rtl-optimization/57878
	* lra-assigns.c (assign_by_spills): Move non_reload_pseudos to the
	top.
	(reload_pseudo_compare_func): Check nregs first for reload
	pseudos.

2013-07-18  Wei Mi  <wmi@google.com>

	PR rtl-optimization/57878
	* g++.dg/pr57518.C: New test.

From-SVN: r201036
2013-07-18 17:04:10 +00:00
David Malcolm
d675843fa6 tree-pass.h (pass_ipa_lto_wpa_fixup): Remove redundant decl.
* tree-pass.h (pass_ipa_lto_wpa_fixup): Remove redundant decl.

From-SVN: r201035
2013-07-18 16:22:52 +00:00
Po-Chun Chang
bcb97fbdad read-rtl.c (validate_const_int): Once an invalid character is seen, quit the loop.
* read-rtl.c (validate_const_int): Once an invalid character is
        seen, quit the loop.

        * gengtype.c (write_roots): Similarly once we find the
        "deletable" or "if_marked" option.

From-SVN: r201034
2013-07-18 10:07:37 -06:00
Kyrylo Tkachov
37cd74abd7 pr42611.c: Move dg-error to correct line.
gcc/testsuite/
2013-07-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* gcc.dg/pr42611.c: Move dg-error to correct line.

From-SVN: r201027
2013-07-18 10:17:44 +00:00
Sofiane Naci
52fceb441a arm.md (attribute "insn"): Delete values "mrs", "msr", "xtab" and "sat".
* config/arm/arm.md (attribute "insn"): Delete values "mrs", "msr",
	"xtab" and "sat".  Move value "clz" from here to ...
	(attriubte "type"): ... here.
	(satsi_<SAT:code>): Delete "insn" attribute.
	(satsi_<SAT:code>_shift): Likewise.
	(arm_zero_extendqisi2addsi): Likewise.
	(arm_extendqisi2addsi): Likewise.
	(clzsi2): Update for attribute changes.
	(rbitsi2): Likewise.
	* config/arm/arm-fixed.md (arm_ssatsihi_shift): Delete "insn" attribute.
	(arm_usatsihi): Likewise.
	* config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute change.

From-SVN: r201025
2013-07-18 09:16:05 +00:00
Sofiane Naci
006bd0062b arm.md (attribute "type"): Rename "simple_alu_imm" to "arlo_imm".
* config/arm/arm.md (attribute "type"): Rename "simple_alu_imm" to
	"arlo_imm".  Rename "alu_reg" to "arlo_reg".  Rename "simple_alu_shift" to
	"extend".  Split "alu_shift" into "shift" and "arlo_shift".  Split
	"alu_shift_reg" into "shift_reg" and "arlo_shift_reg".  List types
	in alphabetical order.
	(attribute "core_cycles"): Update for attribute changes.
	(arm_addsi3): Likewise.
	(addsi3_compare0): Likewise.
	(addsi3_compare0_scratch): Likewise.
	(addsi3_compare_op1): Likewise.
	(addsi3_compare_op2): Likewise.
	(compare_addsi2_op0): Likewise.
	(compare_addsi2_op1): Likewise.
	(addsi3_carryin_shift_<optab>): Likewise.
	(subsi3_carryin_shift): Likewise.
	(rsbsi3_carryin_shift): Likewise.
	(arm_subsi3_insn): Likewise.
	(subsi3_compare0): Likewise.
	(subsi3_compare): Likewise.
	(arm_andsi3_insn): Likewise.
	(thumb1_andsi3_insn): Likewise.
	(andsi3_compare0): Likewise.
	(andsi3_compare0_scratch): Likewise.
	(zeroextractsi_compare0_scratch
	(andsi_not_shiftsi_si): Likewise.
	(iorsi3_insn): Likewise.
	(iorsi3_compare0): Likewise.
	(iorsi3_compare0_scratch): Likewise.
	(arm_xorsi3): Likewise.
	(thumb1_xorsi3_insn): Likewise.
	(xorsi3_compare0): Likewise.
	(xorsi3_compare0_scratch): Likewise.
	(satsi_<SAT:code>_shift): Likewise.
	(rrx): Likewise.
	(arm_shiftsi3): Likewise.
	(shiftsi3_compare0): Likewise.
	(not_shiftsi): Likewise.
	(not_shiftsi_compare0): Likewise.
	(not_shiftsi_compare0_scratch): Likewise.
	(arm_one_cmplsi2): Likewise.
	(thumb_one_complsi2): Likewise.
	(notsi_compare0): Likewise.
	(notsi_compare0_scratch): Likewise.
	(thumb1_zero_extendhisi2): Likewise.
	(arm_zero_extendhisi2): Likewise.
	(arm_zero_extendhisi2_v6): Likewise.
	(arm_zero_extendhisi2addsi): Likewise.
	(thumb1_zero_extendqisi2): Likewise.
	(thumb1_zero_extendqisi2_v6): Likewise.
	(arm_zero_extendqisi2): Likewise.
	(arm_zero_extendqisi2_v6): Likewise.
	(arm_zero_extendqisi2addsi): Likewise.
	(thumb1_extendhisi2): Likewise.
	(arm_extendhisi2): Likewise.
	(arm_extendhisi2_v6): Likewise.
	(arm_extendqisi): Likewise.
	(arm_extendqisi_v6): Likewise.
	(arm_extendqisi2addsi): Likewise.
	(thumb1_extendqisi2): Likewise.
	(thumb1_movdi_insn): Likewise.
	(arm_movsi_insn): Likewise.
	(movsi_compare0): Likewise.
	(movhi_insn_arch4): Likewise.
	(movhi_bytes): Likewise.
	(arm_movqi_insn): Likewise.
	(thumb1_movqi_insn): Likewise.
	(arm32_movhf): Likewise.
	(thumb1_movhf): Likewise.
	(arm_movsf_soft_insn): Likewise.
	(thumb1_movsf_insn): Likewise.
	(movdf_soft_insn): Likewise.
	(thumb_movdf_insn): Likewise.
	(arm_cmpsi_insn): Likewise.
	(cmpsi_shiftsi): Likewise.
	(cmpsi_shiftsi_swp): Likewise.
	(arm_cmpsi_negshiftsi_si): Likewise.
	(movsicc_insn): Likewise.
	(movsfcc_soft_insn): Likewise.
	(arith_shiftsi): Likewise.
	(arith_shiftsi_compare0
	(arith_shiftsi_compare0_scratch
	(sub_shiftsi): Likewise.
	(sub_shiftsi_compare0
	(sub_shiftsi_compare0_scratch
	(and_scc): Likewise.
	(cond_move): Likewise.
	(if_plus_move): Likewise.
	(if_move_plus): Likewise.
	(if_move_not): Likewise.
	(if_not_move): Likewise.
	(if_shift_move): Likewise.
	(if_move_shift): Likewise.
	(if_shift_shift): Likewise.
	(if_not_arith): Likewise.
	(if_arith_not): Likewise.
	(cond_move_not): Likewise.
	(thumb1_ashlsi3): Set type attribute.
	(thumb1_ashrsi3): Likewise.
	(thumb1_lshrsi3): Likewise.
	(thumb1_rotrsi3): Likewise.
	(shiftsi3_compare0_scratch): Likewise.
	* config/arm/neon.md (neon_mov<mode>): Update for attribute changes.
	(neon_mov<mode>): Likewise.
	* config/arm/thumb2.md (thumb_andsi_not_shiftsi_si): Update for attribute
	changes.
	(thumb2_movsi_insn): Likewise.
	(thumb2_cmpsi_neg_shiftsi): Likewise.
	(thumb2_extendqisi_v6): Likewise.
	(thumb2_zero_extendhisi2_v6): Likewise.
	(thumb2_zero_extendqisi2_v6): Likewise.
	(thumb2_shiftsi3_short): Likewise.
	(thumb2_addsi3_compare0_scratch): Likewise.
	(orsi_not_shiftsi_si): Likewise.
	* config/arm/vfp.md (arm_movsi_vfp): Update for attribute changes.
	* config/arm/arm-fixed.md (arm_ssatsihi_shift): Update for attribute
	changes.
	* config/arm/arm1020e.md (1020alu_op): Update for attribute changes.
	(1020alu_shift_op): Likewise.
	(1020alu_shift_reg_op): Likewise.
	* config/arm/arm1026ejs.md (alu_op): Update for attribute changes.
	(alu_shift_op): Likewise.
	(alu_shift_reg_op): Likewise.
	* config/arm/arm1136jfs.md (11_alu_op): Update for attribute changes.
	(11_alu_shift_op): Likewise.
	(11_alu_shift_reg_op): Likewise.
	* config/arm/arm926ejs.md (9_alu_op): Update for attribute changes.
	(9_alu_shift_reg_op): Likewise.
	* config/arm/cortex-a15.md (cortex_a15_alu): Update for attribute changes.
	(cortex_a15_alu_shift): Likewise.
	(cortex_a15_alu_shift_reg): Likewise.
	* config/arm/cortex-a5.md (cortex_a5_alu): Update for attribute changes.
	(cortex_a5_alu_shift): Likewise.
	* config/arm/cortex-a53.md (cortex_a53_alu) : Update for attribute
	changes.
	(cortex_a53_alu_shift): Likewise.
	* config/arm/cortex-a7.md (cortex_a7_alu_imm): Update for attribute
	changes.
	(cortex_a7_alu_reg): Likewise.
	(cortex_a7_alu_shift): Likewise.
	* config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute changes.
	(cortex_a8_alu_shift): Likewise.
	(cortex_a8_alu_shift_reg): Likewise.
	(cortex_a8_mov): Likewise.
	* config/arm/cortex-a9.md (cortex_a9_dp): Update for attribute changes.
	(cortex_a9_dp_shift): Likewise.
	* config/arm/cortex-m4.md (cortex_m4_alu): Update for attribute changes.
	* config/arm/cortex-r4.md (cortex_r4_alu): Update for attribute changes.
	(cortex_r4_mov): Likewise.
	(cortex_r4_alu_shift): Likewise.
	(cortex_r4_alu_shift_reg): Likewise.
	* config/arm/fa526.md (526_alu_op): Update for attribute changes.
	(526_alu_shift_op): Likewise.
	* config/arm/fa606te.md (606te_alu_op): Update for attribute changes.
	* config/arm/fa626te.md (626te_alu_op): Update for attribute changes.
	(626te_alu_shift_op): Likewise.
	* config/arm/fa726te.md (726te_shift_op): Update for attribute changes.
	(726te_alu_op): Likewise.
	(726te_alu_shift_op): Likewise.
	(726te_alu_shift_reg_op): Likewise.
	* config/arm/fmp626.md (mp626_alu_op): Update for attribute changes.
	(mp626_alu_shift_op): Likewise.
	* config/arm/marvell-pj4.md (pj4_alu_e1): Update for attribute changes.
	(pj4_alu_e1_conds): Likewise.
	(pj4_alu): Likewise.
	(pj4_alu_conds): Likewise.
	(pj4_shift): Likewise.
	(pj4_shift_conds): Likewise.
	(pj4_alu_shift): Likewise.
	(pj4_alu_shift_conds): Likewise.
	* config/arm/arm.c (xscale_sched_adjust_cost): Update for attribute changes.
	(cortexa7_older_only): Likewise.
	(cortexa7_younger): Likewise.

From-SVN: r201024
2013-07-18 09:08:56 +00:00
David Malcolm
651df1b26a ipa-pure-const.c (generate_summary): Rename to...
2013-07-18  David Malcolm  <dmalcolm@redhat.com>

	* ipa-pure-const.c (generate_summary): Rename to...
	(pure_const_generate_summary): ... this.

From-SVN: r201020
2013-07-18 02:59:46 +00:00
GCC Administrator
94643e66b2 Daily bump.
From-SVN: r201019
2013-07-18 00:16:47 +00:00
Iain Sandoe
ea717bd7a8 darwin.h (REGISTER_NAMES): Add HTM registers.
gcc/

	* config/rs6000/darwin.h (REGISTER_NAMES): Add HTM registers.

line, and those below, will be ignored--

M    ChangeLog
M    config/rs6000/darwin.h

From-SVN: r201011
2013-07-17 14:39:58 +00:00
Tobias Burnus
bdb4f6ce2f [multiple changes]
2013-07-17  Mikael Morin  <mikael@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/57895
        * match.c (gfc_match_name): Ensure that the error
        message regarding -fdollar-ok gets printed.
        (gfc_match_common): Avoid multiple freeing.

2013-07-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57895
        * gfortran.dg/dollar_sym_3.f: New.
        * gfortran.dg/dollar_sym_1.f90: Update dg-error.

From-SVN: r201008
2013-07-17 14:57:41 +02:00
Yvan Roux
a1259a1302 re PR target/57909 ([ARM] ICE with internal memcpy and -mno-unaligned-access)
Fix PR target/57909.

2013-07-17  Yvan Roux  <yvan.roux@linaro.org>

        PR target/57909
        * config/arm/arm.c (gen_movmem_ldrd_strd): Fix unaligned load/store
        usage in HI mode.

From-SVN: r201005
2013-07-17 11:39:14 +00:00
Andreas Krebbel
167f68ede4 s390.c: (s390_expand_builtin): Allow -mhtm to be enabled without -march=zEC12.
2013-07-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c: (s390_expand_builtin): Allow -mhtm to be
	enabled without -march=zEC12.
	* config/s390/s390.h (TARGET_HTM): Do not require EC12 machine
	flags to be set.

2013-07-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* acinclude.m4: Add htm asm check for s390.
	* configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
	* configure: Regenerate.
	* config/s390/target.h: Remove __HTM__ check.
	(htm_available): Call getauxval to get hwcaps and check whether
	HTM is available or not.

From-SVN: r201004
2013-07-17 11:15:24 +00:00
Tim Shen
1b2d0112c5 MAINTAINERS (Write After Approval): Add myself.
2013-07-17  Tim Shen  <timshen91@gmail.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r200998
2013-07-17 01:19:07 +00:00
GCC Administrator
98031b20a8 Daily bump.
From-SVN: r200996
2013-07-17 00:16:41 +00:00
Maciej W. Rozycki
f900a98221 mips.h (ISA_HAS_FP4): Correct formatting.
* config/mips/mips.h (ISA_HAS_FP4): Correct formatting.
	(ISA_HAS_FP_MADD4_MSUB4): Also enable for ISA_MIPS32R2.
	(ISA_HAS_NMADD4_NMSUB4): Remove the MODE argument; rewrite in
	terms of ISA_HAS_FP4, and also enable for ISA_MIPS32R2.
	(ISA_HAS_NMADD3_NMSUB3): Remove the MODE argument.
	* config/mips/mips.c (mips_rtx_costs) <PLUS>: Check for
	ISA_HAS_FP_MADD4_MSUB4 || ISA_HAS_FP_MADD3_MSUB3 rather than
	ISA_HAS_FP4.
	<MINUS, NEG>: Update according to changes to ISA_HAS_NMADD4_NMSUB4
	and ISA_HAS_NMADD3_NMSUB3.
	* config/mips/mips.md (nmadd4<mode>, nmadd3<mode>): Likewise.
	(nmadd4<mode>_fastmath, nmadd3<mode>_fastmath): Likewise.
	(nmsub4<mode>, nmsub3<mode>): Likewise.
	(nmsub4<mode>_fastmath, nmsub3<mode>_fastmath): Likewise.

From-SVN: r200993
2013-07-16 23:04:52 +00:00
Maciej W. Rozycki
d4ed27eb7f mips.h (ISA_HAS_NMADD4_NMSUB4): Remove TARGET_MIPS5400 checking.
* config/mips/mips.h (ISA_HAS_NMADD4_NMSUB4): Remove
	TARGET_MIPS5400 checking.

From-SVN: r200992
2013-07-16 22:58:58 +00:00
Ian Lance Taylor
d163afc5d4 compiler: adjust closure field indexes
This corrects the code that handles composite literals where
the key is a variable in an enclosing function.  See bug475.go
in the testsuite.

From-SVN: r200990
2013-07-16 22:45:24 +00:00
Peter Bergner
7a5add18a3 rs6000.h (FIRST_PSEUDO_REGISTERS): Mention HTM registers in the comment.
* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTERS): Mention HTM
	registers in the comment.
	(DWARF_FRAME_REGISTERS): Subtract also the 3 HTM registers.
	(DWARF_REG_TO_UNWIND_COLUMN): Use DWARF_FRAME_REGISTERS
	rather than FIRST_PSEUDO_REGISTERS.

From-SVN: r200988
2013-07-16 16:06:02 -05:00
Tobias Burnus
b1adb7c4a0 re PR fortran/57912 (gfortran/coarray/alloc_comp_2.f90 ICE)
2013-07-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57912
        * trans-expr.c (gfc_trans_scalar_assign): Correct if
        condition for caf realloc.

From-SVN: r200987
2013-07-16 22:54:37 +02:00
Peter Bergner
c694dc0100 rs6000.c (rs6000_option_override_internal): Do not enable extra ISA flags with TARGET_HTM.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
	enable extra ISA flags with TARGET_HTM.

From-SVN: r200985
2013-07-16 11:35:10 -05:00
Ian Lance Taylor
081e7aadae runtime: Fix build on non-split-stack systems.
From-SVN: r200983
2013-07-16 15:44:54 +00:00
Iain Sandoe
1c858af58f re PR target/55654 (objc/obj-c++ failures present under darwin10)
gcc/testsuite/

	PR target/55654
	PR target/55656
	PR target/55657
	* obj-c++.dg/cxx-ivars-3.mm: Use NSObject instead of Object.
	* obj-c++.dg/strings/const-cfstring-5.mm: Likewise.
	* obj-c++.dg/torture/strings/const-str-10.mm: Likewise.
	* obj-c++.dg/torture/strings/const-str-9.mm: Likewise.
	* objc.dg/image-info.m: Likewise.
	* objc.dg/symtab-1.m: Likewise.
	* objc.dg/torture/strings/const-str-10.m: Likewise.
	* objc.dg/torture/strings/const-str-11.m: Likewise.
	* objc.dg/torture/strings/const-str-9.m: Likewise.
	* objc.dg/zero-link-1.m: Likewise.
	* objc.dg/zero-link-2.m: Likewise.
	* objc.dg/no-extra-load.m: Avoid Foundation.h.
	* objc.dg/objc-foreach-4.m: Likewise.
	* objc.dg/objc-foreach-5.m: Likewise.
	* obj-c++.dg/proto-lossage-7.mm: Use NSObject instead of Object
	(for Darwin).
	* obj-c++.dg/strings/const-str-12.mm: Likewise.
	* obj-c++.dg/syntax-error-1.mm: Likewise.
	* objc.dg/method-6.m: Likewise.
	* objc.dg/pr23214.m: Likewise.
	* objc.dg/proto-lossage-7.m: Likewise.
	* objc.dg/strings/const-str-12b.m: Likewise.
	* objc.dg/zero-link-3.m: Likewise.
	* obj-c++.dg/method-12.mm: Skip on Darwin versions without 'Object'.
	* objc.dg/encode-7-next-64bit.m: Use NSObject instead of Object,
	adjust headers, interfaces and encoded types to reflect current system
	versions.  Add FIXME and outputs from current system compiler for
	reference.

From-SVN: r200977
2013-07-16 10:41:30 +00:00
Jan-Benedict Glaw
bc98bcc4ae configure.ac: Sync from binutils.
2013-07-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* configure.ac: Sync from binutils.
	* configure: Regenerate.

From-SVN: r200976
2013-07-16 10:11:36 +00:00
Ian Lance Taylor
be47d6ecef libgo: Update to Go 1.1.1.
From-SVN: r200974
2013-07-16 06:54:42 +00:00
GCC Administrator
efb30cdeb0 Daily bump.
From-SVN: r200972
2013-07-16 00:16:46 +00:00
Maciej W. Rozycki
d2ab09297c mips.h (ISA_HAS_MULS, [...]): Fix comment typos.
* config/mips/mips.h (ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC):
	Fix comment typos.

From-SVN: r200969
2013-07-16 00:16:26 +00:00
Cong Hou
839c74bced tree-vect-data-refs.c (dr_group_sort_cmp): Do not use hash function in compare function for sorting.
2013-07-15  Cong Hou  <congh@google.com>

gcc/
        * tree-vect-data-refs.c (dr_group_sort_cmp): Do not use hash function in compare function for sorting.

gcc/testsuite/

        * gcc.target/i386/l_fma_float_1.c: Update the instruction to be counted.
        * gcc.target/i386/l_fma_float_3.c: Likewise.
        * gcc.target/i386/l_fma_double_1.c: Likewise.
        * gcc.target/i386/l_fma_double_3.c: Likewise

From-SVN: r200968
2013-07-15 20:03:07 -04:00
Matthias Klose
ab0e837971 libgcc2.c: Don't include <limits.h>.
2013-07-15  Matthias Klose  <doko@ubuntu.com>

        * libgcc2.c: Don't include <limits.h>.

From-SVN: r200963
2013-07-15 18:33:06 +00:00
Peter Bergner
0258b6e466 acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
libitm/
        * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
        * configure.ac: Use it.
	(AC_CHECK_HEADERS): Check for sys/auxv.h.
	(AC_CHECK_FUNCS): Check for getauxval.
        * config.h.in, configure: Rebuild.
	* configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
	* config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
	(USE_HTM_FASTPATH): Define.
	(_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
	_HTM_RETRIES) New macros.
	(htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
	htm_begin_success, htm_commit, htm_transaction_active): New functions.

gcc/
	* config.gcc (powerpc*-*-*): Install htmintrin.h and htmxlintrin.h.
	* config/rs6000/t-rs6000 (MD_INCLUDES): Add htm.md.
	* config/rs6000/rs6000.opt: Add -mhtm option.
	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_HTM.
	(ISA_2_7_MASKS_SERVER): Add OPTION_MASK_HTM.
	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
	__HTM__ if the HTM instructions are available.
	* config/rs6000/predicates.md (u3bit_cint_operand, u10bit_cint_operand,
	htm_spr_reg_operand): New define_predicates.
	* config/rs6000/rs6000.md (define_attr "type"): Add htm.
	(TFHAR_REGNO, TFIAR_REGNO, TEXASR_REGNO): New define_constants.
	Include htm.md.
	* config/rs6000/rs6000-builtin.def (BU_HTM_0, BU_HTM_1, BU_HTM_2,
	BU_HTM_3, BU_HTM_SPR0, BU_HTM_SPR1): Add support macros for defining
	HTM builtin functions.
	* config/rs6000/rs6000.c (RS6000_BUILTIN_H): New macro.
	(rs6000_reg_names, alt_reg_names): Add HTM SPR register names.
	(rs6000_init_hard_regno_mode_ok): Add support for HTM instructions.
	(rs6000_builtin_mask_calculate): Likewise.
	(rs6000_option_override_internal): Likewise.
	(bdesc_htm): Add new HTM builtin support.
	(htm_spr_num): New function.
	(htm_spr_regno): Likewise.
	(rs6000_htm_spr_icode): Likewise.
	(htm_expand_builtin): Likewise.
	(htm_init_builtins): Likewise.
	(rs6000_expand_builtin): Add support for HTM builtin functions.
	(rs6000_init_builtins): Likewise.
	(rs6000_invalid_builtin, rs6000_opt_mask): Add support for -mhtm option.
	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mhtm.
	(TARGET_HTM, MASK_HTM): Define macros.
	(FIRST_PSEUDO_REGISTER): Adjust for new HTM SPR registers.
	(FIXED_REGISTERS): Likewise.
	(CALL_USED_REGISTERS): Likewise.
	(CALL_REALLY_USED_REGISTERS): Likewise.
	(REG_ALLOC_ORDER): Likewise.
	(enum reg_class): Likewise.
	(REG_CLASS_NAMES): Likewise.
	(REG_CLASS_CONTENTS): Likewise.
	(REGISTER_NAMES): Likewise.
	(ADDITIONAL_REGISTER_NAMES): Likewise.
	(RS6000_BTC_SPR, RS6000_BTC_VOID, RS6000_BTC_32BIT, RS6000_BTC_64BIT,
	RS6000_BTC_MISC_MASK, RS6000_BTM_HTM): New macros.
	(RS6000_BTM_COMMON): Add RS6000_BTM_HTM.
	* config/rs6000/htm.md: New file.
	* config/rs6000/htmintrin.h: New file.
	* config/rs6000/htmxlintrin.h: New file.

gcc/testsuite/
        * lib/target-supports.exp (check_effective_target_powerpc_htm_ok): New
        function to test if HTM is available.
	* gcc.target/powerpc/htm-xl-intrin-1.c: New test.
	* gcc.target/powerpc/htm-builtin-1.c: New test.

From-SVN: r200960
2013-07-15 12:23:49 -05:00
Marcus Shawcroft
87dd8ab0f2 [AArch64] -mcmodel=tiny -fPIC GOT support.
From-SVN: r200956
2013-07-15 11:27:39 +00:00
Tobias Burnus
abc2d8074a trans-array.h (gfc_deallocate_alloc_comp_no_caf, [...]): New prototype.
2013-07-15  Tobias Burnus  <burnus@net-b.de>

        * trans-array.h (gfc_deallocate_alloc_comp_no_caf,
        gfc_reassign_alloc_comp_caf): New prototype.
        * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF
        and COPY_ALLOC_COMP_CAF.
        (structure_alloc_comps): Handle it.
        (gfc_reassign_alloc_comp_caf,
        gfc_deallocate_alloc_comp_no_caf): New function.
        (gfc_alloc_allocatable_for_assignment): Call it.
        * trans-expr.c (gfc_trans_scalar_assign,
        gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto.
        * parse.c (parse_derived): Correctly set coarray_comp.
        * resolve.c (resolve_symbol): Improve error wording.

2013-07-15  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_realloc_1.f90: New.
        * gfortran.dg/coarray/lib_realloc_1.f90: New.
        * gfortran.dg/coarray_6.f90: Add dg-error.

From-SVN: r200955
2013-07-15 10:25:48 +02:00
Tobias Burnus
895a0c2df3 re PR fortran/37336 ([F03] Finish derived-type finalization)
2013-07-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37336
        * trans.c (gfc_add_comp_finalizer_call): New function.
        * trans.h (gfc_add_comp_finalizer_call): New prototype.
        * trans-array.c (structure_alloc_comps): Call it.

2013-07-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37336
        * gfortran.dg/finalize_18.f90: New.

From-SVN: r200954
2013-07-15 10:17:24 +02:00
GCC Administrator
0768ca33ac Daily bump.
From-SVN: r200953
2013-07-15 00:16:48 +00:00
Thomas Koenig
38945cfe6a re PR fortran/52669 (No warning in unused private variable in modules)
2013-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
	    Tobias Burnus  <burnus@gcc.gnu.org>

	PR fortran/52669
	* trans-decl.c (gfc_finish_var_decl):  Move setting of
	PRIVATE for a module variable if the module has a private
	default or -fmodule-private is given to...
	(gfc_create_module_variable): here. Optionally
	warn about private module variable which is not used.

2013-07-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/52669
	* fortran.dg/module_variable_1.f90:  New test.
	* fortran.dg/module_variable_2.f90:  New test.


Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>

From-SVN: r200950
2013-07-14 19:16:56 +00:00
Adam Butcher
a960e80813 Extract lambda functions from semantics.c.
* gcc/cp/semantics.c (build_lambda_expr),
	(build_lambda_object), (begin_lambda_type), (lambda_return_type),
	(lambda_function), (lambda_capture_field_type), (is_capture_proxy),
	(is_normal_capture_proxy), (insert_capture_proxy),
	(insert_pending_capture_proxies), (lambda_proxy_type),
	(build_capture_proxy), (vla_capture_type),
	(register_capture_members), (add_default_capture),
	(lambda_expr_this_capture), (maybe_resolve_dummy),
	(nonlambda_method_basetype), (maybe_add_lambda_conv_op) and
	(is_lambda_ignored_entity): Moved definitions into ...
	* gcc/cp/lambda.c: ... this new file.

From-SVN: r200948
2013-07-14 13:29:55 -04:00
Marc Glisse
07298ffd6f call.c (build_conditional_expr_1): Handle the case with 1 vector and 2 scalars.
2013-07-14  Marc Glisse  <marc.glisse@inria.fr>

gcc/cp/
	* call.c (build_conditional_expr_1): Handle the case with 1 vector
	and 2 scalars. Call save_expr before building a vector.
	* typeck.c (cp_build_binary_op): Check complain before complaining.

gcc/testsuite/
	* g++.dg/ext/vector19.C: Adapt.
	* g++.dg/ext/vector23.C: New testcase.

From-SVN: r200947
2013-07-14 08:36:47 +00:00
Tobias Grosser
52d676b6c2 graphite: Do not depend on 2D + 1 form in parallelism check
PR tree-optimization/54094
    * graphite-clast-to-gimple.c (translate_clast_for_loop): Derive the
      scheduling dimension for the parallelism check from the polyhedral
      information in the AST.
    * graphite-dependences.c (carries_deps): Do not assume the schedule is
      in 2D + 1 form.

From-SVN: r200946
2013-07-14 06:45:08 +00:00
GCC Administrator
25d7bb75cf Daily bump.
From-SVN: r200944
2013-07-14 00:16:24 +00:00
Lubos Lunak
2a99e5e633 re PR c++/55203 (No unused warning for variables of non-trivial types)
PR c++/55203
c-family/
	* c-common.c (c_common_attribute_table): Add warn_unused.
	(handle_warn_unused_attribute): New.
cp/
	* init.c (build_aggr_init): Check for warn_unused attribute.
	* decl.c (poplevel): Likewise.

From-SVN: r200941
2013-07-13 19:16:18 -04:00
Jason Merrill
286e8fc16f print-tree.c (debug_vec_tree): Use debug_raw.
* print-tree.c (debug_vec_tree): Use debug_raw.
	(debug_raw (vec<tree, va_gc> &)): New.
	(debug_raw (vec<tree, va_gc> *)): New.
	* tree.h: Declare them.

From-SVN: r200940
2013-07-13 19:10:29 -04:00
Jason Merrill
16b53405ad re PR c++/57402 (ICE: in make_decl_rtl, at varasm.c:1147 when initializing variable-sized array)
PR c++/57402
	* init.c (build_vec_init): Use {} for arrays of class type.
	(build_vec_delete): Don't take the address of the array.

From-SVN: r200939
2013-07-13 19:10:24 -04:00
Jason Merrill
26d40c3d4b re PR c++/57793 (ICE with bitfields in get_bit_range)
PR c++/57793
c/
	* c-decl.c (finish_struct): Check for too-large class.
cp/
	* class.c (layout_class_type): Check for too-large class.

From-SVN: r200938
2013-07-13 19:10:17 -04:00
Jason Merrill
53db1bc08e call.c (can_convert): Allow user-defined conversions.
* call.c (can_convert): Allow user-defined conversions.
	(can_convert_standard): New.
	* cp-tree.h: Declare it.
	* cvt.c (convert_to_reference): Use it.
	* pt.c (convert_nontype_argument): Likewise.
	* search.c (check_final_overrider): Likewise.
	Don't worry about user-defined conversions.

From-SVN: r200937
2013-07-13 19:10:12 -04:00
Bin Cheng
e43257e817 ifcvt.c (ifcvt_after_combine): New static variable.
* ifcvt.c (ifcvt_after_combine): New static variable.
	(cheap_bb_rtx_cost_p): Set scale to REG_BR_PROB_BASE when optimizing
	for size.
	(if_convert): New parameter after_combine.  Set ifcvt_after_combine.
	(rest_of_handle_if_conversion, rest_of_handle_if_after_combine,
	rest_of_handle_if_after_reload): Pass new argument for if_convert.

From-SVN: r200936
2013-07-13 08:51:18 +00:00
GCC Administrator
937060bda4 Daily bump.
From-SVN: r200935
2013-07-13 00:16:49 +00:00
Maciej W. Rozycki
da582d461b * config/mips/mips.c (mips_expand_call): Remove empty statement.
From-SVN: r200928
2013-07-12 21:06:42 +00:00
Michael Matz
18b0ea8fce re PR middle-end/55771 (Negation and type conversion incorrectly exchanged)
PR middle-end/55771
	* convert.c (convert_to_real): Reject non-float inner types.

testsuite/
	* c-c++-common/pr55771.c: New test.

From-SVN: r200926
2013-07-12 15:41:49 +00:00
Tejas Belagod
e4f0f84d56 2013-07-12 Tejas Belagod <tejas.belagod@arm.com>
gcc/
	* config/aarch64/aarch64-protos.h
	(aarch64_simd_immediate_valid_for_move): Remove.
	* config/aarch64/aarch64.c (simd_immediate_info): New member.
	(aarch64_simd_valid_immediate): Recognize idioms for shifting ones
	cases.
	(aarch64_output_simd_mov_immediate): Print the correct shift specifier.

testsuite/

	* gcc.target/aarch64/vect-movi.c: New.

From-SVN: r200922
2013-07-12 13:50:23 +01:00