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
56c98e5b
Commit
56c98e5b
authored
Feb 22, 1995
by
Jason Merrill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Support CLEANUP_POINT_EXPRs.
From-SVN: r9034
parent
a092957f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
0 deletions
+26
-0
gcc/fold-const.c
+26
-0
No files found.
gcc/fold-const.c
View file @
56c98e5b
...
...
@@ -4980,6 +4980,32 @@ fold (expr)
TREE_OPERAND
(
arg0
,
1
)))));
return
t
;
/* Pull arithmetic ops out of the CLEANUP_POINT_EXPR where
appropriate. */
case
CLEANUP_POINT_EXPR
:
if
(
!
TREE_SIDE_EFFECTS
(
arg0
))
return
arg0
;
{
enum
tree_code
code0
=
TREE_CODE
(
arg0
);
int
kind0
=
TREE_CODE_CLASS
(
code0
);
tree
arg00
=
TREE_OPERAND
(
arg0
,
0
);
tree
arg01
;
if
(
kind0
==
'1'
)
return
fold
(
build1
(
code0
,
type
,
fold
(
build1
(
CLEANUP_POINT_EXPR
,
TREE_TYPE
(
arg00
),
arg00
))));
if
((
kind0
==
'<'
||
kind0
==
'2'
)
&&
!
TREE_SIDE_EFFECTS
(
arg01
=
TREE_OPERAND
(
arg0
,
1
)))
return
fold
(
build
(
code0
,
type
,
fold
(
build1
(
CLEANUP_POINT_EXPR
,
TREE_TYPE
(
arg00
),
arg00
)),
arg01
));
return
t
;
}
default
:
return
t
;
}
/* switch (code) */
...
...
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