Learning BSV‎ > ‎Attributes‎ > ‎

Noinline Attribute


  • The noinline attribute instructs the compiler to generate a separate module for a function.
  • The module is instantiated each time it's called.
  • Use of the noinline attribute can simplify and speed up compilation.
  • The attribute can only be applied to functions that are defined at the top level.
  • The inputs and outputs of the function must be in Bits.


(* noinline *)
function Bit#(LogK) popCK(Bit#(K) x);
return (popCountTable(x));
endfunction: popCK