@@ -44,7 +44,6 @@ struct Builder<'a, 'src> {
4444
4545impl Builder < ' _ , ' _ > {
4646 fn compile_number ( & mut self , number : & hir:: Number ) -> Option < CompiledExpr > {
47- let width = u64:: from ( self . format . width ) ;
4847 let rounded = ( & number. value ) . round_convergent ( self . format . lsb ( ) ) ;
4948
5049 let Some ( value) = rounded. to_fixed_point ( self . format ) else {
@@ -63,16 +62,14 @@ impl Builder<'_, '_> {
6362 return None ;
6463 } ;
6564
66- let cell = self . builder . big_constant ( & value, width) ;
65+ let cell = self . builder . big_constant ( & value, self . format . width . into ( ) ) ;
6766 let port = cell. borrow ( ) . get ( self . builder . cm . ids . out ) ;
6867
6968 Some ( CompiledExpr :: from_port ( port) )
7069 }
7170
7271 fn compile_boolean ( & mut self , value : bool ) -> Option < CompiledExpr > {
73- let params = [ 1 , u64:: from ( value) ] ;
74-
75- let cell = self . builder . add_primitive ( "c" , "std_const" , & params) ;
72+ let cell = self . builder . std_const ( value. into ( ) , 1 ) ;
7673 let port = cell. borrow ( ) . get ( self . builder . cm . ids . out ) ;
7774
7875 Some ( CompiledExpr :: from_port ( port) )
@@ -354,11 +351,11 @@ impl Builder<'_, '_> {
354351 let true_branch = self . compile_expression ( expr. if_true ) ?;
355352 let false_branch = self . compile_expression ( expr. if_false ) ?;
356353
357- let params = [ true_branch. out . borrow ( ) . width ] ;
354+ let width = true_branch. out . borrow ( ) . width ;
358355
359356 match ( & true_branch. control , & false_branch. control ) {
360357 ( ir:: Control :: Empty ( _) , ir:: Control :: Empty ( _) ) => {
361- let mux = self . builder . add_primitive ( "mux" , " std_mux" , & params ) ;
358+ let mux = self . builder . std_mux ( width ) ;
362359 let out = mux. borrow ( ) . get ( self . builder . cm . ids . out ) ;
363360
364361 let inputs = [
@@ -385,7 +382,7 @@ impl Builder<'_, '_> {
385382 } )
386383 }
387384 _ => {
388- let reg = self . builder . add_primitive ( "r" , " std_reg" , & params ) ;
385+ let reg = self . builder . std_reg ( width ) ;
389386 let out = reg. borrow ( ) . get ( self . builder . cm . ids . out ) ;
390387
391388 let store_true = self . builder . invoke_with (
@@ -433,8 +430,7 @@ impl Builder<'_, '_> {
433430 let write = & self . hir [ write] ;
434431 let expr = self . compile_expression ( write. val ) ?;
435432
436- let params = [ expr. out . borrow ( ) . width ] ;
437- let reg = self . builder . add_primitive ( "r" , "std_reg" , & params) ;
433+ let reg = self . builder . std_reg ( expr. out . borrow ( ) . width ) ;
438434
439435 let invoke = self . builder . invoke_with (
440436 reg. clone ( ) ,
@@ -474,8 +470,7 @@ impl Builder<'_, '_> {
474470 let write = & self . hir [ write] ;
475471 let init = self . compile_expression ( write. val ) ?;
476472
477- let params = [ init. out . borrow ( ) . width ] ;
478- let reg = self . builder . add_primitive ( "r" , "std_reg" , & params) ;
473+ let reg = self . builder . std_reg ( init. out . borrow ( ) . width ) ;
479474
480475 let invoke = self . builder . invoke_with (
481476 reg. clone ( ) ,
0 commit comments