mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Merge pull request #2870 from whitequark/cxxrtl-fix-2739
cxxrtl: mark dead local wires as unused even with inlining disabled
This commit is contained in:
		
						commit
						c17e385e35
					
				
					 1 changed files with 6 additions and 4 deletions
				
			
		|  | @ -2733,12 +2733,14 @@ struct CxxrtlWorker { | |||
| 			for (auto wire : module->wires()) { | ||||
| 				auto &wire_type = wire_types[wire]; | ||||
| 				if (!wire_type.is_local()) continue; | ||||
| 				if (!wire->name.isPublic() && !inline_internal) continue; | ||||
| 				if (wire->name.isPublic() && !inline_public) continue; | ||||
| 
 | ||||
| 				if (live_wires[wire].empty()) { | ||||
| 					wire_type = {WireType::UNUSED}; // wire never used
 | ||||
| 				} else if (flow.is_inlinable(wire, live_wires[wire])) { | ||||
| 					continue; | ||||
| 				} | ||||
| 
 | ||||
| 				if (!wire->name.isPublic() && !inline_internal) continue; | ||||
| 				if (wire->name.isPublic() && !inline_public) continue; | ||||
| 				if (flow.is_inlinable(wire, live_wires[wire])) { | ||||
| 					if (flow.wire_comb_defs[wire].size() > 1) | ||||
| 						log_cmd_error("Wire %s.%s has multiple drivers!\n", log_id(module), log_id(wire)); | ||||
| 					log_assert(flow.wire_comb_defs[wire].size() == 1); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue