Esempio n. 1
0
def asm_split_pairings ():
	pairs = [(s, 'Loop.' + s) for s in afunctions]
	target_objects.use_hooks.add ('stack_logic')
	import stack_logic
	stack_bounds = '%s/StackBounds.txt' % target_dir
	new_pairings = stack_logic.mk_stack_pairings (pairs, stack_bounds)
	pairings.update (new_pairings)
Esempio n. 2
0
def asm_split_pairings ():
	pairs = [(s, 'Loop.' + s) for s in ['f', 'g']]
	target_objects.use_hooks.add ('stack_logic')
	import stack_logic
	stack_bounds = '%s/StackBounds.txt' % target_dir
	new_pairings = stack_logic.mk_stack_pairings (pairs, stack_bounds)
	pairings.update (new_pairings)
Esempio n. 3
0
def make_pairings ():
	pairs = [(s, 'Kernel_C.' + s) for s in functions
		if ('Kernel_C.' + s) in functions]
	target_objects.use_hooks.add ('stack_logic')
	import stack_logic
	stack_bounds = '%s/StackBounds.txt' % target_dir
	new_pairings = stack_logic.mk_stack_pairings (pairs, stack_bounds)
	pairings.update (new_pairings)
Esempio n. 4
0
def make_pairings ():
	pairs = [(s, 'Kernel_C.' + s) for s in functions
		if ('Kernel_C.' + s) in functions]
	target_objects.use_hooks.add ('stack_logic')
	import stack_logic
	stack_bounds = '%s/StackBounds.txt' % target_dir
	new_pairings = stack_logic.mk_stack_pairings (pairs, stack_bounds)
	pairings.update (new_pairings)
Esempio n. 5
0
def asm_split_pairings ():
	pairs = [(s, 'Insertsort.' + s) for s in ['sort2','sort','main']]
	target_objects.use_hooks.add ('stack_logic')
	import stack_logic

	# Shim to ignore M0 clock counter
	def no_clock_loop_var_analysis (p, split):
		res = stack_logic.loop_var_analysis (p, split)
		if res == None or not stack_logic.is_asm_node (p, split):
			return res
		return [(var,data) for (var,data) in res
			if var.name != 'clock']
	target_objects.avail_hooks['loop_var_analysis']['stack_logic'] = no_clock_loop_var_analysis

	stack_bounds = '%s/StackBounds.txt' % target_dir
	new_pairings = stack_logic.mk_stack_pairings (pairs, stack_bounds)
	pairings.update (new_pairings)