is_gimple_tmp_var, is_gimple_reg, and is_gimple_reg_type

Nathanael Nerode neroden@fastmail.fm
Mon Aug 16 13:51:00 GMT 2004


OK, I'm stumped.  When can you have a GIMPLE temporary variable
(is_gimple_tmp_var)
which is *not* is_gimple_reg ?

is_gimple_reg (tree t)
{
  if (TREE_CODE (t) == SSA_NAME) <-- not a GIMPLE temporary variable
    t = SSA_NAME_VAR (t);

  return (is_gimple_variable (t) <-- always true for GIMPLE temporaries
          && is_gimple_reg_type (TREE_TYPE (t)) <-- Do we create temps of
                                                    aggregate type?
          /* A volatile decl is not acceptable because we can't reuse it as
             needed.  We need to copy it into a temp first.  */
          && ! TREE_THIS_VOLATILE (t) <-- Do we create volatile temps?!?
          && ! needs_to_live_in_memory (t)); <-- Do we create temps which
                                                 need to live in memory?

-- 
This space intentionally left blank.



More information about the Gcc mailing list