From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13156 invoked by alias); 18 Jul 2009 20:44:58 -0000 Received: (qmail 13142 invoked by uid 79); 18 Jul 2009 20:44:58 -0000 Date: Sat, 18 Jul 2009 20:44:00 -0000 Message-ID: <20090718204458.13140.qmail@sourceware.org> From: devans@sourceware.org To: cgen-cvs@sourceware.org Subject: src/cgen ChangeLog attr.scm hardware.scm ifiel ... Mailing-List: contact cgen-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cgen-cvs-owner@sourceware.org X-SW-Source: 2009/txt/msg00075.txt.bz2 CVSROOT: /cvs/src Module name: src Changes by: devans@sourceware.org 2009-07-18 20:44:58 Modified files: cgen : ChangeLog attr.scm hardware.scm ifield.scm insn.scm mach.scm minsn.scm model.scm operand.scm sid.scm sim.scm utils-cgen.scm Log message: Use hash tables to record ifields, operands, insns, macro-insns. * attr.scm (attr-builtin!): Tweak some comments. * hardware.scm (hardware-builtin!): Call all-isas-attr-value. * ifield.scm (): Subclass from instead of . (): New constructor. (ifield-builtin!): Add isa attr to f-nil, f-anyof. * insn.scm (): Subclass from instead of . (-sub-insn-make!): Add hack to avoid differences in generated code. (multi-insn-instantiate!): Add total number of multi-insns to logging message. * mach.scm (): Rename members ifld-list, op-list, insn-list, minsn-list to foo-table. New member next-ordinal. Update getters/setters. (arch-ifld-list, arch-op-list, arch-insn-list, arch-minsn-list): New functions. (-get-next-ordinal!, -get-lowest-ordinal): New function. (-make-ident-object-table, -ident-object-table->list, -ident-object-table-add!, -ident-object-table-lookup): New functions. (current-ifld-list, current-ifld-add! current-ifld-lookup, -ifld-already-defined?): Rewrite. (current-op-list, current-op-add! current-op-lookup, -op-already-defined?): Rewrite. (current-raw-insn-list, insn-list-car, insn-list-splice!): Delete. (current-insn-list, current-insn-add! current-insn-lookup, -insn-already-defined?): Rewrite. (current-minsn-list, current-minsn-add! current-minsn-lookup, -minsn-already-defined?): Rewrite. (all-isas-attr-value, all-isas-attr, attr-isa-list): New functions. (MAX-VIRTUAL-INSNS): Define. (arch-analyze-insns!): Add hack to avoid differences in generated code. Update use of arch-insn-list. (mach-init!): Initialize ifld-table, op-table, insn-table, minsn-table. (arch-finish!): Delete references to ifld-table, op-table, insn-table, minsn-table. * minsn.scm (): Subclass from instead of . New constructor. * operand.scm (): Subclass from instead of . * sid.scm (-virtual-insn-add!): New function. (-create-virtual-insns!): Call it. (-fill-sim-insn-list!): Rewrite. * sim.scm (-virtual-insn-add!, -create-virtual-insns!): New functions. (sim-finish!): Move contents to -create-virtual-insns!, and call it. * utils-cgen.scm (): New class. (obj-ordinal, obj-set-ordinal!): New functions. (add-ident-methods!): Delete. * model.scm (parse-insn-timing): Change logging message to level 3. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/ChangeLog.diff?cvsroot=src&r1=1.310&r2=1.311 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/attr.scm.diff?cvsroot=src&r1=1.7&r2=1.8 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/hardware.scm.diff?cvsroot=src&r1=1.6&r2=1.7 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/ifield.scm.diff?cvsroot=src&r1=1.9&r2=1.10 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/insn.scm.diff?cvsroot=src&r1=1.19&r2=1.20 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/mach.scm.diff?cvsroot=src&r1=1.11&r2=1.12 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/minsn.scm.diff?cvsroot=src&r1=1.3&r2=1.4 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/model.scm.diff?cvsroot=src&r1=1.5&r2=1.6 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/operand.scm.diff?cvsroot=src&r1=1.13&r2=1.14 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/sid.scm.diff?cvsroot=src&r1=1.19&r2=1.20 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/sim.scm.diff?cvsroot=src&r1=1.17&r2=1.18 http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/cgen/utils-cgen.scm.diff?cvsroot=src&r1=1.8&r2=1.9