mise à jour lab5b

This commit is contained in:
BuildTools 2024-11-03 18:04:44 +01:00
parent 8a3da3d91e
commit cc774e8f9a
6 changed files with 17 additions and 7 deletions

View File

@ -17,8 +17,9 @@ class PhiNode(Statement):
"""
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 srcs relies for each precedent block in the CFG, identified with its label,
the variable temp_i of the φ node.
The field srcs links each corresponding predecessor in the CFG
---identified by its label---, to the variable temp_i of the φ
node.
"""
var: DataLocation
srcs: Dict[Label, Operand]

View File

@ -83,3 +83,10 @@ _Academic first semester 2024-2025_
* Control Flow Graph under SSA Form [TP05a](TP05/tp5a.pdf).
* Code in [MiniC/TP05/](MiniC/TP05/).
* 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

Binary file not shown.

View File

@ -98,8 +98,9 @@
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</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 srcs relies for each precedent block in the CFG, identified with its label,</span>
<span class="sd"> the variable temp_i of the φ node.</span>
<span class="sd"> The field srcs links each corresponding predecessor in the CFG</span>
<span class="sd"> ---identified by its label---, to the variable temp_i of the φ</span>
<span class="sd"> node.</span>
<span class="sd"> &quot;&quot;&quot;</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>

View File

@ -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>
<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 srcs relies for each precedent block in the CFG, identified with its label,
the variable temp_i of the φ node.</p>
The field srcs links each corresponding predecessor in the CFG
—identified by its label—, to the variable temp_i of the φ
node.</p>
<dl class="py attribute">
<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>

File diff suppressed because one or more lines are too long