LANGUAGES revision 225736
1130803SmarcelRight now there is no documentation for the GCC tree -> rtl interfaces
2130803Smarcel(or more generally the interfaces for adding new languages).
3130803Smarcel
4130803SmarcelSuch documentation would be of great benefit to the project.  Until such
5130803Smarceltime as we can formally start documenting the interface this file will
6130803Smarcelserve as a repository for information on these interface and any incompatable
7130803Smarcelchanges we've made.
8130803Smarcel
9130803Smarcel2004-09-09:
10130803Smarcel  In an effort to decrease execution time, single char tree code
11130803Smarcel  classes were changed to enumerated values.
12130803Smarcel
13130803Smarcel  Old way:
14130803Smarcel
15130803Smarcel    DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0)
16130803Smarcel
17130803Smarcel  New way:
18130803Smarcel
19130803Smarcel    DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", tcc_declaration, 0)
20130803Smarcel
21130803Smarcel2001-02-26:
22130803Smarcel  A DECL_INITIAL of NULL_TREE or error_mark_node in a VAR_DECL is no longer
23130803Smarcel  taken to signify a tentative definition which should not be emitted until
24130803Smarcel  end-of-file.  Frontends which want that behavior should set
25130803Smarcel  DECL_DEFER_OUTPUT before calling rest_of_decl_compilation.
26130803Smarcel
27130803SmarcelFeb 1, 1998:
28130803Smarcel
29130803Smarcel  GCC used to store structure sizes & offsets to elements as bitsize
30130803Smarcel  quantities.  This causes problems because a structure can only be
31130803Smarcel  (target memsize / 8) bytes long (this may effect arrays too).  This
32130803Smarcel  is particularly problematical on machines with small address spaces.
33130803Smarcel
34130803Smarcel  So:
35130803Smarcel
36130803Smarcel    All trees that represent sizes in bits should have a TREE_TYPE of
37130803Smarcel    bitsizetype (rather than sizetype).
38130803Smarcel
39130803Smarcel    Accordingly, when such values are computed / initialized, care has to
40130803Smarcel    be takes to use / compute the proper type.
41130803Smarcel
42130803Smarcel    When a size in bits is converted into a size in bytes, which is expressed
43130803Smarcel    in trees, care should be taken to change the tree's type again to sizetype.
44130803Smarcel
45130803Smarcel?? 1997:
46130803Smarcel
47130803Smarcel  In an effort to decrease cache thrashing and useless loads we've changed the
48130803Smarcel  third argument to the DEFTREECODE macro to be a single char.  This will
49130803Smarcel  affect languages that defined their own tree codes (usually in a .def file).
50130803Smarcel
51130803Smarcel  Old way:
52130803Smarcel
53130803Smarcel    DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", "d", 0)
54130803Smarcel
55130803Smarcel  New way:
56130803Smarcel
57130803Smarcel    DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0)
58130803Smarcel