re PR tree-optimization/80591 (AArch64 kernel miscompilation starting with r246809)
2017-05-02 Richard Biener <rguenther@suse.de> PR tree-optimization/80591 Revert 2017-04-10 Richard Biener <rguenther@suse.de> * tree-ssa-structalias.c (find_func_aliases): Properly handle asm inputs. * gcc.dg/torture/pr80591.c: New testcase. From-SVN: r247487
This commit is contained in:
parent
12bdf10b34
commit
cdd7941640
@ -1,3 +1,12 @@
|
||||
2017-05-02 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/80591
|
||||
Revert
|
||||
2017-04-10 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-ssa-structalias.c (find_func_aliases): Properly handle
|
||||
asm inputs.
|
||||
|
||||
2017-04-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR bootstrap/80531
|
||||
|
@ -1,3 +1,8 @@
|
||||
2017-05-02 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/80591
|
||||
* gcc.dg/torture/pr80591.c: New testcase.
|
||||
|
||||
2017-04-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/80534
|
||||
|
20
gcc/testsuite/gcc.dg/torture/pr80591.c
Normal file
20
gcc/testsuite/gcc.dg/torture/pr80591.c
Normal file
@ -0,0 +1,20 @@
|
||||
/* PR tree-optimization/80591 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-skip-if "" { *-*-* } "-flto" } */
|
||||
/* { dg-additional-options "-fdump-tree-optimized" } */
|
||||
|
||||
static inline __attribute__((always_inline)) int *
|
||||
foo (void)
|
||||
{
|
||||
__UINTPTR_TYPE__ sp;
|
||||
asm ("" : "=r" (sp));
|
||||
return (int *) sp;
|
||||
}
|
||||
|
||||
void
|
||||
bar (void)
|
||||
{
|
||||
foo ()[0] += 26;
|
||||
}
|
||||
|
||||
/* { dg-final { scan-tree-dump "\\+ 26;" "optimized" } } */
|
@ -4944,14 +4944,14 @@ find_func_aliases (struct function *fn, gimple *origt)
|
||||
make_escape_constraint (build_fold_addr_expr (op));
|
||||
|
||||
/* The asm may read global memory, so outputs may point to
|
||||
any global or escaped memory. */
|
||||
any global memory. */
|
||||
if (op)
|
||||
{
|
||||
auto_vec<ce_s, 2> lhsc;
|
||||
struct constraint_expr rhsc, *lhsp;
|
||||
unsigned j;
|
||||
get_constraint_for (op, &lhsc);
|
||||
rhsc.var = escaped_id;
|
||||
rhsc.var = nonlocal_id;
|
||||
rhsc.offset = 0;
|
||||
rhsc.type = SCALAR;
|
||||
FOR_EACH_VEC_ELT (lhsc, j, lhsp)
|
||||
|
Loading…
Reference in New Issue
Block a user