Age | Commit message (Collapse) | Author | Files | Lines |
|
* config/i386/predicates.md (x86_64_movabs_operand): Reject
pic32_bit_operand operands.
* config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
in DImode.
From-SVN: r176833
|
|
* gcc.target/i386/avx-os-support.h: New.
* gcc.target/i386/avx-check.h: Include avx-os-support.h
(main): Check avx_os_support before the test is run.
* gcc.target/i386/aes-avx-check.h: Ditto.
* gcc.target/i386/pclmul-avx-check.h: Ditto.
From-SVN: r176829
|
|
* config/i386/i386.c (ix86_option_override_internal): Allow -mabi
for 32-bit, too.
(ix86_handle_abi_attribute): Allow function attributes
ms_abi/sysv_abi in 32-bit mode, too.
* doc/extend.texi: Adjust attribute documentation.
* gcc.target/i386/aggregate-ret3.c: New test.
* gcc.target/i386/aggregate-ret4.c: New test.
From-SVN: r176828
|
|
2011-07-27 Kai Tietz <ktietz@redhat.com>
* gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR
expression handling.
(and_var_with_comparison_1): Likewise.
From-SVN: r176827
|
|
* params.h (ALLOW_STORE_DATA_RACES): New.
* params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
* Makefile.in (expr.o): Depend on PARAMS_H.
* machmode.h (get_best_mode): Add argument.
* fold-const.c (optimize_bit_field_compare): Add argument to
get_best_mode.
(fold_truthop): Same.
* ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
* expr.c (emit_group_store): Same.
(copy_blkmode_from_reg): Same.
(write_complex_part): Same.
(optimize_bitfield_assignment_op): Add argument.
Add argument to get_best_mode.
(get_bit_range): New.
(expand_assignment): Calculate maxbits and pass it down
accordingly.
(store_field): New argument.
(expand_expr_real_2): New argument to store_field.
Include params.h.
* expr.h (store_bit_field): New argument.
* stor-layout.c (get_best_mode): Restrict mode expansion by taking
into account maxbits.
* calls.c (store_unaligned_arguments_into_pseudos): New argument
to store_bit_field.
* expmed.c (store_bit_field_1): New argument. Use it.
(store_bit_field): Same.
(store_fixed_bit_field): Same.
(store_split_bit_field): Same.
(extract_bit_field_1): Pass new argument to get_best_mode.
(extract_bit_field): Same.
* stmt.c (store_bit_field): Pass new argument to store_bit_field.
* doc/invoke.texi: Document parameter allow-store-data-races.
From-SVN: r176824
|
|
allocated vars)
2011-07-26 Daniel Carrera <dcarrera@gmail.com>
PR fortran/49755
* trans.c (gfc_allocate_using_malloc): Change function signature.
Return nothing. New parameter "pointer". Eliminate temorary variables.
(gfc_allocate_using_lib): Ditto.
(gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
and gfc_allocate_using_malloc. Do not free and then reallocate a
variable that is already allocated.
(gfc_likely): New function. Basedon gfc_unlikely.
* trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
Instructions to modify the array descriptor are stored in this block
while other instructions continue to be stored in "pblock".
(gfc_array_allocate): Update call to gfc_array_init_size. Move the
descriptor_block so that the array descriptor is only updated if
the array was allocated successfully.
Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
* trans.h (gfc_allocate_allocatable): Change function signature.
Function now returns void.
(gfc_allocate_using_lib): Ditto, and new function parameter.
(gfc_allocate_using_malloc): Ditto.
* trans-openmp.c (gfc_omp_clause_default_ctor,
gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
to gfc_allocate_allocatable with gfc_allocate_using_malloc.
* trans-stmt.c (gfc_trans_allocate): Update function calls for
gfc_allocate_allocatable and gfc_allocate_using_malloc.
2011-07-26 Daniel Carrera <dcarrera@gmail.com>
PR fortran/49755
* gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an
allocated array should *not* change its size.
* gfortran.dg/multiple_allocation_3.f90: New test.
From-SVN: r176822
|
|
copy of the string.
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
to GC allocated copy of the string.
(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
before .debug_line, not after it.
From-SVN: r176819
|
|
add new bitwise-cases.
2011-07-27 Kai Tietz <ktietz@redhat.com>
* tree-vrp.c (extract_range_from_binary_expr): Remove
TRUTH-binary cases and add new bitwise-cases.
(extract_range_from_assignment): Likewise.
(register_edge_assert_for_1): Likeiwise.
(register_edge_assert_for): Likewise.
(simplify_truth_ops_using_ranges): Likewise.
(simplify_stmt_using_ranges): Likewise.
From-SVN: r176818
|
|
From-SVN: r176816
|
|
2011-07-26 H.J. Lu <hongjiu.lu@intel.com>
PR target/47372
* config/i386/i386.c (ix86_delegitimize_address): Call
simplify_gen_subreg for PIC with mode of x only if modes of
x and orig_x are different.
From-SVN: r176812
|
|
copy of the string.
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
to GC allocated copy of the string.
(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
before .debug_line, not after it.
From-SVN: r176811
|
|
cp/semantics.c:5499)
/cp
2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49776
* typeck.c (cp_build_modify_expr): Check digest_init return value
for error_mark_node.
/testsuite
2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49776
* g++.dg/cpp0x/constexpr-49776.C: New.
From-SVN: r176809
|
|
"Bug 47046 - gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity"
The problem here is that we are left with the following code to be
translated in the new representation following the transform that
Graphite has chosen:
D.2709_14 = j_33 * i_32;
D.2710_15 = D.2709_14 * i_32;
D.2711_16 = D.2710_15 * sign_34;
*D.2708_13 = D.2711_16;
In this particular case we have a nonlinear expression "i * i" for
which we have to generate code following the new graphite_iv variables.
The patch fixes the function that detects whether we are passing non
linear stuff to graphite: evolution_function_is_affine_p. It seems
like for the moment evolution_function_is_affine_p is testing whether
an evolution function is affine only in the innermost loop, without
looking recursively at what happens in outer loops.
The chrec for this case is: {0, +, {0, +, {1, +, 2}_1}_1}_2 and we are
testing whether the evolution is affine only for the loop_2, which is
true as we have {0, +, blah}_2 with blah invariant in loop_2.
The patch adds the recursive call to evolution_function_is_affine_p.
Bootstrapped and tested on amd64-linux.
2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/47046
* tree-chrec.h (evolution_function_is_affine_p): Recursively call
evolution_function_is_affine_p on CHREC_RIGHT.
* gcc.dg/graphite/id-pr47046.c: New.
From-SVN: r176805
|
|
2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
* tree-data-ref.c (max_stmt_executions_tree): Do not call
lang_hooks.types.type_for_size.
From-SVN: r176804
|
|
2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/47653
* gcc.dg/graphite/run-id-pr47593.c: New.
From-SVN: r176803
|
|
2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/47653
* graphite-scop-detection.c (graphite_can_represent_loop): Discard
loops using wrapping semantics.
* gcc.dg/graphite/run-id-pr47653.c: New.
* gcc.dg/graphite/interchange-3.c: Do not use unsigned types for
induction variables.
* gcc.dg/graphite/scop-16.c: Same.
* gcc.dg/graphite/scop-17.c: Same.
* gcc.dg/graphite/scop-21.c: Same.
From-SVN: r176802
|
|
With this patch we avoid instantiating ADDR_EXPR: it makes no sense
to translate &b[i] into &b[{0, +, 1}_1].
Bootstrapped and tested on amd64-linux.
2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/48805
* tree-scalar-evolution.c (instantiate_scev_r): Return
chrec_dont_know for ADDR_EXPR.
* gcc.dg/graphite/id-pr48805.c: New.
From-SVN: r176801
|
|
* configure.ac: Set have_compiler based on whether gcc directory
exists, rather than on whether gcc is in configdirs.
* configure: Rebuild.
From-SVN: r176800
|
|
recog.c:2109)
PR target/47369
PR target/49853
* config/i386/i386.c (ix86_expand_move): Call convert_to_mode
if legitimize_tls_address returned operand in wrong mode. Allow
SImode and DImode symbolic operand for PIC. Call convert_to_mode
if legitimize_pic_address returned operand in wrong mode.
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r176798
|
|
for invariants.
2011-07-26 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
return false for invariants.
From-SVN: r176797
|
|
2011-07-26 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/demangle-expected: Remove an extra line.
From-SVN: r176796
|
|
* config/i386/i386.md (add->lea splitter): Implement using SWI
mode iterator. Change operand 2 predicate to <nonmemory_operand>.
(add->lea zext splitter): Change operand 2 predicate to
x86_64_nonmemory_operand.
From-SVN: r176795
|
|
makes everything hot.
2011-07-26 Richard Guenther <rguenther@suse.de>
* predict.c (maybe_hot_frequency_p): Make sure a zero entry-block
frequency makes everything hot.
From-SVN: r176794
|
|
* cp-demangle.c (d_print_init): Initialize pack_index field.
(d_print_comp): Check for NULL template argument.
* testsuite/demangle-expected: Add test case.
From-SVN: r176791
|
|
2011-07-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49840
* tree-vrp.c (range_fits_type_p): Properly handle full
double-int precision.
From-SVN: r176790
|
|
2011-07-26 Martin Jambor <mjambor@suse.cz>
PR bootstrap/49786
* ipa-cp.c (update_profiling_info): Avoid overflow when updating
counts.
(update_specialized_profile): Likewise.
From-SVN: r176789
|
|
at rtlhooks.c:59)
PR target/47381
PR target/49832
PR target/49833
* config/i386/i386.md (i): Change SImode attribute to "e".
(g): Change SImode attribute to "rme".
(di): Change SImode attribute to "nF".
(general_operand): Change SImode attribute to x86_64_general_operand.
(general_szext_operand): Change SImode attribute to
x86_64_szext_general_operand.
(immediate_operand): Change SImode attribute to
x86_64_immediate_operand.
(nonmemory_operand): Change SImode attribute to
x86_64_nonmemory_operand.
(*movdi_internal_rex64): Remove mode from pic_32bit_operand check.
(*movsi_internal): Ditto. Use "e" constraint in alternative 2.
(*lea_1): Use SWI48 mode iterator.
(*lea_1_zext): New insn pattern.
(testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2.
(*bt<mode>): Ditto.
(*add<mode>1): Use x86_64_general_operand predicate for operand 2.
Update operand constraints.
(addsi_1_zext): Ditto.
(*add<mode>2): Ditto.
(*addsi_3_zext): Ditto.
(*subsi_1_zext): Ditto.
(*subsi_2_zext): Ditto.
(*subsi_3_zext): Ditto.
(*addsi3_carry_zext): Ditto.
(*<plusminus_insn>si3_zext_cc_overflow): Ditto.
(*mulsi3_1_zext): Ditto.
(*andsi_1): Ditto.
(*andsi_1_zext): Ditto.
(*andsi_2_zext): Ditto.
(*<any_or:code>si_1_zext): Ditto.
(*<any_or:code>si_2_zext): Ditto.
(*test<mode>_1): Use <general_operand> predicate for operand 1.
(*and<mode>_2): Ditto.
(mov<mode>cc): Use <general_operand> predicate for operands 1 and 2.
(add->lea splitter): Check operand modes in insn constraint. Extend
operands less than SImode wide to SImode.
(add->lea zext splitter): Do not extend input operands to DImode.
(*lea_general_1): Handle only QImode and HImode operands.
(*lea_general_2): Ditto.
(*lea_general_3): Ditto.
(*lea_general_1_zext): Remove.
(*lea_general_2_zext): Ditto.
(*lea_general_3_zext): Ditto.
(*lea_general_4): Check operand modes in insn constraint. Extend
operands less than SImode wide to SImode.
(ashift->lea splitter): Ditto.
* config/i386/i386.c (ix86_print_operand_address): Print address
registers with 'q' modifier on 64bit targets.
* config/i386/predicates.md (pic_32bit_opreand): Define as special
predicate. Reject non-SI and non-DI modes.
From-SVN: r176788
|
|
2011-07-26 Tobias Burnus <burnus@net-b.de>
* trans-array.c (CAF_TOKEN_FIELD): New macro constant.
(gfc_conv_descriptor_token): New function.
* trans-array.h (gfc_conv_descriptor_token): New prototype.
* trans-types.c (gfc_get_array_descriptor_base): For coarrays
with -fcoarray=lib, append "void *token" to the array descriptor.
(gfc_array_descriptor_base_caf): New static variable.
* trans-expr.c (gfc_conv_procedure_call): Handle token and
* offset
when passing a descriptor coarray to a nondescriptor dummy.
2011-07-26 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_lib_token_2.f90: New.
From-SVN: r176784
|
|
* gcc.dg/vect/vect-70.c: Reduce the data size to fit
SPU local store.
From-SVN: r176783
|
|
2011-07-25 Andrew Pinski <apinski@cavium.com>
PR tree-opt/49671
* tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
TREE_THIS_NOTRAP into the inner most MEM_REF.
Always copy TREE_THIS_VOLATILE.
* tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
arguments are not volatile references.
2011-07-25 Andrew Pinski <apinski@cavium.com>
PR tree-opt/49671
* gcc.dg/tree-ssa/pr49671-1.c: New testcase.
* gcc.dg/tree-ssa/pr49671-2.c: New testcase.
From-SVN: r176782
|
|
2011-07-25 Benjamin Kosnik <bkoz@redhat.com>
* include/std/array (at): Remove constexpr when -fno-exceptions.
* testsuite/23_containers/array/at_neg.cc: Test.
From-SVN: r176780
|
|
* insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
* final.c (final_scan_insn): Don't test for it.
(rest_of_clean_state): Likewise.
From-SVN: r176779
|
|
From-SVN: r176778
|
|
dwarf2cfi.c:maybe_record_trace_start)
PR debug/49841
* config/rs6000/rs6000.c (rs6000_frame_related): Return the insn.
(emit_frame_save): Likewise.
(rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save
insn onto a dummy blockage insn after the join label.
From-SVN: r176773
|
|
From-SVN: r176772
|
|
From-SVN: r176771
|
|
* genattr.c (write_upcase, gen_attr <enum definition writing>):
Move to ...
* genattr-common.c ... here.
(main): Call gen_attr.
* optc-gen.awk: Make generated program include insn-attr-common.h .
* Makefile.in (oprions.o): Depend on insn-attr-common.h
From-SVN: r176769
|
|
2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR bootstrap/49845
* parser.c (cp_parser_perform_range_for_lookup): Always assign *being
and *end before returning.
From-SVN: r176765
|
|
* config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
* config/m32c/m32c-protos.h (m32c_print_operand_punct_valid_p,
m32c_print_operand, m32c_print_operand_address): Remove.
* config/m32c/m32c.c (m32c_print_operand_punct_valid_p): Make static.
Change return type to bool. Change argument type to bool.
(m32c_print_operand, m32c_print_operand_address): Make static.
(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
From-SVN: r176763
|
|
gcc/c-family
* c-common.h (set_underlying_type): Remove parm name from
declaration.
From-SVN: r176762
|
|
to be (move-)assignable)
2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
Nathan Ridge <zeratul976@hotmail.com>
PR libstdc++/49836
* include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
Declare.
(vector<>::push_back(const value_type&)): Use it.
* include/bits/vector.tcc: Define.
(vector<>::emplace_back(_Args&&...)): Use it.
* testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
Add.
* testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
* testsuite/23_containers/deque/modifiers/push_back/49836.cc:
Likewise.
* testsuite/23_containers/deque/modifiers/push_front/49836.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
Co-Authored-By: Nathan Ridge <zeratul976@hotmail.com>
From-SVN: r176761
|
|
gcc:
* doc/sourcebuild.texi (Effective-Target Keywords, Environment
attributes): Document mmap.
gcc/testsuite:
* lib/target-supports.exp (check_effective_target_mmap): New proc.
* gcc.c-torture/execute/loop-2f.c: Remove #ifdef __unix__.
* gcc.c-torture/execute/loop-2g.c: Likewise.
* gcc.c-torture/execute/loop-2f.x: Load target-supports.exp.
Require mmap support.
* gcc.c-torture/execute/loop-2g.x: Likewise.
* gcc.dg/20030711-1.c: Replace dg-do target list by mmap.
(MAP_ANON): Provide default.
* gcc.dg/20050826-1.c: Likewise.
* gcc.target/i386/pr36533.c: Likewise.
* gcc.dg/vect/pr49038.c: Remove dg-do run.
Use dg-require-effective-target mmap.
From-SVN: r176760
|
|
* config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
* config/mmix/mmix-protos.h (mmix_print_operand_punct_valid_p,
mmix_print_operand, mmix_print_operand_address): Remove.
* config/mmix/mmix.c (mmix_print_operand_punct_valid_p): Make static.
Change return type to bool. Change argument type to bool.
(mmix_print_operand, mmix_print_operand_address): Make static.
(mmix_intval, mmix_output_condition): Change 'x' argument type
to const_rtx.
(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
From-SVN: r176759
|
|
PR c++/49347
* inclhack.def (solaris_posix_spawn_restrict): New fix.
* fixincl.x: Regenerate.
* tests/base/spawn.h: New test.
From-SVN: r176758
|
|
executables)
PR target/39386
* config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
shift counter for x << x and x >> x shifts.
From-SVN: r176756
|
|
PR libgomp/45351
* config/osf/sem.h: New file.
* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
From-SVN: r176755
|
|
cp/parser.c:8796)
/cp
2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49838
* parser.c (cp_parser_perform_range_for_lookup): Early return if
error_operand_p (range).
/testsuite
2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49838
* g++.dg/cpp0x/range-for19.C: New.
From-SVN: r176754
|
|
gcc/testsuite:
PR testsuite/49753
* g++.dg/torture/pr49309.C: Add -fpreprocessed to dg-options.
Revert:
2011-07-15 Jakub Jelinek <jakub@redhat.com>
PR testsuite/49753
* g++.dg/torture/pr49309.C: Remove.
libmudflap:
Revert:
2011-07-15 Jakub Jelinek <jakub@redhat.com>
PR testsuite/49753
PR tree-optimization/49309
* testsuite/libmudflap.c++/pass68-frag.cxx: New test.
From-SVN: r176752
|
|
PR target/47124
* config.gcc: Reject *-*-solaris2 configuration.
From-SVN: r176751
|
|
gcc/
PR tree-optimization/49809
* tree-ssa-phiopt.c (cond_if_else_store_replacement): Use
gimple_get_lhs instead of gimple_assign_lhs.
gcc/testsuite/
PR tree-optimization/49809
* gnat.dg/opt18.adb, gnat.dg/opt18.ads, gnat.dg/opt18_pkg.ads: New
test.
From-SVN: r176750
|