OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [pr43491.c] - Blame information for rev 749

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-O2 -fdump-tree-pre-stats" } */
3
 
4
#define REGISTER register
5
 
6
#if defined __arm__
7
# define REG1 asm("r4")
8
#elif defined __i386__
9
# define REG1 asm("ebx")
10
#elif defined __mips__
11
# define REG1 asm("s0")
12
#elif defined __x86_64__
13
# define REG1 asm("rbp")
14
#else
15
# undef REGISTER
16
# define REGISTER
17
# define REG1
18
#endif
19
 
20
REGISTER long data_0 REG1;
21
long data_3;
22
 
23
long foo(long data, long v)
24
{
25
        long i;
26
        long t, u;
27
 
28
        if (data)
29
                i = data_0 + data_3;
30
        else {
31
                v = 2;
32
                i = 5;
33
        }
34
        t = data_0 + data_3;
35
        u = i;
36
        return v * t * u;
37
}
38
/* We should not eliminate global register variable when it is the RHS of
39
   a single assignment.  */
40
/* { dg-final { scan-tree-dump-times "Eliminated: 2" 1 "pre" { target { arm-*-* i?86-*-* mips*-*-* x86_64-*-* } } } } */
41
/* { dg-final { scan-tree-dump-times "Eliminated: 3" 1 "pre" { target { ! { arm-*-* i?86-*-* mips*-*-* x86_64-*-* } } } } } */
42
/* { dg-final { cleanup-tree-dump "pre" } } */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.