This is the mail archive of the gcc@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]

is_gimple_tmp_var, is_gimple_reg, and is_gimple_reg_type


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.


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