quakeforge/tools/qfcc/source
Bill Currie a3aebc983b [qfcc] Add dependency edges for moved labels
When moving an identifier label from one node to another, the first node
must be evaluated before the second node, which the edge guarantees.
However, code for swapping two variables

    t = a; a = b; b = t;

creates a dependency cycle. The solution is to create a new leaf node
for the source operand of the assignment. This fixes the swap.r test
without pessimizing postop code.

This takes care of the core problem in #3, but there is still room for
improvement in that the load/store can be combined into a move.
2021-06-29 14:42:16 +09:00
..
.indent.pro indent whitespace cleanup. not perfect, but a bit more consistent now 2001-12-06 19:49:40 +00:00
class.c [qfcc] Ensure type src type is a class 2021-06-09 12:08:13 +09:00
codespace.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
constfold.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
cpp.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
dags.c [qfcc] Add dependency edges for moved labels 2021-06-29 14:42:16 +09:00
debug.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
def.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
defspace.c [qfcc] Clean up some excess includes 2020-08-17 14:36:08 +09:00
diagnostic.c [qfcc] Make internal_error const correct 2021-06-28 18:12:15 +09:00
disassemble.c [build] Move to non-recursive make 2020-06-25 11:35:37 +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 indexed initializers for expr functions 2021-06-28 18:12:15 +09:00
dot_flow.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
dot_sblock.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
dot_type.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
dump_globals.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
dump_lines.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
dump_modules.c [qfprogs] Dump class ivars when dumping modules 2021-06-04 14:59:15 +09:00
dump_strings.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
emit.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
expr.c [qfcc] Use indexed initializers for expr functions 2021-06-28 18:12:15 +09:00
expr_assign.c [qfcc] Use indexed initializers for expr functions 2021-06-28 18:12:15 +09:00
expr_binary.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
expr_bool.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
expr_compound.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
expr_obj.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
flow.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
function.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
grab.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
idstuff.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
linker.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
Makemodule.am Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
method.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
obj_file.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
obj_type.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
opcodes.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
options.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
pragma.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
qc-lex.l [qfcc] Handle l and ll integer suffixes 2021-06-13 13:25:18 +09:00
qc-parse.y [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
qfcc.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
qfpreqcc Better handling of progs.dat and line numbers. 2012-11-15 15:04:51 +09:00
qfprogs.c Merge master into csqc-improvements 2021-03-25 22:01:31 +09:00
qp-lex.l [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
qp-parse.y [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
reloc.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
shared.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
statements.c [qfcc] Use indexed initializers for expr functions 2021-06-28 18:12:15 +09:00
strpool.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
struct.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
stub.c [qfcc] Make internal_error const correct 2021-06-28 18:12:15 +09:00
switch.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
symtab.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
type.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
value.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00