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: PATCH: new port: Moxie


green@moxielogic.com wrote:
> Joseph wrote:
>> The libgcc files need to use the new GPLv3+exception wording, not the old 
>> GPLv2+exception.
> etc etc
> 
> I believe that the patch below addresses all of your comments.  Ok to
> commit?

These in moxie.c:

+#undef  TARGET_PROMOTE_FUNCTION_ARGS
+#define TARGET_PROMOTE_FUNCTION_ARGS   hook_bool_const_tree_true
+#undef  TARGET_PROMOTE_FUNCTION_RETURN
+#define TARGET_PROMOTE_FUNCTION_RETURN hook_bool_const_tree_true

should be unnecessary without either of PROMOTE_MODE and
PROMOTE_FUNCTION_MODE defined.

Also, this in moxie.h:

+#ifdef REG_OK_STRICT
+#define REGNO_OK_FOR_BASE_P(NUM)                 \
+  (((NUM < FIRST_PSEUDO_REGISTER)                \
+    && ((REGNO_REG_CLASS(NUM) == GENERAL_REGS)   \
+        || (NUM == HARD_FRAME_POINTER_REGNUM))))
+#else
+#define REGNO_OK_FOR_BASE_P(NUM)                 \
+  ((REGNO_REG_CLASS(NUM) == GENERAL_REGS)        \
+   || (NUM >= FIRST_PSEUDO_REGISTER))
+#endif

should be defined (looking at other ports) as

#define HARD_REGNO_OK_FOR_BASE_P(NUM)		\
 ((NUM) >= 0 && (NUM) < FIRST_PSEUDO_REGISTER	\
  && (REGNO_REG_CLASS(NUM) == GENERAL_REGS	\
      || (NUM) == HARD_FRAME_POINTER_REGNUM))

#ifdef REG_OK_STRICT
#define REGNO_OK_FOR_BASE_P(NUM)                 \
  (HARD_REGNO_OK_FOR_BASE_P(NUM) ||		 \
   HARD_REGNO_OK_FOR_BASE_P(reg_renumber[(NUM)])
#else
#define REGNO_OK_FOR_BASE_P(NUM)                 \
  ((NUM) >= FIRST_PSEUDO_REGISTER
   || HARD_REGNO_OK_FOR_BASE_P(NUM))
#endif

the difference being reg_renumber usage and that, for simplicity, I
allowed the frame pointer even in nonstrict mode.

Paolo


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