(gccint.info.gz) Target Macros

Info Catalog (gccint.info.gz) Machine Desc (gccint.info.gz) Top (gccint.info.gz) Host Config
 
 17 Target Description Macros and Functions
 ******************************************
 
 In addition to the file `MACHINE.md', a machine description includes a
 C header file conventionally given the name `MACHINE.h' and a C source
 file named `MACHINE.c'.  The header file defines numerous macros that
 convey the information about the target machine that does not fit into
 the scheme of the `.md' file.  The file `tm.h' should be a link to
 `MACHINE.h'.  The header file `config.h' includes `tm.h' and most
 compiler source files include `config.h'.  The source file defines a
 variable `targetm', which is a structure containing pointers to
 functions and data relating to the target machine.  `MACHINE.c' should
 also contain their definitions, if they are not defined elsewhere in
 GCC, and other functions called through the macros defined in the `.h'
 file.
 

Menu

 
* Target Structure    The `targetm' variable.
* Driver              Controlling how the driver runs the compilation passes.
* Run-time Target     Defining `-m' options like `-m68000' and `-m68020'.
* Per-Function Data   Defining data structures for per-function information.
* Storage Layout      Defining sizes and alignments of data.
* Type Layout         Defining sizes and properties of basic user data types.
* Registers           Naming and describing the hardware registers.
* Register Classes    Defining the classes of hardware registers.
* Old Constraints     The old way to define machine-specific constraints.
* Stack and Calling   Defining which way the stack grows and by how much.
* Varargs             Defining the varargs macros.
* Trampolines         Code set up at run time to enter a nested function.
* Library Calls       Controlling how library routines are implicitly called.
* Addressing Modes    Defining addressing modes valid for memory operands.
* Anchored Addresses  Defining how `-fsection-anchors' should work.
* Condition Code      Defining how insns update the condition code.
* Costs               Defining relative costs of different operations.
* Scheduling          Adjusting the behavior of the instruction scheduler.
* Sections            Dividing storage into text, data, and other sections.
* PIC                 Macros for position independent code.
* Assembler Format    Defining how to write insns and pseudo-ops to output.
* Debugging Info      Defining the format of debugging output.
* Floating Point      Handling floating point for cross-compilers.
* Mode Switching      Insertion of mode-switching instructions.
* Target Attributes   Defining target-specific uses of `__attribute__'.
* Emulated TLS        Emulated TLS support.
* MIPS Coprocessors   MIPS coprocessor support and how to customize it.
* PCH Target          Validity checking for precompiled headers.
* C++ ABI             Controlling C++ ABI changes.
* Misc                Everything else.
 
Info Catalog (gccint.info.gz) Machine Desc (gccint.info.gz) Top (gccint.info.gz) Host Config
automatically generated by info2html