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
546ad2d9
Commit
546ad2d9
authored
Aug 16, 2005
by
Sebastian Pop
Committed by
Sebastian Pop
Aug 16, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
From-SVN: r103152
parent
39c39be0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
8 deletions
+17
-8
gcc/ChangeLog
+4
-0
gcc/tree-ssa-loop-niter.c
+13
-8
No files found.
gcc/ChangeLog
View file @
546ad2d9
2005
-
08
-
16
Sebastian
Pop
<
pop
@cri
.
ensmp
.
fr
>
*
tree
-
ssa
-
loop
-
niter
.
c
(
scev_probably_wraps_p
)
:
Reword
a
comment
.
2005
-
08
-
15
Richard
Earnshaw
<
richard
.
earnshaw
@arm
.
com
>
PR
target
/
23355
...
...
gcc/tree-ssa-loop-niter.c
View file @
546ad2d9
...
...
@@ -1891,19 +1891,24 @@ scev_probably_wraps_p (tree type, tree base, tree step,
/* If AT_STMT represents a cast operation, we may not be able to
take advantage of the undefinedness of signed type evolutions.
implement-c.texi states: "For conversion to a type of width
N, the value is reduced modulo 2^N to be within range of the
type;"
See PR 21959 for a test case. Essentially, given a cast
operation
unsigned char
i
;
signed char
i.0
;
unsigned char
uc
;
signed char
sc
;
...
i.0_6 = (signed char) i_2
;
if (
i.0_6
< 0)
sc = (signed char) uc
;
if (
sc
< 0)
...
where
i_2 and i.0_6 have the scev {0, +, 1}, we would consider
i_2 to wrap around, but not i.0_6, because it is of a signed
type. This causes VRP to erroneously fold the predicate above
because it thinks that i.0_6
cannot be negative. */
where
uc and sc have the scev {0, +, 1}, we would consider uc to
wrap around, but not sc, because it is of a signed type. This
causes VRP to erroneously fold the predicate above because it
thinks that sc
cannot be negative. */
if
(
at_stmt
&&
TREE_CODE
(
at_stmt
)
==
MODIFY_EXPR
)
{
tree
rhs
=
TREE_OPERAND
(
at_stmt
,
1
);
...
...
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