Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
ae90e6a3
Commit
ae90e6a3
authored
Jan 17, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r202
parent
51bbfa0c
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
55 additions
and
35 deletions
+55
-35
gcc/genattr.c
+1
-1
gcc/genattrtab.c
+47
-27
gcc/gencodes.c
+1
-1
gcc/genconfig.c
+1
-1
gcc/genemit.c
+1
-1
gcc/genextract.c
+1
-1
gcc/genflags.c
+1
-1
gcc/genoutput.c
+1
-1
gcc/genpeep.c
+1
-1
No files found.
gcc/genattr.c
View file @
ae90e6a3
/* Generate attribute information (insn-attr.h) from machine description.
Copyright (C) 19
89
Free Software Foundation, Inc.
Copyright (C) 19
91
Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@nyu.edu)
This file is part of GNU CC.
...
...
gcc/genattrtab.c
View file @
ae90e6a3
/* Generate code from machine description to compute values of attributes.
Copyright (C) 19
89, 1991
Free Software Foundation, Inc.
Copyright (C) 19
92
Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@nyu.edu)
This file is part of GNU CC.
...
...
@@ -1072,12 +1072,12 @@ fill_attr (attr)
}
}
/* Given an expression EXP, see if it is a COND
that has a test that checks
relative positions of insns (uses MATCH_DUP or PC). If so, replace it
with what is obtained by passing the expression to ADDRESS_FN. If not
but it is a COND, call this routine recursively on each value (including
the default value). Otherwise, return the value returned by NO_ADDRESS_FN
applied to EXP. */
/* Given an expression EXP, see if it is a COND
or IF_THEN_ELSE that has a
test that checks relative positions of insns (uses MATCH_DUP or PC).
If so, replace it with what is obtained by passing the expression to
ADDRESS_FN. If not but it is a COND or IF_THEN_ELSE, call this routine
recursively on each value (including the default value). Otherwise,
return the value returned by NO_ADDRESS_FN
applied to EXP. */
static
rtx
substitute_address
(
exp
,
no_address_fn
,
address_fn
)
...
...
@@ -1088,32 +1088,52 @@ substitute_address (exp, no_address_fn, address_fn)
int
i
;
rtx
newexp
;
if
(
GET_CODE
(
exp
)
!=
COND
)
return
(
*
no_address_fn
)
(
exp
);
if
(
GET_CODE
(
exp
)
==
COND
)
{
/* See if any tests use addresses. */
address_used
=
0
;
for
(
i
=
0
;
i
<
XVECLEN
(
exp
,
0
);
i
+=
2
)
walk_attr_value
(
XVECEXP
(
exp
,
0
,
i
));
/* See if any tests use addresses. */
address_used
=
0
;
for
(
i
=
0
;
i
<
XVECLEN
(
exp
,
0
);
i
+=
2
)
walk_attr_value
(
XVECEXP
(
exp
,
0
,
i
));
if
(
address_used
)
return
(
*
address_fn
)
(
exp
);
if
(
address_used
)
return
(
*
address_fn
)
(
exp
);
/* Make a new copy of this COND, replacing each element. */
newexp
=
rtx_alloc
(
COND
);
XVEC
(
newexp
,
0
)
=
rtvec_alloc
(
XVECLEN
(
exp
,
0
));
for
(
i
=
0
;
i
<
XVECLEN
(
exp
,
0
);
i
+=
2
)
{
XVECEXP
(
newexp
,
0
,
i
)
=
XVECEXP
(
exp
,
0
,
i
);
XVECEXP
(
newexp
,
0
,
i
+
1
)
=
substitute_address
(
XVECEXP
(
exp
,
0
,
i
+
1
),
no_address_fn
,
address_fn
);
}
/* Make a new copy of this COND, replacing each element. */
newexp
=
rtx_alloc
(
COND
);
XVEC
(
newexp
,
0
)
=
rtvec_alloc
(
XVECLEN
(
exp
,
0
));
for
(
i
=
0
;
i
<
XVECLEN
(
exp
,
0
);
i
+=
2
)
{
XVECEXP
(
newexp
,
0
,
i
)
=
XVECEXP
(
exp
,
0
,
i
);
XVECEXP
(
newexp
,
0
,
i
+
1
)
=
substitute_address
(
XVECEXP
(
exp
,
0
,
i
+
1
),
no_address_fn
,
address_fn
);
XEXP
(
newexp
,
1
)
=
substitute_address
(
XEXP
(
exp
,
1
),
no_address_fn
,
address_fn
);
return
newexp
;
}
XEXP
(
newexp
,
1
)
=
substitute_address
(
XEXP
(
exp
,
1
),
no_address_fn
,
address_fn
);
else
if
(
GET_CODE
(
exp
)
==
IF_THEN_ELSE
)
{
address_used
=
0
;
walk_attr_value
(
XEXP
(
exp
,
0
));
if
(
address_used
)
return
(
*
address_fn
)
(
exp
);
return
newexp
;
newexp
=
rtx_alloc
(
IF_THEN_ELSE
);
XEXP
(
newexp
,
0
)
=
substitute_address
(
XEXP
(
exp
,
0
),
no_address_fn
,
address_fn
);
XEXP
(
newexp
,
1
)
=
substitute_address
(
XEXP
(
exp
,
1
),
no_address_fn
,
address_fn
);
XEXP
(
newexp
,
2
)
=
substitute_address
(
XEXP
(
exp
,
2
),
no_address_fn
,
address_fn
);
return
newexp
;
}
return
(
*
no_address_fn
)
(
exp
);
}
/* Make new attributes from the `length' attribute. The following are made,
...
...
gcc/gencodes.c
View file @
ae90e6a3
...
...
@@ -2,7 +2,7 @@
- some macros CODE_FOR_... giving the insn_code_number value
for each of the defined standard insn names.
Copyright (C) 1987 Free Software Foundation, Inc.
Copyright (C) 1987
, 1991
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
gcc/genconfig.c
View file @
ae90e6a3
/* Generate from machine description:
- some #define configuration flags.
Copyright (C) 1987 Free Software Foundation, Inc.
Copyright (C) 1987
, 1991
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
gcc/genemit.c
View file @
ae90e6a3
/* Generate code from machine description to emit insns as rtl.
Copyright (C) 1987
-1991
Free Software Foundation, Inc.
Copyright (C) 1987
, 1988, 1992
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
gcc/genextract.c
View file @
ae90e6a3
/* Generate code from machine description to extract operands from insn as rtl.
Copyright (C) 1987 Free Software Foundation, Inc.
Copyright (C) 1987
, 1991
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
gcc/genflags.c
View file @
ae90e6a3
...
...
@@ -2,7 +2,7 @@
- some flags HAVE_... saying which simple standard instructions are
available for this machine.
Copyright (C) 1987 Free Software Foundation, Inc.
Copyright (C) 1987
, 1991
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
gcc/genoutput.c
View file @
ae90e6a3
/* Generate code from to output assembler insns as recognized from rtl.
Copyright (C) 1987, 1988, 199
1
Free Software Foundation, Inc.
Copyright (C) 1987, 1988, 199
2
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
gcc/genpeep.c
View file @
ae90e6a3
/* Generate code from machine description to perform peephole optimizations.
Copyright (C) 1987, 1989 Free Software Foundation, Inc.
Copyright (C) 1987, 1989
, 1992
Free Software Foundation, Inc.
This file is part of GNU CC.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment