Shanyao Chen [Thu, 4 Dec 2014 15:15:57 +0000 (15:15 +0000)]
backport: re PR target/59593 ([arm big-endian] using "ldrh" access a immediate which stored in a memory by word)
Backport from mainline
2014-11-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/59593
* config/arm/arm.md (*movhi_insn): Use right formatting
for immediate.
2014-11-19 Felix Yang <felix.yang@huawei.com>
Shanyao Chen <chenshanyao@huawei.com>
PR target/59593
* config/arm/arm.md (define_attr "arch"): Add v6t2.
(define_attr "arch_enabled"): Add test for the above.
(*movhi_insn_arch4): Add new alternative.
Jakub Jelinek [Fri, 28 Nov 2014 17:06:23 +0000 (18:06 +0100)]
backport: re PR middle-end/64067 (ICE in expand_expr_real_1, at expr.c:10540, involving compound literal shenanigans)
Backported from mainline
2014-11-27 Jakub Jelinek <jakub@redhat.com>
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.
Jakub Jelinek [Fri, 28 Nov 2014 17:05:34 +0000 (18:05 +0100)]
backport: re PR preprocessor/60436 (C preprocessor segfaults on assembly file)
Backported from mainline
2014-11-25 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/60436
* line-map.c (linemap_line_start): If highest is above 0x60000000
and we are still tracking columns or highest is above 0x70000000,
force add_map.
Backported from mainline
2014-10-03 Jakub Jelinek <jakub@redhat.com>
PR libgomp/61200
* omp-low.c (taskreg_contexts): New variable.
(scan_omp_parallel): Push newly created context into taskreg_contexts
vector and move record layout code to finish_taskreg_scan.
(scan_omp_task): Likewise.
(finish_taskreg_scan): New function.
(execute_lower_omp): Call finish_taskreg_scan on all taskreg_contexts
vector elements and release it.
backport: re PR libgcc/56846 (_Unwind_Backtrace on ARM and noexcept)
2014-11-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
Backport from mainline
2014-09-10 Tony Wang <tony.wang@arm.com>
PR target/56846
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
Return with CONTINUE_UNWINDING when the state pattern
contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
Richard Biener [Wed, 26 Nov 2014 13:15:16 +0000 (13:15 +0000)]
Backport PRs 61969, 62031, 63379, 63605, 63665
2014-11-26 Richard Biener <rguenther@suse.de>
Backport from mainline
2014-10-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/61969
* tree-nrv.c (pass_nrv::execute): Properly test for automatic
variables.
2014-08-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.
* gcc.dg/torture/pr62031.c: New testcase.
2014-10-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/63379
* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
a neutral operand for min/max when it is not a reduction chain.
* gcc.dg/vect/pr63379.c: New testcase.
2014-11-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.
* gcc.dg/vect/pr63605.c: New testcase.
2014-10-28 Richard Biener <rguenther@suse.de>
PR middle-end/63665
* fold-const.c (fold_comparison): Properly guard simplifying
against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.
Bill Schmidt [Fri, 21 Nov 2014 15:39:20 +0000 (15:39 +0000)]
re PR target/63673 (VSX intrinsic vec_vsx_ld fails to compile with double, maps to wrong instructions with float)
2014-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/63673
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow
the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to
double.
Tom de Vries [Wed, 19 Nov 2014 11:08:02 +0000 (11:08 +0000)]
Fix tail-merge pass for dead type-unsafe code
2014-11-19 Tom de Vries <tom@codesourcery.com>
Backport from mainline
PR tree-optimization/62167
* tree-ssa-tail-merge.c (stmt_local_def): Handle statements with vuse
conservatively.
(gimple_equal_p): Don't use vn_valueize to compare for lhs equality of
assigns.
* gcc.dg/pr51879-12.c: Add xfails.
* gcc.dg/pr62167-run.c: New test.
* gcc.dg/pr62167.c: New test.
* config/pa/pa.md (trap): New insn. Add "trap" to attribute type.
Don't allow trap insn in in_branch_delay, in_nullified_branch_delay
or in_call_delay.
linux-unwind.h (pa32_read_access_ok): New function.
* config/pa/linux-unwind.h (pa32_read_access_ok): New function.
(pa32_fallback_frame_state): Use pa32_read_access_ok to check if
memory read accesses are ok.
Bill Schmidt [Mon, 13 Oct 2014 02:35:03 +0000 (02:35 +0000)]
backport: rs6000-c.c (altivec_resolve_overloaded_builtin): Issue a warning message when vec_lvsl or vec_lvsr is used with a little endian...
[gcc]
2014-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r215880
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Issue a warning message when vec_lvsl or vec_lvsr is used with a
little endian target.
Backport from mainline r215882
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* altivec.md (altivec_lvsl): New define_expand.
(altivec_lvsl_direct): Rename define_insn from altivec_lvsl.
(altivec_lvsr): New define_expand.
(altivec_lvsr_direct): Rename define_insn from altivec_lvsr.
* rs6000.c (rs6000_expand_builtin): Change to use
altivec_lvs[lr]_direct; remove commented-out code.
[gcc/testsuite]
2014-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r215880
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* g++.dg/ext/altivec-2.C: Compile with -Wno-deprecated to avoid
failing with the new warning message.
* gcc.dg/vmx/3c-01a.c: Likewise.
* gcc.dg/vmx/ops-long-1.c: Likewise.
* gcc.dg/vmx/ops.c: Likewise.
* gcc.target/powerpc/altivec-20.c: Likewise.
* gcc.target/powerpc/altivec-6.c: Likewise.
* gcc.target/powerpc/altivec-vec-merge.c: Likewise.
* gcc.target/powerpc/vsx-builtin-8.c: Likewise.
* gcc.target/powerpc/warn-lvsl-lvsr.c: New test.
Backport from mainline r215882
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/lvsl-lvsr.c: New test.
Backport from mainline r216017
2014-10-08 Pat Haugen <pthaugen@us.ibm.com>
Bill Schmidt [Mon, 13 Oct 2014 01:42:03 +0000 (01:42 +0000)]
backport: lex.c (search_line_fast): Add new version to be used for Power8 and later targets when Altivec is enabled.
2014-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r215873
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* lex.c (search_line_fast): Add new version to be used for Power8
and later targets when Altivec is enabled. Restrict the existing
Altivec version to big-endian systems so that lvsr is not used on
little endian, where it is deprecated. Remove LE-specific code
from the now-BE-only version.