]>
sourceware.org Git - cgen.git/log
Nick Clifton [Mon, 22 Aug 2011 15:25:10 +0000 (15:25 +0000)]
Move cpu files from cgen/cpu to top level cpu directory.
Nick Clifton [Wed, 3 Nov 2010 17:02:34 +0000 (17:02 +0000)]
* cpu/xstormy16.cpu (alignfix-mem-far): New macro. Like
alignfix-mem, but works with 32-bit addresses.
(set-alignfix-mem-far): New macro. Like set-alignfix-mem but
works with 32-bit addresses.
(movfgrgri, movfgrgripostinc, movfgrgripredec, movfgrgrii,
movfgrgriipostinc, movfgrgriipredec): Use alignfix-mem-far.
(movfgrigr, movfgripostincgr, movfgripredecgr): Use
set-alignfix-mem-far.
(movfgrgriipostinc, movfgriipostincgr): Propagate addition to
source register into base register.
(movfgrgriipredec, movfgriipredecgr): Propagate subtraction from
source register into base register.
* xstormy16-sem.cxx: Regenerate.
* testutils.inc (pass): Update parameter layout for write syscall.
(fail): Likewise.
* movgrgrii.cgs: Fix endianness typo in assertion.
* movgrgriipostinc.cgs: Likewise.
* movgrgriipredec.cgs: Likewise.
* movgrgripostinc.cgs: Likewise.
* movgrgripredec.cgs: Likewise.
* movgrigr.cgs: Likewise.
* movgriipostincgr.cgs: Likewise.
* movgripostincgr.cgs: Likewise.
* movgripredecgr.cgs: Likewise.
* rrcgrgr.cgs: Rotate only inserts carry flag once.
* rrcgrimm4.cgs: Likewise.
* movfgrgriipostinc.cgs: New test. Checks MOVF load with post increment.
* movfgrgriipredec.cgs: New test. Checks MOVF load with pre decrement.
* movfgriipostincgr.cgs: New test. Checks MOVF store with post increment.
* movfgriipostincgr.cgs: New test. Checks MOVF store with pre decrement.
Alan Modra [Sat, 9 Oct 2010 06:50:21 +0000 (06:50 +0000)]
cgen/
* utils-cgen.scm (gen-attr-accessors): Rename bool attribute to bool_.
* cpu/mep.opc (mep_cgen_insn_supported): Ditto.
include/opcode/
* cgen.h (CGEN_ATTR, CGEN_ATTR_TYPE): Rename bool attribute to bool_.
(CGEN_ATTR_BOOLS, CGEN_ATTR_CGEN_INSN_ALIAS_VALUE): Likewise.
opcodes/
* fr30-desc.h: Regenerate.
* frv-desc.h: Regenerate.
* ip2k-desc.h: Regenerate.
* iq2000-desc.h: Regenerate.
* lm32-desc.h: Regenerate.
* m32c-desc.h: Regenerate.
* m32r-desc.h: Regenerate.
* mep-desc.h: Regenerate.
* mep-opc.c: Regenerate.
* mt-desc.h: Regenerate.
* openrisc-desc.h: Regenerate.
* xc16x-desc.h: Regenerate.
* xstormy16-desc.h: Regenerate.
Doug Evans [Mon, 30 Aug 2010 16:51:27 +0000 (16:51 +0000)]
* rtl-c.scm (s-float-predop): New function.
(nan, qnan, snan): Call it.
Alan Modra [Mon, 28 Jun 2010 14:41:58 +0000 (14:41 +0000)]
cgen/
* cpu/mep.opc (mep_examine_ivc2_insns): Delete set but unused var.
opcodes/
* mep-dis.c: Regenerate.
DJ Delorie [Tue, 1 Jun 2010 22:08:35 +0000 (22:08 +0000)]
Fix dates :-P
DJ Delorie [Tue, 1 Jun 2010 22:06:50 +0000 (22:06 +0000)]
[cgen]
* cpu/xstormy16.cpu (movgriipostincgr, movgriipredecgr,
movfgriipredecgr): Fix increment/decrement amount.
[sid]
* xstormy16-sem.cxx: Regenerate.
Doug Evans [Sat, 13 Feb 2010 04:34:49 +0000 (04:34 +0000)]
* iformat.scm (/sfmt-search-key): Use iformat key instead of list
of ifields.
Doug Evans [Sat, 13 Feb 2010 03:39:15 +0000 (03:39 +0000)]
update copyright year
Doug Evans [Fri, 12 Feb 2010 05:32:12 +0000 (05:32 +0000)]
* testsuite/location-1.test: Use %pmacros.
Doug Evans [Fri, 12 Feb 2010 02:12:12 +0000 (02:12 +0000)]
* desc-cpu.scm (/gen-cpu-open): Remove comment on K&R support.
* utils-cgen.scm (gen-define-with-symcat): Remove K&R support.
* utils-sim.scm (compute-sformat-argbufs!): Use more consistent name
for name of empty sbuf.
* iformat.scm (/sfmt-search-key, /ifmt-lookup-sfmt!): Add assert.
* insn.scm (<insn>): Add initial value for members fmt-desc, ifmt,
sfmt, tmp.
(/sub-insn-ifields): Delete old commented out code.
(/sub-insn-make!, /parse-insn-format-symbol): Ditto.
* operand.scm (/anyof-merge-setter, anyof-merge-semantics): Ditto.
* sim-decode.scm (/gen-decode-insn-globals): Tweak formatting of
generated code.
Doug Evans [Wed, 10 Feb 2010 19:28:35 +0000 (19:28 +0000)]
* gen-all: Print options.
Doug Evans [Wed, 10 Feb 2010 04:22:57 +0000 (04:22 +0000)]
tweak comment
Doug Evans [Fri, 29 Jan 2010 03:11:43 +0000 (03:11 +0000)]
add list of supported apps for application-is?
Doug Evans [Fri, 29 Jan 2010 02:59:02 +0000 (02:59 +0000)]
* pmacros.scm (pmacros-init!): New arg rtl-version, all callers
updated. Use %-prefix if rtl-version >= 0.9.
* read.scm (/supported-rtl-versions): Add (0 9).
(/rtl-version-valid?): New function.
(/cmd-define-rtl-version): If new rtl version, reinvoke pmacros-init!.
(/reader-expr): New function.
(reader-process): New function.
(/reader-process-with-loc!): Renamed from /reader-process!.
Don't pre-expand `if' commands.
(/cmd-if): Simplify. Pmacro-expand test, then, else clauses here.
Handle rtl-version-equal?, rtl-version-at-least?.
* testsuite/Makefile.am (clean-test-files): Remove *.test.cpu*.
* testsuite/Makefile.in: Regenerate.
* testsuite/pmacros-1.test: Test both . and % as prefixes.
* testsuite/testsuite.cpu (/begin, /print, /dump): New pmacros.
(newline, print-match, print-expr, print-thunk): Use them.
(internal-verify): Update definition.
* doc/rtl.texi (define-rtl-version): Document rtl version 0.9.
(Top level conditionals): New node.
Doug Evans [Fri, 29 Jan 2010 02:28:40 +0000 (02:28 +0000)]
tweak comment
Doug Evans [Fri, 29 Jan 2010 02:26:57 +0000 (02:26 +0000)]
* read.scm (rtl-version-at-least?): Fix typo.
Doug Evans [Thu, 28 Jan 2010 05:29:04 +0000 (05:29 +0000)]
* mach.scm: Follow commenting convention.
Doug Evans [Thu, 28 Jan 2010 05:05:47 +0000 (05:05 +0000)]
* read.scm: Follow commenting convention.
Doug Evans [Thu, 28 Jan 2010 04:45:15 +0000 (04:45 +0000)]
* pmacros.scm: Follow commenting convention. Replace change to
$pmacro to %pmacro. $pmacro is confusing with $ in assembler syntax.
(/pmacro-orig-prefix, /pmacro-prefix): New globals.
Doug Evans [Tue, 26 Jan 2010 03:07:31 +0000 (03:07 +0000)]
* co-for-gen-all: Simplify a bit.
Doug Evans [Mon, 25 Jan 2010 03:50:44 +0000 (03:50 +0000)]
* desc-cpu.scm (cgen-desc.h): Don't print virtual enums.
* sid-cpu.scm (cgen-desc.h): Ditto.
* enum.scm (enum-builtin!): New function.
* read.scm (reader-install-builtin!): Call it.
* rtl-c.scm (s-convop): Delete, replaced with ...
(s-int-convop, s-float-convop): ... new fns.
(ext, zext, trunc): Update.
(fext, ftrunc, float, ufloat, fix, ufix): Update.
* rtx-funcs.scm (fext, ftrunc, float, ufloat, fix, ufix): New parameter
`how'.
* cpu/mep-fmax.cpu (fcvtsw): Update.
* cpu/sh.cpu (h-fsd, h-fmov): Update.
* doc/rtl.texi (float-convop): Update.
* frv.cpu (floating-point-conversion): Update call to fp conv op.
(floating-point-dual-conversion, ne-floating-point-dual-conversion,
conditional-floating-point-conversion, ne-floating-point-conversion,
float-parallel-mul-add-double-semantics): Ditto.
Doug Evans [Mon, 25 Jan 2010 01:08:01 +0000 (01:08 +0000)]
* gen-all: Be more consistent with intrinsic generation.
Doug Evans [Mon, 25 Jan 2010 00:40:29 +0000 (00:40 +0000)]
* utils-cgen.scm (<location>): Define using new define-class.
(<ident>, <source-ident>, <context>): Ditto.
* cos.scm (/object-string): New function.
(/object-error): Use it.
(/object-count-true): New function
(object-copy-top): Delete. All callers changed to call object-copy.
(/parse-member-list, /build-getter-defs, /build-setter-defs): New fns.
(define-class, define-interface, define-method): New macros.
(define-getters, define-setters, vmake): Moved here ...
* utils-cgen.scm: ... from here.
Doug Evans [Sun, 24 Jan 2010 23:54:57 +0000 (23:54 +0000)]
whitespace fixes in previous patch
Doug Evans [Sun, 24 Jan 2010 23:48:37 +0000 (23:48 +0000)]
* utils-cgen.scm: Follow commenting convention.
Doug Evans [Sun, 24 Jan 2010 23:37:39 +0000 (23:37 +0000)]
minor whitespace fix
Doug Evans [Sun, 24 Jan 2010 21:43:59 +0000 (21:43 +0000)]
* cos.scm: Follow commenting convention. Why did a single ; have to
get indented like it does? :-(
Doug Evans [Sat, 23 Jan 2010 22:22:28 +0000 (22:22 +0000)]
gen-all: Be smarter about what diffs to generate.
Doug Evans [Sat, 23 Jan 2010 20:24:22 +0000 (20:24 +0000)]
gen-all: add "force" option
Doug Evans [Sat, 23 Jan 2010 19:57:20 +0000 (19:57 +0000)]
add usage info
Doug Evans [Sat, 23 Jan 2010 19:21:27 +0000 (19:21 +0000)]
* gen-all: Move build-configuration related parameters to an
external file.
Doug Evans [Sat, 23 Jan 2010 18:39:35 +0000 (18:39 +0000)]
* doc/rtl.texi (Expressions): Add more docs on conversion functions.
Doug Evans [Fri, 22 Jan 2010 07:40:39 +0000 (07:40 +0000)]
* doc/rtl.texi (Expressions): Fix docs on `subword'.
Doug Evans [Thu, 21 Jan 2010 09:35:39 +0000 (09:35 +0000)]
add more docs on *nan
Doug Evans [Thu, 21 Jan 2010 07:56:42 +0000 (07:56 +0000)]
* rtx-funcs.scm (nan,qnan,snan): New rtl functions.
* rtl-c.scm (nan,qnan,snan): New rtl functions.
* doc/rtl.texi (Expressions): Add docs for them.
Doug Evans [Thu, 21 Jan 2010 07:34:56 +0000 (07:34 +0000)]
* rtl-traverse.scm (/rtx-canon-anycexprmode): New function.
(/rtx-make-canon-table): Add entry for ANYCEXPRMODE.
(/rtx-canon-operands): Print expr-mode if /rtx-canon-debug?
Do final error check on mode assigned to expression.
(/rtx-make-traverser-table): Add entry for ANYCEXPRMODE.
* rtl-xform.scm (/rtx-trim-args): Handle ANYCEXPRMODE.
* rtl.scm (/rtx-valid-mode-types): Add ANYCEXPRMODE.
* rtx-funcs.scm (c-code, c-call, c-raw-call): Use ANYCEXPRMODE.
(if, cond, case): Use ANYEXPRMODE.
Doug Evans [Wed, 20 Jan 2010 06:51:57 +0000 (06:51 +0000)]
move Ian's entry to list, that was then ...
Doug Evans [Wed, 20 Jan 2010 06:31:25 +0000 (06:31 +0000)]
(.splice): Note that arguments are evaluated first.
Doug Evans [Wed, 20 Jan 2010 06:22:19 +0000 (06:22 +0000)]
* testsuite/pmacros-1.test: Add more .splice tests.
Doug Evans [Wed, 20 Jan 2010 05:56:59 +0000 (05:56 +0000)]
* read.scm (/cmd-include): Fix absolute path handling.
Doug Evans [Wed, 6 Jan 2010 05:05:13 +0000 (05:05 +0000)]
* 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.
Doug Evans [Tue, 5 Jan 2010 06:09:01 +0000 (06:09 +0000)]
* gen-all (all_cgen_cpus): Add sh.
Doug Evans [Sat, 2 Jan 2010 17:53:10 +0000 (17:53 +0000)]
* utils.scm (copyright-fsf, copyright-red-hat): Update copyright year.
Doug Evans [Fri, 18 Dec 2009 06:04:33 +0000 (06:04 +0000)]
* mep.opc: Apply patches from opcodes to compile with -Wshadow.
mep-asm.c now regenerates correctly again.
Doug Evans [Thu, 17 Dec 2009 17:52:00 +0000 (17:52 +0000)]
* gen-all: Add support for building gcc/newlib.
Specify --prefix and install all built tools.
Doug Evans [Wed, 16 Dec 2009 15:33:33 +0000 (15:33 +0000)]
* sim.scm (/op-gen-written-update): Disable operand number is too
large warning, for now.
Nick Clifton [Fri, 11 Dec 2009 13:42:07 +0000 (13:42 +0000)]
Add -Wshadow to the gcc command line options used when compiling the binutils.
Fix up all warnings generated by the addition of this switch.
Doug Evans [Thu, 10 Dec 2009 17:22:51 +0000 (17:22 +0000)]
* gen-all: Rewrite. Build more ports. Split out building of sid.
Doug Evans [Thu, 3 Dec 2009 03:03:17 +0000 (03:03 +0000)]
tweak comment
Doug Evans [Tue, 24 Nov 2009 16:39:21 +0000 (16:39 +0000)]
(list-expand): Flag wip better.
Doug Evans [Mon, 23 Nov 2009 09:03:01 +0000 (09:03 +0000)]
* 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.
Doug Evans [Mon, 23 Nov 2009 04:18:05 +0000 (04:18 +0000)]
remove unnecessary comment in generated code
Doug Evans [Mon, 23 Nov 2009 03:28:31 +0000 (03:28 +0000)]
* 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.
Doug Evans [Mon, 23 Nov 2009 00:59:57 +0000 (00:59 +0000)]
* 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.
Doug Evans [Mon, 23 Nov 2009 00:44:48 +0000 (00:44 +0000)]
* rtl-c.scm (/use-gcc-stmt-expr?): New function.
(s-sequence): Call it.
Doug Evans [Sat, 21 Nov 2009 23:41:18 +0000 (23:41 +0000)]
remove old FIXME
Doug Evans [Sat, 21 Nov 2009 17:39:14 +0000 (17:39 +0000)]
* rtl-c.scm (s-sequence): Use gcc's statement expressions for
non-VOID-mode expressions with multiple statements.
Doug Evans [Sat, 21 Nov 2009 09:57:58 +0000 (09:57 +0000)]
* 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.
Doug Evans [Sat, 21 Nov 2009 09:40:26 +0000 (09:40 +0000)]
* read.scm (/cmd-define-rtl-version): Only log rtl version if changed.
Doug Evans [Sat, 21 Nov 2009 09:36:47 +0000 (09:36 +0000)]
* operand.scm (op-nub): Delete.
Doug Evans [Sat, 21 Nov 2009 09:34:06 +0000 (09:34 +0000)]
* 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.
Doug Evans [Sat, 14 Nov 2009 20:16:34 +0000 (20:16 +0000)]
* rtl-traverse.scm (/rtx-canon): Flag an error for non-void
expressions used in a void context.
Doug Evans [Sat, 14 Nov 2009 20:15:56 +0000 (20:15 +0000)]
* gen-all: Explicitly build binutils, gas, ld, gdb, sid.
Doug Evans [Sat, 14 Nov 2009 20:04:59 +0000 (20:04 +0000)]
opcodes/
* Makefile.am (stamp-xc16x): Use ../cpu/xc16x.cpu instead of
../cgen/cpu.
* Makefile.in: Regenerate.
cgen/
* cpu/xc16x.cpu: Delete, use copy in ../cpu.
* cpu/xc16x.opc: Ditto.
Doug Evans [Thu, 12 Nov 2009 16:05:55 +0000 (16:05 +0000)]
whitespace tweak to previous entry
Doug Evans [Thu, 12 Nov 2009 16:05:29 +0000 (16:05 +0000)]
* 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.
Doug Evans [Thu, 12 Nov 2009 05:33:53 +0000 (05:33 +0000)]
* html.scm (gen-insn-docs): Add logging message.
Doug Evans [Thu, 5 Nov 2009 19:23:08 +0000 (19:23 +0000)]
* utils-cgen.scm (gen-set-macro2): New function.
* sim.scm (<hw-register> gen-get-macro): Call it.
Doug Evans [Thu, 5 Nov 2009 18:42:30 +0000 (18:42 +0000)]
* co-for-gen-all: New file.
Doug Evans [Thu, 5 Nov 2009 16:59:54 +0000 (16:59 +0000)]
* testsuite/name-comments-1.test: Update call to current-insn-lookup.
Doug Evans [Thu, 5 Nov 2009 16:55:33 +0000 (16:55 +0000)]
* 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.
Doug Evans [Thu, 5 Nov 2009 16:53:40 +0000 (16:53 +0000)]
downgrade some fixmes -> ???
Doug Evans [Tue, 3 Nov 2009 16:24:02 +0000 (16:24 +0000)]
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.
Doug Evans [Tue, 3 Nov 2009 07:03:35 +0000 (07:03 +0000)]
comment tweaks
Doug Evans [Tue, 3 Nov 2009 06:59:25 +0000 (06:59 +0000)]
* gen-all (do_src): Manually run cgen-all for sid.
Doug Evans [Sun, 1 Nov 2009 22:54:16 +0000 (22:54 +0000)]
whitespace cleanup
Doug Evans [Sun, 1 Nov 2009 22:53:32 +0000 (22:53 +0000)]
minor spelling tweak
Doug Evans [Sun, 1 Nov 2009 22:42:59 +0000 (22:42 +0000)]
* gen-all: New file.
Doug Evans [Sun, 1 Nov 2009 21:09:57 +0000 (21:09 +0000)]
(/rtx-canon): Minor simplification of previous patch.
Doug Evans [Sun, 1 Nov 2009 20:58:40 +0000 (20:58 +0000)]
* rtl-traverse.scm (/rtx-canon): Issue better error message for
invalid rtx function names.
Doug Evans [Wed, 28 Oct 2009 16:37:33 +0000 (16:37 +0000)]
* cos.scm (object-assign!): New function.
* mode.scm (/mode-set-word-params!): Call it.
Doug Evans [Mon, 26 Oct 2009 00:56:35 +0000 (00:56 +0000)]
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.
Doug Evans [Mon, 26 Oct 2009 00:25:33 +0000 (00:25 +0000)]
* attr.scm (/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.
Doug Evans [Sun, 25 Oct 2009 16:30:42 +0000 (16:30 +0000)]
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.
Doug Evans [Sat, 24 Oct 2009 23:09:47 +0000 (23:09 +0000)]
* gen-all-desc: Use cpu/sh.cpu instead of ../cpu/sh.cpu
(until ../cpu/sh.cpu is updated and cpu/sh.cpu is deleted).
Doug Evans [Sat, 24 Oct 2009 22:34:51 +0000 (22:34 +0000)]
* gen-all-doc: Add sh.cpu.
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.
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
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.
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.
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.
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.
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.
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.
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.
Doug Evans [Wed, 30 Sep 2009 06:21:20 +0000 (06:21 +0000)]
comment tweak
Doug Evans [Wed, 30 Sep 2009 06:21:06 +0000 (06:21 +0000)]
comment tweaks
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.
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.
This page took 0.063184 seconds and 5 git commands to generate.