aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2012-02-29avr.md (eqne): New code iterator.Georg-Johann Lay2-296/+324
* config/avr/avr.md (eqne): New code iterator. (*dec-and-branchsi): Use it in text peephole's condition. (*dec-and-branchhi): Ditto. (*dec-and-branchqi): Ditto. From-SVN: r184658
2012-02-29re PR testsuite/52297 (FAIL: gcc.dg/lto/trans-mem-1 ↵Richard Guenther7-54/+10
c_lto_trans-mem-1_0.o-c_lto_trans-mem-1_1.o link, -flto -fgnu-tm) 2012-02-29 Richard Guenther <rguenther@suse.de> PR testsuite/52297 * gcc.dg/lto/trans-mem-1_0.c: Remove. * gcc.dg/lto/trans-mem-1_1.c: Likewise. * gcc.dg/lto/trans-mem-2_0.c: Likewise. * gcc.dg/lto/trans-mem-2_1.c: Likewise. * gcc.dg/lto/trans-mem-4_0.c: Likewise. * gcc.dg/lto/trans-mem-4_1.c: Likewise. From-SVN: r184657
2012-02-29re PR target/49939 ([avr] Skip 2-word instructions if applicable)Georg-Johann Lay2-1/+9
PR target/49939 * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that the device does not have the skip-bug. From-SVN: r184656
2012-02-29invoke.texi (-msoft-atomic): Add more detailed description.Oleg Endo2-3/+43
* doc/invoke.texi (-msoft-atomic): Add more detailed description. (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd -mpretend-cmove): New. From-SVN: r184654
2012-02-29* gcc.dg/torture/pr52402.c: Add -w -Wno-psabi to dg-options.Jakub Jelinek2-0/+5
From-SVN: r184653
2012-02-29re PR bootstrap/52397 (comparison failure with Ada enabled)Jakub Jelinek3-5/+14
PR bootstrap/52397 * df.h (struct df_d): Adjust comment that hard_regs_live_count doesn't count DEBUG_INSN refs. * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE for DEBUG_INSN refs. From-SVN: r184652
2012-02-29re PR fortran/52386 (ICE in gfc_conv_descriptor_dtyp (realloc LHS related))Paul Thomas4-0/+33
2012-02-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/52386 * trans-expr.c (fcncall_realloc_result): Dereference the descriptor if needed. 2012-02-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/52386 * gfortran.dg/realloc_on_assign_13.f90 : New test. From-SVN: r184651
2012-02-29Daily bump.GCC Administrator1-1/+1
From-SVN: r184649
2012-02-28Partially revert:Ulrich Weigand2-1/+11
2012-02-20 Richard Guenther <rguenther@suse.de> PR tree-optimization/52298 * tree-vect-stmts.c (vectorizable_load): Properly use STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing outer loops. From-SVN: r184645
2012-02-28re PR middle-end/51752 (trans-mem: publication safety violated)Aldy Hernandez5-10/+132
PR middle-end/51752 * gimple.h (gimple_in_transaction): New. (gimple_set_in_transaction): New. (struct gimple_statement_base): Add in_transaction field. * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of transaction loads. (tree_ssa_lim_initialize): Compute transaction bits. * tree.h (compute_transaction_bits): Protoize. * trans-mem.c (tm_region_init): Use the heap to store BB auxilliary data. (compute_transaction_bits): New. From-SVN: r184638
2012-02-28document gcc --help=commonBernhard Reutner-Fischer2-1/+6
2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * gcc.c (display_help): Document --help=common and sort entries alphabetically. From-SVN: r184633
2012-02-28install.texi: document language-specific check- shortcutsBernhard Reutner-Fischer2-1/+8
2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * doc/install.texi: Document check-$LANG specific shortcuts From-SVN: r184632
2012-02-28re PR target/51534 (Bad code gen for vcgtq_u32 NEON intrinsic)Matthew Gretton-Dann1-0/+84
PR target/51534 Add testcase forgotten in last commit, ChangeLog entry already present. From-SVN: r184630
2012-02-28re PR target/51534 (Bad code gen for vcgtq_u32 NEON intrinsic)Matthew Gretton-Dann6-32/+94
PR target/51534 * gcc/config/arm/arm.c (neon_builtin_data): Add entries for vcgeu and vcgtu. * gcc/config/arm/arm_neon.h: Regenerate. * gcc/config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU. (neon_vcgeu): New insn. (neon_vcgtu): Likewise. * gcc/config/arm/neon.ml (s_8_32, u_8_32): New lists. (ops): Unsigned comparison intrinsics call a different builtin. * gcc/testsuite/gcc.target/arm/neon/pr51534.c: New testcase. From-SVN: r184629
2012-02-28re PR target/52407 (sse2 simd uint32_t and int64_t and stack variable ↵Richard Guenther4-4/+49
initialization) 2012-02-28 Richard Guenther <rguenther@suse.de> PR target/52407 * config/i386/i386.c (ix86_expand_vector_set): Fix element ordering for the VEC_CONCAT for two element vectors for V2SFmode, V2SImode and V2DImode. * gcc.dg/torture/pr52407.c: New testcase. From-SVN: r184627
2012-02-28re PR target/49448 (arm-tab-linux-gnu-eabi enableds big endian when it ↵Richard Earnshaw2-1/+7
should not) PR target/49448 * config.gcc (arm*-*-linux*): Use an unambiguous pattern for detecting big-endian triplets. From-SVN: r184626
2012-02-28[multiple changes]Richard Earnshaw30-42/+328
2012-02-28 Richard Earnshaw <rearnsha@arm.com> * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine mode if there is no type information available. 2012-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * gcc.target/arm/vfp1.c (dg_do run): Run on all eabi variants. * gcc.target/arm/vfp2.c: Likewise. * gcc.target/arm/vfp3.c: Likewise. * gcc.target/arm/vfp4.c: Likewise. * gcc.target/arm/vfp5.c: Likewise. * gcc.target/arm/vfp6.c: Likewise. * gcc.target/arm/vfp7.c: Likewise. * gcc.target/arm/vfp8.c: Likewise. * gcc.target/arm/vfp9.c: Likewise. * gcc.target/arm/vfp10.c: Likewise. * gcc.target/arm/vfp11.c: Likewise. * gcc.target/arm/vfp12.c: Likewise. * gcc.target/arm/vfp13.c: Likewise. * gcc.target/arm/vfp14.c: Likewise. * gcc.target/arm/vfp15.c: Likewise. * gcc.target/arm/vfp16.c: Likewise. * gcc.target/arm/vfp17.c: Likewise. * gcc.target/arm/neon-constants.h: New file. * gcc.target/arm/neon-vect1.c: New test. * gcc.target/arm/neon-vect2.c: New test. * gcc.target/arm/neon-vect3.c: New test. * gcc.target/arm/neon-vect4.c: New test. * gcc.target/arm/neon-vect5.c: New test. * gcc.target/arm/neon-vect6.c: New test. * gcc.target/arm/neon-vect7.c: New test. * gcc.target/arm/neon-vect8.c: New test. From-SVN: r184625
2012-02-28re PR tree-optimization/52307 (Segmentation fault in Lapack with -O3 ↵Thomas Koenig2-2/+11
-floop-flatten -floop-strip-mine) 2012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org> PR tree-optimization/53207 * doc/invoke.texi: Document as experimental and relying on graphite. From-SVN: r184623
2012-02-28avr-devices.c (avr_mcu_type): Adjust NULL part of initializer to changes ↵Georg-Johann Lay2-1/+6
from r184614. * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part of initializer to changes from r184614. From-SVN: r184622
2012-02-28re PR tree-optimization/52395 (Too conservative alignment info from SRA)Richard Guenther2-3/+11
2012-02-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/52395 * tree-sra.c (build_ref_for_offset): Also look at the base TYPE_ALIGN when figuring out the alignment of the replacement. From-SVN: r184620
2012-02-28re PR tree-optimization/52402 (IPA-SRA creates aligned loads from unaligned ↵Richard Guenther4-3/+60
memory) 2012-02-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/52402 * ipa-prop.c (ipa_modify_call_arguments): Properly use mis-aligned types when creating the accesses at the call site. * gcc.dg/torture/pr52402.c: New testcase. From-SVN: r184619
2012-02-28re PR lto/52400 (lto1: ICE with extern on static linkage)Richard Guenther4-7/+29
2012-02-28 Richard Guenther <rguenther@suse.de> PR lto/52400 * lto.c (lto_register_function_decl_in_symtab): Do not register a reverse renamed decl mapping. * g++.dg/lto/pr52400_0.C: New testcase. From-SVN: r184618
2012-02-28builtins-1.c: New test.Georg-Johann Lay3-0/+54
* gcc.target/avr/torture/builtins-1.c: New test. * gcc.target/avr/torture/builtins-error.c: New test. From-SVN: r184617
2012-02-28builtins.def: New file.Georg-Johann Lay5-107/+151
* config/avr/builtins.def: New file. * config/avr/t-avr (avr.o, avr-c.o): Depend on it. * config/avr/avr.c (enum avr_builtin_id): Use it. (avr_init_builtins): Use it. And use avr_bdesc. (bdesc_1arg): Remove. (bdesc_2arg): Remove. (bdesc_3arg): Remove. (struct avr_builtin_description): Add field n_args. (avr_bdesc): New static variable using builtins.def. (avr_expand_builtin): Use it. Don't call avr_expand_delay_cycles if op0 is not CONST_INT. (avr_fold_builtin): Fold AVR_BUILTIN_SWAP. Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST. From-SVN: r184616
2012-02-28re PR rtl-optimization/52148 (ICE: in spill_failure, at reload1.c:2120)Georg-Johann Lay3-71/+72
PR target/52148 * config/avr/avr.md (movmem_<mode>): Replace match_operand that match only one single hard register with respective hard reg rtx. (movmemx_<mode>): Ditto. * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new insn anatomy of movmem[x]_<mode>. (avr_out_movmem): Same for printing assembler and operand usage. From-SVN: r184615
2012-02-28re PR target/49868 (Implement named address space to place/access data in ↵Georg-Johann Lay7-252/+303
flash memory) PR target/49868 PR target/52261 * doc/extend.texi (AVR Named Address Spaces): No more try to fix address spaces located outside of device flash. * config/avr/avr.h (base_arch_s): Remove field n_segments. (mcu_type_s): Add field n_flash. * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments. Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5. (AVR_MCU): Add N_FLASH argument. * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash. * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in macro __FLASH<n> if that address space makes sense for the device. * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces outside of target flash. (avr_asm_named_section): Ditto. (avr_asm_select_section): Ditto. (avr_addr_space_convert): Ditto. (avr_emit_movmemhi): Ditto. (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if address space is outside of device flash. (avr_insert_attributes): Ditto. (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of avr_current_arch->n_segments. From-SVN: r184614
2012-02-28Daily bump.GCC Administrator1-1/+1
From-SVN: r184613
2012-02-27pr46939.c (long): Fix LP64 vs LLP64 issue.Kai Tietz38-25/+116
* gcc.target/i386/pr46939.c (long): Fix LP64 vs LLP64 issue. * gcc.target/i386/pr45352-2.c: Likewise. * gcc.target/i386/bitfield3.c: Add -mno-ms-bitfields for mingw targets. * gcc.target/i386/xop-vshift-1.c(random): Use on mingw targets instead rand. * gcc.target/i386/sse4_1-blendps-2.c: Likewise. * gcc.target/i386/sse2-mul-1.c: Likewise. * gcc.target/i386/sse4_1-blendps.c: Likewise. * gcc.target/i386/pad-6b.c: Adjust test for x64 mingw target. * gcc.target/i386/pad-1.c: Likewise. * gcc.target/i386/pad-9.c: Likewise. * gcc.target/i386/pad-2.c: Likewise. * gcc.target/i386/pad-5b.c: Likewise. * gcc.target/i386/pad-8.c: Likewise. * gcc.target/i386/pr46470.c: Skip for x64 mingw target. * gcc.target/i386/pr44130.c: Likewise. * gcc.target/i386/align-main-1.c: Likewise. * gcc.target/i386/align-main-2.c: Likewise. * gcc.target/i386/sw-1.c: Likewise. * gcc.target/i386/avx-vzeroupper-5.c: Add -mabi=sysv on x64 mingw target. * gcc.target/i386/avx-vzeroupper-4.c: Likewise. * gcc.target/i386/pr46295.c: Likewise. * gcc.target/i386/amd64-abi-1.c: Likewise. * gcc.target/i386/amd64-abi-2.c: Likewise. * gcc.target/i386/pr39082-1.c: Likewise. * gcc.target/i386/pr39162.c: Likewise. * gcc.target/i386/pr22152.c: Likewise. * gcc.target/i386/wrgsbase-2.c: Adjust dg-final rule. * gcc.target/i386/wrfsbase-2.c: Likewise. * gcc.target/i386/local.c: Likewise * gcc.target/i386/wrgsbase-1.c: Likewise. * gcc.target/i386/wrfsbase-1.c: Likewise. * gcc.target/i386/pr39315-3.c: Likewise. * gcc.target/i386/pr35767-4.c: Likewise. * gcc.target/i386/pr45336-3.c (pextrd): Don't check for x64 mingw target. * gcc.target/i386/pr45336-2.c: Likewise. * gcc.target/i386/pr45336-1.c: Likewise. * gcc.target/i386/pr45336-4.c: Likewise. From-SVN: r184607
2012-02-27decl.c (gnat_to_gnu_entity): Reuse dummy fat type for gnu_ptr_template and ↵Tristan Gingold5-3/+38
gnu_template_type. * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type, E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and gnu_template_type. From-SVN: r184605
2012-02-27Enable *movabs<mode>_[12] only for TARGET_LP64H.J. Lu2-2/+9
2012-02-27 H.J. Lu <hongjiu.lu@intel.com> PR target/52352 * config/i386/i386.md (*movabs<mode>_1): Enable only for TARGET_LP64. (*movabs<mode>_2): Likewise. From-SVN: r184604
2012-02-27re PR target/52375 (internal compiler error: in extract_insn, at ↵Jakub Jelinek5-4/+42
recog.c:2123 at -O3 -mfpu=neon) PR target/52375 * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use s_register_operand in the test instead of REG_P. Don't call gen_reg_rtx if it won't be used. * gcc.target/arm/pr52375.c: New test. * gcc.c-torture/compile/pr52375.c: New test. From-SVN: r184603
2012-02-27typebound_operator_9.f03: Skip on SPU.Ulrich Weigand3-0/+12
* gfortran.dg/typebound_operator_9.f03: Skip on SPU. * gcc.dg/torture/builtin-complex-1.c: Skip "float" tests on SPU. From-SVN: r184602
2012-02-27re PR tree-optimization/52376 (ICE in lto_input_tree_ref, at ↵Jakub Jelinek2-1/+7
lto-streamer-in.c:266 while linking LTO-PGO libxul) PR tree-optimization/52376 * ipa-split.c (split_function): Ignore CLOBBER stmts. From-SVN: r184600
2012-02-27ifcvt.c (noce_get_condition): Check condition variable is not ↵Stuart Henderson2-1/+8
small_register_classes_for_mode_p before accepting. 2012-02-27 Stuart Henderson <shenders@gcc.gnu.org> * ifcvt.c (noce_get_condition): Check condition variable is not small_register_classes_for_mode_p before accepting. From-SVN: r184599
2012-02-27i386.md (*movabs<mode>_1): Fix operand 1 constraints.Uros Bizjak2-9/+9
* config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints. From-SVN: r184597
2012-02-27revert: arm-cores.def (cortex-a15): Use cortex_a15_tune for tuning parameters.Matthew Gretton-Dann3-12/+9
Revert: 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> * gcc/config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for tuning parameters. * gcc/config/arm/arm.c (arm_cortex_a15_tune): New static variable. From-SVN: r184596
2012-02-27ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.Eric Botcazou11-54/+139
* gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking. (TYPE_BY_REFERENCE_P): New flag. (TYPE_IS_BY_REFERENCE_P): New macro. (TYPE_DUMMY_P): Add checking and remove VOID_TYPE. (TYPE_IS_DUMMY_P): Adjust for above change. * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE. (gnat_to_gnu_param): Likewise. (maybe_pad_type): Likewise. (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P. * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE. * gcc-interface/trans.c (finalize_nrv): Likewise. (call_to_gnu): Likewise. Do not create a temporary for return values with by-reference type here. (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P. (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant CONSTRUCTORs and calls. * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE. * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference types explicitly. From-SVN: r184594
2012-02-27decl.c (gnat_to_gnu_entity): Revert previous change that creates a special ↵Eric Botcazou3-44/+77
VAR_DECL for debugging purposes. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous change that creates a special VAR_DECL for debugging purposes. For an aliased object with an unconstrained nominal subtype, make its type a thin reference to the underlying object. * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with expressions built for the initialization of above objects. From-SVN: r184593
2012-02-27sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.Oleg Endo2-6/+4
* config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro. From-SVN: r184590
2012-02-27Daily bump.GCC Administrator1-1/+1
From-SVN: r184589
2012-02-26re PR target/49263 (SH Target: underutilized "TST #imm, R0" instruction)Oleg Endo2-0/+91
PR target/49263 * gcc.target/sh/pr49263.c: New. From-SVN: r184585
2012-02-26* sv.po: Update.Joseph Myers2-7668/+7676
From-SVN: r184584
2012-02-26predicates.md: Remove blank lines.Oleg Endo5-17/+16
* config/sh/predicates.md: Remove blank lines. * config/sh/sh.c: Fix typos in comments. * config/sh/constraints.md: Likewise. * config/sh/sh.md: Remove blank lines. Fix typos in comments. Use ;; as comment characters. From-SVN: r184583
2012-02-26Fix a bug in tilegx_fixup_pcrel_references...Walter Lee2-7/+25
Fix a bug in tilegx_fixup_pcrel_references, to properly match and fixup the second instruction of the instruction sequence to generate a pc relative address. * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern. (replace_mov_pcrel_step2): Ditto. From-SVN: r184582
2012-02-26Daily bump.GCC Administrator1-1/+1
From-SVN: r184581
2012-02-25re PR debug/52001 (Huge compile-time regression with var-tracking)Alexandre Oliva2-5/+43
PR debug/52001 * alias.c (refs_newer_value_cb, refs_newer_value_p): New. (get_addr): Walk canonical value's locs. Avoid returning VALUEs and locs that reference values newer than the non-canonical value at hand. Return the canonical value as a worst case. (memrefs_conflict_p): Walk canonical value's locs. From-SVN: r184572
2012-02-25re PR debug/52001 (Huge compile-time regression with var-tracking)Alexandre Oliva3-22/+49
PR debug/52001 * cselib.c (preserve_only_constants): Rename to... (preserve_constants_and_equivs): ... this. Split out... (invariant_or_equiv_p): ... this. Preserve plus expressions of other preserved expressions too. (cselib_reset_table): Adjust. * var-tracking.c (reverse_op): Use canonical value to build reverse operation. From-SVN: r184571
2012-02-25Daily bump.GCC Administrator1-1/+1
From-SVN: r184568
2012-02-24simulate-thread.gdb: Use return value from simulate_thread_wrapper_other_threadsAndrew MacLeod5-16/+53
* gcc.dg/simulate-thread/simulate-thread.gdb: Use return value from simulate_thread_wrapper_other_threads * gcc.dg/simulate-thread/atomic-load-int128.c (simulate_thread_main): Move initialization of 'value' to main(). (main): Initialize 'value'; * gcc.dg/simulate-thread/speculative-store.c (simulate_thread_step_verify): Return 0 when successful. * gcc.dg/simulate-thread/simulate-thread.h (HOSTILE_THREAD_THRESHOLD): Reduce threshold. (INSN_COUNT_THRESHOLD): New. Instruction limit to terminate test. (simulate_thread_wrapper_other_threads): Return a success/fail value and issue an error if the instruction count threshold is exceeded. From-SVN: r184564
2012-02-24i386.c (ix86_delegitimize_address): Handle UNSPEC_PCREL plus displacement.Kai Tietz2-0/+18
* config/i386/i386.c (ix86_delegitimize_address): Handle UNSPEC_PCREL plus displacement. From-SVN: r184560