Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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
|
|
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
|
|
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
|
|
* doc/invoke.texi (-msoft-atomic): Add more detailed description.
(-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
-mpretend-cmove): New.
From-SVN: r184654
|
|
From-SVN: r184653
|
|
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-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
|
|
From-SVN: r184649
|
|
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
|
|
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-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* gcc.c (display_help): Document --help=common and sort entries
alphabetically.
From-SVN: r184633
|
|
2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* doc/install.texi: Document check-$LANG specific shortcuts
From-SVN: r184632
|
|
PR target/51534
Add testcase forgotten in last commit, ChangeLog entry already present.
From-SVN: r184630
|
|
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
|
|
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
|
|
should not)
PR target/49448
* config.gcc (arm*-*-linux*): Use an unambiguous pattern for
detecting big-endian triplets.
From-SVN: r184626
|
|
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
|
|
-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
|
|
from r184614.
* config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
of initializer to changes from r184614.
From-SVN: r184622
|
|
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
|
|
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-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
|
|
* gcc.target/avr/torture/builtins-1.c: New test.
* gcc.target/avr/torture/builtins-error.c: New test.
From-SVN: r184617
|
|
* 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
|
|
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
|
|
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
|
|
From-SVN: r184613
|
|
* 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
|
|
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-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
|
|
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
|
|
* gfortran.dg/typebound_operator_9.f03: Skip on SPU.
* gcc.dg/torture/builtin-complex-1.c: Skip "float" tests on SPU.
From-SVN: r184602
|
|
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
|
|
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
|
|
* config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
From-SVN: r184597
|
|
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
|
|
* 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
|
|
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
|
|
* config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
From-SVN: r184590
|
|
From-SVN: r184589
|
|
PR target/49263
* gcc.target/sh/pr49263.c: New.
From-SVN: r184585
|
|
From-SVN: r184584
|
|
* 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
|
|
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
|
|
From-SVN: r184581
|
|
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
|
|
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
|
|
From-SVN: r184568
|
|
* 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
|
|
* config/i386/i386.c (ix86_delegitimize_address): Handle
UNSPEC_PCREL plus displacement.
From-SVN: r184560
|