-
Notifications
You must be signed in to change notification settings - Fork 18
Debug
Giorgis Georgakoudis edited this page Oct 20, 2025
·
1 revision
for var_name in sorted(def_but_live_out):
explicit_clauses.append(
openmp_tag(
"QUAL.OMP.TARGET.IMPLICIT"
if user_defined_var(var_name) or var_name == "$cp"
else "QUAL.OMP.PRIVATE",
var_name,
)
)# THIS DOESN'T WORK
@njit
def inc():
a = 0
with openmp("target teams"):
tid = omp_get_thread_num()
teamid = omp_get_team_num()
if tid == 0 and teamid == 0:
print("num teams", omp_get_num_teams())
with openmp("barrier"): pass
openmp("barrier")
a = 42
return aFound OpenMP runtime library at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/src/numba/openmp/libs/libomp/lib/libomp.so
Found OpenMP target runtime library at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/src/numba/openmp/libs/libomp/lib/libomptarget.so
pre-dead-code
0 :
$2load_global.0 = global(openmp: <numba.openmp._OpenmpContextType object at 0x7f0f42caa410>)
$const4.1 = const(str, target teams device(0))
$6call_function.2 = call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None)
$phi8.0 = $6call_function.2
jump 8
8 :
enter_with $phi8.0
jump 10
10 :
$12load_global.2 = global(omp_get_thread_num: OpenmpExternalFunction(omp_get_thread_num))
tid = call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None)
$18load_global.4 = global(omp_get_team_num: OpenmpExternalFunction(omp_get_team_num))
teamid = call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None)
$const26.7 = const(int, 0)
$28compare_op.8 = tid == $const26.7
bool30 = global(bool: <class 'bool'>)
$30pred = call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None)
branch $30pred, 32, 68
32 :
$const34.2 = const(int, 0)
$36compare_op.3 = teamid == $const34.2
bool38 = global(bool: <class 'bool'>)
$38pred = call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None)
branch $38pred, 40, 84
40 :
$40load_global.1 = global(print: <built-in function print>)
$const42.2 = const(str, num teams)
$44load_global.3 = global(omp_get_num_teams: OpenmpExternalFunction(omp_get_num_teams))
$46call_function.4 = call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None)
print($const42.2, $46call_function.4)
$48call_function.5 = const(NoneType, None)
$cp = const(int, 0)
jump 87
54 :
$const54.1 = const(NoneType, None)
$const64.5 = const(NoneType, None)
$66return_value.6 = cast(value=$const64.5)
return $66return_value.6
68 :
$cp = const(int, 1)
jump 87
70 :
$const70.1 = const(NoneType, None)
$const80.5 = const(NoneType, None)
$82return_value.6 = cast(value=$const80.5)
return $82return_value.6
84 :
$cp = const(int, 2)
jump 87
86 :
$const86.1 = const(NoneType, None)
$const96.5 = const(NoneType, None)
$98return_value.6 = cast(value=$const96.5)
return $98return_value.6
87 :
pop_block
jump 88
88 :
$cp_rhs = const(int, 0)
$cp_check = $cp == $cp_rhs
branch $cp_check, 54, 89
89 :
$cp_rhs.1 = const(int, 1)
$cp_check.1 = $cp == $cp_rhs.1
branch $cp_check.1, 70, 90
90 :
$cp_rhs.2 = const(int, 2)
$cp_check.2 = $cp == $cp_rhs.2
branch $cp_check.2, 86, 91
91 :
jump 86
pre-with-removal
0 :
$2load_global.0 = global(openmp: <numba.openmp._OpenmpContextType object at 0x7f0f42caa410>)
$const4.1 = const(str, target teams device(0))
$6call_function.2 = call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None)
$phi8.0 = $6call_function.2
jump 8
8 :
enter_with $phi8.0
jump 10
10 :
$12load_global.2 = global(omp_get_thread_num: OpenmpExternalFunction(omp_get_thread_num))
tid = call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None)
$18load_global.4 = global(omp_get_team_num: OpenmpExternalFunction(omp_get_team_num))
teamid = call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None)
$const26.7 = const(int, 0)
$28compare_op.8 = tid == $const26.7
bool30 = global(bool: <class 'bool'>)
$30pred = call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None)
branch $30pred, 32, 68
32 :
$const34.2 = const(int, 0)
$36compare_op.3 = teamid == $const34.2
bool38 = global(bool: <class 'bool'>)
$38pred = call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None)
branch $38pred, 40, 84
40 :
$40load_global.1 = global(print: <built-in function print>)
$const42.2 = const(str, num teams)
$44load_global.3 = global(omp_get_num_teams: OpenmpExternalFunction(omp_get_num_teams))
$46call_function.4 = call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None)
print($const42.2, $46call_function.4)
$48call_function.5 = const(NoneType, None)
$cp = const(int, 0)
jump 87
54 :
$const54.1 = const(NoneType, None)
$const64.5 = const(NoneType, None)
$66return_value.6 = cast(value=$const64.5)
return $66return_value.6
68 :
$cp = const(int, 1)
jump 87
70 :
$const70.1 = const(NoneType, None)
$const80.5 = const(NoneType, None)
$82return_value.6 = cast(value=$const80.5)
return $82return_value.6
84 :
$cp = const(int, 2)
jump 87
86 :
$const86.1 = const(NoneType, None)
$const96.5 = const(NoneType, None)
$98return_value.6 = cast(value=$const96.5)
return $98return_value.6
87 :
pop_block
jump 88
88 :
$cp_rhs = const(int, 0)
$cp_check = $cp == $cp_rhs
branch $cp_check, 54, 89
89 :
$cp_rhs = const(int, 1)
$cp_check = $cp == $cp_rhs
branch $cp_check, 70, 90
90 :
$cp_rhs = const(int, 2)
$cp_check = $cp == $cp_rhs
branch $cp_check, 86, 91
91 :
jump 86
openmp:mutate_with_body
--------------------------------IR func_ir: inc---------------------------------
label 0:
$2load_global.0 = global(openmp: <numba.openmp._OpenmpContextType object at 0x7f0f42caa410>) ['$2load_global.0']
$const4.1 = const(str, target teams device(0)) ['$const4.1']
$6call_function.2 = call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None) ['$2load_global.0', '$6call_function.2', '$const4.1']
$phi8.0 = $6call_function.2 ['$6call_function.2', '$phi8.0']
jump 8 []
label 8:
enter_with $phi8.0 ['$phi8.0']
jump 10 []
label 10:
$12load_global.2 = global(omp_get_thread_num: OpenmpExternalFunction(omp_get_thread_num)) ['$12load_global.2']
tid = call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$12load_global.2', 'tid']
$18load_global.4 = global(omp_get_team_num: OpenmpExternalFunction(omp_get_team_num)) ['$18load_global.4']
teamid = call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$18load_global.4', 'teamid']
$const26.7 = const(int, 0) ['$const26.7']
$28compare_op.8 = tid == $const26.7 ['$28compare_op.8', '$const26.7', 'tid']
bool30 = global(bool: <class 'bool'>) ['bool30']
$30pred = call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$28compare_op.8', '$30pred', 'bool30']
branch $30pred, 32, 68 ['$30pred']
label 32:
$const34.2 = const(int, 0) ['$const34.2']
$36compare_op.3 = teamid == $const34.2 ['$36compare_op.3', '$const34.2', 'teamid']
bool38 = global(bool: <class 'bool'>) ['bool38']
$38pred = call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$36compare_op.3', '$38pred', 'bool38']
branch $38pred, 40, 84 ['$38pred']
label 40:
$40load_global.1 = global(print: <built-in function print>) ['$40load_global.1']
$const42.2 = const(str, num teams) ['$const42.2']
$44load_global.3 = global(omp_get_num_teams: OpenmpExternalFunction(omp_get_num_teams)) ['$44load_global.3']
$46call_function.4 = call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$44load_global.3', '$46call_function.4']
print($const42.2, $46call_function.4) ['$46call_function.4', '$const42.2']
$48call_function.5 = const(NoneType, None) ['$48call_function.5']
$cp = const(int, 0) ['$cp']
jump 87 []
label 54:
$const54.1 = const(NoneType, None) ['$const54.1']
$const64.5 = const(NoneType, None) ['$const64.5']
$66return_value.6 = cast(value=$const64.5) ['$66return_value.6', '$const64.5']
return $66return_value.6 ['$66return_value.6']
label 68:
$cp = const(int, 1) ['$cp']
jump 87 []
label 70:
$const70.1 = const(NoneType, None) ['$const70.1']
$const80.5 = const(NoneType, None) ['$const80.5']
$82return_value.6 = cast(value=$const80.5) ['$82return_value.6', '$const80.5']
return $82return_value.6 ['$82return_value.6']
label 84:
$cp = const(int, 2) ['$cp']
jump 87 []
label 86:
$const86.1 = const(NoneType, None) ['$const86.1']
$const96.5 = const(NoneType, None) ['$const96.5']
$98return_value.6 = cast(value=$const96.5) ['$98return_value.6', '$const96.5']
return $98return_value.6 ['$98return_value.6']
label 87:
pop_block []
jump 88 []
label 88:
$cp_rhs = const(int, 0) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 54, 89 ['$cp_check']
label 89:
$cp_rhs = const(int, 1) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 70, 90 ['$cp_check']
label 90:
$cp_rhs = const(int, 2) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 86, 91 ['$cp_check']
label 91:
jump 86 []
----------------------------------------
blocks: {0: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (6)>, 8: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (8)>, 10: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (8)>, 32: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (11)>, 40: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (12)>, 54: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (8)>, 68: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (11)>, 70: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (8)>, 84: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (11)>, 86: <ir.Block at /global/u1/g/ggeorgak/projects/pyomp-project/pyomp/examples/fix/test.py (8)>, 87: <ir.Block at unknown location (0:0)>, 88: <ir.Block at unknown location (0:0)>, 89: <ir.Block at unknown location (0:0)>, 90: <ir.Block at unknown location (0:0)>, 91: <ir.Block at unknown location (0:0)>} <class 'dict'>
blk_start: 8 <class 'int'>
blk_end: 88 <class 'int'>
body_blocks: [32, 68, 84, 87, 40, 10] <class 'list'>
extra: {'args': [const(str, target teams device(0))], 'kwargs': {}} <class 'dict'>
args: [const(str, target teams device(0))] <class 'list'>
arg: const(str, target teams device(0)) <class 'numba.core.ir.Const'> target teams device(0) <class 'str'>
openmp_statement
openmp_construct
target_teams_construct
target_teams_directive
target
teams
target_teams_clause
device_clause
const_num_or_var 0
visit NUMBER 0 <class 'lark.lexer.Token'> 0
visit const_num_or_var [0] <class 'list'>
visit device_clause [0] <class 'list'>
visit target_teams_clause [[openmp_tag(QUAL.OMP.DEVICE,0)]] <class 'list'> [openmp_tag(QUAL.OMP.DEVICE,0)]
openmp_tag(QUAL.OMP.DEVICE,0)
visit some_target_directive [Token('TARGET', 'target'), Token('TEAMS', 'teams'), [openmp_tag(QUAL.OMP.DEVICE,0)]] <class 'list'> 8 88
flatten 139703448393456
clause: [openmp_tag(QUAL.OMP.DEVICE,0)] <class 'list'>
target clause: openmp_tag(QUAL.OMP.DEVICE,0)
visit some_data_clause_directive [openmp_tag(QUAL.OMP.DEVICE,0)] <class 'list'> 8 88
pre clause: openmp_tag(QUAL.OMP.DEVICE,0)
flatten 139703448393456
clause: openmp_tag(QUAL.OMP.DEVICE,0) <class 'numba.openmp.openmp_tag'>
final clause: openmp_tag(QUAL.OMP.DEVICE,0)
get_explicit_vars: openmp_tag(QUAL.OMP.DEVICE,0) <class 'numba.openmp.openmp_tag'>
arg: 0 <class 'int'>
carg: 0 <class 'int'> False False
vars_in_explicit_clauses: [] <class 'dict'>
vars_in_explicit clauses first: openmp_tag(QUAL.OMP.DEVICE,0)
usedefs: use_defs_result(usemap={0: set(), 8: set(), 10: set(), 32: {'teamid'}, 40: set(), 54: set(), 68: set(), 70: set(), 84: set(), 86: set(), 87: set(), 88: {'$cp'}, 89: {'$cp'}, 90: {'$cp'}, 91: set()}, defmap={0: {'$2load_global.0', '$6call_function.2', '$const4.1', '$phi8.0'}, 8: set(), 10: {'$12load_global.2', 'teamid', 'tid', '$30pred', '$const26.7', 'bool30', '$18load_global.4', '$28compare_op.8'}, 32: {'bool38', '$const34.2', '$36compare_op.3', '$38pred'}, 40: {'$46call_function.4', '$cp', '$const42.2', '$44load_global.3', '$40load_global.1', '$48call_function.5'}, 54: {'$const64.5', '$const54.1', '$66return_value.6'}, 68: {'$cp'}, 70: {'$const80.5', '$82return_value.6', '$const70.1'}, 84: {'$cp'}, 86: {'$98return_value.6', '$const96.5', '$const86.1'}, 87: set(), 88: {'$cp_check', '$cp_rhs'}, 89: {'$cp_check', '$cp_rhs'}, 90: {'$cp_check', '$cp_rhs'}, 91: set()})
live_map: {0: set(), 8: set(), 10: set(), 32: {'teamid'}, 40: set(), 54: set(), 68: set(), 70: set(), 84: set(), 86: set(), 87: {'$cp'}, 88: {'$cp'}, 89: {'$cp'}, 90: {'$cp'}, 91: set()}
inputs_to_region: [] <class 'set'>
selected blocks: [10, 32, 40, 68, 84, 87]
all_uses: ['teamid']
inputs_to_region: []
private_to_region: ['$12load_global.2', '$18load_global.4', '$28compare_op.8', '$30pred', '$36compare_op.3', '$38pred', '$40load_global.1', '$44load_global.3', '$46call_function.4', '$48call_function.5', '$const26.7', '$const34.2', '$const42.2', 'bool30', 'bool38', 'teamid', 'tid']
def_but_live_out: ['$cp']
inputs_to_region: []
def_but_live_out: ['$cp']
private_to_region: ['$12load_global.2', '$18load_global.4', '$28compare_op.8', '$30pred', '$36compare_op.3', '$38pred', '$40load_global.1', '$44load_global.3', '$46call_function.4', '$48call_function.5', '$const26.7', '$const34.2', '$const42.2', 'bool30', 'bool38', 'teamid', 'tid']
clause after find_io_vars: openmp_tag(QUAL.OMP.DEVICE,0)
remove_explicit start: [] []
remove_explicit end: []
remove_explicit start: ['$cp'] []
remove_explicit end: ['$cp']
remove_explicit start: ['$12load_global.2', '$18load_global.4', '$28compare_op.8', '$30pred', '$36compare_op.3', '$38pred', '$40load_global.1', '$44load_global.3', '$46call_function.4', '$48call_function.5', '$const26.7', '$const34.2', '$const42.2', 'bool30', 'bool38', 'teamid', 'tid'] []
remove_explicit end: ['$12load_global.2', '$18load_global.4', '$28compare_op.8', '$30pred', '$36compare_op.3', '$38pred', '$40load_global.1', '$44load_global.3', '$46call_function.4', '$48call_function.5', '$const26.7', '$const34.2', '$const42.2', 'bool30', 'bool38', 'teamid', 'tid']
clause after remove_explicit_from_io_vars: openmp_tag(QUAL.OMP.DEVICE,0)
vars_in_explicit clauses before: openmp_tag(QUAL.OMP.DEVICE,0)
inputs_to_region after remove_explicit: []
def_but_live_out after remove_explicit: ['$cp']
private_to_region after remove_explicit: ['$12load_global.2', '$18load_global.4', '$28compare_op.8', '$30pred', '$36compare_op.3', '$38pred', '$40load_global.1', '$44load_global.3', '$46call_function.4', '$48call_function.5', '$const26.7', '$const34.2', '$const42.2', 'bool30', 'bool38', 'teamid', 'tid']
vars_in_explicit after: $cp openmp_tag(QUAL.OMP.PRIVATE,$cp)
vars_in_explicit after: bool30 openmp_tag(QUAL.OMP.PRIVATE,bool30)
vars_in_explicit after: bool38 openmp_tag(QUAL.OMP.PRIVATE,bool38)
vars_in_explicit after: teamid openmp_tag(QUAL.OMP.PRIVATE,teamid)
vars_in_explicit after: tid openmp_tag(QUAL.OMP.PRIVATE,tid)
vars_in_explicit after: $12load_global.2 openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2)
vars_in_explicit after: $18load_global.4 openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4)
vars_in_explicit after: $28compare_op.8 openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8)
vars_in_explicit after: $30pred openmp_tag(QUAL.OMP.PRIVATE,$30pred)
vars_in_explicit after: $36compare_op.3 openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3)
vars_in_explicit after: $38pred openmp_tag(QUAL.OMP.PRIVATE,$38pred)
vars_in_explicit after: $40load_global.1 openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1)
vars_in_explicit after: $44load_global.3 openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3)
vars_in_explicit after: $46call_function.4 openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4)
vars_in_explicit after: $48call_function.5 openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5)
vars_in_explicit after: $const26.7 openmp_tag(QUAL.OMP.PRIVATE,$const26.7)
vars_in_explicit after: $const34.2 openmp_tag(QUAL.OMP.PRIVATE,$const34.2)
vars_in_explicit after: $const42.2 openmp_tag(QUAL.OMP.PRIVATE,$const42.2)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.DEVICE,0)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$cp)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,bool30)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,bool38)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,teamid)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,tid)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$30pred)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$38pred)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$const26.7)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$const34.2)
vars_in_explicit clauses after: openmp_tag(QUAL.OMP.PRIVATE,$const42.2)
get_explicit_vars: openmp_tag(QUAL.OMP.DEVICE,0) <class 'numba.openmp.openmp_tag'>
arg: 0 <class 'int'>
carg: 0 <class 'int'> False False
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$cp) <class 'numba.openmp.openmp_tag'>
arg: $cp <class 'str'>
carg: $cp <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,bool30) <class 'numba.openmp.openmp_tag'>
arg: bool30 <class 'str'>
carg: bool30 <class 'str'> True True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,bool38) <class 'numba.openmp.openmp_tag'>
arg: bool38 <class 'str'>
carg: bool38 <class 'str'> True True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,teamid) <class 'numba.openmp.openmp_tag'>
arg: teamid <class 'str'>
carg: teamid <class 'str'> True True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,tid) <class 'numba.openmp.openmp_tag'>
arg: tid <class 'str'>
carg: tid <class 'str'> True True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2) <class 'numba.openmp.openmp_tag'>
arg: $12load_global.2 <class 'str'>
carg: $12load_global.2 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4) <class 'numba.openmp.openmp_tag'>
arg: $18load_global.4 <class 'str'>
carg: $18load_global.4 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8) <class 'numba.openmp.openmp_tag'>
arg: $28compare_op.8 <class 'str'>
carg: $28compare_op.8 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$30pred) <class 'numba.openmp.openmp_tag'>
arg: $30pred <class 'str'>
carg: $30pred <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3) <class 'numba.openmp.openmp_tag'>
arg: $36compare_op.3 <class 'str'>
carg: $36compare_op.3 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$38pred) <class 'numba.openmp.openmp_tag'>
arg: $38pred <class 'str'>
carg: $38pred <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1) <class 'numba.openmp.openmp_tag'>
arg: $40load_global.1 <class 'str'>
carg: $40load_global.1 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3) <class 'numba.openmp.openmp_tag'>
arg: $44load_global.3 <class 'str'>
carg: $44load_global.3 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4) <class 'numba.openmp.openmp_tag'>
arg: $46call_function.4 <class 'str'>
carg: $46call_function.4 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5) <class 'numba.openmp.openmp_tag'>
arg: $48call_function.5 <class 'str'>
carg: $48call_function.5 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$const26.7) <class 'numba.openmp.openmp_tag'>
arg: $const26.7 <class 'str'>
carg: $const26.7 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$const34.2) <class 'numba.openmp.openmp_tag'>
arg: $const34.2 <class 'str'>
carg: $const34.2 <class 'str'> False True
get_explicit_vars: openmp_tag(QUAL.OMP.PRIVATE,$const42.2) <class 'numba.openmp.openmp_tag'>
arg: $const42.2 <class 'str'>
carg: $const42.2 <class 'str'> False True
post get_explicit_vars: ['bool30', 'bool38', 'teamid', 'tid']
vars_in_explicit post: bool30 openmp_tag(QUAL.OMP.PRIVATE,bool30)
vars_in_explicit post: bool38 openmp_tag(QUAL.OMP.PRIVATE,bool38)
vars_in_explicit post: teamid openmp_tag(QUAL.OMP.PRIVATE,teamid)
vars_in_explicit post: tid openmp_tag(QUAL.OMP.PRIVATE,tid)
blocks_in_region: [8, 10, 32, 40, 87, 84, 68]
clause_privates: ['$cp'] <class 'dict'>
inputs_to_region: []
def_but_live_out: ['$cp']
live_out_copy: ['$cp']
private_to_region: ['$12load_global.2', '$18load_global.4', '$28compare_op.8', '$30pred', '$36compare_op.3', '$38pred', '$40load_global.1', '$44load_global.3', '$46call_function.4', '$48call_function.5', '$const26.7', '$const34.2', '$const42.2', 'bool30', 'bool38', 'teamid', 'tid']
tags: [openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2)]
tag_vars: ['$12load_global.2', '$18load_global.4', '$28compare_op.8', '$30pred', '$36compare_op.3', '$38pred', '$40load_global.1', '$44load_global.3', '$46call_function.4', '$48call_function.5', '$const26.7', '$const34.2', '$const42.2', '$cp', 'bool30', 'bool38', 'teamid', 'tid']
region ids openmp_region_end::__init__ 139703446686688 139703446686640
post-with-removal
0 :
$2load_global.0 = global(openmp: <numba.openmp._OpenmpContextType object at 0x7f0f42caa410>)
$const4.1 = const(str, target teams device(0))
$6call_function.2 = call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None)
$phi8.0 = $6call_function.2
jump 8
8 :
jump 8.1
8.1 :
openmp_region_start openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2) target=False
jump 10
10 :
$12load_global.2 = global(omp_get_thread_num: OpenmpExternalFunction(omp_get_thread_num))
tid = call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None)
$18load_global.4 = global(omp_get_team_num: OpenmpExternalFunction(omp_get_team_num))
teamid = call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None)
$const26.7 = const(int, 0)
$28compare_op.8 = tid == $const26.7
bool30 = global(bool: <class 'bool'>)
$30pred = call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None)
branch $30pred, 32, 68
32 :
$const34.2 = const(int, 0)
$36compare_op.3 = teamid == $const34.2
bool38 = global(bool: <class 'bool'>)
$38pred = call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None)
branch $38pred, 40, 84
40 :
$40load_global.1 = global(print: <built-in function print>)
$const42.2 = const(str, num teams)
$44load_global.3 = global(omp_get_num_teams: OpenmpExternalFunction(omp_get_num_teams))
$46call_function.4 = call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None)
print($const42.2, $46call_function.4)
$48call_function.5 = const(NoneType, None)
$cp = const(int, 0)
jump 87
54 :
$const54.1 = const(NoneType, None)
$const64.5 = const(NoneType, None)
$66return_value.6 = cast(value=$const64.5)
return $66return_value.6
68 :
$cp = const(int, 1)
jump 87
70 :
$const70.1 = const(NoneType, None)
$const80.5 = const(NoneType, None)
$82return_value.6 = cast(value=$const80.5)
return $82return_value.6
84 :
$cp = const(int, 2)
jump 87
86 :
$const86.1 = const(NoneType, None)
$const96.5 = const(NoneType, None)
$98return_value.6 = cast(value=$const96.5)
return $98return_value.6
87 :
pop_block
jump 88
88 :
openmp_region_end openmp_tag(DIR.OMP.END.TARGET.TEAMS,0)
$cp_rhs = const(int, 0)
$cp_check = $cp == $cp_rhs
branch $cp_check, 54, 89
89 :
$cp_rhs = const(int, 1)
$cp_check = $cp == $cp_rhs
branch $cp_check, 70, 90
90 :
$cp_rhs = const(int, 2)
$cp_check = $cp == $cp_rhs
branch $cp_check, 86, 91
91 :
jump 86
region ids lower:block 139703446686640 openmp_region_start openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2) target=False 139703446689712 %"B8.1" = B8.1: <class 'llvmlite.ir.values.Block'> [openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2)] 22 builder_id: 139703446690336 block_id: 139703446689712
block post copy: 0 139703446696912 139703446752768
block post copy: 8 139703446687840 139703448751552
block post copy: 8.1 139703446686352 139703446821568
block post copy: 10 139703446689856 139703448499200
block post copy: 32 139703446683808 139703448415104
block post copy: 40 139703446685200 139703447148672
block post copy: 54 139703446688560 139703447148416
block post copy: 68 139703446687792 139703448763520
block post copy: 70 139703446688224 139703447148800
block post copy: 84 139703446692160 139703446762624
block post copy: 86 139703446687696 139703447147968
block post copy: 87 139703446696672 139703447147904
block post copy: 88 139703446695904 139703446820992
block post copy: 89 139703446697536 139703446752128
block post copy: 90 139703446690816 139703446816576
block post copy: 91 139703446686496 139703447148608
otag: openmp_tag(DIR.OMP.TARGET.TEAMS,0) <class 'int'>
otag: openmp_tag(QUAL.OMP.NUM_TEAMS,0) <class 'int'>
otag: openmp_tag(QUAL.OMP.THREAD_LIMIT,0) <class 'int'>
otag: openmp_tag(QUAL.OMP.DEVICE,0) <class 'int'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$cp) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,bool30) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,bool38) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,teamid) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,tid) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$30pred) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$38pred) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$const26.7) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$const34.2) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$const42.2) <class 'str'>
after LLVM tag filter [openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2)] 22
otag: openmp_tag(DIR.OMP.TARGET.TEAMS,0) <class 'int'>
otag: openmp_tag(QUAL.OMP.NUM_TEAMS,0) <class 'int'>
otag: openmp_tag(QUAL.OMP.THREAD_LIMIT,0) <class 'int'>
otag: openmp_tag(QUAL.OMP.DEVICE,0) <class 'int'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$cp) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,bool30) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,bool38) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,teamid) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,tid) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$30pred) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$38pred) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$const26.7) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$const34.2) <class 'str'>
otag: openmp_tag(QUAL.OMP.PRIVATE,$const42.2) <class 'str'>
visit_vars before openmp_tag(DIR.OMP.TARGET.TEAMS,0) <class 'int'>
visit_vars after openmp_tag(DIR.OMP.TARGET.TEAMS,0)
visit_vars before openmp_tag(QUAL.OMP.NUM_TEAMS,0) <class 'int'>
visit_vars after openmp_tag(QUAL.OMP.NUM_TEAMS,0)
visit_vars before openmp_tag(QUAL.OMP.THREAD_LIMIT,0) <class 'int'>
visit_vars after openmp_tag(QUAL.OMP.THREAD_LIMIT,0)
visit_vars before openmp_tag(QUAL.OMP.DEVICE,0) <class 'int'>
visit_vars after openmp_tag(QUAL.OMP.DEVICE,0)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$cp) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$cp)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,bool30) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,bool30)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,bool38) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,bool38)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,teamid) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,teamid)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,tid) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,tid)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$30pred) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$30pred)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$38pred) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$38pred)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$const26.7) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$const26.7)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$const34.2) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$const34.2)
visit_vars before openmp_tag(QUAL.OMP.PRIVATE,$const42.2) <class 'str'>
visit_vars after openmp_tag(QUAL.OMP.PRIVATE,$const42.2)
visit_vars before openmp_tag(DIR.OMP.END.TARGET.TEAMS,0) <class 'int'>
visit_vars after openmp_tag(DIR.OMP.END.TARGET.TEAMS,0)
new selected device: 0
tag in target: openmp_tag(DIR.OMP.TARGET.TEAMS,0) <class 'int'>
tag in target: openmp_tag(QUAL.OMP.NUM_TEAMS,0) <class 'int'>
tag in target: openmp_tag(QUAL.OMP.THREAD_LIMIT,0) <class 'int'>
tag in target: openmp_tag(QUAL.OMP.DEVICE,0) <class 'int'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$cp) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,bool30) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,bool38) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,teamid) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,tid) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$30pred) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$38pred) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$const26.7) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$const34.2) <class 'str'>
tag in target: openmp_tag(QUAL.OMP.PRIVATE,$const42.2) <class 'str'>
openmp start region lower has target <class 'numba.core.ir.FunctionIR'>
----------------------------IR original func_ir: inc----------------------------
label 0:
$2load_global.0 = global(openmp: <numba.openmp._OpenmpContextType object at 0x7f0f42caa410>) ['$2load_global.0']
$const4.1 = const(str, target teams device(0)) ['$const4.1']
$6call_function.2 = call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None) ['$2load_global.0', '$6call_function.2', '$const4.1']
del $const4.1 []
del $2load_global.0 []
$phi8.0 = $6call_function.2 ['$6call_function.2', '$phi8.0']
del $phi8.0 []
del $6call_function.2 []
jump 8 []
label 8:
jump 8.1 []
label 8.1:
openmp_region_start openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2) target=False []
jump 10 []
label 10:
$12load_global.2 = global(omp_get_thread_num: OpenmpExternalFunction(omp_get_thread_num)) ['$12load_global.2']
tid = call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$12load_global.2', 'tid']
del $12load_global.2 []
$18load_global.4 = global(omp_get_team_num: OpenmpExternalFunction(omp_get_team_num)) ['$18load_global.4']
teamid = call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$18load_global.4', 'teamid']
del $18load_global.4 []
$const26.7 = const(int, 0) ['$const26.7']
$28compare_op.8 = tid == $const26.7 ['$28compare_op.8', '$const26.7', 'tid']
del tid []
del $const26.7 []
bool30 = global(bool: <class 'bool'>) ['bool30']
$30pred = call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$28compare_op.8', '$30pred', 'bool30']
del bool30 []
del $28compare_op.8 []
branch $30pred, 32, 68 ['$30pred']
label 32:
del $30pred []
$const34.2 = const(int, 0) ['$const34.2']
$36compare_op.3 = teamid == $const34.2 ['$36compare_op.3', '$const34.2', 'teamid']
del teamid []
del $const34.2 []
bool38 = global(bool: <class 'bool'>) ['bool38']
$38pred = call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$36compare_op.3', '$38pred', 'bool38']
del bool38 []
del $36compare_op.3 []
branch $38pred, 40, 84 ['$38pred']
label 40:
del $38pred []
$40load_global.1 = global(print: <built-in function print>) ['$40load_global.1']
del $40load_global.1 []
$const42.2 = const(str, num teams) ['$const42.2']
$44load_global.3 = global(omp_get_num_teams: OpenmpExternalFunction(omp_get_num_teams)) ['$44load_global.3']
$46call_function.4 = call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$44load_global.3', '$46call_function.4']
del $44load_global.3 []
print($const42.2, $46call_function.4) ['$46call_function.4', '$const42.2']
del $const42.2 []
del $46call_function.4 []
$48call_function.5 = const(NoneType, None) ['$48call_function.5']
del $48call_function.5 []
$cp = const(int, 0) ['$cp']
jump 87 []
label 54:
del $cp_check []
del $cp []
$const54.1 = const(NoneType, None) ['$const54.1']
del $const54.1 []
$const64.5 = const(NoneType, None) ['$const64.5']
$66return_value.6 = cast(value=$const64.5) ['$66return_value.6', '$const64.5']
del $const64.5 []
return $66return_value.6 ['$66return_value.6']
label 68:
del teamid []
del $30pred []
$cp = const(int, 1) ['$cp']
jump 87 []
label 70:
del $cp_check []
del $cp []
$const70.1 = const(NoneType, None) ['$const70.1']
del $const70.1 []
$const80.5 = const(NoneType, None) ['$const80.5']
$82return_value.6 = cast(value=$const80.5) ['$82return_value.6', '$const80.5']
del $const80.5 []
return $82return_value.6 ['$82return_value.6']
label 84:
del $38pred []
$cp = const(int, 2) ['$cp']
jump 87 []
label 86:
del $cp_check []
$const86.1 = const(NoneType, None) ['$const86.1']
del $const86.1 []
$const96.5 = const(NoneType, None) ['$const96.5']
$98return_value.6 = cast(value=$const96.5) ['$98return_value.6', '$const96.5']
del $const96.5 []
return $98return_value.6 ['$98return_value.6']
label 87:
pop_block []
jump 88 []
label 88:
openmp_region_end openmp_tag(DIR.OMP.END.TARGET.TEAMS,0) []
$cp_rhs = const(int, 0) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
del $cp_rhs []
branch $cp_check, 54, 89 ['$cp_check']
label 89:
$cp_rhs = const(int, 1) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
del $cp_rhs []
branch $cp_check, 70, 90 ['$cp_check']
label 90:
$cp_rhs = const(int, 2) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
del $cp_rhs []
del $cp []
branch $cp_check, 86, 91 ['$cp_check']
label 91:
del $cp_check []
jump 86 []
----------------------------------------
-----------------------------IR copied func_ir: inc-----------------------------
label 0:
$2load_global.0 = global(openmp: <numba.openmp._OpenmpContextType object at 0x7f0f42caa410>) ['$2load_global.0']
$const4.1 = const(str, target teams device(0)) ['$const4.1']
$6call_function.2 = call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None) ['$2load_global.0', '$6call_function.2', '$const4.1']
del $const4.1 []
del $2load_global.0 []
$phi8.0 = $6call_function.2 ['$6call_function.2', '$phi8.0']
del $phi8.0 []
del $6call_function.2 []
jump 8 []
label 8:
jump 8.1 []
label 8.1:
openmp_region_start openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2) target=False []
jump 10 []
label 10:
$12load_global.2 = global(omp_get_thread_num: OpenmpExternalFunction(omp_get_thread_num)) ['$12load_global.2']
tid = call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$12load_global.2', 'tid']
del $12load_global.2 []
$18load_global.4 = global(omp_get_team_num: OpenmpExternalFunction(omp_get_team_num)) ['$18load_global.4']
teamid = call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$18load_global.4', 'teamid']
del $18load_global.4 []
$const26.7 = const(int, 0) ['$const26.7']
$28compare_op.8 = tid == $const26.7 ['$28compare_op.8', '$const26.7', 'tid']
del tid []
del $const26.7 []
bool30 = global(bool: <class 'bool'>) ['bool30']
$30pred = call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$28compare_op.8', '$30pred', 'bool30']
del bool30 []
del $28compare_op.8 []
branch $30pred, 32, 68 ['$30pred']
label 32:
del $30pred []
$const34.2 = const(int, 0) ['$const34.2']
$36compare_op.3 = teamid == $const34.2 ['$36compare_op.3', '$const34.2', 'teamid']
del teamid []
del $const34.2 []
bool38 = global(bool: <class 'bool'>) ['bool38']
$38pred = call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$36compare_op.3', '$38pred', 'bool38']
del bool38 []
del $36compare_op.3 []
branch $38pred, 40, 84 ['$38pred']
label 40:
del $38pred []
$40load_global.1 = global(print: <built-in function print>) ['$40load_global.1']
del $40load_global.1 []
$const42.2 = const(str, num teams) ['$const42.2']
$44load_global.3 = global(omp_get_num_teams: OpenmpExternalFunction(omp_get_num_teams)) ['$44load_global.3']
$46call_function.4 = call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$44load_global.3', '$46call_function.4']
del $44load_global.3 []
print($const42.2, $46call_function.4) ['$46call_function.4', '$const42.2']
del $const42.2 []
del $46call_function.4 []
$48call_function.5 = const(NoneType, None) ['$48call_function.5']
del $48call_function.5 []
$cp = const(int, 0) ['$cp']
jump 87 []
label 54:
del $cp_check []
del $cp []
$const54.1 = const(NoneType, None) ['$const54.1']
del $const54.1 []
$const64.5 = const(NoneType, None) ['$const64.5']
$66return_value.6 = cast(value=$const64.5) ['$66return_value.6', '$const64.5']
del $const64.5 []
return $66return_value.6 ['$66return_value.6']
label 68:
del teamid []
del $30pred []
$cp = const(int, 1) ['$cp']
jump 87 []
label 70:
del $cp_check []
del $cp []
$const70.1 = const(NoneType, None) ['$const70.1']
del $const70.1 []
$const80.5 = const(NoneType, None) ['$const80.5']
$82return_value.6 = cast(value=$const80.5) ['$82return_value.6', '$const80.5']
del $const80.5 []
return $82return_value.6 ['$82return_value.6']
label 84:
del $38pred []
$cp = const(int, 2) ['$cp']
jump 87 []
label 86:
del $cp_check []
$const86.1 = const(NoneType, None) ['$const86.1']
del $const86.1 []
$const96.5 = const(NoneType, None) ['$const96.5']
$98return_value.6 = cast(value=$const96.5) ['$98return_value.6', '$const96.5']
del $const96.5 []
return $98return_value.6 ['$98return_value.6']
label 87:
pop_block []
jump 88 []
label 88:
openmp_region_end openmp_tag(DIR.OMP.END.TARGET.TEAMS,0) []
$cp_rhs = const(int, 0) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
del $cp_rhs []
branch $cp_check, 54, 89 ['$cp_check']
label 89:
$cp_rhs = const(int, 1) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
del $cp_rhs []
branch $cp_check, 70, 90 ['$cp_check']
label 90:
$cp_rhs = const(int, 2) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
del $cp_rhs []
del $cp []
branch $cp_check, 86, 91 ['$cp_check']
label 91:
del $cp_check []
jump 86 []
----------------------------------------
region ids block post copy: 0 139703446696912 139703448737616 139703446752768 139703448577664
region ids block post copy: 8 139703446687840 139703448735504 139703448751552 139703446765248
region ids block post copy: 8.1 139703446686352 139703448735312 139703446821568 139703446765376
region ids block post copy: 10 139703446689856 139703448735216 139703448499200 139703446750208
region ids block post copy: 32 139703446683808 139703448735168 139703448415104 139703446765504
region ids block post copy: 40 139703446685200 139703448734976 139703447148672 139703446765440
region ids block post copy: 54 139703446688560 139703448734880 139703447148416 139703446815424
region ids block post copy: 68 139703446687792 139703448734832 139703448763520 139703446814912
region ids block post copy: 70 139703446688224 139703448734352 139703447148800 139703446815232
region ids block post copy: 84 139703446692160 139703448734256 139703446762624 139703446750016
region ids block post copy: 86 139703446687696 139703448734208 139703447147968 139703446750720
region ids block post copy: 87 139703446696672 139703448734016 139703447147904 139703446764736
region ids block post copy: 88 139703446695904 139703448733920 139703446820992 139703446765312
region ids block post copy: 89 139703446697536 139703448734112 139703446752128 139703446764992
region ids block post copy: 90 139703446690816 139703448733728 139703446816576 139703446765056
region ids block post copy: 91 139703446686496 139703448733536 139703447148608 139703447157824
-----------------------IR func_ir after remove_dels: inc------------------------
label 0:
$2load_global.0 = global(openmp: <numba.openmp._OpenmpContextType object at 0x7f0f42caa410>) ['$2load_global.0']
$const4.1 = const(str, target teams device(0)) ['$const4.1']
$6call_function.2 = call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None) ['$2load_global.0', '$6call_function.2', '$const4.1']
$phi8.0 = $6call_function.2 ['$6call_function.2', '$phi8.0']
jump 8 []
label 8:
jump 8.1 []
label 8.1:
openmp_region_start openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2) target=False []
jump 10 []
label 10:
$12load_global.2 = global(omp_get_thread_num: OpenmpExternalFunction(omp_get_thread_num)) ['$12load_global.2']
tid = call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$12load_global.2', 'tid']
$18load_global.4 = global(omp_get_team_num: OpenmpExternalFunction(omp_get_team_num)) ['$18load_global.4']
teamid = call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$18load_global.4', 'teamid']
$const26.7 = const(int, 0) ['$const26.7']
$28compare_op.8 = tid == $const26.7 ['$28compare_op.8', '$const26.7', 'tid']
bool30 = global(bool: <class 'bool'>) ['bool30']
$30pred = call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$28compare_op.8', '$30pred', 'bool30']
branch $30pred, 32, 68 ['$30pred']
label 32:
$const34.2 = const(int, 0) ['$const34.2']
$36compare_op.3 = teamid == $const34.2 ['$36compare_op.3', '$const34.2', 'teamid']
bool38 = global(bool: <class 'bool'>) ['bool38']
$38pred = call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$36compare_op.3', '$38pred', 'bool38']
branch $38pred, 40, 84 ['$38pred']
label 40:
$40load_global.1 = global(print: <built-in function print>) ['$40load_global.1']
$const42.2 = const(str, num teams) ['$const42.2']
$44load_global.3 = global(omp_get_num_teams: OpenmpExternalFunction(omp_get_num_teams)) ['$44load_global.3']
$46call_function.4 = call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$44load_global.3', '$46call_function.4']
print($const42.2, $46call_function.4) ['$46call_function.4', '$const42.2']
$48call_function.5 = const(NoneType, None) ['$48call_function.5']
$cp = const(int, 0) ['$cp']
jump 87 []
label 54:
$const54.1 = const(NoneType, None) ['$const54.1']
$const64.5 = const(NoneType, None) ['$const64.5']
$66return_value.6 = cast(value=$const64.5) ['$66return_value.6', '$const64.5']
return $66return_value.6 ['$66return_value.6']
label 68:
$cp = const(int, 1) ['$cp']
jump 87 []
label 70:
$const70.1 = const(NoneType, None) ['$const70.1']
$const80.5 = const(NoneType, None) ['$const80.5']
$82return_value.6 = cast(value=$const80.5) ['$82return_value.6', '$const80.5']
return $82return_value.6 ['$82return_value.6']
label 84:
$cp = const(int, 2) ['$cp']
jump 87 []
label 86:
$const86.1 = const(NoneType, None) ['$const86.1']
$const96.5 = const(NoneType, None) ['$const96.5']
$98return_value.6 = cast(value=$const96.5) ['$98return_value.6', '$const96.5']
return $98return_value.6 ['$98return_value.6']
label 87:
pop_block []
jump 88 []
label 88:
openmp_region_end openmp_tag(DIR.OMP.END.TARGET.TEAMS,0) []
$cp_rhs = const(int, 0) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 54, 89 ['$cp_check']
label 89:
$cp_rhs = const(int, 1) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 70, 90 ['$cp_check']
label 90:
$cp_rhs = const(int, 2) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 86, 91 ['$cp_check']
label 91:
jump 86 []
----------------------------------------
context: <numba.openmp.CustomContext object at 0x7f0f3e5074c0> <class 'numba.openmp.CustomContext'>
targetctx: <numba.openmp.CustomContext object at 0x7f0f3e5074c0> <class 'numba.openmp.CustomContext'>
state: {'typemap': {'bool30': Function(<class 'bool'>), 'bool38': Function(<class 'bool'>), 'teamid': int32, 'tid': int32, '$12load_global.2': OpenmpExternalFunction(omp_get_thread_num), '$18load_global.4': OpenmpExternalFunction(omp_get_team_num), '$28compare_op.8': bool, '$2load_global.0': ContextManager(<numba.openmp._OpenmpContextType object at 0x7f0f42caa410>), '$30pred': bool, '$36compare_op.3': bool, '$38pred': bool, '$40load_global.1': Function(<built-in function print>), '$44load_global.3': OpenmpExternalFunction(omp_get_num_teams), '$46call_function.4': int32, '$48call_function.5': none, '$66return_value.6': none, '$6call_function.2': ContextManager(<numba.openmp._OpenmpContextType object at 0x7f0f42caa410>), '$82return_value.6': none, '$98return_value.6': none, '$const26.7': Literal[int](0), '$const34.2': Literal[int](0), '$const4.1': Literal[str](target teams device(0)), '$const42.2': Literal[str](num teams), '$const54.1': none, '$const64.5': none, '$const70.1': none, '$const80.5': none, '$const86.1': none, '$const96.5': none, '$cp': int64, '$cp_check': bool, '$cp_rhs': int64, '$phi8.0': ContextManager(<numba.openmp._OpenmpContextType object at 0x7f0f42caa410>)}, 'calltypes': {call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None): (Literal[str](target teams device(0)),) -> ContextManager(<numba.openmp._OpenmpContextType object at 0x7f0f42caa410>), call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None): () -> int32, call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None): () -> int32, tid == $const26.7: (int64, int64) -> bool, call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None): (bool,) -> bool, teamid == $const34.2: (int64, int64) -> bool, call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None): (bool,) -> bool, call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None): () -> int32, <numba.core.ir.Print object at 0x7f0f3e6a4a30>: (unicode_type, int32) -> none, $cp == $cp_rhs: (int64, int64) -> bool, $cp == $cp_rhs: (int64, int64) -> bool, $cp == $cp_rhs: (int64, int64) -> bool, call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None): (Literal[str](target teams device(0)),) -> ContextManager(<numba.openmp._OpenmpContextType object at 0x7f0f42caa410>), call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None): () -> int32, call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None): () -> int32, tid == $const26.7: (int64, int64) -> bool, call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None): (bool,) -> bool, teamid == $const34.2: (int64, int64) -> bool, call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None): (bool,) -> bool, call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None): () -> int32, <numba.core.ir.Print object at 0x7f0f3e59eec0>: (unicode_type, int32) -> none, $cp == $cp_rhs: (int64, int64) -> bool, $cp == $cp_rhs: (int64, int64) -> bool, $cp == $cp_rhs: (int64, int64) -> bool}, 'argtypes': (), 'return_type': none} ['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
fndesc: <function descriptor 'inc$2'> <class 'numba.core.funcdesc.PythonFunctionDescriptor'>
func_ir type: <class 'numba.core.ir.FunctionIR'>
-----------------------------IR target func_ir: inc-----------------------------
label 0:
$2load_global.0 = global(openmp: <numba.openmp._OpenmpContextType object at 0x7f0f42caa410>) ['$2load_global.0']
$const4.1 = const(str, target teams device(0)) ['$const4.1']
$6call_function.2 = call $2load_global.0($const4.1, func=$2load_global.0, args=[Var($const4.1, test.py:8)], kws=(), vararg=None, varkwarg=None, target=None) ['$2load_global.0', '$6call_function.2', '$const4.1']
$phi8.0 = $6call_function.2 ['$6call_function.2', '$phi8.0']
jump 8 []
label 8:
jump 8.1 []
label 8.1:
openmp_region_start openmp_tag(DIR.OMP.TARGET.TEAMS,0), openmp_tag(QUAL.OMP.NUM_TEAMS,0), openmp_tag(QUAL.OMP.THREAD_LIMIT,0), openmp_tag(QUAL.OMP.DEVICE,0), openmp_tag(QUAL.OMP.PRIVATE,$cp), openmp_tag(QUAL.OMP.PRIVATE,bool30), openmp_tag(QUAL.OMP.PRIVATE,bool38), openmp_tag(QUAL.OMP.PRIVATE,teamid), openmp_tag(QUAL.OMP.PRIVATE,tid), openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2), openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4), openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8), openmp_tag(QUAL.OMP.PRIVATE,$30pred), openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3), openmp_tag(QUAL.OMP.PRIVATE,$38pred), openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1), openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3), openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4), openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5), openmp_tag(QUAL.OMP.PRIVATE,$const26.7), openmp_tag(QUAL.OMP.PRIVATE,$const34.2), openmp_tag(QUAL.OMP.PRIVATE,$const42.2), openmp_tag(OMP.DEVICE,None) target=True []
jump 10 []
label 10:
$12load_global.2 = global(omp_get_thread_num: OpenmpExternalFunction(omp_get_thread_num)) ['$12load_global.2']
tid = call $12load_global.2(func=$12load_global.2, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$12load_global.2', 'tid']
$18load_global.4 = global(omp_get_team_num: OpenmpExternalFunction(omp_get_team_num)) ['$18load_global.4']
teamid = call $18load_global.4(func=$18load_global.4, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$18load_global.4', 'teamid']
$const26.7 = const(int, 0) ['$const26.7']
$28compare_op.8 = tid == $const26.7 ['$28compare_op.8', '$const26.7', 'tid']
bool30 = global(bool: <class 'bool'>) ['bool30']
$30pred = call bool30($28compare_op.8, func=bool30, args=(Var($28compare_op.8, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$28compare_op.8', '$30pred', 'bool30']
branch $30pred, 32, 68 ['$30pred']
label 32:
$const34.2 = const(int, 0) ['$const34.2']
$36compare_op.3 = teamid == $const34.2 ['$36compare_op.3', '$const34.2', 'teamid']
bool38 = global(bool: <class 'bool'>) ['bool38']
$38pred = call bool38($36compare_op.3, func=bool38, args=(Var($36compare_op.3, test.py:11),), kws=(), vararg=None, varkwarg=None, target=None) ['$36compare_op.3', '$38pred', 'bool38']
branch $38pred, 40, 84 ['$38pred']
label 40:
$40load_global.1 = global(print: <built-in function print>) ['$40load_global.1']
$const42.2 = const(str, num teams) ['$const42.2']
$44load_global.3 = global(omp_get_num_teams: OpenmpExternalFunction(omp_get_num_teams)) ['$44load_global.3']
$46call_function.4 = call $44load_global.3(func=$44load_global.3, args=[], kws=(), vararg=None, varkwarg=None, target=None) ['$44load_global.3', '$46call_function.4']
print($const42.2, $46call_function.4) ['$46call_function.4', '$const42.2']
$48call_function.5 = const(NoneType, None) ['$48call_function.5']
$cp = const(int, 0) ['$cp']
jump 87 []
label 54:
$const54.1 = const(NoneType, None) ['$const54.1']
$const64.5 = const(NoneType, None) ['$const64.5']
$66return_value.6 = cast(value=$const64.5) ['$66return_value.6', '$const64.5']
return $66return_value.6 ['$66return_value.6']
label 68:
$cp = const(int, 1) ['$cp']
jump 87 []
label 70:
$const70.1 = const(NoneType, None) ['$const70.1']
$const80.5 = const(NoneType, None) ['$const80.5']
$82return_value.6 = cast(value=$const80.5) ['$82return_value.6', '$const80.5']
return $82return_value.6 ['$82return_value.6']
label 84:
$cp = const(int, 2) ['$cp']
jump 87 []
label 86:
$const86.1 = const(NoneType, None) ['$const86.1']
$const96.5 = const(NoneType, None) ['$const96.5']
$98return_value.6 = cast(value=$const96.5) ['$98return_value.6', '$const96.5']
return $98return_value.6 ['$98return_value.6']
label 87:
pop_block []
jump 88 []
label 88:
openmp_region_end openmp_tag(DIR.OMP.END.TARGET.TEAMS,0) []
$cp_rhs = const(int, 0) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 54, 89 ['$cp_check']
label 89:
$cp_rhs = const(int, 1) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 70, 90 ['$cp_check']
label 90:
$cp_rhs = const(int, 2) ['$cp_rhs']
$cp_check = $cp == $cp_rhs ['$cp', '$cp_check', '$cp_rhs']
branch $cp_check, 86, 91 ['$cp_check']
label 91:
jump 86 []
----------------------------------------
start_block: 8.1
end_block: 88
lower blocks_in_region: [8.1, 10, 32, 40, 87, 84, 68]
ivs ins [] [] ['$cp']
ins: [] <class 'list'>
outs: ['$cp'] <class 'list'>
rettype: none <class 'numba.core.types.misc.NoneType'>
target_args_unordered: ['$cp']
region_info: loop_lift_info(loop=None, inputs=[], outputs=(), callfrom=8.1, returnto=88)
1 target_arg? openmp_tag(DIR.OMP.TARGET.TEAMS,0) False False
1 target_arg? openmp_tag(QUAL.OMP.NUM_TEAMS,0) False False
1 target_arg? openmp_tag(QUAL.OMP.THREAD_LIMIT,0) False False
1 target_arg? openmp_tag(QUAL.OMP.DEVICE,0) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$cp) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,bool30) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,bool38) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,teamid) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,tid) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$12load_global.2) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$18load_global.4) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$28compare_op.8) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$30pred) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$36compare_op.3) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$38pred) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$40load_global.1) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$44load_global.3) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$46call_function.4) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$48call_function.5) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$const26.7) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$const34.2) False False
1 target_arg? openmp_tag(QUAL.OMP.PRIVATE,$const42.2) False False
target_args: []
target_args_unordered: ['$cp']
outline_arg_typs: []
extras_before: [] 8.1