quakeforge/tools/qfcc/include
Bill Currie 06d70a32db [qfcc] Rework the functionality of address expressions
The goal was to get lea being used for locals in ruamoko progs because
lea takes the base registers into account while the constant pointer
defs used by v6p cannot. Pointer defs are still used for gobals as they
may be out of reach of 16-bit addressing.

address_expr() has been simplified in that it no longer takes an offset:
the vast majority of the callers never passed one, and the few that did
have been reworked to use other mechanisms. In particular,
offset_pointer_expr does the manipulations needed to add an offset
(unscaled by type size) to a pointer. High-level pointer offsets still
apply a scale, though.

Alias expressions now do a better job of hanling aliasing of aliases by
simply replacing the target type when possible.
2022-01-25 23:39:17 +09:00
..
class.h [qfcc] Fix a missed address expression conversion 2022-01-20 00:42:29 +09:00
codespace.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
cpp.h Replace system defines/includes with qfcc's 2020-02-19 02:35:09 +09:00
dags.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
debug.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
def.h [qfcc] Pass initialize_def the symtab to use as a parameter 2022-01-24 12:48:02 +09:00
defspace.h [qfcc] Make virtual defspaces useful for highwater allocation 2022-01-20 20:54:12 +09:00
diagnostic.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
dot.h Create a function to generalize dot dumping. 2012-11-15 13:44:08 +09:00
emit.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
expr.h [qfcc] Rework the functionality of address expressions 2022-01-25 23:39:17 +09:00
expr_names.h [qfcc] Build the Ruamoko function parameters 2022-01-24 23:44:48 +09:00
flow.h [qfcc] Increase flow operand count to 5 2020-03-17 21:24:12 +09:00
function.h [qfcc] Specify base register index for local defs 2022-01-21 20:34:43 +09:00
grab.h Merge branch 'qfcc-cse' 2012-12-13 20:17:28 +09:00
idstuff.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
linker.h Make linker_add_def take a pointer for the value. 2012-11-14 13:12:58 +09:00
Makemodule.am [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
method.h [qfcc] Fix protocol adorned id as message receiver 2020-03-16 10:42:18 +09:00
obj_file.h [gamecode] Rename func_t to pr_func_t 2022-01-18 15:36:58 +09:00
obj_type.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
opcodes.h [qfcc] Dump emitted statements when verbosity >= 2 2022-01-20 13:08:05 +09:00
options.h [qfcc] Remove path stripping 2020-04-03 00:50:06 +09:00
pragma.h Allow pragmas to have arguments 2020-02-15 23:49:12 +09:00
qfcc.h [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
qfprogs.h Fix qfo strings dumping 2020-02-23 15:08:31 +09:00
reloc.h [gamecode] Clean up string_t and pointer_t 2022-01-18 12:11:14 +09:00
shared.h Merge qfpc into qfcc. 2012-10-26 16:01:41 +09:00
statements.h [qfcc] Implement flow analysis for Ruamoko calls 2022-01-21 17:14:10 +09:00
strpool.h [qfcc] Add function to see if a string is in a pool 2020-04-03 14:22:44 +09:00
struct.h [qfcc] Take optional space param for emit_structure 2020-04-03 14:16:16 +09:00
switch.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
symtab.h [qfcc] Rework method ivar access 2020-03-05 18:45:47 +09:00
type.h [qfcc] Take operand width into account 2022-01-20 16:49:07 +09:00
value.h [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00