[viff-devel] SMCL compiler status
Janus Dam Nielsen
jdn at brics.dk
Tue Jul 22 03:22:53 PDT 2008
> Hi again,
>
> While reading the progress repot I also looked at the code of the
> compiler to get a feeling for what it can and cannot do.
>
> Please correct me if I'm wrong, but it seems to go through a number of
> standard phases not related to cryptography. Then there are these
> three phases:
Yes there is a bunch of standard phases.
> * Checking of annotations for open() calls -- I think this is part of
> the analysis in DefiniteAssignment.java.
The checking is done in AnnotationAnalysis.java, which is part of the
DefiniteAssignment phase.
The code in AnnotationAnalysis.java is currently commented out, it
needs to be upgraded to changes in the analysis framework used.
> * Hoistability check which looks for I/O or assignments to public
> variables in the branches of if-statements.
Yes
> * Conditional expansion where if-statements are turned into
> conditional assignments. Loops are also detected in the branches.
Yes
> I found no support for
>
> * Making things run in parallel (the word "parallel" does not occur at
> all in the source code).
There is no concept of parallelism in SMCL programs. The fact that
the computation is distributed is abstracted away.
> * Bounds checking when the protocol needs inputs to be smaller than
> the field size (needed in comparisons and new Paillier two-player
> runtime).
I haven't been aware of this being an issue. We need to handle this
somehow.
> * Counting multiplications and other stuff for preprocessing.
NYI. The multiplication optimization I implemented last week haven't
been committet yet. It needs more integration with the rest of the
compiler.
--
Janus
More information about the viff-devel
mailing list