Skip to content

Commit 4a69e9b

Browse files
committed
odb: clang changes and remove dbChipRegion::destroy
Signed-off-by: osamahammad21 <[email protected]>
1 parent c859858 commit 4a69e9b

File tree

5 files changed

+19
-73
lines changed

5 files changed

+19
-73
lines changed

src/odb/include/odb/db.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7055,9 +7055,9 @@ class dbChipConn : public dbObject
70557055

70567056
static dbChipConn* create(const std::string& name,
70577057
dbChip* parent_chip,
7058-
std::vector<dbChipInst*> top_region_path,
7058+
const std::vector<dbChipInst*>& top_region_path,
70597059
dbChipRegionInst* top_region,
7060-
std::vector<dbChipInst*> bottom_region_path,
7060+
const std::vector<dbChipInst*>& bottom_region_path,
70617061
dbChipRegionInst* bottom_region);
70627062

70637063
static void destroy(dbChipConn* chipConn);
@@ -7123,7 +7123,6 @@ class dbChipRegion : public dbObject
71237123
Side side,
71247124
dbTechLayer* layer);
71257125

7126-
static void destroy(dbChipRegion* chipRegion);
71277126
// User Code End dbChipRegion
71287127
};
71297128

src/odb/src/db/dbChip.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -552,11 +552,6 @@ dbChip* dbChip::getChip(dbDatabase* db_, uint dbid_)
552552
void dbChip::destroy(dbChip* chip_)
553553
{
554554
_dbChip* chip = (_dbChip*) chip_;
555-
// Destroy chip regions
556-
dbSet<dbChipRegion> chipRegions = chip_->getChipRegions();
557-
for (dbChipRegion* chipRegion : chipRegions) {
558-
dbChipRegion::destroy(chipRegion);
559-
}
560555
// Destroy chip connections
561556
dbSet<dbChipConn> chipConns = chip_->getChipConns();
562557
for (dbChipConn* chipConn : chipConns) {

src/odb/src/db/dbChipConn.cpp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,9 @@ std::vector<dbChipInst*> dbChipConn::getTopRegionPath() const
138138
_dbChipConn* obj = (_dbChipConn*) this;
139139
_dbDatabase* _db = (_dbDatabase*) obj->getOwner();
140140
std::vector<dbChipInst*> top_region_path;
141-
for (auto chipinst_id : obj->top_region_path_) {
142-
top_region_path.push_back(
141+
top_region_path.reserve(obj->top_region_path_.size());
142+
for (const auto& chipinst_id : obj->top_region_path_) {
143+
top_region_path.emplace_back(
143144
(dbChipInst*) _db->chip_inst_tbl_->getPtr(chipinst_id));
144145
}
145146
return top_region_path;
@@ -150,8 +151,9 @@ std::vector<dbChipInst*> dbChipConn::getBottomRegionPath() const
150151
_dbChipConn* obj = (_dbChipConn*) this;
151152
_dbDatabase* _db = (_dbDatabase*) obj->getOwner();
152153
std::vector<dbChipInst*> bottom_region_path;
153-
for (auto chipinst_id : obj->bottom_region_path_) {
154-
bottom_region_path.push_back(
154+
bottom_region_path.reserve(obj->bottom_region_path_.size());
155+
for (const auto& chipinst_id : obj->bottom_region_path_) {
156+
bottom_region_path.emplace_back(
155157
(dbChipInst*) _db->chip_inst_tbl_->getPtr(chipinst_id));
156158
}
157159
return bottom_region_path;
@@ -164,6 +166,7 @@ std::vector<dbId<_dbChipInst>> extractChipInstsPath(
164166
_dbDatabase* _db = (_dbDatabase*) parent_chip->getImpl()->getOwner();
165167
utl::Logger* logger = _db->getLogger();
166168
std::vector<dbId<_dbChipInst>> chip_insts_path;
169+
chip_insts_path.reserve(chip_insts.size());
167170
for (auto chipinst : chip_insts) {
168171
if (chipinst->getParentChip() != parent_chip) {
169172
logger->error(utl::ODB,
@@ -173,18 +176,19 @@ std::vector<dbId<_dbChipInst>> extractChipInstsPath(
173176
chipinst->getName(),
174177
parent_chip->getName());
175178
}
176-
chip_insts_path.push_back(chipinst->getImpl()->getOID());
179+
chip_insts_path.emplace_back(chipinst->getImpl()->getOID());
177180
parent_chip = chipinst->getMasterChip();
178181
}
179182
return chip_insts_path;
180183
}
181184

182-
dbChipConn* dbChipConn::create(const std::string& name,
183-
dbChip* parent_chip,
184-
std::vector<dbChipInst*> top_region_path,
185-
dbChipRegionInst* top_region,
186-
std::vector<dbChipInst*> bottom_region_path,
187-
dbChipRegionInst* bottom_region)
185+
dbChipConn* dbChipConn::create(
186+
const std::string& name,
187+
dbChip* parent_chip,
188+
const std::vector<dbChipInst*>& top_region_path,
189+
dbChipRegionInst* top_region,
190+
const std::vector<dbChipInst*>& bottom_region_path,
191+
dbChipRegionInst* bottom_region)
188192
{
189193
_dbDatabase* _db = (_dbDatabase*) top_region->getImpl()->getOwner();
190194
if (parent_chip == nullptr || top_region_path.empty()

src/odb/src/db/dbChipRegion.cpp

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include "dbChipInst.h"
1717
#include "dbChipRegionInst.h"
1818
#include "dbTech.h"
19-
#include "dbTechLayer.h"
2019
#include "utl/Logger.h"
2120
// User Code End Includes
2221
namespace odb {
@@ -180,48 +179,6 @@ dbChipRegion* dbChipRegion::create(dbChip* chip,
180179

181180
return (dbChipRegion*) chip_region;
182181
}
183-
184-
void dbChipRegion::destroy(dbChipRegion* chipRegion)
185-
{
186-
if (chipRegion == nullptr) {
187-
return;
188-
}
189-
190-
_dbChipRegion* chip_region = (_dbChipRegion*) chipRegion;
191-
_dbChip* chip = (_dbChip*) chip_region->getOwner();
192-
193-
// remove region insts
194-
_dbDatabase* _db = (_dbDatabase*) chip->getOwner();
195-
for (auto chipinst : ((dbDatabase*) _db)->getChipInsts()) {
196-
_dbChipInst* _chipinst = (_dbChipInst*) chipinst;
197-
if (_chipinst->master_chip_ != chip->getOID()) {
198-
continue;
199-
}
200-
// iterate over chip_region_insts
201-
uint region_inst_id = _chipinst->chip_region_insts_;
202-
_dbChipRegionInst* prev_regioninst = nullptr;
203-
while (region_inst_id != 0) {
204-
_dbChipRegionInst* _regioninst
205-
= (_dbChipRegionInst*) _db->chip_region_inst_tbl_->getPtr(
206-
region_inst_id);
207-
if (_regioninst->region_ == chip_region->getOID()) {
208-
if (prev_regioninst == nullptr) {
209-
_chipinst->chip_region_insts_ = _regioninst->chip_region_inst_next_;
210-
_db->chip_region_inst_tbl_->destroy(_regioninst);
211-
break;
212-
} else {
213-
prev_regioninst->chip_region_inst_next_
214-
= _regioninst->chip_region_inst_next_;
215-
_db->chip_region_inst_tbl_->destroy(_regioninst);
216-
break;
217-
}
218-
}
219-
prev_regioninst = _regioninst;
220-
region_inst_id = _regioninst->chip_region_inst_next_;
221-
}
222-
}
223-
chip->chip_region_tbl_->destroy(chip_region);
224-
}
225182
// User Code End dbChipRegionPublicMethods
226183
} // namespace odb
227184
// Generator Code End Cpp

src/odb/test/cpp/TestChips.cpp

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ BOOST_FIXTURE_TEST_CASE(test_chip_complex_destroy, F_CHIP_HIERARCHY)
195195
// Clean up remaining instances
196196
dbChipInst::destroy(memory_inst);
197197
dbChipInst::destroy(io_inst);
198+
BOOST_TEST(db->getChipRegionInsts().size() == 0);
198199
BOOST_TEST(system_chip->getChipInsts().size() == 0);
199200
}
200201
BOOST_FIXTURE_TEST_CASE(test_chip_regions, F_CHIP_HIERARCHY)
@@ -225,16 +226,7 @@ BOOST_FIXTURE_TEST_CASE(test_chip_regions, F_CHIP_HIERARCHY)
225226
iterateChipRegions(memory_chip, {"R1", "R2", "R3"});
226227
iterateChipRegionInsts(memory_inst, {"R1", "R2", "R3"});
227228
iterateChipRegions(io_chip, {"R1"});
228-
dbChipRegion::destroy(memory_chip_region_r2);
229-
iterateChipRegions(memory_chip, {"R1", "R3"});
230-
iterateChipRegionInsts(memory_inst, {"R1", "R3"});
231-
dbChipRegion::destroy(memory_chip_region_r1);
232-
iterateChipRegions(memory_chip, {"R3"});
233-
iterateChipRegionInsts(memory_inst, {"R3"});
234-
235-
dbChipRegion::create(memory_chip, "R1", dbChipRegion::Side::FRONT, layer_l1);
236-
iterateChipRegions(memory_chip, {"R1", "R3"});
237-
iterateChipRegionInsts(memory_inst, {"R1", "R3"});
229+
238230
try {
239231
dbChipRegion::create(cpu_chip, "R1", dbChipRegion::Side::FRONT, layer_l1);
240232
BOOST_TEST(false);
@@ -253,7 +245,6 @@ BOOST_FIXTURE_TEST_CASE(test_chip_regions, F_CHIP_HIERARCHY)
253245

254246
BOOST_FIXTURE_TEST_CASE(test_chip_conns, F_CHIP_HIERARCHY)
255247
{
256-
dbChipRegion::create(cache_chip, "R1", dbChipRegion::Side::BACK, nullptr);
257248
dbChipRegionInst* cache_region_inst_r1
258249
= (dbChipRegionInst*) (*cache_inst->getRegions().begin());
259250
dbChipRegionInst* memory_region_inst_r1 = nullptr;

0 commit comments

Comments
 (0)