zc (1)

NAME

zc, rzc - The ZPL compiler.

SYNOPSIS

zc | rzc [-cpp] [-d directory] [-Dname] [-Dname=def]

[-fusion[n]] [-h] [-Idirectory] [-llib] [-Ldirectory] [-noaccessopt] [-nobuild] [-nocommopt] [-noconstopt] [-nocontract] [-nostrength] [-o output] [-O[n]] [-savec] [-safe] [-Uname] [-v] [-verbose] [-V] [C files] [object files] ZPL file

DESCRIPTION

zc is the compiler for the ZPL data parallel array language (rzc is the remote version of the compiler). zc requires a single ZPL source file as an argument.

FLAGS

-cpp

Use cpp to preprocess the input ZPL file. cpp does not run by default.

-d directory

Specify the directory in which to place the generated C code. Use this in conjunction with -savec to save the generated ANSI C code.

-Dname

-Dname=def

Preprocessor flag, passed directly to cpp.

-fusion[n]

Enable array loop fusion. When no value is specified for n, the compiler performs full fusion (-fusion3).

0
No array loop fusion.

1
Enable fusion for compiler temporaries.

2
Enable fusion for compiler temporaries and contraction.

3
Enable fusion for compiler temporaries, contraction and locality (default).

-h

Display usage information.

-Idirectory

Add directory to the search path for #include files. This directory is added to the search path for any invocation of cpp, including while building the final binary.

-llib

Use lib during object code linking for final binary.

-Ldirectory

Add directory to the search path for link time libraries while building the final binary.

-noaccessopt

Disable efficient array access. The default is on.

-nobuild

Do not build the final binary. -nobuild implies -savec and -d.

-nocommopt

Disable communication optimizations. The default is on.

-noconstopt

Disable evaluation of constant initializers. The default is on.

-nocontract

Disable array contraction. The default is on.

-nostrength

Disable strength reduction optimizations. The default is on.

-o output

Name the final binary output. If this flag is not used, the name of the binary is that of the basename of the original input file.

-O[n]

Set the optimization level. When no value is specified for n, the compiler performs full optimizations (-O1).

0
Disable all optimizations. Same as -fusion0, -noaccessopt, -nocommopt, -noconstopt, -nocontract, and -nostrength.

1
Enable all optimizations (default).

-savec

Save the generation C code. When using -savec, an output directory must be specified with the -d flag.

-Uname

Preprocessor flag, passed directly to cpp.

-v

Print out compiler phases as they execute.

-verbose

Print out verbose error and warning messages.

-V

Print out version information and quit.

EXAMPLES

zc my_program.z

Compiles my_program.z and returns a binary called my_program.

zc -o a.out my_program.z

Compiles my_program.z and returns a binary called a.out.

zc my_math.c my_program.z

Compiles my_program.z and my_math.c and returns a binary called my_program.

zc my_program.z my_lib.a

Compiles my_program.z, links with with my_lib.a and returns a binary called my_program.

ERRORS

The error and warning messages produced by zc are intended to be self-explanatory. If an build or internal error occurs, please contact zpl-bugs@cs.washington.edu.

BUGS

Please mail any bugs (e.g., internal errors) to zpl-bugs@cs.washington.edu. Include a description of the bug, ll text of the ZPL program the produces the bug, the version of the compiler that you are using (from zc -V) and any compiler output (e.g., internal error number).

ENVIRONMENT

ZPLHOME

Path to the ZPL installation (required), e.g., /usr/local/zpl.

ZPLCOMMLAYER

Communication API used (required), e.g., seq, shmem, mpi.

ZPLTARGET

Target architecture (required), e.g. alpha, t3e.

ZPLSOURCE

Source architecture, if different from ZPLTARGET.

FILES

file.z

input file

$ZPLHOME/bin/zc0

ZPL source compiler

/tmp/zc-*

compiler temporary directories and files

RELATED INFORMATION

Lawrence Snyder, A ZPL Programmer's Guide

Calvin Lin, ZPL Language Reference Manual

For more information on ZPL, please visit the ZPL web page:


http://www.cs.washington.edu/research/zpl/

AUTHORS

The ZPL compiler team at the University of Washington:
zpl-info@cs.washington.edu