This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
PATCH: Minimize function calls in i386_register_reggroup_p
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: GDB <gdb-patches at sourceware dot org>
- Date: Fri, 19 Feb 2010 09:34:18 -0800
- Subject: PATCH: Minimize function calls in i386_register_reggroup_p
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
This patch minimizes function calls in i386_register_reggroup_p.
OK to install?
Thanks.
H.J.
---
2010-02-19 H.J. Lu <hongjiu.lu@intel.com>
* i386-tdep.c (i386_register_reggroup_p): Minimize function
calls.
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 83aa81f..608ba89 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -2803,20 +2803,24 @@ int
i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
struct reggroup *group)
{
- int sse_regnum_p = (i386_sse_regnum_p (gdbarch, regnum)
- || i386_mxcsr_regnum_p (gdbarch, regnum));
- int fp_regnum_p = (i386_fp_regnum_p (gdbarch, regnum)
- || i386_fpc_regnum_p (gdbarch, regnum));
- int mmx_regnum_p = (i386_mmx_regnum_p (gdbarch, regnum));
+ int sse_regnum_p, fp_regnum_p, mmx_regnum_p;
+ mmx_regnum_p = i386_mmx_regnum_p (gdbarch, regnum);
if (group == i386_mmx_reggroup)
return mmx_regnum_p;
+
+ sse_regnum_p = (i386_sse_regnum_p (gdbarch, regnum)
+ || i386_mxcsr_regnum_p (gdbarch, regnum));
if (group == i386_sse_reggroup)
return sse_regnum_p;
if (group == vector_reggroup)
- return (mmx_regnum_p || sse_regnum_p);
+ return mmx_regnum_p || sse_regnum_p;
+
+ fp_regnum_p = (i386_fp_regnum_p (gdbarch, regnum)
+ || i386_fpc_regnum_p (gdbarch, regnum));
if (group == float_reggroup)
return fp_regnum_p;
+
if (group == general_reggroup)
return (!fp_regnum_p && !mmx_regnum_p && !sse_regnum_p);