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
eb5ad42a
Commit
eb5ad42a
authored
Oct 13, 1993
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(record_jump_cond): At end, make missing equivalences
first, and then merge them. From-SVN: r5769
parent
c9646177
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
14 deletions
+9
-14
gcc/cse.c
+9
-14
No files found.
gcc/cse.c
View file @
eb5ad42a
...
@@ -5670,42 +5670,37 @@ record_jump_cond (code, mode, op0, op1, reversed_nonequality)
...
@@ -5670,42 +5670,37 @@ record_jump_cond (code, mode, op0, op1, reversed_nonequality)
return
;
return
;
}
}
/* If both are equivalent, merge the two classes. Save this class for
/* If either side is still missing an equivalence, make it now,
`cse_set_around_loop'. */
then merge the equivalences. */
if
(
op0_elt
&&
op1_elt
)
{
merge_equiv_classes
(
op0_elt
,
op1_elt
);
last_jump_equiv_class
=
op0_elt
;
}
/* For whichever side doesn't have an equivalence, make one. */
if
(
op0_elt
==
0
)
if
(
op0_elt
==
0
)
{
{
if
(
insert_regs
(
op0
,
op1_elt
,
0
))
if
(
insert_regs
(
op0
,
NULL_PTR
,
0
))
{
{
rehash_using_reg
(
op0
);
rehash_using_reg
(
op0
);
op0_hash_code
=
HASH
(
op0
,
mode
);
op0_hash_code
=
HASH
(
op0
,
mode
);
}
}
op0_elt
=
insert
(
op0
,
op1_elt
,
op0_hash_code
,
mode
);
op0_elt
=
insert
(
op0
,
NULL_PTR
,
op0_hash_code
,
mode
);
op0_elt
->
in_memory
=
op0_in_memory
;
op0_elt
->
in_memory
=
op0_in_memory
;
op0_elt
->
in_struct
=
op0_in_struct
;
op0_elt
->
in_struct
=
op0_in_struct
;
last_jump_equiv_class
=
op0_elt
;
}
}
if
(
op1_elt
==
0
)
if
(
op1_elt
==
0
)
{
{
if
(
insert_regs
(
op1
,
op0_elt
,
0
))
if
(
insert_regs
(
op1
,
NULL_PTR
,
0
))
{
{
rehash_using_reg
(
op1
);
rehash_using_reg
(
op1
);
op1_hash_code
=
HASH
(
op1
,
mode
);
op1_hash_code
=
HASH
(
op1
,
mode
);
}
}
op1_elt
=
insert
(
op1
,
op0_elt
,
op1_hash_code
,
mode
);
op1_elt
=
insert
(
op1
,
NULL_PTR
,
op1_hash_code
,
mode
);
op1_elt
->
in_memory
=
op1_in_memory
;
op1_elt
->
in_memory
=
op1_in_memory
;
op1_elt
->
in_struct
=
op1_in_struct
;
op1_elt
->
in_struct
=
op1_in_struct
;
last_jump_equiv_class
=
op1_elt
;
}
}
merge_equiv_classes
(
op0_elt
,
op1_elt
);
last_jump_equiv_class
=
op0_elt
;
}
}
/* CSE processing for one instruction.
/* CSE processing for one instruction.
...
...
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