mise à jour lab5b
This commit is contained in:
parent
8a3da3d91e
commit
cc774e8f9a
@ -17,8 +17,9 @@ class PhiNode(Statement):
|
|||||||
"""
|
"""
|
||||||
A φ node is a renaming in the CFG, of the form temp_x = φ(temp_0, ..., temp_n).
|
A φ node is a renaming in the CFG, of the form temp_x = φ(temp_0, ..., temp_n).
|
||||||
The field var contains the variable temp_x.
|
The field var contains the variable temp_x.
|
||||||
The field srcs relies for each precedent block in the CFG, identified with its label,
|
The field srcs links each corresponding predecessor in the CFG
|
||||||
the variable temp_i of the φ node.
|
---identified by its label---, to the variable temp_i of the φ
|
||||||
|
node.
|
||||||
"""
|
"""
|
||||||
var: DataLocation
|
var: DataLocation
|
||||||
srcs: Dict[Label, Operand]
|
srcs: Dict[Label, Operand]
|
||||||
|
@ -83,3 +83,10 @@ _Academic first semester 2024-2025_
|
|||||||
* Control Flow Graph under SSA Form [TP05a](TP05/tp5a.pdf).
|
* Control Flow Graph under SSA Form [TP05a](TP05/tp5a.pdf).
|
||||||
* Code in [MiniC/TP05/](MiniC/TP05/).
|
* Code in [MiniC/TP05/](MiniC/TP05/).
|
||||||
* Documentation (updated) [here](docs/html/index.html).
|
* Documentation (updated) [here](docs/html/index.html).
|
||||||
|
|
||||||
|
# Week 8:
|
||||||
|
|
||||||
|
- :hammer: Lab 5b (1/2): Monday 04/11/2023, 13h30-15h30. Room E001 (Samuel Humeau & Emma Nardino)
|
||||||
|
|
||||||
|
* Smart Register Allocation [TP05b](TP05/tp5b.pdf).
|
||||||
|
* Code in [MiniC/TP05/](MiniC/TP05/).
|
||||||
|
BIN
TP05/tp5b.pdf
Normal file
BIN
TP05/tp5b.pdf
Normal file
Binary file not shown.
@ -98,8 +98,9 @@
|
|||||||
<span class="w"> </span><span class="sd">"""</span>
|
<span class="w"> </span><span class="sd">"""</span>
|
||||||
<span class="sd"> A φ node is a renaming in the CFG, of the form temp_x = φ(temp_0, ..., temp_n).</span>
|
<span class="sd"> A φ node is a renaming in the CFG, of the form temp_x = φ(temp_0, ..., temp_n).</span>
|
||||||
<span class="sd"> The field var contains the variable temp_x.</span>
|
<span class="sd"> The field var contains the variable temp_x.</span>
|
||||||
<span class="sd"> The field srcs relies for each precedent block in the CFG, identified with its label,</span>
|
<span class="sd"> The field srcs links each corresponding predecessor in the CFG</span>
|
||||||
<span class="sd"> the variable temp_i of the φ node.</span>
|
<span class="sd"> ---identified by its label---, to the variable temp_i of the φ</span>
|
||||||
|
<span class="sd"> node.</span>
|
||||||
<span class="sd"> """</span>
|
<span class="sd"> """</span>
|
||||||
<span class="n">var</span><span class="p">:</span> <span class="n">DataLocation</span>
|
<span class="n">var</span><span class="p">:</span> <span class="n">DataLocation</span>
|
||||||
<span class="n">srcs</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="n">Label</span><span class="p">,</span> <span class="n">Operand</span><span class="p">]</span>
|
<span class="n">srcs</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="n">Label</span><span class="p">,</span> <span class="n">Operand</span><span class="p">]</span>
|
||||||
|
@ -105,8 +105,9 @@ b._phis for a <a class="reference internal" href="Lib.CFG.html#Lib.CFG.Block" ti
|
|||||||
<dd><p>Bases: <a class="reference internal" href="Lib.Statement.html#Lib.Statement.Statement" title="Lib.Statement.Statement"><code class="xref py py-class docutils literal notranslate"><span class="pre">Statement</span></code></a></p>
|
<dd><p>Bases: <a class="reference internal" href="Lib.Statement.html#Lib.Statement.Statement" title="Lib.Statement.Statement"><code class="xref py py-class docutils literal notranslate"><span class="pre">Statement</span></code></a></p>
|
||||||
<p>A φ node is a renaming in the CFG, of the form temp_x = φ(temp_0, …, temp_n).
|
<p>A φ node is a renaming in the CFG, of the form temp_x = φ(temp_0, …, temp_n).
|
||||||
The field var contains the variable temp_x.
|
The field var contains the variable temp_x.
|
||||||
The field srcs relies for each precedent block in the CFG, identified with its label,
|
The field srcs links each corresponding predecessor in the CFG
|
||||||
the variable temp_i of the φ node.</p>
|
—identified by its label—, to the variable temp_i of the φ
|
||||||
|
node.</p>
|
||||||
<dl class="py attribute">
|
<dl class="py attribute">
|
||||||
<dt class="sig sig-object py" id="Lib.PhiNode.PhiNode.var">
|
<dt class="sig sig-object py" id="Lib.PhiNode.PhiNode.var">
|
||||||
<span class="sig-name descname"><span class="pre">var</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference internal" href="Lib.Operands.html#Lib.Operands.DataLocation" title="Lib.Operands.DataLocation"><span class="pre">DataLocation</span></a></em><a class="headerlink" href="#Lib.PhiNode.PhiNode.var" title="Permalink to this definition"></a></dt>
|
<span class="sig-name descname"><span class="pre">var</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference internal" href="Lib.Operands.html#Lib.Operands.DataLocation" title="Lib.Operands.DataLocation"><span class="pre">DataLocation</span></a></em><a class="headerlink" href="#Lib.PhiNode.PhiNode.var" title="Permalink to this definition"></a></dt>
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user