quakeforge/tools/qfcc
Bill Currie 8433905015 [qfcc] Extend reachable to the label node's parents
While using just the label node's reachable set was sufficient for a
simple swap (t = a; a = b; b = t;), it is not sufficient for
read-before-write dependencies such as found in linked-list building:

    { o = array[ind]; o.next = obj; obj = o; }

The assignment to o.next uses obj, but that use is hidden because obj's
reachable nodes does not include o thus assigning o to obj causes the
array dereference to be assigned directly to obj and thus o.next winds
up pointing to o instead of whatever obj was. The parent nodes of obj's
node are its users, so any new assigned to obj must come after those
parents as well as any node reachable by obj's node.

Fixes a runaway loop error when adding a frikbot to the server.
2021-12-27 14:25:55 +09:00
..
doc [qfcc] Correct some errors in the man page 2021-11-29 11:38:54 +09:00
include [qfcc] Preserve input qfo data in qfo_to_progs 2021-12-27 00:27:15 +09:00
source [qfcc] Extend reachable to the label node's parents 2021-12-27 14:25:55 +09:00
test [qfcc] Add a test for use/write dependencies 2021-12-27 14:17:12 +09:00
AUTHORS more mailing list corrections 2003-07-12 21:50:22 +00:00
Makemodule.am [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
TODO Throw away function parameter type alias info 2020-02-26 17:46:53 +09:00