Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r218178
|
|
2014-11-29 Tobias Burnus <burnus@net-b.de>
Manuel López-Ibáñez <manu@gcc.gnu.org>
gcc/
* opt-functions.awk (lang_enabled_by): Support || for
enabled-by.
* optc-gen.awk: Ditto.
* doc/options.texi (LangEnabledBy, EnabledBy): Document the
|| syntax.
gcc/fortran/
* lang.opt (Wtabs): Combine duplicated item into a single
one using || for LangEnabledBy.
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218175
|
|
From-SVN: r218173
|
|
-fno-dce -fno-tree-dce)
2014-11-28 Vladimir Makarov <vmakarov@redhat.com>
PR target/64061
* lra.c (lra_substitute_pseudo): Ignore constant with int mode for
subreg.
2014-11-28 Vladimir Makarov <vmakarov@redhat.com>
PR target/64061
* gcc.target/i386/pr64061.c: New.
From-SVN: r218171
|
|
PR target/64093
* config/rs6000/rs6000.md (and<mode>3): Don't generate
and<mode>3_imm unless rs6000_gen_cell_microcode is true.
From-SVN: r218164
|
|
unsigned_type_node.
* c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
instead of unsigned_type_node.
* c-c++-common/ubsan/shift-8.c: New test.
From-SVN: r218163
|
|
in in lra_create_live_ranges, at lra-lives.c:1330)
2014-11-28 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/64087
* lra-lives.c (process_bb_lives): Add debug output.
(lra_create_live_ranges): Don't remove dead insn on the second
call of lra_create_live_ranges_1.
2014-11-28 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/64087
* gcc.dg/pr64087.c: New.
From-SVN: r218162
|
|
This patch updates setup_incoming_promotions in combine.c to match what
is actually passed in assign_parm_setup_reg in function.c.
gcc/
PR rtl-optimization/64037
* combine.c (setup_incoming_promotions): Pass the argument
before any promotions happen to promote_function_mode.
gcc/testsuite/
PR rtl-optimization/64037
* g++.dg/pr64037.C: New test.
From-SVN: r218161
|
|
permutations to loads group of size 3.
gcc/
* tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift
permutations to loads group of size 3.
gcc/testsuite/
* gcc.target/i386/pr52252-atom-1.c: Delete.
From-SVN: r218160
|
|
gcc/
* config/arm/arm.md (copysignsf3): New pattern.
(copysigndf3): Likewise.
gcc/testsuite/
* gcc.target/arm/copysign_softfloat_1.c: New copysign/copysignf
testcase for soft-float.
From-SVN: r218159
|
|
functions as offloadable.
gcc/
* omp-low.c (lower_omp_critical): Mark critical sections
inside target functions as offloadable.
libgomp/
* testsuite/libgomp.c/target-critical-1.c: New test.
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
From-SVN: r218158
|
|
* gcc.target/i386/pr63661.c: Replace -mtune=native with
-mtune=nehalem.
(foo): Replace "!=" with delta.
(main): Remove __builtin_printf.
From-SVN: r218157
|
|
contains sections with LTO...
gcc/
* lto-wrapper.c (run_gcc): Set have_lto and have_offload if at least one
file contains sections with LTO and offload IR, respectively.
From-SVN: r218156
|
|
From-SVN: r218149
|
|
From-SVN: r218148
|
|
gcc/
* cgraphunit.c (ipa_passes): Handle flag_generate_offload.
(symbol_table::compile): Set flag_generate_offload if there is something
to offload.
* common.opt (flag_generate_offload): New Variable declaration.
* dwarf2out.c (dwarf2out_finish): Handle flag_generate_offload.
* ipa-inline-analysis.c (inline_generate_summary): Do not skip if
flag_generate_offload is set.
* lto-streamer.c (gate_lto_out): Handle flag_generate_offload.
* passes.c (ipa_write_summaries): Do not skip if flag_generate_offload
is set.
* toplev.c (compile_file): Emit LTO marker if offload info has been
previously emitted. Do not emit lto_slim marker if
flag_generate_offload is without flag_generate_lto.
* tree.c (free_lang_data): Do not skip if flag_generate_offload is set.
From-SVN: r218147
|
|
* config/arm/arm-cores.def (cortex-a17.cortex-a7): New entry.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a17.cortex-a7.
* config/arm/t-aprofile: Add cortex-a17.cortex-a7 entry to
MULTILIB_MATCHES.
From-SVN: r218146
|
|
* config/arm/arm.md (generic_sched): Specify cortexa17 in 'no' list.
Include cortex-a17.md.
* config/arm/arm.c (arm_issue_rate): Specify 2 for cortexa17.
* config/arm/arm-cores.def (cortex-a17): New entry.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=cortex-a17.
* config/arm/cortex-a17.md: New file.
* config/arm/cortex-a17-neon.md: New file.
* config/arm/driver-arm.c (arm_cpu_table): Add entry for cortex-a17.
* config/arm/t-aprofile: Add cortex-a17 entries to MULTILIB_MATCHES.
From-SVN: r218145
|
|
2014-11-28 Renlin Li <renlin.li@arm.com>
PR target/63661
* gcc.target/i386/pr63661.c: Use native tune.
From-SVN: r218144
|
|
2014-11-28 Renlin Li <renlin.li@arm.com>
PR target/63661
* gcc.target/i386/pr63661.c: New test.
From-SVN: r218143
|
|
integer promotions)
PR c/63862
c-family/
* c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
to op1_utype.
* c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
expression to unsigned_type_node.
c/
* c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
convert the right operand to integer type.
cp/
* typeck.c (cp_build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
convert the right operand to integer type.
testsuite/
* gcc.c-torture/execute/shiftopt-1.c: Don't XFAIL anymore.
* c-c++-common/ubsan/shift-7.c: New test.
From-SVN: r218142
|
|
2014-11-28 Richard Biener <rguenther@suse.de>
PR middle-end/64084
* genmatch.c (dt_node::gen_kids_1): New function, split out
from dt_node::gen_kids.
(decision_tree::cmp_node): DT_TRUE are generally not equal.
(decision_tree::find_node): Treat DT_TRUE as barrier for
node CSE on the same level.
(dt_node::append_node): Do not keep DT_TRUE last.
(dt_node::gen_kids): Emit code after each DT_TRUE node seen.
* gcc.dg/tree-ssa/ssa-ccp-34.c: New testcase.
* gcc.dg/tree-ssa/forwprop-31.c: Likewise.
From-SVN: r218141
|
|
2014-11-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
-march=armv8-a+crc.
From-SVN: r218139
|
|
From-SVN: r218137
|
|
* config/i386/i386.md (preferred_for_size): New attribute
(*pushxf): Split Yx*r constraints to r,*r. Use preferred_for_size
attribute to conditionally disable alternative 1.
(*pushdf): Split Yd*r constraints to r,*r. Use preferred_for_size
and prefered_for_speed attributes to conditionally disable
alternative 1.
(*movxf_internal): Split Yx*r constraints to r,*r. Use
preferred_for_size attribute to conditionally disable
alternatives 3 and 4.
(*movdf_internal): Split Yd*r constraints to r,*r. Use
preferred_for_size and prefered_for_speed attributes to conditionally
disable alternatives 3 and 4.
* config/i386/constraints.md (Yd, Yx): Remove register constraints.
From-SVN: r218134
|
|
From-SVN: r218133
|
|
PR target/63833
* config/i386/i386.h (REAL_PIC_OFFSET_TABLE_REGNUM): Use
R15_REG for 64-bit.
* config/i386/rdos64.h (REAL_PIC_OFFSET_TABLE_REGNUM): Removed.
From-SVN: r218132
|
|
Committed as obvious patch
From-SVN: r218130
|
|
* ipa-icf.c (sem_function::equals_private): int* is replaced with
auto_vec.
(sem_function::bb_dict_test): Likewise.
* ipa-icf.h: Likewise.
Co-Authored-By: David Malcolm <dmalcolm@redhat.com>
From-SVN: r218129
|
|
2014-11-27 Richard Biener <rguenther@suse.de>
PR middle-end/64088
* fold-const.c (const_unop): Re-instantiate missing condition
before calling fold_abs_const.
* gcc.dg/torture/pr64088.c: New testcase.
PR tree-optimization/64088
* tree-ssa-tail-merge.c (update_debug_stmt): After resetting
the stmt break from the loop over use operands.
* gcc.dg/torture/pr64091.c: New testcase.
From-SVN: r218128
|
|
gcc/
* config/i386/cpuid.h (bit_MPX, bit_BNDREGS, bit_BNDCSR):
Define.
* config/i386/i386.c (get_builtin_code_for_version): Add avx512f.
(fold_builtin_cpu): Ditto.
* doc/extend.texi: Documment it.
gcc/testsuite/
* g++.dg/ext/mv2.C: Add test for target ("avx512f").
* gcc.target/i386/builtin_target.c: Ditto.
libgcc/
* config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512F.
* config/i386/cpuinfo.c (get_available_features): Detect it.
From-SVN: r218125
|
|
2014-11-27 Kai Tietz <ktietz@redhat.com>
PR c++/63904
* constexpr.c (cxx_eval_vec_init_1): Avoid
type-overflow issue.
From-SVN: r218123
|
|
PR c++/63904
* g++.dg/cpp0x/pr63904.C: New.
From-SVN: r218122
|
|
involving compound literal shenanigans)
PR middle-end/64067
* expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>:
Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL
not only if modifier is EXPAND_INITIALIZER, but whenever
COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC.
* gcc.c-torture/compile/pr64067.c: New test.
From-SVN: r218121
|
|
PR tree-optimization/64024
* tree-vectorizer.h (struct _stmt_vec_info): Remove simd_clone_fndecl
field. Add simd_clone_info field.
(STMT_VINFO_SIMD_CLONE_FNDECL): Remove.
(STMT_VINFO_SIMD_CLONE_INFO): Define.
* tree-vect-stmts.c (vectorizable_simd_clone_call): Adjust for
STMT_VINFO_SIMD_CLONE_FNDECL becoming first element of
STMT_VINFO_SIMD_CLONE_INFO vector. For linear arguments, remember
base and linear_step from analysis phase and use it during transform
phase, biased by the difference between LOOP_VINFO_NITERS{_UNCHANGED,}
multiplied by linear_step.
(free_stmt_vec_info): Release STMT_VINFO_SIMD_CLONE_INFO.
* gcc.dg/vect/vect-simd-clone-13.c: New test.
* gcc.dg/vect/vect-simd-clone-14.c: New test.
From-SVN: r218120
|
|
-fuse-linker-plugin -fno-fat-lto-objects)
PR lto/64025
* alias.c (find_base_term): Use std::swap. Prefer tmp2
if it is CONSTANT_P other than CONST_INT.
From-SVN: r218119
|
|
stored in a memory by word)
2014-11-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR target/59593
* config/arm/arm.c (dump_minipool): dispatch to consttable pattern
based on mode size.
* config/arm/arm.md (consttable_1): Move from config/arm/thumb1.md and
make it TARGET_EITHER.
(consttable_2): Move from config/arm/thumb1.md, make it TARGET_EITHER
and move HFmode handling from consttable_4 to it.
(consttable_4): Move HFmode handling to consttable_2 pattern.
* config/arm/thumb1.md (consttable_1): Move to config/arm/arm.md.
(consttable_2): Ditto.
gcc/testsuite/
PR target/59593
* gcc.target/arm/constant-pool.c: New test.
From-SVN: r218118
|
|
* gcc.target/aarch64/simd/vsqrt_f64_1.c: Mark variable volatile.
From-SVN: r218117
|
|
follow SSA edges.
2014-11-27 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (try_to_simplify): Allow
gimple_fold_stmt_to_constant_1 to follow SSA edges.
From-SVN: r218116
|
|
compiling Linux Kernel)
2014-11-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/64083
* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
forcibly mark loop for removal the wrong way.
* gcc.dg/torture/pr64083.c: New testcase.
From-SVN: r218115
|
|
mems_in_disjoint_alias_sets_p, at alias.c:398)
2014-11-27 Richard Biener <rguenther@suse.de>
PR middle-end/63704
* alias.c (mems_in_disjoint_alias_sets_p): Remove assert
and instead return false when !fstrict-aliasing.
From-SVN: r218114
|
|
tree-vect-stmts.c:1423)
2014-11-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/61634
* tree-vect-slp.c: Include gimple-walk.h.
(vect_detect_hybrid_slp_stmts): Rewrite to propagate hybrid
down the SLP tree for one scalar statement.
(vect_detect_hybrid_slp_1): New walker function.
(vect_detect_hybrid_slp_2): Likewise.
(vect_detect_hybrid_slp): Properly handle pattern statements
in a pre-scan over all loop stmts.
* gcc.dg/vect/pr61634.c: New testcase.
From-SVN: r218113
|
|
Revert:
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/aarch64/aarch64.c (aarch64_code_to_ccmode,
aarch64_convert_mode, aarch64_gen_ccmp_first,
aarch64_gen_ccmp_next): New functions.
(TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Define.
From-SVN: r218111
|
|
From-SVN: r218109
|
|
From-SVN: r218108
|
|
* cp-tree.h (TINFO_USED_TEMPLATE_ID): New.
* decl.c (duplicate_decls): Copy it.
* error.c (dump_decl) [TEMPLATE_ID_EXPR]: Handle variables.
* parser.c (cp_parser_decltype_expr): Do call finish_id_expression
on template-ids.
* pt.c (register_specialization): Remember variable template insts.
(instantiate_template_1): Find the matching partial specialization.
(check_explicit_specialization): Allow variable partial specialization.
(process_partial_specialization): Likewise.
(push_template_decl_real): Likewise.
(more_specialized_partial_spec): Rename from more_specialized_class.
(most_specialized_partial_spec): Rename from most_specialized_class.
(get_partial_spec_bindings): Rename from get_class_bindings.
From-SVN: r218104
|
|
/cp
2014-11-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63757
* call.c (standard_conversion): Do not require expr to be non-null
when NULLPTR_TYPE_P (from) is true.
/testsuite
2014-11-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63757
* g++.dg/cpp0x/nullptr33.C: New.
From-SVN: r218098
|
|
-shared...
* gcc.c (SANITIZER_SPEC): Don't error on -fsanitize=thread
without -pie or -shared, error on -fsanitize=thread -static instead.
* lib/tsan-dg.exp (check_effective_target_fsanitize_thread,
tsan_init): Don't use -fPIE or -pie.
From-SVN: r218097
|
|
From-SVN: r218094
|
|
* constexpr.c (cxx_eval_constant_expression) [SAVE_EXPR]: Avoid
multiple evaluation.
From-SVN: r218093
|