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
4f17aa0b
Commit
4f17aa0b
authored
Sep 24, 2013
by
Xinliang David Li
Committed by
Xinliang David Li
Sep 24, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement --param=vect-max-peeling-for-alignment=..
From-SVN: r202875
parent
114f3eb9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
40 additions
and
0 deletions
+40
-0
gcc/ChangeLog
+7
-0
gcc/doc/invoke.texi
+4
-0
gcc/params.def
+5
-0
gcc/tree-vect-data-refs.c
+24
-0
No files found.
gcc/ChangeLog
View file @
4f17aa0b
2013
-
09
-
24
Xinliang
David
Li
<
davidxl
@
google
.
com
>
*
tree
-
vect
-
data
-
refs
.
c
(
vect_enhance_data_refs_alignment
):
Check
max
peel
iterations
parameter
.
*
param
.
def
:
New
parameter
.
*
doc
/
invoke
.
texi
:
Document
New
parameter
.
2013
-
09
-
24
Christophe
Lyon
<
christophe
.
lyon
@
linaro
.
org
>
*
gimple
-
pretty
-
print
.
c
:
Various
whitespace
tweaks
.
...
...
gcc/doc/invoke.texi
View file @
4f17aa0b
...
...
@@ -9451,6 +9451,10 @@ The maximum number of run-time checks that can be performed when
doing loop versioning for alias in the vectorizer. See option
@option{-ftree-vect-loop-version} for more information.
@item vect-max-peeling-for-alignment
The maximum number of loop peels to enhance access alignment
for vectorizer. Value -1 means '
no
limit
'.
@item max-iterations-to-track
The maximum number of iterations of a loop the brute-force algorithm
for analysis of the number of iterations of the loop tries to evaluate.
...
...
gcc/params.def
View file @
4f17aa0b
...
...
@@ -544,6 +544,11 @@ DEFPARAM(PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS,
"Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check",
10, 0, 0)
DEFPARAM(PARAM_VECT_MAX_PEELING_FOR_ALIGNMENT,
"vect-max-peeling-for-alignment",
"Max number of loop peels to enhancement alignment of data references in a loop",
-1, -1, 64)
DEFPARAM(PARAM_MAX_CSELIB_MEMORY_LOCATIONS,
"max-cselib-memory-locations",
"The maximum memory locations recorded by cselib",
...
...
gcc/tree-vect-data-refs.c
View file @
4f17aa0b
...
...
@@ -1718,6 +1718,30 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
if
(
do_peeling
)
{
unsigned
max_allowed_peel
=
PARAM_VALUE
(
PARAM_VECT_MAX_PEELING_FOR_ALIGNMENT
);
if
(
max_allowed_peel
!=
(
unsigned
)
-
1
)
{
unsigned
max_peel
=
npeel
;
if
(
max_peel
==
0
)
{
gimple
dr_stmt
=
DR_STMT
(
dr0
);
stmt_vec_info
vinfo
=
vinfo_for_stmt
(
dr_stmt
);
tree
vtype
=
STMT_VINFO_VECTYPE
(
vinfo
);
max_peel
=
TYPE_VECTOR_SUBPARTS
(
vtype
)
-
1
;
}
if
(
max_peel
>
max_allowed_peel
)
{
do_peeling
=
false
;
if
(
dump_enabled_p
())
dump_printf_loc
(
MSG_NOTE
,
vect_location
,
"Disable peeling, max peels reached: %d
\n
"
,
max_peel
);
}
}
}
if
(
do_peeling
)
{
stmt_info_for_cost
*
si
;
void
*
data
=
LOOP_VINFO_TARGET_COST_DATA
(
loop_vinfo
);
...
...
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