1.TH SCC-CC2 1 scc\-VERSION2.SH NAME3scc-cc2 \- C compiler backend4.SH SYNOPSIS5.B cc26.RB [ \-d ]7.RI [ irfile ]8.SH DESCRIPTION9.B cc210is the C compiler backend of the scc toolchain.11It reads the scc intermediate representation (IR) from standard input12(or from13.I irfile14if given), and emits assembly code to standard output.15.PP16.B cc217is not normally invoked directly.18It is called by the compiler driver19.BR scc\-cc (1),20which pipes the IR produced by21.B cc122into23.BR cc2 .24.B cc225is installed as26.IR $prefix /libexec/scc/cc2-*.27.SH OPTIONS28.TP29.B \-d30Enable internal debug output.31When set, debugging information about the IR tree and the control flow32graph is printed to standard error during compilation.33.SH INPUT34.B cc235reads the scc IR produced by36.BR cc1 .37The IR is a line-oriented, tab-separated text format.38If39.I irfile40is specified, standard input is replaced by that file.41Otherwise the IR is read from standard input, which is the normal mode42when43.B cc244is used inside the pipeline constructed by45.BR scc\-cc (1).46.PP47For a full description of the IR format see48.BR scc\-ir (7).49.SH OUTPUT50.B cc251writes to standard output.52Depending on the variant of53.B cc254that is invoked, the output is either:55.TP56.B Native assembly57The target architecture assembly language, ready to be assembled by the58system assembler.59This is the output of the60.BI cc2\- arch \- abi61variants.62.TP63.B QBE IR64The intermediate language accepted by the QBE compiler backend.65This is the output of the66.BI cc2\-qbe_ arch \- abi67variants.68QBE subsequently compiles this IR to native assembly.69.SH BACKENDS70.B cc271is a family of architecture-specific binaries.72Each binary is compiled for a specific target and installed as a separate73executable under74.IR $SCCPREFIX/libexec/scc/ .75The following target backends are available:76.TP77.B cc2\-z80\-scc78Native code generator for the Zilog Z80 with the scc ABI.79.TP80.B cc2\-qbe_amd64\-sysv81QBE IR emitter for 64-bit x86 with the System V ABI.82.TP83.B cc2\-qbe_arm64\-sysv84QBE IR emitter for 64-bit ARM with the System V ABI.85.TP86.B cc2\-qbe_riscv64\-sysv87QBE IR emitter for 64-bit RISC-V with the System V ABI.88.SH SEE ALSO89.BR scc\-cc (1),90.BR scc\-cc1 (1),91.BR scc\-cpp (1),92.BR scc (1),93.BR scc\-ir (7)