ack/mach/proto/ncg
George Koehler 7e9348169c Add reglap to ncg. Add 4-byte reg_float to PowerPC ncg.
The new feature "reglap" allows two sizes of floating-point register
variables (reg_float), if each register overlaps a single register of
the other size.  PowerPC ncg uses reglap to define 4-byte instances
of f14 to f31 that overlap the 8-byte instances.

When ncgg sees the definition of fs14("f14")=f14, it removes the
8-byte f14 from its rvnumbers array, and adds the 4-byte fs14 in its
place.  Later, when ncg puts a variable in fs14, if it is an 8-byte
variable, then ncg switches to the 8-byte f14.  The code has
/* reglap */ comments in util/ncgg or #ifdef REGLAP in mach/proto/ncg

reglap became necessary because my commit a20b87c caused PowerPC ego
to allocate reg_float in both 4-byte and 8-byte sizes.
2017-10-14 12:40:04 -04:00
..
assert.h Check in incomplete Linux PowerPC and M68K work. 2013-05-08 00:48:48 +01:00
build.lua Move util/data into modules/src/em_data, for consistency with the other 2016-08-14 14:09:38 +02:00
codegen.c Fix a buffer overrun that was manifesting on OpenBSD; also fix a bounds check and some uninitialised variable problems. 2017-01-16 22:44:37 +01:00
compute.c Add enough return types to the K&R C that the ACK builds (on Linux) using clang 2016-11-10 22:04:18 +01:00
data.h Rename addr_t to address_t to avoid clashes with the system addr_t. 2016-11-11 20:17:10 +01:00
equiv.c Add enough return types to the K&R C that the ACK builds (on Linux) using clang 2016-11-10 22:04:18 +01:00
equiv.h Header --> Id 1994-06-24 14:02:31 +00:00
extern.h Switch error() and fatal() in mach/proto/ncg to stdarg. 2017-02-16 20:26:53 -05:00
fillem.c Add enough return types to the K&R C that the ACK builds (on Linux) using clang 2016-11-10 22:04:18 +01:00
gencode.c Rename addr_t to address_t to avoid clashes with the system addr_t. 2016-11-11 20:17:10 +01:00
glosym.c Rationalised use of #includes to be more standards-compliant. 2006-07-18 17:10:29 +00:00
glosym.h Header --> Id 1994-06-24 14:02:31 +00:00
label.c Add enough return types to the K&R C that the ACK builds (on Linux) using clang 2016-11-10 22:04:18 +01:00
label.h Removed a definition of 'struct label' as 'label_t', as it clashes with 2006-07-21 10:35:34 +00:00
main.c Header --> Id 1994-06-24 14:02:31 +00:00
move.c Check in incomplete Linux PowerPC and M68K work. 2013-05-08 00:48:48 +01:00
nextem.c Fix buffer overrun looking up type information for op_lab pseudoops (as 2013-05-16 22:02:59 +01:00
param.h Header --> Id 1994-06-24 14:02:31 +00:00
proto.make Header --> Id 1994-06-24 14:02:31 +00:00
reg.c Check in incomplete Linux PowerPC and M68K work. 2013-05-08 00:48:48 +01:00
regvar.c Add reglap to ncg. Add 4-byte reg_float to PowerPC ncg. 2017-10-14 12:40:04 -04:00
regvar.h Header --> Id 1994-06-24 14:02:31 +00:00
result.h Rename addr_t to address_t to avoid clashes with the system addr_t. 2016-11-11 20:17:10 +01:00
salloc.c Ensure that memory is zero-initialised. 2017-01-16 22:45:03 +01:00
state.c Add enough return types to the K&R C that the ACK builds (on Linux) using clang 2016-11-10 22:04:18 +01:00
state.h Header --> Id 1994-06-24 14:02:31 +00:00
subr.c Switch error() and fatal() in mach/proto/ncg to stdarg. 2017-02-16 20:26:53 -05:00
types.h Header --> Id 1994-06-24 14:02:31 +00:00
var.c Header --> Id 1994-06-24 14:02:31 +00:00