]>
sourceware.org Git - cgen.git/log
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.
Doug Evans [Thu, 27 Aug 2009 02:45:25 +0000 (02:45 +0000)]
Fix name in previous entry. Blech, sorry Dave.
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.
Doug Evans [Tue, 25 Aug 2009 16:19:48 +0000 (16:19 +0000)]
tweak previous change for consistency
Doug Evans [Tue, 25 Aug 2009 16:13:35 +0000 (16:13 +0000)]
* doc/pmacros.texi (pmacro default argument values): Add text.
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.
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.
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
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.
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.
Doug Evans [Sat, 22 Aug 2009 16:15:46 +0000 (16:15 +0000)]
* NEWS: Copy over entries from 1.1 branch.
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.
Doug Evans [Thu, 20 Aug 2009 15:55:55 +0000 (15:55 +0000)]
* doc/pmacros.texi (.splice): Add more text.
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.
Doug Evans [Thu, 20 Aug 2009 05:38:29 +0000 (05:38 +0000)]
(.dump): fix typo
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?.
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.
Doug Evans [Wed, 19 Aug 2009 17:17:24 +0000 (17:17 +0000)]
Improve operand docs on `foo' vs `o-foo'.
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.
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.
Doug Evans [Wed, 19 Aug 2009 15:58:10 +0000 (15:58 +0000)]
add some fixmes
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.
Doug Evans [Wed, 19 Aug 2009 03:58:48 +0000 (03:58 +0000)]
minor tweaks
Doug Evans [Wed, 19 Aug 2009 02:47:13 +0000 (02:47 +0000)]
* doc/rtl.texi: Document how to write hex and boolean 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.
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.
Doug Evans [Mon, 17 Aug 2009 15:27:56 +0000 (15:27 +0000)]
Rename .eval -> .exec. Add new .eval.
* pmacros.scm (-pmacro-built-exec): Renamed from -pmacro-builtin-eval.
(-pmacro-builtin-eval): New function.
(pmacros-init!): Add .exec.
* doc/pmacros.texi: Update, .exec -> .eval. Document new .eval.
* testsuite/location-1.test: Update.
* testsuite/pmacros-1.test: Add test for .eval.
Doug Evans [Sun, 16 Aug 2009 17:46:46 +0000 (17:46 +0000)]
* doc/porting.texi: Remove support for Guile 1.4.
Doug Evans [Sun, 16 Aug 2009 17:44:22 +0000 (17:44 +0000)]
* read.scm (current-reader-location): Return unspecified location
if reader hasn't been initialized yet.
Doug Evans [Thu, 13 Aug 2009 19:51:13 +0000 (19:51 +0000)]
* dev.scm: Document tracing options.
Doug Evans [Thu, 13 Aug 2009 19:36:52 +0000 (19:36 +0000)]
* pmacros.scm (pmacro-dump): New function.
(check-pmacro): Tweak debugging output.
* doc/cgenint.texi: Mention pmacro-dump, pmacro-debug.
* doc/pmacros.texi (.splice): Use pmacro-dump instead of pmacro-expand.
Doug Evans [Thu, 13 Aug 2009 19:30:32 +0000 (19:30 +0000)]
tweak
Doug Evans [Thu, 13 Aug 2009 19:28:09 +0000 (19:28 +0000)]
add example usage of -t tracing option
Doug Evans [Thu, 13 Aug 2009 19:10:01 +0000 (19:10 +0000)]
New section for syntactic forms.
Doug Evans [Thu, 13 Aug 2009 17:57:51 +0000 (17:57 +0000)]
Add .let* pmacro builtin.
* pmacros.scm (-pmacro-builtin-let*): New function.
(pmacros-init!): Add .let*.
* doc/pmacros.texi: Document .let*.
* testsuite/pmacros-1.test: Test .let*.
Doug Evans [Thu, 13 Aug 2009 16:23:17 +0000 (16:23 +0000)]
some minor tweaks
Doug Evans [Wed, 12 Aug 2009 22:33:37 +0000 (22:33 +0000)]
Clean up cpu file parsing, pass context consistently instead of the
old "errtxt" argument.
NOTE: ACU == "All Callers Updated".
* attr.scm (-parse-simple-attribute): Renamed from
parse-simple-attribute, ACU.
(-attr-parse): Change errtxt argument to context, ACU.
(-attr-read): Ditto.
(atlist-parse): Ditto. Put context arg first.
(attr-parse): Use parse-error instead of context-error.
* enum.scm (parse-enum-vals): Change errtxt argument to context, ACU.
(-enum-parse-prefix, -enum-parse, -enum-read): Ditto.
* hardware.scm (-keyword-parse): Renamed from keyword-parse.
`context' arg is now a <context> object. ACU.
(-keyword-read): `context' arg is now a <context> object. ACU.
(-hw-parse-indices): Change errtxt argument to context, ACU.
(-hw-parse-values, -hw-parse-handlers): Ditto.
(-hw-parse-getter, -hw-parse-setter, -hw-parse, -hw-read): Ditto.
(-hw-validate-layout, -hw-create-getter-from-layout,
-hw-create-setter-from-layout): Ditto.
(<hw-register>:parse!, <hw-pc>:parse!): Ditto.
(<hw-memory>:parse!, <hw-immediate>:parse!): Ditto.
(<hw-address>:parse!): Ditto.
* ifield.scm (-ifield-parse, ifield-read): Ditto.
(-ifld-parse-follows, -ifld-parse-encode-decode): Ditto.
(-ifld-parse-encode, -ifld-parse-decode): Ditto.
(-multi-ifield-parse, -multi-ifield-read): Ditto.
* insn.scm (-insn-parse, -insn-read): Ditto.
(parse-syntax): Ditto. Put context arg first.
(-parse-insn-format-symbol): Change errtxt argument to context, ACU.
(-parse-insn-format-ifield-spec, -parse-insn-format-list): Ditto.
(-parse-insn-format): Ditto.
* mach.scm (-arch-parse-alignment, -arch-parse-machs): Ditto.
(-arch-parse-isas): Ditto.
(-isa-read): Add context arg, ACU.
(-cpu-parse, -cpu-read, -mach-read): Ditto.
* minsn.scm (-minsn-parse-expansion): Change errtxt argument to
context, ACU.
(-minsn-parse, -minsn-read, -minsn-compute-iflds): Ditto.
(minsn-make-alias): Ditto.
* mode.scm (-mode-parse): Ditto.
(parse-mode-name): Ditto. Put context arg first.
* model.scm (-prefetch-parse, -retire-parse, -pipeline-parse): Change
errtxt argument to context, ACU.
(-unit-parse, -model-parse, -model-read): Ditto.
* operand.scm (-operand-parse-getter): Use parse-error instead of
context-error.
(-operand-parse-setter): Ditto.
(-operand-parse): Change errtxt argument to context, ACU.
(-operand-read, -derived-operand-parse, -derived-operand-read): Ditto.
(-anyof-operand-parse, -anyof-operand-read): Ditto.
* read.scm (reader-error): Delete. Use parse-error instead.
(parse-error): Change errtxt argument to context, ACU. Split args
argument into expr and maybe-help-text.
(-reader-process-expanded-1!): Reorganize.
* rtl.scm (-subr-read): Change errtxt argument to context, ACU.
* types.scm (parse-type): Ditto.
* utils-cgen.scm (single-location->simple-string): New function.
(<context>): Replace members file,lineno with location.
(make-prefix-context): Renamed from context-make-prefix, ACU.
(make-current-context): New function.
(context-append, context-append-name): New functions.
(context-make-reader): Delete.
(parse-name): Change errtxt argument to context, ACU.
Put context arg first.
(parse-comment): Ditto.
(parse-number): Change errtxt argument to context, ACU.
(arg-list-validate-name, arg-list-check-no-args,
arg-list-symbol-arg): Ditto.
* read.scm (-cmd-if): Don't assume test is a list.
* html.scm (get-insn-properties): Delete errtxt, unused.
Doug Evans [Tue, 11 Aug 2009 16:00:31 +0000 (16:00 +0000)]
fix typo in cload usage
Doug Evans [Tue, 11 Aug 2009 15:56:00 +0000 (15:56 +0000)]
* doc/rtl.texi (hardware types): Add pc.
Doug Evans [Fri, 7 Aug 2009 21:29:20 +0000 (21:29 +0000)]
Add -t option for tracing things like commands, pmacro expansion.
* dev.scm (cload): New arg #:trace.
* pmacros.scm (-pmacro-expand): Rewrite pmacro tracing.
(pmacro-trace): New arg `loc'. Rewrite pmacro tracing.
(pmacro-debug): Call pmacro-trace instead of -pmacro-expand.
* read.scm (<reader>): New members trace-commands?, trace-pmacros?.
(-reader-process-expanded-1!): Trace commands if requested.
(-reader-process!): Call pmacro-trace of pmacro tracing requested.
(-set-trace-options!): New function.
(-init-reader!): New function.
(cpu-load): New arg trace-options, all callers updated.
Call -init-reader! and -set-trace-options!.
(cgen-usage): Improve output formatting.
(common-arguments): New option -t.
(-cgen): Process -t.
* utils-cgen.scm (single-location->string): Renamed from
pretty-print-single-location. All callers updated.
(location->string): Renamed from pretty-print-location.
All callers updated.
(source-properties-location->string): New function.
* doc/running.texi: Document -t.
Doug Evans [Thu, 6 Aug 2009 21:52:08 +0000 (21:52 +0000)]
* read.scm (debug-env, debug-var-names, debug-var, debug-tty,
debug-tty-port, debug-repl, debug-quit, debug-repl-env): Move to ...
* utils.scm: ... here.
Doug Evans [Thu, 6 Aug 2009 16:40:44 +0000 (16:40 +0000)]
Track source location better, for better error messages.
* pmacros.scm (-pmacro-eval): Delete, unused.
(pmacro-expand, -pmacro-expand): New arg `loc', all callers updated.
(-pmacro-expand-expr-list, -smacro-apply): Ditto.
(scan-list, scan): Ditto.
(-pmacro-builtin-pmacro, -pmacro-builtin-let, -pmacro-builtin-if,
-pmacro-builtin-case, -pmacro-builtin-cond, -pmacro-builtin-begin,
-pmacro-builtin-andif, -pmacro-builtin-orif): Ditto.
(scan-list1): New function.
(-pmacro-build-lambda): New arg `loc', all callers updated. Rewrite.
* read.scm (<reader>): New member `location'.
(-reader-lookup-command): Renamed from reader-lookup-command,
all callers updated.
(reader-error): Rewrite to produce better source location info.
(current-reader-location): New function.
(-reader-process-expanded-1!): Renamed from -reader-process-expanded-1.
All callers updated. Record source location of expression.
(reader-process-expanded!): Renamed from reader-process-expanded.
All callers updated.
(-reader-process!): Renamed from reader-process. New arg `loc'.
All callers updated. Record source location of define-pmacro.
* utils-cgen.scm (<location>): New class.
(single-location): New (pseudo) class.
(pretty-print-single-location, pretty-print-location): New functions.
(location-top, location-push-single, location-push): New functions.
(unspecified-location, current-input-location): New functions.
(location-property): New object property.
(location-property-set!): New function.
(<source-ident>): Renamed from <ordered-ident>. New member `location'.
All uses updated.
* testsuite/location-1.test: New testcase.
* testsuite/run-tests.sh: Fix fail count handling.
* testsuite/test-utils.sh.in (run_cgen): New option `-f'. Allow tests
to expect cgen to fail.
* pmacros.scm (*): Use "pmacro" instead of "macro" more consistently.
* read.scm (-cmd-include): Renamed from include. All callers updated.
(-cmd-if): Renamed from cmd-if. All callers updated.
Use reader-process-expanded! on then/else clauses instead of eval1.
Doug Evans [Wed, 5 Aug 2009 20:30:36 +0000 (20:30 +0000)]
(-attr-read): Add some fixmes.
Doug Evans [Wed, 22 Jul 2009 18:30:59 +0000 (18:30 +0000)]
* modes.scm (TI,OI): New modes.
* types.scm (parse-type): Improve error checking. Don't hardwire
mode names here.
* utils.scm (non-negative-integer?): New function.
Doug Evans [Wed, 22 Jul 2009 17:32:27 +0000 (17:32 +0000)]
* pmacros.scm (-pmacro-builtin-find): New predicate.
(pmacros-init!): Add .find.
* doc/pmacros.tex: Document .find.
* testsuite/pmacros-1.test: Test .find.
Doug Evans [Tue, 21 Jul 2009 05:44:41 +0000 (05:44 +0000)]
* insn.scm (multi-insn-instantiate!): Use logging messages instead of
commented out printfs.
* rtl.scm (rtl-finish!): Whitespace tweaks.
Doug Evans [Tue, 21 Jul 2009 04:23:59 +0000 (04:23 +0000)]
* model.scm (parse-insn-timing): Tweak logging message.
* operand.scm: Comment and whitespace tweaks.
(op:type): Tweak error message.
(op-ifield): Tweak logging message.
(-derived-operand-parse, anyof-merge-semantics): Ditto.
* read.scm: Whitespace cleanup.
* utils.scm: Whitespace cleanup.
Doug Evans [Mon, 20 Jul 2009 01:06:06 +0000 (01:06 +0000)]
Add testcase for nested pmacros with bindings.
Doug Evans [Mon, 20 Jul 2009 00:57:03 +0000 (00:57 +0000)]
Fix binding of nested pmacro parameters.
* pmacros.scm (-pmacro-env-make): New arg prev-env.
All callers updated.
(-pmacro-bulid-lambda): Ditto.
* doc/pmacros.texi: Update.
Doug Evans [Mon, 20 Jul 2009 00:47:23 +0000 (00:47 +0000)]
* ifield.scm (-multi-ifield-make-default-insert): Fix shifts
calculation.
(-multi-ifield-make-default-extract): Ditto.
Doug Evans [Sun, 19 Jul 2009 19:19:44 +0000 (19:19 +0000)]
* rtl-c.scm (addc-cflag, addc-oflag, subc-cflag, subc-oflag): Define.
(add-cflag, add-oflag, sub-cflag, sub-oflag): Deprecate.
* rtx-funcs.scm (addc-cflag, addc-oflag, subc-cflag, subc-oflag):
Define.
(add-cflag, add-oflag, sub-cflag, sub-oflag): Deprecate.
* doc/rtl.texi: Update.
Doug Evans [Sun, 19 Jul 2009 16:57:53 +0000 (16:57 +0000)]
* doc/pmacros.texi (.not): Emphasize (.not 0) is not 1.
Rename builtin boolean pmacros, for consistency with rtl.
* pmacros.scm: .and -> .andif, .or -> .orif, .bitand -> .and,
.bitor -> .or, .bitxor -> .xor, .bitinv -> .inv.
* doc/pmacros.texi: Update.
* testsuite/pmacros-1.test: Update.
Doug Evans [Sat, 18 Jul 2009 20:58:28 +0000 (20:58 +0000)]
fix typos in previous entry
Doug Evans [Sat, 18 Jul 2009 20:44:58 +0000 (20:44 +0000)]
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 (<ifield>): Subclass from <ordered-ident> instead of
<ident>.
(<multi-ifield>): New constructor.
(ifield-builtin!): Add isa attr to f-nil, f-anyof.
* insn.scm (<insn>): Subclass from <ordered-ident> instead of
<ident>.
(-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 (<arch>): 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 (<macro-insn>): Subclass from <ordered-ident> instead of
<ident>. New constructor.
* operand.scm (<operand>): Subclass from <ordered-ident> instead of
<ident>.
* 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 (<ordered-ident>): New class.
(obj-ordinal, obj-set-ordinal!): New functions.
(add-ident-methods!): Delete.
* model.scm (parse-insn-timing): Change logging message to level 3.
Doug Evans [Thu, 16 Jul 2009 18:50:53 +0000 (18:50 +0000)]
* doc/rtl.texi (Enumerated constants): Add example, fix a typo,
add a link to define-normal-insn-enum.
Doug Evans [Thu, 16 Jul 2009 18:18:16 +0000 (18:18 +0000)]
* doc/porting.texi (Conventions): Add docs on writing integers.
Doug Evans [Thu, 16 Jul 2009 17:53:25 +0000 (17:53 +0000)]
* cpu/simplify.inc (*): One line doc strings don't need \n.
(df): Invoke define-full-ifield instead of claiming it's an alias.
(dno): Define.
(dnop): Mark as deprecated.
Doug Evans [Thu, 16 Jul 2009 17:49:24 +0000 (17:49 +0000)]
* cpu/play.cpu: Add example of hardware `layout'.
* doc/porting.tex: Add docs on simplify.inc.
* doc/rtl.texi: Cleanup pass over "Simplification macros",
and other things.
* ifield.scm: Whitespace/formatting cleanup.
* ifield.scm (-multi-ifield-parse): Watch for missing subfields.
Doug Evans [Thu, 16 Jul 2009 17:43:49 +0000 (17:43 +0000)]
* read.scm (parse-error): Don't print single entry args as a list.
(-reader-process-expanded-1): Convert symbol to string for
string-append.
Doug Evans [Thu, 16 Jul 2009 17:22:44 +0000 (17:22 +0000)]
* insn.scm (multi-insn-instantiate!): Tweak logging message.
Doug Evans [Wed, 15 Jul 2009 16:49:32 +0000 (16:49 +0000)]
* gen-all-doc: Generate index.html.
Doug Evans [Tue, 14 Jul 2009 16:14:25 +0000 (16:14 +0000)]
Fix typo in earlier entry, s/iq20.cpu/iq10.cpu/
Doug Evans [Mon, 13 Jul 2009 20:55:21 +0000 (20:55 +0000)]
Extend pmacro language, add testsuite.
* Makefile.am (SUBDIRS): Add testsuite.
* Makefile.in: Regenerate.
* configure.in (AC_OUTPUT): Create testsuite/Makefile,
testsuite/test-utils.sh.
* configure: Regenerate.
* dev.scm (cload): Handle testsuite app.
(load-testsuite): New function.
* pmacros.scm: (-pmacro-debug?): New global.
(-smacro-table): New global.
(-smacro-lookup, -smacro-set!): New functions.
(-pmacro-make): New argument `syntactic-form?', all callers updated.
(-pmacro-syntactic-form?): New function.
(-pmacro-expected-number, -pmacro-verify-number): New functions.
(-pmacro-expected-integer, -pmacro-verify-integer): New functions.
(-pmacro-expected-non-negative-integer): New function.
(-pmacro-verify-non-negative-integer): New function.
(-pmacro-expand-expr-list): New function.
(-pmacro-process-args-1): Renamed from -pmacro-process-args.
(-pmacro-process-args): Renamed from -pmacro-invoke.
(-pmacro-apply, -smacro-apply): New functions.
(-pmacro-expand): Rewrite syntactic form processing.
(-pmacro-build-lambda): Reformat.
(define-pmacro): Watch for more errors in definition.
(pmacro-debug): New function.
(pmacro-trace): Set/reset -pmacro-debug?.
(all existing builtin pmacro helpers): Rename to -pmacro-builtin-foo.
(-pmacro-builtin-substring): Fix. Add support for `end' marker.
(-pmacro-builtin-for-each, et.al.): New helpers for .for-each, .let,
.if, .case, .cond, .begin, .print, .dump, .error, .list, .ref,
.length, .replicate, .equals, .and, .or, .not, .eq, .ne, .lt, .gt,
.le, .ge, .add, .sub, .mul, .div, .rem, .sll, .srl, .sra, .bitand,
.bitor, .bitxor, bitinv, .car, .cdr, .caar, .cadr, .cdar, .cddr.
(pmacros-init!): Initialize -smacro-table.
Rewrite pmacro initialization.
* read.scm (reader-process-expanded): Renamed from
-reader-process-expanded. All callers updated.
Recognize () as a no-op.
(cpu-load): Tweak logging messages.
* utils.scm (message): Add comment.
* cpu/play.cpu: Add some instructions to play with .let.
* doc/cgenint.texi: Move some debugging related docs to here from
cgen.texi.
* doc/pmacros.texi: Reorganize. Add docs for new builtin pmacros.
* testsuite/Makefile.am: New file.
* testsuite/Makefile.in: New file.
* testsuite/test-utils.sh.in: New file.
* testsuite/run-tests.sh: New file.
* testsuite/testsuite.cpu: New file.
* testsuite/pmacros-1.test: New file.
Doug Evans [Mon, 13 Jul 2009 15:56:04 +0000 (15:56 +0000)]
* decode.scm: Comment and formatting tweaks.
(-build-decode-table-guts): Add more data to logging message.
Doug Evans [Sun, 12 Jul 2009 16:23:38 +0000 (16:23 +0000)]
Add xc16x back until opcodes is updated.
Doug Evans [Sun, 12 Jul 2009 16:03:39 +0000 (16:03 +0000)]
Delete files that now live in ../cpu.
* cpu/iq20.cpu: Delete.
* cpu/iq2000.cpu: Delete.
* cpu/iq2000.opc: Delete.
* cpu/iq2000m.cpu: Delete.
* cpu/m32r.cpu: Delete.
* cpu/m32r.opc: Delete.
* cpu/xc16x.cpu: Delete.
* cpu/xc16x.opc: Delete.
Doug Evans [Fri, 10 Jul 2009 03:32:31 +0000 (03:32 +0000)]
* utils-sim.scm (-gen-decode-bits): New argument `entire-val'.
All callers updated. Work around -ve shifts by referencing the
entire value.
Doug Evans [Fri, 10 Jul 2009 03:20:14 +0000 (03:20 +0000)]
* utils.scm (message): Handle pairs.
DJ Delorie [Wed, 8 Jul 2009 05:37:28 +0000 (05:37 +0000)]
* cpu/mep-ivc2.cpu (cpmovtocsar0_C3, cpmovtocsar1_C3,
cpmovtocc_C3, cpmovtocsar0_P0S_P1, cpmovtocsar1_P0S_P1,
cpmovtocc_P0S_P1): Mark volatile. Note which registers are
written to.
Doug Evans [Tue, 7 Jul 2009 18:52:32 +0000 (18:52 +0000)]
(-parse-insn-format-ifield-spec): Tweak error message.
Doug Evans [Tue, 7 Jul 2009 18:44:10 +0000 (18:44 +0000)]
* cpu/play.cpu (add): Use (ifield enum) for one format element.
* cpu/play.opc: New file.
Allow arbitrary enums in instruction formats, e.g. (f-op1 OP1_4).
* insn.scm (-parse-insn-format-ifield-spec): Recognize (ifield enum).
* doc/rtl.texi (Instructions): Update.
Doug Evans [Tue, 7 Jul 2009 18:27:08 +0000 (18:27 +0000)]
* cgen-opc.scm (-opc-file-path,opc-file-path): Move to opcodes.scm
(opc-arguments, -OPC): Call set-opc-file-path!.
* opcodes.scm (-opc-file-path,opc-file-path): Moved here.
(set-opc-file-path!): New function.
* dev.scm: Mention set-opc-file-path!. Mention doc options.
Doug Evans [Tue, 7 Jul 2009 18:19:07 +0000 (18:19 +0000)]
* opc-ibld.scm (gen-insn-builder): Convert symbols to strings
before passing to gen-c-args.
DJ Delorie [Tue, 7 Jul 2009 01:55:59 +0000 (01:55 +0000)]
[cgen]
* cpu/mep-core.cpu (fsft, ssarb): Mark as VOLATILE.
* cpu/mep-ivc2.cpu (many): Add VOLATILE to more insns that make
unspecified accesses to control registers.
[sid/component/cgen-cpu/mep]
* mep-cop1-16-decode.cxx: Regenerate.
* mep-cop1-16-decode.h: Regenerate.
* mep-cop1-16-defs.h: Regenerate.
* mep-cop1-16-model.cxx: Regenerate.
* mep-cop1-16-model.h: Regenerate.
* mep-cop1-16-sem.cxx: Regenerate.
* mep-cop1-32-decode.cxx: Regenerate.
* mep-cop1-32-decode.h: Regenerate.
* mep-cop1-32-defs.h: Regenerate.
* mep-cop1-32-model.cxx: Regenerate.
* mep-cop1-32-model.h: Regenerate.
* mep-cop1-32-sem.cxx: Regenerate.
* mep-cop1-48-decode.cxx: Regenerate.
* mep-cop1-48-decode.h: Regenerate.
* mep-cop1-48-defs.h: Regenerate.
* mep-cop1-48-model.cxx: Regenerate.
* mep-cop1-48-model.h: Regenerate.
* mep-cop1-48-sem.cxx: Regenerate.
* mep-cop1-64-decode.cxx: Regenerate.
* mep-cop1-64-decode.h: Regenerate.
* mep-cop1-64-defs.h: Regenerate.
* mep-cop1-64-model.cxx: Regenerate.
* mep-cop1-64-model.h: Regenerate.
* mep-cop1-64-sem.cxx: Regenerate.
* mep-core1-decode.cxx: Regenerate.
* mep-core1-decode.h: Regenerate.
* mep-core1-defs.h: Regenerate.
* mep-core1-model.cxx: Regenerate.
* mep-core1-model.h: Regenerate.
* mep-core1-sem.cxx: Regenerate.
* mep-cpu.h: Regenerate.
* mep-decode.cxx: Regenerate.
* mep-decode.h: Regenerate.
* mep-defs.h: Regenerate.
* mep-desc.h: Regenerate.
* mep-model.cxx: Regenerate.
* mep-model.h: Regenerate.
* mep-sem.cxx: Regenerate.
[opcodes]
* mep-desc.c: Regenerate.
* mep-desc.h: Regenerate.
* mep-opc.c: Regenerate.
* mep-opc.h: Regenerate.
DJ Delorie [Thu, 2 Jul 2009 02:10:44 +0000 (02:10 +0000)]
* config/mep/mep-ivc2.cpu: Add VOLATILE to insns that make
unspecified accesses to control registers.
DJ Delorie [Wed, 1 Jul 2009 20:06:42 +0000 (20:06 +0000)]
* cpu/mep-ivc2.cpu (cmov, cmovc, cmovh): Add intrinsic names to VLIW variants.
(ivc2rm, ivc2crn): Make data type consistent with non-VLIW variants.
Doug Evans [Sat, 27 Jun 2009 16:45:34 +0000 (16:45 +0000)]
* gen-all-intrinsics: New file.
Doug Evans [Wed, 24 Jun 2009 15:03:09 +0000 (15:03 +0000)]
* All *.scm files: Update copyright year.
* utils.scm (copyright-fsf, copyright-redhat): Ditto.
Doug Evans [Wed, 24 Jun 2009 14:08:29 +0000 (14:08 +0000)]
Update for 1.1.
DJ Delorie [Wed, 24 Jun 2009 03:06:40 +0000 (03:06 +0000)]
[cgen]
* intrinsics.scm: Updates to support IVC2.
(belongs-to-group?): Check IVC2 slots.
(-slots-attribute): New.
(targets::attributes): Add SLOTS.
(target:add-well-known-intrinsics): Add CPMOV.
(md-insn): Add CPTYPE and CRET?.
(add-md-insn): Likewise.
(add-intrinsic-for-isa): Disable the duplicate tests, as IVC2 has
duplicate insns with different bit patterns.
(write-cgen-insn?): Add cret? support.
(intrinsics.h): Add vector types.
(runtime-op): Add vector support.
(intrinsic-protos.h): Let GCC define its types. Add cret? support.
* cpu/mep-core.cpu: Add CPTYPE and CRET attributes.
* cpu/mep-ivc2.cpu: Update all insns to include type information.
(h-cr-ivc2): Default to typeless.
(h-ccr-ivc2): Fix register width.
(SLOTS): Fix values and default.
(ivc2_*): Add control register names.
(crop, crqp, crpp, croc, crqc, crpc): Default to typeless.
[opcodes]
* mep-desc.c: Regenerate.
* mep-desc.h: Regenerate.
* mep-dis.c: Regenerate.
* mep-ibld.c: Regenerate.
* mep-opc.c: Regenerate.
[sid/component/cgen-cpu/mep]
* ivc2-cop.cxx (ivc2_cphadd_w): Change to return value.
(ivc2_cpsubaca0u_b): Remove debug line.
* ivc2-cpu.h (ivc2_cpccadd_b): Change to return value.
* mep-cop1-16-decode.cxx: Regenerate.
* mep-cop1-16-sem.cxx: Regenerate.
* mep-cop1-32-decode.cxx: Regenerate.
* mep-cop1-32-sem.cxx: Regenerate.
* mep-cop1-48-decode.cxx: Regenerate.
* mep-cop1-48-sem.cxx: Regenerate.
* mep-cop1-64-decode.cxx: Regenerate.
* mep-cop1-64-sem.cxx: Regenerate.
* mep-core1-decode.cxx: Regenerate.
* mep-cpu.h: Regenerate.
* mep-decode.cxx: Regenerate.
* mep-desc.h: Regenerate.
DJ Delorie [Wed, 24 Jun 2009 01:44:52 +0000 (01:44 +0000)]
[cgen]
* cpu/mep.opc (mep_cgen_insn_supported_asm): New, skip the short
version of BSR when assembling VLIW bundles. Use it in mep-asm.c
[opcodes]
* mep-asm.c: Regenerate.
* mep-opc.c: Regenerate.
* mep-opc.h: Regenerate.
Doug Evans [Mon, 22 Jun 2009 15:46:18 +0000 (15:46 +0000)]
* semantics.scm (insn-build-known-values): Fix typo in comment.
Doug Evans [Mon, 22 Jun 2009 07:02:36 +0000 (07:02 +0000)]
* rtl-xform.scm (rtx-simplify-insn): New function.
* html.scm (gen-insn-docs): Call it.
* sem-frags.scm (sem-find-common-frags, -frag-test-data): Ditto.
* iformat.scm (ifmt-analyze): Minor simplification.
Doug Evans [Mon, 22 Jun 2009 06:58:59 +0000 (06:58 +0000)]
Remove now outdated comment.
Doug Evans [Mon, 22 Jun 2009 05:14:09 +0000 (05:14 +0000)]
* semantics.scm (semantic-compile): Change arg sem-code-list to
sem-code.
(semantic-attrs): Ditto.
* iformat.scm (ifmt-analyze): Update.
(ifmt-compute!): Update.
* rtl-traverse.scm (-compile-expr-fn, rtx-compile): Move to
rtl-xform.scm.
(-rtx-trim-args, -rtx-trim-for-doc, rtx-trim-for-doc): Ditto.
* rtl.scm (-rtx-canonicalize-expr, rtx-canonicalize): Ditto.
* semantics.scm (rtx-simplify): Ditto.
(rtx-const-equal, rtx-const-list-equal): Ditto, and make local.
(rtx-simplify-eq-attr-mach, rtx-simplify-eq-attr-insn): Ditto.
(-simplify-expr-fn): Move to rtl-xform.scm.
(-solve-expr-fn, rtx-solve): Ditto.
* rtl-xform.c: New file.
* read.scm: Load it.
Doug Evans [Sun, 21 Jun 2009 17:53:17 +0000 (17:53 +0000)]
* rtl-traverse.scm (-rtx-traverse-expr): Tweak comments.
(-rtx-traverse, rtx-traverse): Ditto.
Doug Evans [Sun, 21 Jun 2009 17:41:47 +0000 (17:41 +0000)]
* rtl-c.scm (delay): Add FIXME, tweak formatting.
Doug Evans [Sun, 21 Jun 2009 06:54:49 +0000 (06:54 +0000)]
* doc/rtl.texi (Expressions): Enhance docs of shift ops.
Doug Evans [Sat, 20 Jun 2009 21:58:01 +0000 (21:58 +0000)]
* configure.in: Update version to 1.1.
* configure: Regenerate.
* read.scm (-CGEN-VERSION): Update to 1.1.0.
Doug Evans [Sat, 20 Jun 2009 21:34:28 +0000 (21:34 +0000)]
* desc-cpu.scm (cgen-desc.h): Tweak logit message for consistency.
(cgen-desc.c): Ditto.
* sid-cpu.scm (cgen-desc.h, cgen-cpu.h, cgen-defs.h): Ditto.
(cgen-write.cxx, cgen-semantics.cxx, cgen-sem-switch.cxx): Ditto.
* sid-decode.scm (cgen-decode.h, cgen-decode.cxx): Ditto.
* sid-model.scm (cgen-model.cxx, cgen-model.h): Ditto.
* sim-arch.scm (cgen-arch.h, cgen-arch.c): Ditto.
(cgen-cpuall.h, cgen-ops.c): Ditto.
* sim-cpu.scm (cgen-cpu.h, cgen-defs.h, cgen-cpu.c): Ditto.
(cgen-read.c, cgen-write.c, cgen-semantics.c): Ditto.
(cgen-sem-switch.c): Ditto.
* sim-decode.scm (cgen-decode.h, cgen-decode.c): Ditto.
* sim-model.c (cgen-model.c): Ditto.
Doug Evans [Thu, 18 Jun 2009 18:23:13 +0000 (18:23 +0000)]
* gen-all-doc: Add fr30, ip2k, iq2000, lm32, mep, mt.
Doug Evans [Thu, 18 Jun 2009 18:18:13 +0000 (18:18 +0000)]
fix typo in previous entry
Doug Evans [Thu, 18 Jun 2009 18:17:50 +0000 (18:17 +0000)]
* html.scm (doc-analyze!): Provide defualt IDOC attribute if missing.
Doug Evans [Thu, 18 Jun 2009 18:12:32 +0000 (18:12 +0000)]
* dev.scm (cload): Change #:arch argument to take the path to the
.cpu file instead of just the name of the architecture.
* read.scm (arch-path): Remove trailing '/'.
(cpu-load): Set `arch-path' to directory of .cpu file.
(-cgen): Don't set `arch-path' here.
(include): Update.
* doc/porting.texi: Update.
Doug Evans [Mon, 15 Jun 2009 05:52:42 +0000 (05:52 +0000)]
* gen-all-doc: Use files in ../cpu where possible.
Doug Evans [Mon, 15 Jun 2009 05:00:26 +0000 (05:00 +0000)]
* Makefile.am (ARCHFILE): Fix path.
* Makefile.in: Regenerate.
* html.scm: Use "pre" instead of "plaintext".
Doug Evans [Sun, 14 Jun 2009 22:07:08 +0000 (22:07 +0000)]
Back out change in version number.
Doug Evans [Sun, 14 Jun 2009 21:58:17 +0000 (21:58 +0000)]
* read.scm (-CGEN-VERSION): Set version number to 1.1.0.
Doug Evans [Sun, 14 Jun 2009 18:32:28 +0000 (18:32 +0000)]
* doc/cgenint.texi: Renamed from internals.texi. Several cleanups.
* doc/app.texi: Cleanup pass.
* doc/cgen.texi: Cleanup pass.
* doc/glossary.texi: Add entries for ifield, iformat, sformat, insn.
* doc/intro.texi: Cleanup pass.
* doc/mdate-sh: New file.
* doc/opcodes.texi: Cleanup pass.
* doc/pmacros.texi: Cleanup pass.
* doc/porting.texi: Cleanup pass.
* doc/rtl.texi: Cleanup pass.
* doc/running.texi: Cleanup pass. Document more runtime options.
* doc/stamp-vti: Update.
* doc/version.texi: Update.
Doug Evans [Sun, 14 Jun 2009 18:18:34 +0000 (18:18 +0000)]
* Makefile.am (AUTOMAKE_OPTIONS): Add 1.9
(GUILE): Fix definition.
* Makefile.in: Regenerate with automake 1.9.6.
* aclocal.m4: Regenerate with aclocal 1.9.6.
* configure.in (AC_PREREQ): Set to 2.59.
(AM_INIT_AUTOMAKE): Change version to 1.1.
(GENINSRC_NEVER): Define.
* configure: Regenerate with autoconf 2.59.
* doc/Makefile.am (info_TEXINFOS): Add cgenint.texi.
(cgen.info,cgen.dvi): Delete.
(cgen_TEXINFOS,cgenint_TEXINFOS): Define.
(noinst_TEXINFOS): Add cgenint.texi.
(DOCFILES): Add missing files.
(MAINTAINERCLEANFILES,DISTCLEANFILES): Define.
* doc/Makefile.in: Regenerate with automake 1.9.6.
This page took 0.062796 seconds and 5 git commands to generate.