CVSROOT: /cvs/src Module name: src Changes by: devans@sourceware.org 2009-09-12 17:34:15 Modified files: cgen : ChangeLog attr.scm hardware.scm html.scm ifield.scm mode.scm operand.scm rtl-c.scm rtl-traverse.scm rtl-xform.scm rtl.scm rtx-funcs.scm sem-frags.scm semantics.scm Log message: Clean up pass of mode handling. Make use of mode name vs <mode> object more consistent and clear. * hardware.scm (/keyword-read): Default mode to the mode name, not the <mode> object. (/hw-parse-indices): Parse mode name and pass mode object to <hw-asm> constructor. (/hw-parse-values): Ditto. (<hw-register> parse!): Pass mode name to /hw-parse-indices and /hw-parse-values. (<hw-memory> parse!): Ditto. (<hw-address> parse!): Ditto. * mode.scm (/mode-table): New global, replaces mode-list. Modes stored in hashtable instead of list. (/mode-class-table): New global. (mode-list-non-alias-values): Update. (mode:eq?, mode-compatible?, mode:add!): Update. (mode:lookup): Restrict arg to the mode's name. All callers updated. (mode-maybe-lookup): New function. (mode-real-name): Restrict arg to a <mode> object. All callers updated. (mode-real-mode, mode-sem-mode, mode-bigger?): Ditto. (mode-find, mode-set-word-modes!): Update (mode-ensure-word-sizes-defined): Update. (/sort-mode-classes!): New function. (mode-builtin!): Update. Sort mode classes here. (mode-finish!): Sort mode classes here too. * rtl-c.scm (/rtl-c-get): Restrict mode arg to a <mode> object. All callers updated. (rtl-c-set-quiet): Allow mode to be name of object. (rtl-c-set-trace): Ditto. * rtl-traverse.scm (rtl-eval-with-estate): Restrict mode arg to <mode> object. All callers updated. * rtl.scm (rtx-sem-mode): Restrict arg to <mode> object. (rtx-lazy-sem-mode): Ditto. (<rtx-temp> make!): Assert mode arg is a <mode> object. (rtx-env-make): Allow var-list modes to be name or object. * sem-frags.scm (/frag-expr-assq-locals): New function. (/frag-compute-locals!): Call it. (/sfrag-create-cse-mapping): Renamed from sfrag-create-cse-mapping. All callers updated. * semantics.scm (/build-mem-operand!): Handle mode aliases. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/ChangeLog.diff?cvsroot=src&r1=1.378&r2=1.379 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/attr.scm.diff?cvsroot=src&r1=1.11&r2=1.12 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/hardware.scm.diff?cvsroot=src&r1=1.11&r2=1.12 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/html.scm.diff?cvsroot=src&r1=1.11&r2=1.12 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/ifield.scm.diff?cvsroot=src&r1=1.21&r2=1.22 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/mode.scm.diff?cvsroot=src&r1=1.8&r2=1.9 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/operand.scm.diff?cvsroot=src&r1=1.24&r2=1.25 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/rtl-c.scm.diff?cvsroot=src&r1=1.18&r2=1.19 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/rtl-traverse.scm.diff?cvsroot=src&r1=1.12&r2=1.13 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/rtl-xform.scm.diff?cvsroot=src&r1=1.6&r2=1.7 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/rtl.scm.diff?cvsroot=src&r1=1.18&r2=1.19 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/rtx-funcs.scm.diff?cvsroot=src&r1=1.10&r2=1.11 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/sem-frags.scm.diff?cvsroot=src&r1=1.6&r2=1.7 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/semantics.scm.diff?cvsroot=src&r1=1.14&r2=1.15
CVSROOT: /cvs/src Module name: src Changes by: devans@sourceware.org 2009-10-26 00:56:35 Modified files: cgen : ChangeLog attr.scm hardware.scm html.scm ifield.scm iformat.scm insn.scm intrinsics.scm mach.scm read.scm sid-cpu.scm sim-cpu.scm sim.scm cgen/doc : rtl.texi Log message: Record bitset attributes internally as a list. Record rtx attribute values internally as ((rtx-expr)). * attr.scm (bitset-attr?): Delete, unused. (<bitset-attribute> parse-value): Rewrite. (/attr-parse): Rewrite bitset default value processing. (/attr-read): Pick out values of scalar attributes to distinguish them from bitset values which are a list. Fix spelling errors for processing of default values. Handle string attributes. (bitset-attr->list): Delete, all callers updated. (/bitset-attr->charmask): Renamed from bitset-attr->charmask. All callers updated. (atlist-source-form): Rewrite. * hardware.scm (<hardware-base> 'get-isas): Update recognition of all isas. (hardware-builtin!): Update spec of ISA attribute, (ISA foo,bar) -> (ISA foo bar). * intrinsics.scm (target:belongs-to-group?): Update, bitset attribute values are now lists. * mach.scm (def-isa-attr!): Update, bitset attribute values, including the default, are now lists. (all-isas-attr-value): Result is now a list. * doc/rtl.texi: Clean up pass over attribute docs. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/ChangeLog.diff?cvsroot=src&r1=1.407&r2=1.408 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/attr.scm.diff?cvsroot=src&r1=1.15&r2=1.16 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/hardware.scm.diff?cvsroot=src&r1=1.13&r2=1.14 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/html.scm.diff?cvsroot=src&r1=1.13&r2=1.14 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/ifield.scm.diff?cvsroot=src&r1=1.24&r2=1.25 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/iformat.scm.diff?cvsroot=src&r1=1.12&r2=1.13 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/insn.scm.diff?cvsroot=src&r1=1.35&r2=1.36 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/intrinsics.scm.diff?cvsroot=src&r1=1.6&r2=1.7 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/mach.scm.diff?cvsroot=src&r1=1.22&r2=1.23 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/read.scm.diff?cvsroot=src&r1=1.36&r2=1.37 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/sid-cpu.scm.diff?cvsroot=src&r1=1.25&r2=1.26 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/sim-cpu.scm.diff?cvsroot=src&r1=1.15&r2=1.16 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/sim.scm.diff?cvsroot=src&r1=1.23&r2=1.24 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/doc/rtl.texi.diff?cvsroot=src&r1=1.51&r2=1.52