+2010-01-05 Doug Evans <dje@sebabeach.org>
+
+ * mode.scm (<mode>) Rename member non-mode-c-type to c-type.
+ All uses updated.
+ (mode:non-mode-c-type): Delete.
+ (mode:c-type): Update.
+ * rtl-c.scm (s-shop): Fix casting of DI mode values.
+
+2010-01-04 Doug Evans <dje@sebabeach.org>
+
+ * gen-all (all_cgen_cpus): Add sh.
+
+2010-01-02 Doug Evans <dje@sebabeach.org>
+
+ * utils.scm (copyright-fsf, copyright-red-hat): Update copyright year.
+
+2009-12-17 Doug Evans <dje@sebabeach.org>
+
+ * mep.opc: Apply patches from opcodes to compile with -Wshadow.
+ mep-asm.c now regenerates correctly again.
+
+ * gen-all: Add support for building gcc/newlib.
+ Specify --prefix and install all built tools.
+
+2009-12-16 Doug Evans <dje@sebabeach.org>
+
+ * sim.scm (/op-gen-written-update): Disable operand number is too
+ large warning, for now.
+
+2009-12-11 Nick Clifton <nickc@redhat.com>
+
+ * cpu/fr30.opc: Fix shadowed variable warnings.
+
+2009-12-10 Doug Evans <dje@sebabeach.org>
+
+ * gen-all: Rewrite. Build more ports. Split out building of sid.
+
+2009-11-23 Doug Evans <dje@sebabeach.org>
+
+ * hardware.scm (hw-pc?): New function.
+ * ifield.scm (ifld-signed?): New function.
+ * iformat.scm (ifmt-analyze): Call insn-cti-attr? instead of insn-cti?.
+ * insn.scm (insn-cti-attr?): Renamed from insn-ctl?.
+ (insn-cti?): New function.
+ * rtl.scm (/hw): Create <pc> object for pcs.
+ * semantics.scm (/build-reg-operand!): New args ref-type, sem-attrs.
+ All callers updated. Watch for sets to the pc.
+ (semantic-attrs): Watch for sets to the pc.
+ * sid.scm (<pc> cxmake-get): Handle raw-reg.
+ * sim.scm (<pc> cxmake-get): Handle raw-reg.
+ (<operand> cxmake-get): Add debugging printf.
+ * utils-gen.scm (/gen-ifld-extract-base): Emit calls to
+ EXTRACT_[LM]SB0_LG[SU]INT for values > 32 bits.
+ (/gen-extract-word): Ditto.
+
+ * utils.scm (gen-c-hex-constant): New function.
+ * utils-sim.scm (/gen-decode-insn-entry): Call it.
+
+2009-11-22 Doug Evans <dje@sebabeach.org>
+
+ * insn.scm (/parse-insn-format): Watch for duplicate ifields.
+ * read.scm (parse-error-continuable): New function.
+ (define /continuable-error-found?): New variable.
+ (/init-reader!): Initialize it.
+ (/finish-reader!): New function.
+ (cpu-load): Call it.
+ * utils-cgen.scm (obj-list-nub): New function.
+
+ * mach.scm (<derived-arch-data>): New member large-insn-word?.
+ (/adata-set-derived!): Set it.
+ (adata-large-insn-word?): New function.
+ * sim-arch.scm (/gen-cpuall-includes): Don't #include cgen-engine.h
+ here.
+ * sim-cpu.scm (cgen-cpu.h): #include it here.
+ (/gen-cpu-defines): Define CGEN_INSN_WORD.
+ (/gen-no-scache-semantic-fn): Use CGEN_INSN_WORD instead of
+ CGEN_INSN_INT.
+ * sim-decode.scm (/gen-idesc-decls): Ditto.
+ (/gen-extract-case, /gen-decode-fn): Ditto.
+ * sim-model.scm (/gen-model-insn-fn): Ditto.
+ * sim.scm (gen-argbuf-type): Ditto.
+
+ * rtl-c.scm (/use-gcc-stmt-expr?): New function.
+ (s-sequence): Call it.
+
+2009-11-21 Doug Evans <dje@sebabeach.org>
+
+ * rtl-c.scm (s-sequence): Use gcc's statement expressions for
+ non-VOID-mode expressions with multiple statements.
+
+ * sim.scm (/operand-number-elaboration-written?): New variable.
+ (/op-gen-written-update op): New function.
+ (/op-gen-set-trace, /op-gen-set-trace-parallel): Call it.
+
+ * read.scm (/cmd-define-rtl-version): Only log rtl version if changed.
+
+ * operand.scm (op-nub): Delete.
+
+ * dev-utils.scm: New file.
+ * dev.scm (srcdir, load-doc, load-opc, load-gtest, load-sid,
+ load-sim, load-stest, load-testsuite): Moved to dev-utils.scm.
+ * read.scm (CHECK-LOADED?, libcpu.so, /loaded-file-list, /loaded-file?,
+ /loaded-file-record!, maybe-load): Delete.
+ Load cgen files directly instead of via maybe-load.
+
+2009-11-14 Doug Evans <dje@sebabeach.org>
+
+ * rtl-traverse.scm (/rtx-canon): Flag an error for non-void
+ expressions used in a void context.
+
+ * gen-all: Explicitly build binutils, gas, ld, gdb, sid.
+
+ * cpu/xc16x.cpu: Delete, use copy in ../cpu.
+ * cpu/xc16x.opc: Ditto.
+
+2009-11-12 Doug Evans <dje@sebabeach.org>
+
+ * rtl-c.scm (s-parallel): Use map-in-order instead of map.
+
+ * rtl-xform.scm (/rtx-trim-for-doc): Handle set-quiet, nop,
+ eq, ne, lt, le, gt, ge, ltu, leu, gtu, geu, index-of.
+
+2009-11-11 Doug Evans <dje@sebabeach.org>
+
+ * html.scm (gen-insn-docs): Add logging message.
+
+2009-11-05 Doug Evans <dje@sebabeach.org>
+
+ * utils-cgen.scm (gen-set-macro2): New function.
+ * sim.scm (<hw-register> gen-get-macro): Call it.
+
+ * co-for-gen-all: New file.
+
+ * testsuite/name-comments-1.test: Update call to current-insn-lookup.
+
+ * utils.scm (reduce): Delete.
+
+ * rtl-traverse.scm (/rtx-canon-rtx-enum): Tweak local name.
+
+ * enum.scm (gen-enum-sym): Make consistent with gen-enum-decl
+ regarding PREFIX attribute handling.
+
+ * operand.scm (<hw-index>): Add enum to possible types, all uses
+ updated.
+ (hw-index-constant?, hw-index-constant-value): New functions.
+ (make-enum-hw-index, hw-index-enum-name, hw-index-enum-value,
+ hw-index-enum-obj): New functions.
+ (/operand-parse): Handle enum indices.
+ * intrinsics.scm (md-operand:fixed-register): Use hw-index-constant?,
+ hw-index-constant-value.
+ * rtl.scm (rtx-constant-value): Fix handling of enums.
+ * rtx-funcs.scm (enum): Ditto.
+ * sid.scm (<hardware-base> cxmake-get): Only ifield indices are
+ currently supported here.
+
+2009-11-02 Doug Evans <dje@sebabeach.org>
+
+ Specify isa(s) when doing ifield, operand, insn lookups.
+ ACU = all callers updated.
+ * attr.scm (/attr-eval): Call rtx-value instead of rtx-eval-with-estate.
+ * enum.scm (define-full-insn-enum): Pass isa-name-list to
+ current-ifld-lookup.
+ * html.scm (get-insn-properties): Pass isa-name-list to
+ current-op-lookup.
+ * ifield.scm (/ifld-parse-follows): New arg isas, ACU.
+ * insn.scm (/parse-insn-format-symbol): New arg isa-name-list, ACU.
+ (/parse-insn-format-list, /parse-insn-iformat-iflds): Ditto.
+ (/parse-insn-format, syntax-break-out): Ditto.
+ * mach.scm (obj-filter-by-isa): New function.
+ (current-ifld-lookup): New optional arg maybe-isa-name-list.
+ (/ifld-already-defined?, /op-already-defined?): Simplify.
+ (current-op-lookup): New optional arg maybe-isa-name-list.
+ (current-insn-lookup): New arg isa-name-list, ACU.
+ (/insn-already-defined?, /minsn-already-defined?): Simplify.
+ (current-minsn-lookup): New arg isa-name-list, ACU.
+ * minsn.scm (/minsn-compute-iflds): Pass isa-name-list to
+ current-op-lookup.
+ * opc-itab.scm (compute-syntax): New arg isa-name-list, ACU.
+ (gen-syntax-entry): Ditto.
+ * operand.scm (/operand-parse): Pass isa-name-list to
+ current-ifld-lookup.
+ (/derived-parse-encoding): New arg isa-name-list, ACU.
+ (/derived-parse-ifield-assertion): Ditto.
+ (/derived-operand-parse): Pass isa-name-list to current-op-lookup.
+ (/anyof-parse-choice): Ditto.
+ (anyof-satisfies-assertions?): Pass context to rtx-solve.
+ (/anyof-merge-syntax): New arg container, ACU.
+ (operand-builtin!): Add pc to all isas.
+ * rtl-c.scm (estate-make-for-rtl-c): Delete arg extra-vars-alist, ACU.
+ (estate-make-for-rtl-c++, rtl-c-expr-parsed): Ditto.
+ (rtl-c-parsed, rtl-c++-parsed): Ditto.
+ (rtl-c): New arg isa-name-list, ACU.
+ (rtl-c-expr, rtl-c++): Ditto.
+ (closure): New arg isa-name-list, ACU.
+ * rtl-traverse.scm (/make-cstate): New arg isa-name-list, ACU.
+ (/cstate-isas): New function.
+ (/rtx-canon-symbol-list): New function.
+ (/rtx-canon-env-stack): Renamed from /rtx-canon-env, ACU.
+ updated.
+ (/rtx-make-canon-table): Rename ENV to ENVSTACK, new entry SYMBOLLIST.
+ (/rtx-canon-rtx-operand): Pass isa list to current-op-lookup.
+ (/rtx-canon-rtx-ref, /rtx-canon): Ditto.
+ (rtx-canonicalize): New arg isa-name-list, ACU.
+ (rtx-canonicalize-stmt): Delete.
+ (tstate-make): New arg isas, ACU.
+ (tstate-isas, tstate--set-isas!): New functions.
+ (tstate-env-stack): Renamed from tstate-env, ACU.
+ (tstate-set-env-stack!): Renamed from tstate-set-env!, ACU.
+ (tstate-make-closure): Renamed from tstate-new-env, new arg
+ isa-name-list, ACU.
+ (/rtx-traverse-env): Delete.
+ (/rtx-make-traverser-table): Rename ENV to ENVSTACK, new entry
+ SUMBOLLIST.
+ (/rtx-traverse): Include conditional flag in dump output.
+ Update isa,envstack for closures. Pass isa list to current-op-lookup.
+ (<eval-state>): New member isas. Rename env to env-stack.
+ (<eval-state> vmake!): Handle #:isas. #:env renamed to #:env-stack.
+ (<eval-state>): New getter/setter for isas. Rename env getter/setter
+ to env-stack.
+ (estate-make-for-eval): Provide #:isas.
+ (estate-make-closure): Renamed from estate-new-env. New arg
+ isa-name-list, ACU.
+ * rtl-xform.scm (/rtx-simplify-expr-fn): Handle closures.
+ (/rtx-trim-args): ENV renamed to ENVSTACK. Ad ITERATION, SYMBOLLIST.
+ (/rtx-trim-for-doc): Handle closures.
+ * rtl.scm (/rtx-valid-types): Rename ENV to ENVSTACK. Add ITERATION,
+ SYMBOLLIST.
+ (rtx-env-var-list): Delete.
+ (rtx-env-make): Handle already-compiled environments.
+ (rtx-var-alist-to-env): New function.
+ (rtx-var-alist-to-closure-env-stack, rtx-make-env-stack): New functions.
+ (rtx-env-stack-dump): Renamed from rtx-env-dump, ACU.
+ (rtx-operand-obj): New arg isa-name-list, ACU.
+ (rtx-closure-isas, rtx-closure-env-stack, rtx-closure-expr): New
+ functions.
+ * rtx-funcs.scm (closure): New arg isa-name-list, reorder args, ACU.
+ * sem-frags.scm (<sfrag>): Delete member compiled-semantics.
+ (/frag-compute-desired-frags): Minor simplification.
+ (/frag-pick-best): Ditto.
+ * sid-cpu.scm (gen-semantic-code): Require canonical rtl.
+ (/gen-sfrag-code): Update.
+ * sim-cpu.scm (gen-semantic-code): Require canonical rtl.
+ * utils-cgen.scm (sanitize): New arg isa-name-list, ACU.
+ * utils.scm (non-null-intersection?): New function.
+
+ * gen-all (do_src): Manually run cgen-all for sid.
+
+2009-11-01 Doug Evans <dje@sebabeach.org>
+
+ * gen-all: New file.
+
+ * rtl-traverse.scm (/rtx-canon): Issue better error message for
+ invalid rtx function names.
+
+2009-10-28 Doug Evans <dje@sebabeach.org>
+
+ * cos.scm (object-assign!): New function.
+ * mode.scm (/mode-set-word-params!): Call it.
+
+2009-10-25 Doug Evans <dje@sebabeach.org>
+
+ 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.
+
+ Change internal representation of rtx attribute values.
+ * attr.scm (/attr-val-is-rtx?): New function.
+ (attr-value): Call it.
+ (atlist-attr-value-no-default, attr-lookup-default): Ditto.
+ (/attr-parse): Use /attr-val-is-rtx? to detect rtx values.
+ Disallow rtx values for bitset attributes.
+ (/attr-read): Record rtx in default value as ((rtx-expr)).
+ (/attr-eval): Update.
+
+2009-10-24 Doug Evans <dje@sebabeach.org>
+
+ * gen-all-doc: Add sh.cpu.
+ * gen-all-desc: Use cpu/sh.cpu instead of ../cpu/sh.cpu
+ (until ../cpu/sh.cpu is updated and cpu/sh.cpu is deleted).
+
+ * sid-cpu.scm (/gen-sem-case): Tweaking debugging printf.
+ (/gen-sfrag-case): Ditto.
+ * sim-cpu.scm (/gen-sem-case): Ditto.
+
+ * doc/rtl.texi: Add note that different ifields, operands, insns,
+ and minsns may occur with the same name in different isas.
+ Add note on the canonical form of rtl expressions.
+
+2009-10-23 Doug Evans <dje@sebabeach.org>
+
+ * desc-cpu.scm (/gen-hash-defines): Remove #include of cgen-bitset.h.
+ * sid-cpu.scm (cgen-desc.h): Update location of cgen's bitset.h.
+
+ * decode.scm: Tweak various comments.
+ (/opcode-slots): Add FIXME.
+ (/build-decode-table-guts): Add assert.
+ * utils-sim.scm (/gen-set-itype-and-extract): New function.
+ (/gen-bracketed-set-itype-and-extract): New function.
+ (/gen-decode-default-entry): Rewrite.
+ (/table-guts-to-mask, /all-opcode-bits-used?): New functions.
+ (/gen-decode-insn-entry): New arg table-guts-thus-far, all callers
+ updated. Don't unnecessarily emit check for whether all opcode bits
+ have been examined.
+ (/gen-decode-expr-set-itype): Delete.
+ (/gen-decode-expr-entry): Update.
+ (/gen-decode-table-entry): New arg table-guts-thus-far, all callers
+ updated. Keep track of decoder tables used thus far.
+ (/gen-decoder-switch): Ditto.
+ * utils.scm (word-bit-value): New function.
+
2009-10-14 Doug Evans <dje@sebabeach.org>
* ifield.scm (<ifield>, value): Provide default initial value.