parameters: (function, context, fndesc)
docstring: Remove unnecessary NRT incref/decref in the given LLVM function.
      It uses highlevel type info to determine if the function does not need NRT.
      Such a function does not:
  
      - return array object;
      - take arguments that need refcount except array;
      - call function that return refcounted object.
  
      In effect, the function will not capture or create references that extend
      the lifetime of any refcounted objects beyound the lifetime of the
      function.
  
      The rewrite performs inplace.
      If rewrite has happen, this function return True. Otherwise, return False.
docstring_summary: Remove unnecessary NRT incref/decref in the given LLVM function.
      It uses highlevel type info to determine if the function does not need NRT.
      Such a function does not:
docstring_tokens: Remove unnecessary NRT incref / decref in the given LLVM function . It uses highlevel type info to determine if the function does not need NRT . Such a function does not :
function: def remove_unnecessary_nrt_usage(function, context, fndesc):
      """
      Remove unnecessary NRT incref/decref in the given LLVM function.
      It uses highlevel type info to determine if the function does not need NRT.
      Such a function does not:
  
      - return array object;
      - take arguments that need refcount except array;
      - call function that return refcounted object.
  
      In effect, the function will not capture or create references that extend
      the lifetime of any refcounted objects beyound the lifetime of the
      function.
  
      The rewrite performs inplace.
      If rewrite has happen, this function return True. Otherwise, return False.
      """
      dmm = context.data_model_manager
      if _legalize(function.module, dmm, fndesc):
          _rewrite_function(function)
          return True
      else:
          return False
function_tokens: def remove_unnecessary_nrt_usage ( function , context , fndesc ) : dmm = context . data_model_manager if _legalize ( function . module , dmm , fndesc ) : _rewrite_function ( function ) return True else : return False