quakeforge/tools/qfcc/source
Bill Currie d8a78fc849 [qfcc] Handle aliased temps better
Because the aliases were treated as live, every alias of a temp resulted
in an assignment, which proved to be quite significant (4-5 assignments
in some simple GA expressions). By using an alias node in the dag, the
unaliased temp can be marked live while the alias is treated as an
operation rather than an operand. Now my GA expressions have no
superfluous assignments (generally no assignments at all).
2023-09-01 11:59:47 +09:00
..
.indent.pro indent whitespace cleanup. not perfect, but a bit more consistent now 2001-12-06 19:49:40 +00:00
algebra.c [qfcc] Fix some more multi-vectors type issues 2023-08-30 15:45:44 +09:00
attribute.c [qfcc] Support multiple parameters for attributes 2023-08-25 22:13:54 +09:00
class.c [qfcc] Differentiate symtabs by intended use 2023-02-14 12:45:04 +09:00
codespace.c [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
constfold.c [qfcc] Correct handling of 64-bit comparisons 2023-08-26 23:04:34 +09:00
cpp.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
dags.c [qfcc] Handle aliased temps better 2023-09-01 11:59:47 +09:00
debug.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
def.c [qfcc] Fix adjusted swizzles for the same def 2023-08-26 23:08:55 +09:00
defspace.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
diagnostic.c [qfcc] Include C function in diagnostic messages 2023-08-21 17:47:55 +09:00
disassemble.c [gamecode] Rename parm to param 2022-01-27 10:55:06 +09:00
dot.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
dot_dag.c [qfcc] Keep track of reachable dag nodes 2021-06-29 09:41:03 +09:00
dot_expr.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
dot_flow.c [qfcc] Create du-chains from ud-chains 2023-06-04 11:24:52 +09:00
dot_sblock.c [qfcc] Make it a little easier to see extra info 2021-12-27 14:15:51 +09:00
dot_type.c [gamecode] Rename ev_pointer to ev_ptr 2022-01-18 14:36:06 +09:00
dump_globals.c [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
dump_lines.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
dump_modules.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
dump_strings.c [qfprogs] Dump hex for non-ascii chars 2022-12-10 21:53:00 +09:00
emit.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
evaluate.c [qfcc] Use the progs VM to help with constant folding 2023-08-21 17:47:55 +09:00
expr.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
expr_algebra.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
expr_assign.c [qfcc] Use scatter-gather for multivec expressions 2023-08-23 15:38:32 +09:00
expr_binary.c [gamecode] Switch dot products to give a scalar 2023-08-31 15:32:52 +09:00
expr_bool.c [qfcc] Handle more vector type tests 2023-08-30 14:52:38 +09:00
expr_cast.c [qfcc] Correct handling of 64-bit comparisons 2023-08-26 23:04:34 +09:00
expr_compound.c [qfcc] Implement designated initializers 2023-05-27 12:47:33 +09:00
expr_obj.c [qfcc] Make is_function_call a little more useful 2022-02-05 19:30:08 +09:00
expr_vector.c [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
flow.c [qfcc] Handle aliased temps better 2023-09-01 11:59:47 +09:00
function.c [qfcc] Fix declarators for pointers/functions/arrays 2023-03-09 02:22:23 +09:00
grab.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
idstuff.c [gamecode] Use a struct for offset/count pairs 2022-01-26 19:30:25 +09:00
linker.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
Makemodule.am [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
method.c [qfcc] Don't free duplicate method when merging 2022-09-19 16:39:25 +01:00
obj_file.c [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
obj_type.c [qfcc] Start work on implementing geometric algebra 2023-08-21 17:58:20 +09:00
opcodes.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
options.c [qfcc] Allow #pragma to control warning options 2023-08-26 23:47:00 +09:00
pragma.c [qfcc] Allow #pragma to control warning options 2023-08-26 23:47:00 +09:00
qc-lex.l [qfcc] Add some basic 3d PGA tests 2023-08-30 17:32:02 +09:00
qc-parse.y [qfcc] Implement the regressive product 2023-08-28 20:35:03 +09:00
qfcc.c [qfcc] Actually skip compile for -E etc 2023-03-06 13:06:05 +09:00
qfpreqcc Better handling of progs.dat and line numbers. 2012-11-15 15:04:51 +09:00
qfprogs.c [util] Support utf-8 strings in Sys_Printf 2023-08-23 21:40:50 +09:00
qp-lex.l [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
qp-parse.y [qfcc] Use a hidden local variable for pascal functions 2022-02-01 16:08:58 +09:00
reloc.c [util] Record allocated blocs for ALLOC 2023-03-05 18:31:30 +09:00
shared.c [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
statements.c [qfcc] Handle aliased temps better 2023-09-01 11:59:47 +09:00
strpool.c [qfcc] Ensure non-unicode char string is terminated 2022-12-10 21:53:45 +09:00
struct.c [qfcc] Apply member alignment to union size 2023-08-29 08:25:19 +09:00
stub.c [qfcc] Use scatter-gather for multivec expressions 2023-08-23 15:38:32 +09:00
switch.c [qfcc] Rework the functionality of address expressions 2022-01-25 23:39:17 +09:00
symtab.c [qfcc] Allow symbol tables to have procedural symbols 2023-08-21 17:47:55 +09:00
type.c [qfcc] Use the new 2d wedge and 2-component swizzles 2023-08-31 20:22:59 +09:00
value.c [qfcc] Use the progs VM to help with constant folding 2023-08-21 17:47:55 +09:00