mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-22 02:11:19 +00:00
Nicely, the use sets from live_variable analysis can be used too, though there are some problems with the naive implementation. For: vector foo (float x, float y, float z) { vector v; v.x = x; v.y = y; v.z = z; return v; } qfcc thinks v is uninitialized, but if "if (x) return nil;" (or any other basic-block splitter) is put just before the return v; qfcc correctly detects that v is initialized. The reason is that the inits are in the same basic block as the return, and thus aren't affecting the reaching definitions, which are stored per-block. The naive implementation should be good for a fast-cull before doing a per-statement check. |
||
---|---|---|
.. | ||
3dfx_stub | ||
bsp2img | ||
build_scripts | ||
carne | ||
cross | ||
cvs2cl | ||
Forge | ||
gas2masm | ||
gl_stub | ||
io_mesh_qfmdl | ||
io_qfmap | ||
misc | ||
pak | ||
qfbsp | ||
qfcc | ||
qflight | ||
qflmp | ||
qfmodelgen | ||
qfspritegen | ||
qfvis | ||
quaketoascii | ||
qwaq | ||
texpaint | ||
wad | ||
wav | ||
Makefile.am |