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
d6176f72
Commit
d6176f72
authored
May 02, 2017
by
Bin Cheng
Committed by
Bin Cheng
May 02, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* tree-ssa-loop-ivopts.c (rewrite_use_address): Simple refactor.
From-SVN: r247516
parent
1136cae4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
10 deletions
+12
-10
gcc/ChangeLog
+4
-0
gcc/tree-ssa-loop-ivopts.c
+8
-10
No files found.
gcc/ChangeLog
View file @
d6176f72
2017-05-02 Bin Cheng <bin.cheng@arm.com>
2017-05-02 Bin Cheng <bin.cheng@arm.com>
* tree-ssa-loop-ivopts.c (rewrite_use_address): Simple refactor.
2017-05-02 Bin Cheng <bin.cheng@arm.com>
* tree-ssa-loop-ivopts.c (struct iv_ca): Rename n_regs to n_invs.
* tree-ssa-loop-ivopts.c (struct iv_ca): Rename n_regs to n_invs.
(ivopts_global_cost_for_size): Rename parameter and update uses.
(ivopts_global_cost_for_size): Rename parameter and update uses.
(iv_ca_recount_cost): Update uses.
(iv_ca_recount_cost): Update uses.
...
...
gcc/tree-ssa-loop-ivopts.c
View file @
d6176f72
...
@@ -7361,9 +7361,6 @@ rewrite_use_address (struct ivopts_data *data,
...
@@ -7361,9 +7361,6 @@ rewrite_use_address (struct ivopts_data *data,
struct
iv_use
*
use
,
struct
iv_cand
*
cand
)
struct
iv_use
*
use
,
struct
iv_cand
*
cand
)
{
{
aff_tree
aff
;
aff_tree
aff
;
gimple_stmt_iterator
bsi
=
gsi_for_stmt
(
use
->
stmt
);
tree
base_hint
=
NULL_TREE
;
tree
ref
,
iv
;
bool
ok
;
bool
ok
;
adjust_iv_update_pos
(
cand
,
use
);
adjust_iv_update_pos
(
cand
,
use
);
...
@@ -7382,17 +7379,18 @@ rewrite_use_address (struct ivopts_data *data,
...
@@ -7382,17 +7379,18 @@ rewrite_use_address (struct ivopts_data *data,
based on an object, the base of the reference is in some subexpression
based on an object, the base of the reference is in some subexpression
of the use -- but these will use pointer types, so they are recognized
of the use -- but these will use pointer types, so they are recognized
by the create_mem_ref heuristics anyway. */
by the create_mem_ref heuristics anyway. */
if
(
cand
->
iv
->
base_object
)
tree
iv
=
var_at_stmt
(
data
->
current_loop
,
cand
,
use
->
stmt
);
base_hint
=
var_at_stmt
(
data
->
current_loop
,
cand
,
use
->
stmt
);
tree
base_hint
=
(
cand
->
iv
->
base_object
)
?
iv
:
NULL_TREE
;
gimple_stmt_iterator
bsi
=
gsi_for_stmt
(
use
->
stmt
);
iv
=
var_at_stmt
(
data
->
current_loop
,
cand
,
use
->
stmt
);
tree
type
=
TREE_TYPE
(
*
use
->
op_p
);
tree
type
=
TREE_TYPE
(
*
use
->
op_p
);
unsigned
int
align
=
get_object_alignment
(
*
use
->
op_p
);
unsigned
int
align
=
get_object_alignment
(
*
use
->
op_p
);
if
(
align
!=
TYPE_ALIGN
(
type
))
if
(
align
!=
TYPE_ALIGN
(
type
))
type
=
build_aligned_type
(
type
,
align
);
type
=
build_aligned_type
(
type
,
align
);
ref
=
create_mem_ref
(
&
bsi
,
type
,
&
aff
,
reference_alias_ptr_type
(
*
use
->
op_p
),
tree
ref
=
create_mem_ref
(
&
bsi
,
type
,
&
aff
,
iv
,
base_hint
,
data
->
speed
);
reference_alias_ptr_type
(
*
use
->
op_p
),
iv
,
base_hint
,
data
->
speed
);
copy_ref_info
(
ref
,
*
use
->
op_p
);
copy_ref_info
(
ref
,
*
use
->
op_p
);
*
use
->
op_p
=
ref
;
*
use
->
op_p
=
ref
;
}
}
...
...
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