This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [lno] Fix names of temporary variables in the vectorizer



On Jan 15, 2004, at 9:37 AM, Pop Sébastian wrote:


Hi,

The vectorizer prints strange names in my dump files: as an
example,

foo (n)
{
  <unnamed type> * <E0><9A>)@<C0><F2><FF><BF>.126;
  <unnamed type> T<BB>^U@0<F2><FF><BF>r.125;
[...]

I'm not sure why this happens, maybe a bad memory allocation in
vect_get_name_for_new_var?
....


- /* Function vect_get_name_for_new_var.
-
- Return a name for a new variable.
- The current naming scheme appends the prefix "_vect_" to all the
- vectorizer generated variables, and uses the name of a corresponding
- scalar variable VAR if given.
-
- CHECKME: alloca ok?
- CHECKME: naming scheme ok? */
-
- static char *
- vect_get_name_for_new_var (tree var)
- {
- const char *name = NULL;
- const char *prefix = "_vect_";
- const char *prefix_var = "_vect_var";
- int prefix_len;
- char *vec_var_name;
-
- if (var)
- name = get_name (var);
-
- if (name)
- {
- prefix_len = strlen (prefix);
- vec_var_name = alloca (strlen (name) + prefix_len + 1);
- sprintf (vec_var_name, "%s%s", prefix, name);
- }
- else
- {
- prefix_len = strlen (prefix_var);
- vec_var_name = alloca (prefix_len + 1);
- sprintf (vec_var_name, "%s", prefix_var);
- }
-
- return vec_var_name;
- }
-
-

Returning alloca'd memory might have been the problem ;)



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]