I still don’t see an IR that removes the unused constant. I’m expecting “inter” variable entry to be removed from the IR after optimization. Does numba even output this kind of information? more importantly, does numba even optimize for this?
What would be the best way to illustrate before and after code transformation? Would translating the IR to some kind of a directed graph show this? for ex. for unused variable it would show a node with no incoming edges?
-----------------------------------__main__.adder: nopython: AFTER translate_bytecode-----------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
---------------------------------------__main__.adder: nopython: AFTER fixup_args---------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
---------------------------------IR DUMP: adder---------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-------------------------------------__main__.adder: nopython: AFTER ir_processing--------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
--------------------------------------__main__.adder: nopython: AFTER with_lifting--------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
----------------------------------__main__.adder: nopython: AFTER inline_closure_likes----------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-------------------------------__main__.adder: nopython: AFTER rewrite_semantic_constants-------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-----------------------------------__main__.adder: nopython: AFTER dead_branch_prune------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
------------------------------------__main__.adder: nopython: AFTER generic_rewrites------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
---------------------------------__main__.adder: nopython: AFTER Rewrite dynamic raises---------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-------------------------__main__.adder: nopython: AFTER make_function_op_code_to_jit_function--------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-----------------------------------__main__.adder: nopython: AFTER inline_inlinables------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-----------------------------------__main__.adder: nopython: AFTER dead_branch_prune------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-------------------------------------__main__.adder: nopython: AFTER find_literally-------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-------------------------------------__main__.adder: nopython: AFTER literal_unroll-------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
------------------------------------__main__.adder: nopython: AFTER reconstruct_ssa-------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-----------------------------------__main__.adder: nopython: AFTER LiteralPropagation-----------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
--------------------------------__main__.adder: nopython: AFTER nopython_type_inference---------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
---------------------------------------__main__.adder: nopython: AFTER strip_phis---------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
------------------------------------__main__.adder: nopython: AFTER inline_overloads------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-----------------------------------__main__.adder: nopython: AFTER nopython_rewrites------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
-------------------------__main__.adder: nopython: AFTER nopython_supported_feature_validation--------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
total = const(float, 0.0) ['total']
total.1 = a + b ['a', 'b', 'total.1']
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
return $24return_value.6 ['$24return_value.6']
------------------------------------__main__.adder: nopython: AFTER ir_legalization-------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
del inter []
total = const(float, 0.0) ['total']
del total []
total.1 = a + b ['a', 'b', 'total.1']
del b []
del a []
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
del total.1 []
return $24return_value.6 ['$24return_value.6']
-------------------------------------__main__.adder: nopython: AFTER annotate_types-------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
del inter []
total = const(float, 0.0) ['total']
del total []
total.1 = a + b ['a', 'b', 'total.1']
del b []
del a []
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
del total.1 []
return $24return_value.6 ['$24return_value.6']
------------------------------------__main__.adder: nopython: AFTER native_lowering-------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
del inter []
total = const(float, 0.0) ['total']
del total []
total.1 = a + b ['a', 'b', 'total.1']
del b []
del a []
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
del total.1 []
return $24return_value.6 ['$24return_value.6']
------------------------------------__main__.adder: nopython: AFTER nopython_backend------------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
del inter []
total = const(float, 0.0) ['total']
del total []
total.1 = a + b ['a', 'b', 'total.1']
del b []
del a []
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
del total.1 []
return $24return_value.6 ['$24return_value.6']
--------------------------------__main__.adder: nopython: AFTER dump_parfor_diagnostics---------------------------------
label 0:
a = arg(0, name=a) ['a']
b = arg(1, name=b) ['b']
inter = const(float, 5.0) ['inter']
del inter []
total = const(float, 0.0) ['total']
del total []
total.1 = a + b ['a', 'b', 'total.1']
del b []
del a []
$24return_value.6 = cast(value=total.1) ['$24return_value.6', 'total.1']
del total.1 []
return $24return_value.6 ['$24return_value.6']