Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
peephole
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Taddeüs Kroes
peephole
Commits
8ee507e2
Commit
8ee507e2
authored
Dec 31, 2011
by
Taddeus Kroes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added report folder to structure.
parent
a7c3734d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
21 deletions
+3
-21
report/report.tex
report/report.tex
+3
-21
No files found.
report/report.tex
View file @
8ee507e2
...
...
@@ -180,27 +180,6 @@ statements'', the rest of the block is traversed while looking for usage of the
\texttt
{
move
}
's destination address
\texttt
{
x
}
. These usages are replaced by
usages of
\texttt
{
y
}
, until either
\texttt
{
x
}
or
\texttt
{
y
}
is re
-
assigned.
%Copy propagation `unpacks' a move instruction, by replacing its destination
%address with its source address in the code following the move instruction.
%
%This is not a direct optimization, but this does allow for a more effective
%dead code elimination.
%
%The code of the block is traversed linearly. If a move operation is
%encountered, the source and destination address of this move are stored. If a
%normal operation with a source and a destination address are found, a number of
%checks are performed.
%
%The first check is whether the destination address is stored as a destination
%address of a move instruction. If so, this move instruction is no longer valid,
%so the optimizations can not be done. Otherwise, continue with the second
%check.
%
%In the second check, the source address is compared to the destination
%addresses of all still valid move operations. If these are the same, in the
%current operation the found source address is replaced with the source address
%of the move operation.
An example would be the following:
\begin
{
verbatim
}
move
$
regA,
$
regB move
$
regA,
$
regB
...
...
@@ -263,12 +242,15 @@ Our code is provided with this report, and is also available on GitHub: \\
\subsection
{
Structure
}
The folder structure of out implementation is as follows:
\begin
{
itemize
}
\item
\texttt
{
.
}
\begin
{
itemize
}
\item
\texttt
{
benchmarks
/
}
\\
All benchmark files and their assembly versions
(
both unoptimized and
optimized
)
.
\item
\texttt
{
report
/
}
\\
Report files.
\item
\texttt
{
src
/
}
\begin
{
itemize
}
\item
\texttt
{
copy
\_
propagation.py
}
\\
...
...
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