* rtl.scm fix: excessive optimisation optimism
@ 2001-06-01 14:19 Frank Ch. Eigler
0 siblings, 0 replies; only message in thread
From: Frank Ch. Eigler @ 2001-06-01 14:19 UTC (permalink / raw)
To: cgen
Hi -
The following patch to cgen/rtl.scm weakens the optimism of the
sfmt sim-related optimization. It treats as different two
instructions that write to memory in different widths but are
otherwise identical. (The sfmt fields didn't include the mode part,
so one h-memory-FOO matched another h-memory-FOO, leading to
collapsed -> erroneous writeback functions in the parexec case.)
As usual, ports unaffected by this bug don't need to be regenerated.
- FChE
2001-06-01 Frank Ch. Eigler <fche@redhat.com>
* rtl.scm (hw): Encode hw access mode into <operand> name, since this
is required for multi-mode hw types (memory).
Index: rtl.scm
===================================================================
RCS file: /cvs/src/src/cgen/rtl.scm,v
retrieving revision 1.3
diff -u -r1.3 rtl.scm
--- rtl.scm 2001/01/29 18:56:26 1.3
+++ rtl.scm 2001/06/01 21:19:18
@@ -1996,8 +1996,9 @@
(if (not hw)
(parse-error "hw" "invalid hardware element" hw-name))
- (let ((mode (if (eq? mode-name 'DFLT) (hw-mode hw) (mode:lookup mode-name)))
- (result (new <operand>))) ; ??? lookup-for-new?
+ (let* ((mode (if (eq? mode-name 'DFLT) (hw-mode hw) (mode:lookup mode-name)))
+ (hw-name-with-mode (symbol-append hw-name '- (obj:name mode)))
+ (result (new <operand>))) ; ??? lookup-for-new?
(if (not mode)
(parse-error "hw" "invalid mode" mode-name))
@@ -2035,7 +2036,7 @@
; The name of the operand must include the index so that multiple copies
; of a hardware object (e.g. h-gr[0], h-gr[14]) can be distinguished.
- (let ((name (-rtx-hw-name hw hw-name index-arg)))
+ (let ((name (-rtx-hw-name hw hw-name-with-mode index-arg)))
(send result 'set-name! name)
(op:set-sem-name! result name))
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-06-01 14:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-01 14:19 rtl.scm fix: excessive optimisation optimism Frank Ch. Eigler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).