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
57bbc3e2
Commit
57bbc3e2
authored
Jun 12, 2019
by
Aldy Hernandez
Committed by
Aldy Hernandez
Jun 12, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove value_range_constant_singleton in favor of value_range::singleton_p.
From-SVN: r272182
parent
26d7a5e6
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
22 deletions
+18
-22
gcc/ChangeLog
+9
-0
gcc/gimple-ssa-evrp.c
+5
-5
gcc/tree-vrp.c
+0
-15
gcc/tree-vrp.h
+0
-1
gcc/vr-values.c
+4
-1
No files found.
gcc/ChangeLog
View file @
57bbc3e2
2019-06-12 Aldy Hernandez <aldyh@redhat.com>
* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Use
value_range::singleton_p.
* tree-vrp.c (value_range_constant_singleton): Remove.
* tree-vrp.h (value_range_constant_singleton): Remove.
* vr-values.c (vr_values::singleton): Use
value_range::singleton_p.
2019-06-12 Jakub Jelinek <jakub@redhat.com>
2019-06-12 Jakub Jelinek <jakub@redhat.com>
PR target/90811
PR target/90811
...
...
gcc/gimple-ssa-evrp.c
View file @
57bbc3e2
...
@@ -111,8 +111,8 @@ evrp_dom_walker::before_dom_children (basic_block bb)
...
@@ -111,8 +111,8 @@ evrp_dom_walker::before_dom_children (basic_block bb)
value_range
*
vr
=
evrp_range_analyzer
.
get_value_range
(
lhs
);
value_range
*
vr
=
evrp_range_analyzer
.
get_value_range
(
lhs
);
/* Mark PHIs whose lhs we fully propagate for removal. */
/* Mark PHIs whose lhs we fully propagate for removal. */
tree
val
=
value_range_constant_singleton
(
vr
)
;
tree
val
;
if
(
v
al
&&
may_propagate_copy
(
lhs
,
val
))
if
(
v
r
->
singleton_p
(
&
val
)
&&
may_propagate_copy
(
lhs
,
val
))
{
{
stmts_to_remove
.
safe_push
(
phi
);
stmts_to_remove
.
safe_push
(
phi
);
continue
;
continue
;
...
@@ -162,7 +162,7 @@ evrp_dom_walker::before_dom_children (basic_block bb)
...
@@ -162,7 +162,7 @@ evrp_dom_walker::before_dom_children (basic_block bb)
value_range
*
vr
=
evrp_range_analyzer
.
get_value_range
(
output
);
value_range
*
vr
=
evrp_range_analyzer
.
get_value_range
(
output
);
/* Mark stmts whose output we fully propagate for removal. */
/* Mark stmts whose output we fully propagate for removal. */
if
(
(
val
=
value_range_constant_singleton
(
vr
)
)
if
(
vr
->
singleton_p
(
&
val
)
&&
may_propagate_copy
(
output
,
val
)
&&
may_propagate_copy
(
output
,
val
)
&&
!
stmt_could_throw_p
(
cfun
,
stmt
)
&&
!
stmt_could_throw_p
(
cfun
,
stmt
)
&&
!
gimple_has_side_effects
(
stmt
))
&&
!
gimple_has_side_effects
(
stmt
))
...
@@ -244,8 +244,8 @@ evrp_dom_walker::before_dom_children (basic_block bb)
...
@@ -244,8 +244,8 @@ evrp_dom_walker::before_dom_children (basic_block bb)
||
virtual_operand_p
(
arg
))
||
virtual_operand_p
(
arg
))
continue
;
continue
;
value_range
*
vr
=
evrp_range_analyzer
.
get_value_range
(
arg
);
value_range
*
vr
=
evrp_range_analyzer
.
get_value_range
(
arg
);
tree
val
=
value_range_constant_singleton
(
vr
)
;
tree
val
;
if
(
v
al
&&
may_propagate_copy
(
arg
,
val
))
if
(
v
r
->
singleton_p
(
&
val
)
&&
may_propagate_copy
(
arg
,
val
))
propagate_value
(
use_p
,
val
);
propagate_value
(
use_p
,
val
);
}
}
}
}
...
...
gcc/tree-vrp.c
View file @
57bbc3e2
...
@@ -1154,21 +1154,6 @@ range_includes_p (const value_range_base *vr, HOST_WIDE_INT x)
...
@@ -1154,21 +1154,6 @@ range_includes_p (const value_range_base *vr, HOST_WIDE_INT x)
return
vr
->
may_contain_p
(
build_int_cst
(
vr
->
type
(),
x
));
return
vr
->
may_contain_p
(
build_int_cst
(
vr
->
type
(),
x
));
}
}
/* If *VR has a value range that is a single constant value return that,
otherwise return NULL_TREE.
?? This actually returns TRUE for [&x, &x], so perhaps "constant"
is not the best name. */
tree
value_range_constant_singleton
(
const
value_range_base
*
vr
)
{
tree
result
=
NULL
;
if
(
vr
->
singleton_p
(
&
result
))
return
result
;
return
NULL
;
}
/* Value range wrapper for wide_int_range_set_zero_nonzero_bits.
/* Value range wrapper for wide_int_range_set_zero_nonzero_bits.
Compute MAY_BE_NONZERO and MUST_BE_NONZERO bit masks for range in VR.
Compute MAY_BE_NONZERO and MUST_BE_NONZERO bit masks for range in VR.
...
...
gcc/tree-vrp.h
View file @
57bbc3e2
...
@@ -259,7 +259,6 @@ extern bool infer_value_range (gimple *, tree, tree_code *, tree *);
...
@@ -259,7 +259,6 @@ extern bool infer_value_range (gimple *, tree, tree_code *, tree *);
extern
bool
vrp_bitmap_equal_p
(
const_bitmap
,
const_bitmap
);
extern
bool
vrp_bitmap_equal_p
(
const_bitmap
,
const_bitmap
);
extern
tree
value_range_constant_singleton
(
const
value_range_base
*
);
extern
bool
range_int_cst_p
(
const
value_range_base
*
);
extern
bool
range_int_cst_p
(
const
value_range_base
*
);
extern
bool
range_int_cst_singleton_p
(
const
value_range_base
*
);
extern
bool
range_int_cst_singleton_p
(
const
value_range_base
*
);
...
...
gcc/vr-values.c
View file @
57bbc3e2
...
@@ -387,7 +387,10 @@ vr_values::op_with_constant_singleton_value_range (tree op)
...
@@ -387,7 +387,10 @@ vr_values::op_with_constant_singleton_value_range (tree op)
if
(
TREE_CODE
(
op
)
!=
SSA_NAME
)
if
(
TREE_CODE
(
op
)
!=
SSA_NAME
)
return
NULL_TREE
;
return
NULL_TREE
;
return
value_range_constant_singleton
(
get_value_range
(
op
));
tree
t
;
if
(
get_value_range
(
op
)
->
singleton_p
(
&
t
))
return
t
;
return
NULL
;
}
}
/* Return true if op is in a boolean [0, 1] value-range. */
/* Return true if op is in a boolean [0, 1] value-range. */
...
...
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