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
58de89e7
Commit
58de89e7
authored
Apr 12, 2000
by
Richard Kenner
Committed by
Richard Kenner
Apr 12, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* tree.c (unsave_expr_now_r, unsafe_for_reeval): Properly do TREE_LIST.
From-SVN: r33104
parent
c3c63936
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
28 deletions
+24
-28
gcc/ChangeLog
+2
-0
gcc/tree.c
+22
-28
No files found.
gcc/ChangeLog
View file @
58de89e7
Wed
Apr
12
08
:
47
:
38
2000
Richard
Kenner
<
kenner
@vlsi1
.
ultra
.
nyu
.
edu
>
*
tree
.
c
(
unsave_expr_now_r
,
unsafe_for_reeval
)
:
Properly
do
TREE_LIST
.
*
print
-
rtl
.
c
(
print_rtx
)
:
For
CALL_PLACEHOLDER
,
output
the
CALL_INSN
from
the
normal
case
.
...
...
gcc/tree.c
View file @
58de89e7
...
...
@@ -2649,27 +2649,22 @@ unsave_expr_now_r (expr)
unsave_expr_1
(
expr
);
code
=
TREE_CODE
(
expr
);
if
(
code
==
CALL_EXPR
&&
TREE_OPERAND
(
expr
,
1
)
&&
TREE_CODE
(
TREE_OPERAND
(
expr
,
1
))
==
TREE_LIST
)
{
tree
exp
=
TREE_OPERAND
(
expr
,
1
);
while
(
exp
)
{
unsave_expr_now_r
(
TREE_VALUE
(
exp
));
exp
=
TREE_CHAIN
(
exp
);
}
}
switch
(
TREE_CODE_CLASS
(
code
))
{
case
'c'
:
/* a constant */
case
't'
:
/* a type node */
case
'x'
:
/* something random, like an identifier or an ERROR_MARK. */
case
'd'
:
/* A decl node */
case
'b'
:
/* A block node */
break
;
case
'x'
:
/* miscellaneous: e.g., identifier, TREE_LIST or ERROR_MARK. */
if
(
code
==
TREE_LIST
)
{
unsave_expr_now_r
(
TREE_VALUE
(
expr
));
unsave_expr_now_r
(
TREE_CHAIN
(
expr
));
}
break
;
case
'e'
:
/* an expression */
case
'r'
:
/* a reference */
case
's'
:
/* an expression with side effects */
...
...
@@ -2724,8 +2719,10 @@ int
unsafe_for_reeval
(
expr
)
tree
expr
;
{
int
unsafeness
=
0
;
enum
tree_code
code
;
register
int
i
,
tmp
,
unsafeness
;
int
i
,
tmp
;
tree
exp
;
int
first_rtl
;
if
(
expr
==
NULL_TREE
)
...
...
@@ -2733,7 +2730,6 @@ unsafe_for_reeval (expr)
code
=
TREE_CODE
(
expr
);
first_rtl
=
first_rtl_op
(
code
);
unsafeness
=
0
;
switch
(
code
)
{
...
...
@@ -2741,20 +2737,18 @@ unsafe_for_reeval (expr)
case
RTL_EXPR
:
return
2
;
case
CALL_EXPR
:
if
(
TREE_OPERAND
(
expr
,
1
)
&&
TREE_CODE
(
TREE_OPERAND
(
expr
,
1
))
==
TREE_LIST
)
{
tree
exp
=
TREE_OPERAND
(
expr
,
1
);
while
(
exp
)
case
TREE_LIST
:
for
(
exp
=
expr
;
exp
!=
0
;
exp
=
TREE_CHAIN
(
exp
))
{
tmp
=
unsafe_for_reeval
(
TREE_VALUE
(
exp
));
if
(
tmp
>
1
)
return
tmp
;
exp
=
TREE_CHAIN
(
exp
);
unsafeness
=
MAX
(
tmp
,
unsafeness
);
}
}
return
1
;
return
unsafeness
;
case
CALL_EXPR
:
tmp
=
unsafe_for_reeval
(
TREE_OPERAND
(
expr
,
1
));
return
MAX
(
tmp
,
1
);
case
TARGET_EXPR
:
unsafeness
=
1
;
...
...
@@ -2783,9 +2777,9 @@ unsafe_for_reeval (expr)
for
(
i
=
first_rtl
-
1
;
i
>=
0
;
i
--
)
{
tmp
=
unsafe_for_reeval
(
TREE_OPERAND
(
expr
,
i
));
if
(
tmp
>
unsafeness
)
unsafeness
=
tmp
;
unsafeness
=
MAX
(
tmp
,
unsafeness
);
}
return
unsafeness
;
default
:
...
...
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