]> sourceware.org Git - cgen.git/log
cgen.git
15 years ago * gen-all-doc: Add sh.cpu.
Doug Evans [Sat, 24 Oct 2009 22:34:51 +0000 (22:34 +0000)]
* gen-all-doc: Add sh.cpu.

15 years ago * sid-cpu.scm (/gen-sem-case): Tweaking debugging printf.
Doug Evans [Sat, 24 Oct 2009 18:03:43 +0000 (18:03 +0000)]
* sid-cpu.scm (/gen-sem-case): Tweaking debugging printf.
(/gen-sfrag-case): Ditto.
* sim-cpu.scm (/gen-sem-case): Ditto.

15 years agoadd some comments noting that ifields, operands, insns, minsns
Doug Evans [Sat, 24 Oct 2009 18:03:22 +0000 (18:03 +0000)]
add some comments noting that ifields, operands, insns, minsns
may occur multiple times with the same name in different isas

15 years ago * doc/rtl.texi: Add note that different ifields, operands, insns,
Doug Evans [Sat, 24 Oct 2009 18:00:20 +0000 (18:00 +0000)]
* 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.

15 years ago * desc-cpu.scm (/gen-hash-defines): Remove #include of cgen-bitset.h.
Doug Evans [Sat, 24 Oct 2009 00:20:30 +0000 (00:20 +0000)]
* 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.

15 years ago * decode.scm: Tweak various comments.
Doug Evans [Sat, 24 Oct 2009 00:01:26 +0000 (00:01 +0000)]
* 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.

