From acc05e8e4a94538474ae27938282e40eee2b08ac Mon Sep 17 00:00:00 2001 From: Faholan <62927863+Faholan@users.noreply.github.com> Date: Fri, 30 May 2025 16:52:53 -0700 Subject: [PATCH 1/2] Free shapeSet Signed-off-by: Faholan <62927863+Faholan@users.noreply.github.com> --- flow/scripts/placement_blockages.tcl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/flow/scripts/placement_blockages.tcl b/flow/scripts/placement_blockages.tcl index 876a01f903..a4031fc27f 100644 --- a/flow/scripts/placement_blockages.tcl +++ b/flow/scripts/placement_blockages.tcl @@ -18,8 +18,8 @@ proc block_channels {channel_width_in_microns} { # Resize to fill the channels and edge gap # set resize_by [expr round($channel_width_in_microns * $units)] - set shapeSet [odb::orSets $shapes] - set shapeSet [odb::bloatSet $shapeSet $resize_by] + set shapeSet0 [odb::orSets $shapes] + set shapeSet1 [odb::bloatSet $shapeSet0 $resize_by] # # Clip result to the core area @@ -30,7 +30,7 @@ proc block_channels {channel_width_in_microns} { set xh [$core xMax] set yh [$core yMax] set core_rect [odb::newSetFromRect $xl $yl $xh $yh] - set shapeSet [odb::andSet $shapeSet $core_rect] + set shapeSet [odb::andSet $shapeSet1 $core_rect] # # Output the blockages @@ -41,5 +41,10 @@ proc block_channels {channel_width_in_microns} { [$rect xMin] [$rect yMin] [$rect xMax] [$rect yMax]] $b setSoft } + + odb::destroySet $shapeSet + odb::destroySet $shapeSet1 + odb::destroySet $shapeSet0 + odb::destroySet $core_rect } From 18b64bb04c00b7a88b293789bf3594287409eac8 Mon Sep 17 00:00:00 2001 From: Faholan <62927863+Faholan@users.noreply.github.com> Date: Mon, 2 Jun 2025 12:17:09 -0700 Subject: [PATCH 2/2] Free shape set Signed-off-by: Faholan <62927863+Faholan@users.noreply.github.com> --- flow/scripts/placement_blockages.tcl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flow/scripts/placement_blockages.tcl b/flow/scripts/placement_blockages.tcl index a4031fc27f..c745bfa154 100644 --- a/flow/scripts/placement_blockages.tcl +++ b/flow/scripts/placement_blockages.tcl @@ -46,5 +46,9 @@ proc block_channels {channel_width_in_microns} { odb::destroySet $shapeSet1 odb::destroySet $shapeSet0 odb::destroySet $core_rect + + foreach shape $shapes { + odb::destroySet $shape + } }