This is the mail archive of the
cgen@sourceware.org
mailing list for the CGEN project.
[patch][commit] Parallel Write Fixes
- From: Dave Brolley <brolley at redhat dot com>
- To: cgen at sources dot redhat dot com, sid at sources dot redhat dot com
- Date: Fri, 29 Jul 2005 15:29:31 -0400
- Subject: [patch][commit] Parallel Write Fixes
Hi,
I've committed the attached patch which adds some declarttions needed by
ports using the new parallel write support. Tested on an internal port.
No effect on existing ports.
Dave
2005-07-29 Dave Brolley <brolley@redhat.com>
* sid-cpu.scm (-gen-scache-semantic-fn): Generate a declation of 'written'
if with-profile or with-parallel-write.
(cgen-semantics.cxx): Make the @prefix@ namespace available if with-parallel.
* operand.scm (op:new-mode): Convert (obj:name op) to a string for
string-append.
Index: cgen/sid-cpu.scm
===================================================================
RCS file: /cvs/src/src/cgen/sid-cpu.scm,v
retrieving revision 1.12
diff -c -p -r1.12 sid-cpu.scm
*** cgen/sid-cpu.scm 15 Jun 2005 21:28:19 -0000 1.12
--- cgen/sid-cpu.scm 29 Jul 2005 19:22:14 -0000
*************** using namespace cgen;
*** 736,742 ****
(gen-define-field-macro (insn-sfmt insn))
" sem_status status = SEM_STATUS_NORMAL;\n"
" @prefix@_scache* abuf = sem;\n"
!
; The address of this insn, needed by extraction and semantic code.
; Note that the address recorded in the cpu state struct is not used.
; For faster engines that copy will be out of date.
--- 736,745 ----
(gen-define-field-macro (insn-sfmt insn))
" sem_status status = SEM_STATUS_NORMAL;\n"
" @prefix@_scache* abuf = sem;\n"
! ; Unconditionally written operands are not recorded here.
! (if (or (with-profile?) (with-parallel-write?))
! " unsigned long long written = 0;\n"
! "")
; The address of this insn, needed by extraction and semantic code.
; Note that the address recorded in the cpu state struct is not used.
; For faster engines that copy will be out of date.
*************** using namespace cgen;
*** 792,799 ****
#endif
#include \"@cpu@.h\"
! using namespace @cpu@; // FIXME: namespace organization still wip
!
#define GET_ATTR(name) GET_ATTR_##name ()
\n"
--- 795,805 ----
#endif
#include \"@cpu@.h\"
! using namespace @cpu@; // FIXME: namespace organization still wip\n")
! (if (with-parallel?)
! (string-write "\
! using namespace @prefix@; // FIXME: namespace organization still wip\n"))
! (string-write "\
#define GET_ATTR(name) GET_ATTR_##name ()
\n"