diff options
author | gatecat <gatecat@ds0.me> | 2022-02-26 15:17:46 +0000 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2022-02-27 13:47:05 +0000 |
commit | 86699b42f619960bfefd4d0b479dd44a90527ea4 (patch) | |
tree | 06997246ae104b75ce472215fcee3ba37ee5c50c /machxo2 | |
parent | 434a9737bb459189b463c8768454ea6c0e151406 (diff) | |
download | nextpnr-86699b42f619960bfefd4d0b479dd44a90527ea4.tar.gz nextpnr-86699b42f619960bfefd4d0b479dd44a90527ea4.tar.bz2 nextpnr-86699b42f619960bfefd4d0b479dd44a90527ea4.zip |
Switch to potentially-sparse net users array
This uses a new data structure for net.users that allows gaps, so
removing a port from a net is no longer an O(n) operation on the number
of users the net has.
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'machxo2')
-rw-r--r-- | machxo2/pack.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/machxo2/pack.cc b/machxo2/pack.cc index 5051a981..56efb63f 100644 --- a/machxo2/pack.cc +++ b/machxo2/pack.cc @@ -160,7 +160,7 @@ static void set_net_constant(Context *ctx, NetInfo *orig, NetInfo *constnet, boo uc->ports[user.port].net = constnet; } - constnet->users.push_back(user); + user.cell->ports.at(user.port).user_idx = constnet->users.add(user); } } orig->users.clear(); |