This is the mail archive of the cgen@sourceware.org mailing list for the CGEN 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]

[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"

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