15 years ago * opcode.scm (<ifield>, 'gen-insert): Use ifld-decode-mode instead of
Doug Evans [Thu, 15 Oct 2009 06:13:20 +0000 (06:13 +0000)]
* opcode.scm (<ifield>, 'gen-insert): Use ifld-decode-mode instead of
ifld-encode-mode.
(<multi-ifield>, 'gen-insert): Ditto.

15 years ago * ifield.scm (<ifield>, value): Provide default initial value.
Doug Evans [Thu, 15 Oct 2009 05:51:08 +0000 (05:51 +0000)]
* ifield.scm (<ifield>, value): Provide default initial value.
(ifield-encode-mode): Delete
(ifield-decode-mode): Delete duplicate definition.
(<derived-ifield>, 'make!): Initialize members encode, decode.

15 years ago * sim-model.scm (@cpu@_prepare_run): Use @prefix@, not @cpu@,
Doug Evans [Mon, 5 Oct 2009 18:04:30 +0000 (18:04 +0000)]
* sim-model.scm (@cpu@_prepare_run): Use @prefix@, not @cpu@,
for @foo@_init_idesc_table.

15 years ago * doc/intro.texi: Mention SID.
Doug Evans [Wed, 30 Sep 2009 18:03:37 +0000 (18:03 +0000)]
* doc/intro.texi: Mention SID.
* doc/sim.texi: Ditto.
* doc/porting.text (Doing a simulator port): Add some text.

15 years agocomment tweak
Doug Evans [Wed, 30 Sep 2009 06:21:20 +0000 (06:21 +0000)]
comment tweak

15 years agocomment tweaks
Doug Evans [Wed, 30 Sep 2009 06:21:06 +0000 (06:21 +0000)]
comment tweaks

15 years ago * cos.scm (/class-table): New global.
Doug Evans [Mon, 28 Sep 2009 02:40:49 +0000 (02:40 +0000)]
* cos.scm (/class-table): New global.
(/class-uid, /class-set-uid!): New functions.
(/class-parent-name): Renamed from /class-parents.
(/class-make!): Change parents arg to parent-name, all callers updated.
Assign uid to class.
(/class-lookup-uid): New function.
(/class-parent-classes): Rewrite.
(/class-mi?): Delete.
(/class-desc-mi?, /class-desc-offset-case, /class-desc-offset-case):
Delete.
(/class-desc-offset, /class-desc-child, /class-desc-parents): Update.
(/class-compute-class-desc, class-desc-dump): Update.
(/object-make!): Update.
(/object-make-with-values!): Delete arg class-desc, all callers
updated.
(/object-copy): Delete arg top?, all callers updated.
(/object-specialize): Delete.
(/object-elements, /object-top-class): Delete.
(/object-class-name, /object-class-desc): Update.
(/object-class-uid): New function.
(/object-elm-get, /object-elm-set!, object?, /class-check-init!,
class-make, /class-subclass? /class-lookup-element,
Update.
(/elm-delta, elm-list): Delete.
(/elm-make-method-getter, elm-get, elm-xget): Update.
(/elm-make-method-setter, elm-set!, elm-xset!): Update.
(elm-make-getter, elm-make-setter): Update.
(/method-lookup-next): Update.
(send): Don't specialize class passed to method.
(send-next): New arg class-name, all callers updated.
(/class-parent, /class-parent-via-path, object-parent): Delete.
(class-cons-parent!, class-append-parent!): Delete.
(object-reset!): Init /class-table.

15 years ago * cos.scm (/object-debug-classes): Delete.
Doug Evans [Sun, 27 Sep 2009 18:34:36 +0000 (18:34 +0000)]
* cos.scm (/object-debug-classes): Delete.
(/object-debug-elements, /object-debug-methods): Delete.

15 years ago * cos.scm (/method-lookup): Delete arg virtual?, all callers updated.
Doug Evans [Sun, 27 Sep 2009 18:31:33 +0000 (18:31 +0000)]
* cos.scm (/method-lookup): Delete arg virtual?, all callers updated.
(method-proc): Delete.
(method-make-virtual!, method-make-virtual-forward!): Delete.
* ifield.scm (<ifield> field-start): Update.
(<ifield> field-length, pretty-print): Update.
(<multi-ifield> field-length, field-start, pretty-print): Update.
* sid-cpu.scm (/gen-hardware-struct): Use gen-defn instead of gen-decl.
* sid.scm (<scalar> gen-sym-defn): Renamed from gen-sym-decl.
(<array> gen-sym-defn): Ditto.
(<hardware-base> gen-defn): Renamed from gen-defn.
(<hw-register> gen-type): Update.
(<hw-register> gen-defn): Renamed from gen-sym-decl, rewrite.
(<hw-memory>, <hw-address>, <hw-iaddress> gen-type): Update.
(<hw-memory>, <hw-address> gen-defn): Renamed from gen-sym-decl.
(<hw-immediate> gen-type): Update.
(<hw-immediate> gen-defn): Renamed from gen-sym-decl, rewrite.
* sim-cpu.scm (/gen-hardware-struct): Use gen-defn instead of gen-decl.
* sim.scm (<scalar> gen-sym-defn): Renamed from gen-sym-decl.
(<array> gen-sym-defn): Ditto.
(<hardware-base> gen-defn): Renamed from gen-defn.
(<hw-register> gen-type): Update.
(<hw-register> gen-defn): Renamed from gen-sym-decl, rewrite.
(<hw-memory>, <hw-address>, <hw-iaddress> gen-type): Update.
(<hw-memory>, <hw-address> gen-defn): Renamed from gen-sym-decl.
(<hw-immediate> gen-type): Update.
(<hw-immediate> gen-defn): Renamed from gen-sym-decl, rewrite.

15 years agotweak last entry
Doug Evans [Fri, 25 Sep 2009 19:54:06 +0000 (19:54 +0000)]
tweak last entry

15 years ago * operand.scm (/anyof-merge-setter): Handle set-quiet.
Doug Evans [Fri, 25 Sep 2009 19:40:08 +0000 (19:40 +0000)]
* operand.scm (/anyof-merge-setter): Handle set-quiet.

* rtl-c.scm (estate-make-for-rtl-c): Delete args context, owner,
rtl-cover-fns?, macro?.  All callers updated.
(estate-make-for-normal-rtl-c): Delete, have all callers call
estate-make-for-rtl-c directly.
(rtl-c-parsed): Pass #:outer-expr to estate-make-for-rtl-c.
(rtl-c, rtl-c-expr-parsed, rtl-c-expr, rtl-c++-parsed, rtl-c++): Ditto.

* rtl-c.scm (/par-replace-set-dest-expr-fn): New function,
replaces /par-replace-set-dests.
(/par-replace-set-src-expr-fn): New function, replaces
/par-replace-set-srcs.
(s-parallel): Rewrite.

* rtl.scm (rtx-pretty-strdump): New function.
* rtl-traverse.scm (/rtx-canon-error): Use it.
(<eval-state>): New member outer-expr.
(estate-error): Include outer expression in error message if present.

* rtl.scm (rtx-single-set?): Handle set-quiet.

15 years agotweak last sid.scm changelog entry
Doug Evans [Thu, 24 Sep 2009 16:47:34 +0000 (16:47 +0000)]
tweak last sid.scm changelog entry

15 years ago * xc16x.cpu (h-cr): New hardware.
Doug Evans [Wed, 23 Sep 2009 22:30:20 +0000 (22:30 +0000)]
* xc16x.cpu (h-cr): New hardware.
(muls): Comment out parts that won't compile, add fixme.
(mulu, divl, divlu, jmpabs, jmpa-, jmprel, jbc, jnbs, callr): Ditto.
(scxti, scxtmg, scxtm, bclear, bclr18, bset19, bitset, bmov): Ditto.
(bmovn, band, bor, bxor, bcmp, bfldl, bfldh): Ditto.

Rewrite rtl processing to require it to be "canonicalized" first,
and write a full canonicalizer / expression checker.
Remove all appearances of DFLT in canonical rtl.
* attr.scm (/attr-eval atval owner): Call rtx-canonicalize,
then rtx-simplify.
* iformat.scm (ifmt-analyze) Use canonical semantics.
* insn (<insn>): New member canonical-semantics.
* mach.scm (<arch>): New member multi-insns-instantiated?.
(/instantiate-multi-insns!): New function.
(/canonicalize-insns!): New function.
(arch-analyze-insns!): Canonicalize insn semantics before processing
them.
* mode.scm (/mode-set-word-params!): New function.
(mode-void?): New function.
(mode-compatible?): VOID is compatible with VOID.
(/mode-word-sizes-defined?): New global.
(mode-set-word-modes!): Use/set it.
(mode-ensure-word-sizes-defined): Update.
(mode-builtin!): New builtin "modes" SYM, INSN, MACH.
Redo WI/UWI/AI/IAI handling.
(op:new-mode): No longer accept DFLT.
(<derived-operand> constructor): Ensure all fields are initialized.
(<anyof-operand> constructor): Ditto.
(/derived-parse-ifield-assertion): Delete arg `args'.
All callers updated.
* rtl-c.scm (<rtl-c-eval-state>): New member `for-insn?'.
(rtl-c): Call rtx-canonicalize instead of rtx-compile.
(rtl-c-expr, rtl-c++): Ditto.
(/rtl-c-get): Use mode of operand, not containing expression.
(rtl-c-set-quiet, rtl-c-set-trace): Remove DFLT support.
(/rtx-use-sem-fn?): Don't check for (insn? owner), check
estate-for-insn? instead.
(s-unop): Use mode of expression, not first operand.
(s-binop, s-binop-with-bit, s-shop, s-cmpop): Ditto.
(s-sequence): Remove DFLT support.
(ifield): Use mode of expression, not UINT.
(pc): Comment out, unused.
(int-attr): New rtx kind.
(attr): Deprecate.
(set, set-quiet): Pass src to rtl-c-set-{trace,quiet} for expansion.
* rtl-traverse.scm (/rtx-canon-debug?): New global.
(/make-cstate): New function.
(/cstate-context, /cstate-outer-expr): New functions.
(/rtx-canon-error): New function.
(/rtx-lookup-hw, /rtx-pick-mode, /rtx-pick-mode3, /rtx-pick-op-mode,
/rtx-get-last-cond-case-rtx): New functions.
(/rtx-canon-*): New functions.
(/rtx-canner-table, /rtx-operand-canoners): New globals.
(/rtx-make-canon-table, /rtx-special-expr-canoners): New functions.
(/rtx-option, /rtx-option-list?): Rewrite.
(rtx-munge-mode&options): Replaces /rtx-munge-mode&options.
Rewritten, all callers updated.
(/rtx-canon-expr, /rtx-canon): New functions.
(rtx-canonicalize): Move here from rtl-xform.scm and rewrite.
(rtx-canonicalize-stmt): New function.
(tstate-make): Remove arg `set?'.  All callers updated.
(tstate-new-set?): Delete.
(/rtx-traverse-options, /rtx-traverse-*mode): Delete,
moved to /rtx-canon-*.
(/rtx-traverse-normal-operand): New function.
(/rtx-traverse-rtx-list): Delete arg `mode', all callers updated.
(/rtx-traverse-rtx, /rtx-traverse-setrtx,, /rtx-traverse-testrtx,
/rtx-traverse-condrtx, /rtx-traverse-casertx, /rtx-traverse-locals,
/rtx-traverse-iteration, /rtx-traverse-env, /rtx-traverse-attrs):
Ditto.
(/rtx-traverse-symbol, /rtx-traverse-string, /rtx-traverse-number,
/rtx-traverse-symornum, /rtx-traverse-object): Delete.
(/rtx-make-traverser-table): Update.
(/rtx-traverse-operands): Remove mode processing, now done during
canonicalization.
(/rtx-traverse-expr): Delete arg `mode', all callers updated.
(/rtx-traverse): Ditto.
(rtx-init-traverser-tables!): New function.
* rtl-xform (/rtx-verify-no-dflt-modes-expr-fn): New function.
(rtx-verify-no-dflt-modes): New function.
(/rtx-simplify-expr-fn): Update, `arg' mode deleted.
(rtx-simplify-insn): Use insn-canonical-semantics.
(rtx-canonicalize): Moved to rtl-traverse.scm.
(/compile-expr-fn, rtx-compile): Delete.
(/rtx-trim-rtx-list): New function.
(/rtx-trim-for-doc): Handle set, if.
* rtl.scm (<rtx-func>): New members result-mode, matchexpr-index.
(/rtx-valid-mode-types): Update.
(/rtx-valid-matches): Update.
(/rtx-find-matchexpr-index): New function.
(rtx-lookup): Require rtx-kind to be the rtx name.
(def-rtx-node): New arg result-mode, all callers updated.
(def-rtx-syntax-node, def-rtx-operand-node): Ditto.
(rtx-lazy-sem-mode): Delete.
(/rtx-closure-make): New arg `mode', all callers updated.
(rtx-make-ifield, rtx-make-operand, rtx-make-local): Ditto.
(rtx-operand-obj): Rewrite.
(rtx-make-xop): New functions.
(/hw): Renamed from `hw', all callers updated.
Use the correct mode instead of DFLT for the index.
(rtl-builtin!): Call rtx-init-traversal-tables!.
(rtl-finish!): Update.
* rtx-funcs.scm (all rtx functions): New parameter: result-mode.
Update mode arg-type.
(pc): Comment out.
(int-attr): New rtx kind.
(attr): Deprecate.
* sem-frags.scm (/frag-hash-compute!): Update, mode arg deleted.
(/frag-cost-compute!): Ditto.
* semantics.scm (/build-operand!): Delete args op-name, op.
New arg op-expr.  All callers updated.
(/build-mem-operand!): Remove DFLT support.
(semantic-compile): Update process-expr!, mode arg deleted.
* sid-cpu.scm (gen-semantic-code): Specify #:for-insn? in
rtl-c++ calls.
(/gen-sem-case, /gen-sfrag-code): Ditto.
* sid.scm (/op-gen-set-trace1): Renamed from /op-gen-set-trace.
(/op-gen-set-trace): New function.  If not doing profiling,
call /op-gen-set-quiet.
* sim-cpu.scm (gen-semantic-code): Specify #:for-insn? in rtl-c calls.
* utils-gen.scm (/gen-ifld-extract-base): Update call to rtl-c.
(/gen-ifld-extract-beyond, gen-multi-ifld-extract): Ditto.
* utils.scm (find-first-index): New function.
* doc/rtl.texi: Delete docs for `attr'.  Add `int-attr'.

15 years ago * rtx-funcs.scm (eq,ne,lt,gt,le,ge,ltu,leu,gtu,geu): Change class
Doug Evans [Wed, 23 Sep 2009 17:19:24 +0000 (17:19 +0000)]
* rtx-funcs.scm (eq,ne,lt,gt,le,ge,ltu,leu,gtu,geu): Change class
to COMPARE.
* sem-frags.scm (/frag-cost-compute!): Add COMPARE.

15 years ago(h-sint): add fixme
Doug Evans [Tue, 22 Sep 2009 17:44:01 +0000 (17:44 +0000)]
(h-sint): add fixme

15 years ago* rtl-c.scm (all rtx functions): Rename local estate to *estate*. It's an
Doug Evans [Tue, 22 Sep 2009 03:06:27 +0000 (03:06 +0000)]
* rtl-c.scm (all rtx functions): Rename local estate to *estate*.  It's an
artificial argument added to the rtx, so make it stand out.

15 years ago * rtl-c.scm (/rtl-c-build-table): Renamed from rtl-c-build-table.
Doug Evans [Tue, 22 Sep 2009 02:37:30 +0000 (02:37 +0000)]
* rtl-c.scm (/rtl-c-build-table): Renamed from rtl-c-build-table.
All callers updated.  Add FIXME.

15 years ago * openrisc.cpu (or32 isa): Fix setup-semantics.
Doug Evans [Mon, 21 Sep 2009 15:32:13 +0000 (15:32 +0000)]
* openrisc.cpu (or32 isa): Fix setup-semantics.

15 years ago * rtl.scm (rtx-class-*?): Delete, unused.
Doug Evans [Mon, 21 Sep 2009 15:24:20 +0000 (15:24 +0000)]
* rtl.scm (rtx-class-*?): Delete, unused.
(rtx-style-function?, rtx-style-operand?, rtx-style-macro?): Ditto.

15 years ago * read.scm (/CGEN-RTL-VERSION): Initialize to #f.
Doug Evans [Mon, 21 Sep 2009 15:18:54 +0000 (15:18 +0000)]
* read.scm (/CGEN-RTL-VERSION): Initialize to #f.
(init-reader!): Set /CGEN-RTL-VERSION to default.

* read.scm (cpu-load): Print load parameters.

15 years ago * dev.scm (load-doc): Set verbose-level to 2.
Doug Evans [Mon, 21 Sep 2009 15:14:37 +0000 (15:14 +0000)]
* dev.scm (load-doc): Set verbose-level to 2.

15 years ago * rtl.scm (rtx-strdump): Use write instead of display.
Doug Evans [Sun, 20 Sep 2009 21:22:03 +0000 (21:22 +0000)]
* rtl.scm (rtx-strdump): Use write instead of display.

15 years ago * utils-cgen.scm (obj-csv-names): New function.
Doug Evans [Thu, 17 Sep 2009 16:49:12 +0000 (16:49 +0000)]
* utils-cgen.scm (obj-csv-names): New function.
* utils-sim.scm (/sfmt-contents): Use it in logging message.

15 years ago Clean up pass of mode handling.
Doug Evans [Sat, 12 Sep 2009 17:34:15 +0000 (17:34 +0000)]
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.

15 years agowhitespace fix
Doug Evans [Sat, 12 Sep 2009 17:32:56 +0000 (17:32 +0000)]
whitespace fix

15 years agowhitespace tweaks
Doug Evans [Sat, 12 Sep 2009 17:19:54 +0000 (17:19 +0000)]
whitespace tweaks

15 years ago * sim-test.scm (*): Symbols no longer can be passed to string-append.
Doug Evans [Sat, 12 Sep 2009 17:07:48 +0000 (17:07 +0000)]
* sim-test.scm (*): Symbols no longer can be passed to string-append.

15 years agoadd fixme
Doug Evans [Sat, 12 Sep 2009 16:51:15 +0000 (16:51 +0000)]
add fixme

15 years ago* insn.scm (/parse-insn-format): Improve error message for missing or
Doug Evans [Thu, 10 Sep 2009 08:07:04 +0000 (08:07 +0000)]
* insn.scm (/parse-insn-format): Improve error message for missing or
too many bits.

15 years ago * insn.scm (/parse-insn-format): New arg `verify?', all callers updated.
Doug Evans [Thu, 10 Sep 2009 07:23:29 +0000 (07:23 +0000)]
* insn.scm (/parse-insn-format): New arg `verify?', all callers updated.
(/insn-parse): Don't verify iformat for virtual insns.

* sid-decode.scm (cgen-decode.cxx): Remove redundant call to
non-multi-insns.
* sid-model.scm (/gen-model-insn-fn-decls): Ditto.
(/gen-model-insn-fns, /gen-model-class-decls): Ditto.
* sid.scm (pbb-engine-insns): Ditto.
* sim-decode.scm (cgen-decode.c): Ditto.

15 years ago * rtl-traverse.scm: Comment tweaks.
Doug Evans [Thu, 10 Sep 2009 06:23:27 +0000 (06:23 +0000)]
* rtl-traverse.scm: Comment tweaks.
* rtl-xform.scm: Comment and reformatting tweaks.
* doc/rtl.texi: Add text to docs on ifield-assertions.

15 years agotweak ifield-assertion text
Doug Evans [Thu, 10 Sep 2009 00:10:58 +0000 (00:10 +0000)]
tweak ifield-assertion text

15 years agotweak ifield-assertion text
Doug Evans [Thu, 10 Sep 2009 00:00:50 +0000 (00:00 +0000)]
tweak ifield-assertion text

15 years ago * rtl.texi: Add text to docs on ifield-assertions.
Doug Evans [Wed, 9 Sep 2009 23:56:15 +0000 (23:56 +0000)]
* rtl.texi: Add text to docs on ifield-assertions.

15 years agoMove "Interactive development" up a level.
Doug Evans [Wed, 9 Sep 2009 23:07:38 +0000 (23:07 +0000)]
Move "Interactive development" up a level.
Expand on the .splice example.

15 years ago * insn.scm (/insn-parse): Canonicalize the ifield-assertion before
Doug Evans [Wed, 9 Sep 2009 22:21:29 +0000 (22:21 +0000)]
* insn.scm (/insn-parse): Canonicalize the ifield-assertion before
saving.

15 years agotweak error message
Doug Evans [Wed, 9 Sep 2009 22:21:11 +0000 (22:21 +0000)]
tweak error message

15 years agotweak
Doug Evans [Wed, 9 Sep 2009 21:59:51 +0000 (21:59 +0000)]
tweak

15 years ago(/parse-insn-format): Tweak error message.
Doug Evans [Wed, 9 Sep 2009 21:01:39 +0000 (21:01 +0000)]
(/parse-insn-format): Tweak error message.

15 years ago * doc/porting.texi: Document #:trace, #:diag options to cload.
Doug Evans [Wed, 9 Sep 2009 20:49:50 +0000 (20:49 +0000)]
* doc/porting.texi: Document #:trace, #:diag options to cload.

15 years ago Add support for controlling warnings/errors.
Doug Evans [Wed, 9 Sep 2009 20:43:05 +0000 (20:43 +0000)]
Add support for controlling warnings/errors.
Add tests for iformat description errors.
* dev.scm (cload): New option #:diag.
* read.scm (<reader>): New member verify-iformat?.
(/parse-diagnostic, parse-warning): New functions.
(parse-error): Guts moved to /parse-diagnostic.
(/set-diagnostic-options!): New function.
(cpu-load): New arg diagnostic-options, all callers updated.
Recognize -w diagnostic-option-list.
* ifield.scm (ifields-base-ifields): Move here from iformat.scm.
(ifld-simple-ifields, ifields-simple-ifields): New function.
* insn.scm (/parse-insn-format-iflds): New function.
(/parse-insn-format): Guts moved to /parse-insn-format-iflds.
New arg isa, all callers updated.  Do some basic validation of the
ifield list if requested.
* mach.scm (/sanity-check-insns): Improve error message text.
* doc/running.text: Document -w option.

* ifield.scm (/multi-ifield-parse): Initialize bitrange.

15 years ago(<ifield> pretty-print): Fix typo.
Doug Evans [Wed, 9 Sep 2009 17:20:53 +0000 (17:20 +0000)]
(<ifield> pretty-print): Fix typo.

15 years ago * dev.scm (*): Change default verbosity level to 2.
Doug Evans [Wed, 9 Sep 2009 17:06:19 +0000 (17:06 +0000)]
* dev.scm (*): Change default verbosity level to 2.

* ifield.scm (<ifield> pretty-print): New method.
(ifld-pretty-print): New function.
(<multi-ifield> pretty-print): New method.

* ifield.scm (<ifield> field-start): Delete word-len arg.
All callers updated.
(ifld-start): Ditto.
(<multi-ifield> field-start): Ditto.
* operand.scm (<hw-index> field-start): Ditto.

15 years ago * ifield.scm (ifld-beyond-base?): Remove args base-bitsize,
Doug Evans [Wed, 9 Sep 2009 08:00:16 +0000 (08:00 +0000)]
* ifield.scm (ifld-beyond-base?): Remove args base-bitsize,
total-bitsize.  All callers updated.
* insn.scm (<insn>): Rename member ifld-values to /insn-value.
New member /insn-base-value.
(insn-base-value): New function.
* mach.scm (/sanity-check-insns): New function.
(arch-analyze-insns!): Call it.

15 years ago * iformat.scm (ifields-base-ifields): Simplify.
Doug Evans [Wed, 9 Sep 2009 03:51:11 +0000 (03:51 +0000)]
* iformat.scm (ifields-base-ifields): Simplify.
(compute-insn-length): Simplify, call ifields-base-ifields.
(compute-insn-base-mask): Ditto.
* ifield.scm (ifld-known-values): Ditto.
(ifld-base-ifields): Ditto.
* insn.scm (insn-value): Ditto.
* pgmr-tools.scm (pgmr-pretty-print-insn-format): Ditto.

15 years ago* cpu/mep.opc (mep_cgen_insn_supported_asm): Change the test to a
DJ Delorie [Tue, 8 Sep 2009 23:51:10 +0000 (23:51 +0000)]
* cpu/mep.opc (mep_cgen_insn_supported_asm): Change the test to a
preprocessor macro, not an enum.

15 years ago * rtl-c.scm (/rtl-c-get): Convert symbols to strings before passing
Doug Evans [Tue, 8 Sep 2009 07:26:50 +0000 (07:26 +0000)]
* rtl-c.scm (/rtl-c-get): Convert symbols to strings before passing
to string-append.
(*): Remove trailing ":" from error messages passed to estate-error.

15 years ago * types.scm (<struct>): Delete.
Doug Evans [Tue, 8 Sep 2009 06:51:44 +0000 (06:51 +0000)]
* types.scm (<struct>): Delete.

* pmacros.scm (/pmacro-env-make): New argument `loc', all callers
updated.
(/pmacro-loc-error): New function.

* mach.scm (/isa-parse-decode-assist): New function.
(/isa-parse): Call it.

* decode.scm (/get-subopcode-value): New function.
(/opcode-slots): Call it.
(/fill-slot!): Add logging message.

15 years ago * cos.scm (/object-error): Convert symbols to strings before passing
Doug Evans [Tue, 8 Sep 2009 06:43:32 +0000 (06:43 +0000)]
* cos.scm (/object-error): Convert symbols to strings before passing
to string-append.

15 years agominor tweak
Doug Evans [Tue, 8 Sep 2009 06:41:16 +0000 (06:41 +0000)]
minor tweak

15 years ago * read.scm (rtl-version-equal?): New function.
Doug Evans [Mon, 7 Sep 2009 22:17:34 +0000 (22:17 +0000)]
* read.scm (rtl-version-equal?): New function.
(rtl-version-at-least?, rtl-version-older?): New functions.

* *.scm: Use / to prefix "local" vars/fns, for r6rs compliance.
* pmacros.scm (/pmacro-builtin-splice): Refer to $unsplice for
rtl versions >= 0.9.
(pmacros-init!): Tweak to prepare for $<pmacro> for builtin pmacros.

15 years ago* rtl.scm (rtx-pretty-name): Fix thinko, don't assume (car rtx) is simple.
Doug Evans [Thu, 3 Sep 2009 17:13:02 +0000 (17:13 +0000)]
* rtl.scm (rtx-pretty-name): Fix thinko, don't assume (car rtx) is simple.

15 years ago[cgen]
DJ Delorie [Wed, 2 Sep 2009 02:10:36 +0000 (02:10 +0000)]
[cgen]
* cpu/mep.opc (parse_signed16_range): Mark as potentially unused.
(parse_unsigned16_range): Likewise.
(mep_cgen_insn_supported_asm): Make BSR12 check dependent on VLIW
isa.

[opcodes]
* mep-asm.c: Regenerate.
* mep-desc.c: Regenerate.
* mep-opc.c: Regenerate.

15 years ago Pmacro .equals -> .equal?
Doug Evans [Tue, 1 Sep 2009 16:31:27 +0000 (16:31 +0000)]
Pmacro .equals -> .equal?
* pmacros.scm (-pmacro-builtin-equal?): Renamed from
-pmacro-builtin-equals.  All callers updated.
(pmacros-init!): Rename .equals to .equal?.
* doc/pmacros.texi: Update.
* testsuite/pmacros-1.test: Update.

15 years agotext2html <> inside double-quotes workaround, v3
Doug Evans [Tue, 1 Sep 2009 16:17:52 +0000 (16:17 +0000)]
text2html <> inside double-quotes workaround, v3

15 years agotexi2html <> workaround, v2
Doug Evans [Tue, 1 Sep 2009 16:13:25 +0000 (16:13 +0000)]
texi2html <> workaround, v2

15 years ago * doc/porting.texi: Work around texi2html bug where it doesn't
Doug Evans [Tue, 1 Sep 2009 16:02:18 +0000 (16:02 +0000)]
* doc/porting.texi: Work around texi2html bug where it doesn't
properly escape <> inside double-quotes inside @code.

15 years ago * doc/porting.texi (Doing an opcodes port): Add step to specify
Doug Evans [Tue, 1 Sep 2009 15:47:55 +0000 (15:47 +0000)]
* doc/porting.texi (Doing an opcodes port): Add step to specify
the .opc file.

15 years ago * hardware.scm (-keyword-parse): Fix `enum-prefix' default for
Doug Evans [Sat, 29 Aug 2009 18:32:32 +0000 (18:32 +0000)]
* hardware.scm (-keyword-parse): Fix `enum-prefix' default for
rtl version 0.7.
* doc/rtl.texi: Improve docs on rtl 0.7 vs 0.8 differences.

15 years agotweak `sequence' docs
Doug Evans [Fri, 28 Aug 2009 16:02:55 +0000 (16:02 +0000)]
tweak `sequence' docs

15 years agospiff up docs of sequence, parallel, do-count
Doug Evans [Fri, 28 Aug 2009 16:01:11 +0000 (16:01 +0000)]
spiff up docs of sequence, parallel, do-count

15 years agodo-count #iterations parameter can be an expression
Doug Evans [Fri, 28 Aug 2009 06:24:51 +0000 (06:24 +0000)]
do-count #iterations parameter can be an expression

15 years agoRework do-count to take an expression for the iteration count,
Doug Evans [Fri, 28 Aug 2009 06:20:29 +0000 (06:20 +0000)]
Rework do-count to take an expression for the iteration count,
and swap the iteration-variable/#iterations arguments.

15 years ago Add do-count rtl function.
Doug Evans [Thu, 27 Aug 2009 21:28:48 +0000 (21:28 +0000)]
Add do-count rtl function.
* rtl-c.scm (s-do-count): New function.
(do-count): New rtl handler.
* rtl-traverse.scm (-rtx-traverse-iteration): New function.
(-rtx-make-traverser-table): Add ITERATION.
* rtl.scm (rtx-env-make-iteration-locals): New function.
* rtx-funcs.scm (do-count): New rtl function.
* cpu/play.cpu: Add do-count-test insn.
* doc/rtl.texi: Add docs on do-count.

15 years ago* read.scm (parse-error): Really change error message output format
Doug Evans [Thu, 27 Aug 2009 06:09:02 +0000 (06:09 +0000)]
* read.scm (parse-error): Really change error message output format
to match context-owner-error.
* utils-cgen.scm (context-owner-error): Simplify.

15 years ago * read.scm (parse-error): Change error message output format
Doug Evans [Thu, 27 Aug 2009 05:47:12 +0000 (05:47 +0000)]
* read.scm (parse-error): Change error message output format
to match context-owner-error.
* rtl-c.scm (-rtl-c-get): Call estate-error instead of error.
(rtl-c-set-quiet, rtl-c-set-trace): Ditto.
(s-if, s-cond, -gen-non-vm-case-test): Ditto.
(operand): Call estate-error instead of context-error.
(local, delay): Ditto.
(ref, attr): Call estate-error instead of error.
* rtl-traverse.scm (tstate-error): New function.
(-rtx-traverse-error): Call tstate-error instead of context-error.
(-rtx-traverse-operands, -rtx-traverse): Ditto.
(estate-error): New function.
* rtl.scm (rtx-lvalue-mode-name): Handle locals.  Call estate-error
instead of error.
(e-if): Call estate-error instead of error.
* rtx-funcs.scm (error): Call estate-error instead of context-error.
(member): Ditto.
* utils-cgen.scm (context-error): New arg `intro', all callers updated.
Rewrite to call context-owner-error.
(context-owner-error): New function.

15 years ago * ifield.scm (<ifield> constructor): New arg `location',
Doug Evans [Thu, 27 Aug 2009 04:22:56 +0000 (04:22 +0000)]
* ifield.scm (<ifield> constructor): New arg `location',
all callers updated.
* insn.scm (<insn> constructor): Ditto.
(<multi-insn> constructor): Ditto.
* minsn.scm (<macro-insn> constructor): Ditto.
* operand.scm (<operand> constructor): Ditto.
* utils-cgen.scm (builtin-location): New function.
(<source-ident>): Fix default value of member `location'.
(source-ident?): New function.

15 years agoremove cruft
Doug Evans [Thu, 27 Aug 2009 04:20:48 +0000 (04:20 +0000)]
remove cruft

15 years ago * rtl-traverse.scm (estate-new-env): Rename arg state -> estate.
Doug Evans [Thu, 27 Aug 2009 02:47:11 +0000 (02:47 +0000)]
* rtl-traverse.scm (estate-new-env): Rename arg state -> estate.
(estate-push-env, estate-with-modifiers): Ditto.
(estate-deepen): New function.

15 years agoFix name in previous entry. Blech, sorry Dave.
Doug Evans [Thu, 27 Aug 2009 02:45:25 +0000 (02:45 +0000)]
Fix name in previous entry.  Blech, sorry Dave.

15 years ago * sim-model.scm (-gen-mach-defns): Use @PREFIX@_INSN__MAX instead of
Doug Evans [Tue, 25 Aug 2009 16:30:06 +0000 (16:30 +0000)]
* sim-model.scm (-gen-mach-defns): Use @PREFIX@_INSN__MAX instead of
@CPU@_INSN__MAX.  Use @prefix@ instead of @cpu@ for engine_run
routines.

15 years agotweak previous change for consistency
Doug Evans [Tue, 25 Aug 2009 16:19:48 +0000 (16:19 +0000)]
tweak previous change for consistency

15 years ago * doc/pmacros.texi (pmacro default argument values): Add text.
Doug Evans [Tue, 25 Aug 2009 16:13:35 +0000 (16:13 +0000)]
* doc/pmacros.texi (pmacro default argument values): Add text.

15 years ago * hardware.scm (<keyword>): Rename member print-name -> enum-prefix.
Doug Evans [Mon, 24 Aug 2009 06:46:16 +0000 (06:46 +0000)]
* hardware.scm (<keyword>): Rename member print-name -> enum-prefix.
Rename member prefix -> name-prefix.
(<keyword> getters): Update.
(-keyword-parse): Update.  Default enum-prefix to NAME-.
(-keyword-read): Update.  Don't compute default value for
enum-prefix here.
(define-keyword): Update.
(-hw-parse-keyword): Pass "UNUSED" for enum-prefix to -keyword-parse.
* read.scm (cgen-rtl-version): New function.
(-supported-rtl-versions): Add (0 8).
* desc-cpu.scm (-gen-hw-decl): Remove cruft.
* desc.scm (<keyword> gen-defn): prefix -> name-prefix.
* gas-test.scm (<keyword> test-data): prefix -> name-prefix.
* cpu/arm.cpu (gr-names, shift-type): Call define-rtl-version.
Update, print-name -> enum-prefix, make uppercase.
Remove unnecessary name-prefix spec.
* cpu/fr30.cpu (gr-names, cr-names, dr-names): Ditto.
* cpu/ip2k.cpu (register-names): Ditto.
* cpu/m68k.cpu (dr-names, ar-names): Ditto.
* cpu/sparc.cpu (gr-names): Ditto.
* cpu/xc16x.cpu (gr-names, ext-names,psw-names): Ditto.
(grb-names, conditioncode-names, extconditioncode-names): Ditto.
(grb8-names, r8-names, regmem8-names, regdiv8-names): Ditto.
(reg0-name, reg0-name1, regbmem8-names, memgr8-names): Ditto.
* cpu/ia32.cpu (gr8-names, gr16-names, gr-names): Call
define-rtl-version.  Update, print-name -> enum-prefix, make uppercase,
prefix -> name-prefix.
* cpu/sh64-compact.cpu (frc-names): Call define-rtl-version.
Update, print-name -> enum-prefix, make uppercase.
(drc-names, xf-names): Ditto.
* cpu/xstormy16.cpu (gr-names, gr-Rb-names): Ditto.
* doc/rtl.texi (Keywords): New section.
(hardware indices): Update text.
(rtl versions): Add 0.8.

15 years ago Add define-rtl-version.
Doug Evans [Sun, 23 Aug 2009 16:15:53 +0000 (16:15 +0000)]
Add define-rtl-version.
* read.scm (-CGEN-RTL-VERSION): Renamed from -CGEN-LANG-VERSION.
(cgen-rtl-major, cgen-rtl-minor): Similarly renamed.
(cgen-lang-fixlevel): Delete.
(-supported-rtl-versions): New variable.
(-cmd-define-rtl-version): New function.
(init-reader!): New command define-rtl-version.
(-cgen): Add rtl version to --version output.
* doc/rtl.texi: Document rtl version support.
* cpu/play.cpu: Add define-rtl-version.

15 years agoremove old comment, ifields can specify the size of the word they live in
Doug Evans [Sat, 22 Aug 2009 23:56:48 +0000 (23:56 +0000)]
remove old comment, ifields can specify the size of the word they live in

15 years ago * Makefile.am (OPTIONS): Define.
Doug Evans [Sat, 22 Aug 2009 23:41:05 +0000 (23:41 +0000)]
* Makefile.am (OPTIONS): Define.
(desc): Just generate <arch>-desc.[ch] files.
* Makefile.in: Regenerate.
* desc-cpu.scm (cgen-desc.h): Skip call to gen-extra-cpu.h if there's
no .opc file.
(cgen-desc.c): Similarly.
* gen-all-desc: New file.
* opcodes.scm (opc-file-provided?): New function.

15 years ago * mach.scm (current-*-add!): Update calls to parse-error.
Doug Evans [Sat, 22 Aug 2009 23:16:01 +0000 (23:16 +0000)]
* mach.scm (current-*-add!): Update calls to parse-error.
* operand.scm (op:new-mode): Update call to parse-error.
* utils-cgen.scm (make-obj-context): New function.

15 years ago * NEWS: Copy over entries from 1.1 branch.
Doug Evans [Sat, 22 Aug 2009 16:15:46 +0000 (16:15 +0000)]
* NEWS: Copy over entries from 1.1 branch.

15 years ago * gas-test.scm (<keyword> test-data): Catch invalid requests,
Doug Evans [Thu, 20 Aug 2009 17:03:29 +0000 (17:03 +0000)]
* gas-test.scm (<keyword> test-data): Catch invalid requests,
flag a warning and compensate.
(<hw-address test-data): Tweak for readability.
(<hw-iaddress test-data): Ditto.
(cgen-build.sh): Convert symbols to strings before passing to
string-append.
(cgen-allinsn.exp): Ditto.

15 years ago * doc/pmacros.texi (.splice): Add more text.
Doug Evans [Thu, 20 Aug 2009 15:55:55 +0000 (15:55 +0000)]
* doc/pmacros.texi (.splice): Add more text.

15 years ago * configure.in (AM_INIT_AUTOMAKE): Change version to 1.1.50 to
Doug Evans [Thu, 20 Aug 2009 05:50:48 +0000 (05:50 +0000)]
* configure.in (AM_INIT_AUTOMAKE): Change version to 1.1.50 to
distinguish from 1.1.
* configure: Regenerate.
* read.scm (-CGEN-VERSION): Update.
* doc/version.texi: Update.

15 years ago(.dump): fix typo
Doug Evans [Thu, 20 Aug 2009 05:38:29 +0000 (05:38 +0000)]
(.dump): fix typo

15 years ago New builtin .pmacro?.
Doug Evans [Thu, 20 Aug 2009 05:33:14 +0000 (05:33 +0000)]
New builtin .pmacro?.
* pmacros.scm (-pmacro-builtin-pmacro?): New function.
(pmacros-init!): Add .pmacro?.
* doc/pmacros.text: Document .pmacro?.
* testsuite/pmacros-1.test: Test .pmacro?.

15 years ago * pmacros.scm (scan-list1): Reorganize tracing so that the tracing
Doug Evans [Thu, 20 Aug 2009 04:51:09 +0000 (04:51 +0000)]
* pmacros.scm (scan-list1): Reorganize tracing so that the tracing
of a pmacro begins before its arguments are evaluated, improves
readability.

15 years agoImprove operand docs on `foo' vs `o-foo'.
Doug Evans [Wed, 19 Aug 2009 17:17:24 +0000 (17:17 +0000)]
Improve operand docs on `foo' vs `o-foo'.

15 years ago * pmacros.scm (.sll, .srl, .sra): Fix thinko.
Doug Evans [Wed, 19 Aug 2009 17:04:28 +0000 (17:04 +0000)]
* pmacros.scm (.sll, .srl, .sra): Fix thinko.
* testsuite/pmacros-1.test: Ditto.  Add better tests.

15 years ago * doc/rtl.texi (Instructions): Improve docs of when ${...} is needed
Doug Evans [Wed, 19 Aug 2009 16:04:52 +0000 (16:04 +0000)]
* doc/rtl.texi (Instructions): Improve docs of when ${...} is needed
in assembler syntax.

15 years agoadd some fixmes
Doug Evans [Wed, 19 Aug 2009 15:58:10 +0000 (15:58 +0000)]
add some fixmes

15 years ago * ifield.scm (ifld-encode-mode): Add FIXME.
Doug Evans [Wed, 19 Aug 2009 04:20:29 +0000 (04:20 +0000)]
* ifield.scm (ifld-encode-mode): Add FIXME.
* opcodes.scm (<ifield> 'gen-insert): Handle encode parameters with
modes.
(<ifield> 'gen-extract): Similarly.

* read.scm (parse-error): Handle #f for context-location.
* utils-cgen.scm (unspecified-location): Fix building of
single-location.

15 years agominor tweaks
Doug Evans [Wed, 19 Aug 2009 03:58:48 +0000 (03:58 +0000)]
minor tweaks

15 years ago * doc/rtl.texi: Document how to write hex and boolean values.
Doug Evans [Wed, 19 Aug 2009 02:47:13 +0000 (02:47 +0000)]
* doc/rtl.texi: Document how to write hex and boolean values.

15 years ago * gas-test.scm (<hw-asm>, test-data): Handle () values.
Doug Evans [Tue, 18 Aug 2009 16:34:41 +0000 (16:34 +0000)]
* gas-test.scm (<hw-asm>, test-data): Handle () values.
(<keyword>, test-data): Convert symbols to strings before passing
to string-append.
(<hw-index>, test-data): Enumerate all cases.  Emit correctly sized
result for scalars.

* operand.scm (hw-index-scalar): Set `name'.
(hw-index-anyof, hw-index-derived): Ditto.

15 years ago * pmacros.scm (-pmacro-builtin-internal-test): New function.
Doug Evans [Tue, 18 Aug 2009 01:40:57 +0000 (01:40 +0000)]
* pmacros.scm (-pmacro-builtin-internal-test): New function.
(pmacros-init!): Add .internal-test.
* testsuite/test-utils.sh.in (post_process): Tweak FAIL output.
* testsuite/testsuite.cpu (internal-verify): New pmacro.
* doc/pmacros.text: Document .internal-test.

* utils-cgen.scm (parse-name): Handle (add 3) -> add3.
(parse-comment): Allow numbers.
* doc/porting.texi: Document that names and comments may be lists.

* insn.scm (-insn-parse): Fix typo.

This page took 0.073518 seconds and 5 git commands to generate.