DDX/DDY could cause miscompilation, but I think that only happens if
LLVM clones or causes some paths to net execute them.

Someone proposed some time ago on llvmdev to add a flag to tell llvm
to never duplicate an intrinsic, not sure if that went through (iirc,
it was for a barrier instruction that relied on the instruction
pointer).
Alternatively, it should be possible to just disable any passes that
clone basic blocks if those instructions are present.

The non-execution problem should be fixable by declaring DDX/DDY to
have global-write-like side effects (this will prevent dead code
elimination of them if they are totally unused, but hopefully shaders
are not written so badly they need that).

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to