On 6/6/19 7:02 AM, Andrew MacLeod wrote: > On 6/6/19 6:20 AM, Martin Liška wrote: >> Hi. >> >> The code is dead: >> >> 757 char * >> 758 get_lsm_tmp_name (tree ref, unsigned n, const char *suffix) >> 759 { >> 760 char ns[2]; >> 761 >> 762 lsm_tmp_name_length = 0; >> 763 gen_lsm_tmp_name (ref); >> 764 lsm_tmp_name_add ("_lsm"); >> 765 if (n < 10) >> 766 { >> 767 ns[0] = '0' + n; >> 768 ns[1] = 0; >> 769 lsm_tmp_name_add (ns); >> 770 } >> 771 return lsm_tmp_name; >> 772 if (suffix != NULL) >> 773 lsm_tmp_name_add (suffix); >> 774 } >> >> Andrew is it a typo or an issue? >> Thanks, >> Martin > > Dunno. It was written in 2005. > 2005-08-16 Zdenek Dvorak <dvor...@suse.cz> > > * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name, > lsm_tmp_name_length): New. > (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New > functions. > (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp". > > The whole thing is a little odd since you cant get more than 10 tmp > names without suddenly all being the same name. > > I dont know anything about the code, my guess is the return should be > after the 'if'. the only callers appears to pass ~0 as the value for N. > execute_sm_if_changed_flag_set() adds '_flag' as a suffix and > execute_sm() calls it without the suffix. > > My guess is the return should be moved to the bottom so that those 2 get > different names, so it could be a problem as it is. Someone who know > the loop code better could comment.. So it looks like the code was "sensible" here:
> ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1844) get_lsm_tmp_name > (tree ref, unsigned n) > 840580de9cd8 (rakdver 2005-08-17 14:00:52 +0000 1845) { > ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1846) char ns[2]; > ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1847) > 840580de9cd8 (rakdver 2005-08-17 14:00:52 +0000 1848) > lsm_tmp_name_length = 0; > 840580de9cd8 (rakdver 2005-08-17 14:00:52 +0000 1849) gen_lsm_tmp_name > (ref); > 840580de9cd8 (rakdver 2005-08-17 14:00:52 +0000 1850) lsm_tmp_name_add > ("_lsm"); > ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1851) if (n < 10) > ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1852) { > ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1853) ns[0] = '0' + > n; > ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1854) ns[1] = 0; > ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1855) > lsm_tmp_name_add (ns); > ad4a85adaf8f (rakdver 2007-05-24 16:09:26 +0000 1856) } > 840580de9cd8 (rakdver 2005-08-17 14:00:52 +0000 1857) return > lsm_tmp_name; > 840580de9cd8 (rakdver 2005-08-17 14:00:52 +0000 1858) } But got scrambled as part of your change to move things around here: > commit f86b328b32d171e9f2c5274ea7bc2dd3e92ad827 > Author: amacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4> > Date: Wed Oct 9 13:09:23 2013 +0000 > > * tree-flow.h: Move some protoypes. Include new tree-ssa-loop.h. > (struct affine_iv, struct tree_niter_desc): Move to > tree-ssa-loop.h. > (enum move_pos): Move to tree-ssa-loop-im.h > * cfgloop.h: Move some prototypes. > (gcov_type_to_double_int): relocate from tree-ssa-loop.niter.c. > * tree-flow-inline.h (loop_containing_stmt): Move to > tree-ssa-loop.h. > * tree-ssa-loop.h: New File. Include other tree-ssa-loop-*.h > files. > (struct affine_iv, struct tree_niter_desc): Relocate from > tree-flow.h. > (loop_containing_stmt): Relocate from tree-flow-inline.h. > * tree-ssa-loop-ch.c: (do_while_loop_p): Make static. > * tree-ssa-loop-im.c (for_each_index): Move to tree-ssa-loop.c. > (enum move_pos): Relocate here. > (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): Move to > tree-ssa-loop.c. [ ... ] Jeff