]>
Commit | Line | Data |
---|---|---|
30384dcf | 1 | Right now there is no documentation for the GCC tree -> rtl interfaces |
2 | (or more generally the interfaces for adding new languages). | |
3 | ||
4 | Such documentation would be of great benefit to the project. Until such | |
5 | time as we can formally start documenting the interface this file will | |
9d75589a | 6 | serve as a repository for information on these interface and any incompatible |
30384dcf | 7 | changes we've made. |
8 | ||
ce45a448 | 9 | 2004-09-09: |
10 | In an effort to decrease execution time, single char tree code | |
11 | classes were changed to enumerated values. | |
12 | ||
13 | Old way: | |
14 | ||
15 | DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0) | |
16 | ||
17 | New way: | |
18 | ||
19 | DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", tcc_declaration, 0) | |
20 | ||
f194e0e0 | 21 | 2001-02-26: |
22 | A DECL_INITIAL of NULL_TREE or error_mark_node in a VAR_DECL is no longer | |
23 | taken to signify a tentative definition which should not be emitted until | |
24 | end-of-file. Frontends which want that behavior should set | |
25 | DECL_DEFER_OUTPUT before calling rest_of_decl_compilation. | |
26 | ||
30384dcf | 27 | Feb 1, 1998: |
28 | ||
29 | GCC used to store structure sizes & offsets to elements as bitsize | |
30 | quantities. This causes problems because a structure can only be | |
31 | (target memsize / 8) bytes long (this may effect arrays too). This | |
32 | is particularly problematical on machines with small address spaces. | |
33 | ||
34 | So: | |
35 | ||
36 | All trees that represent sizes in bits should have a TREE_TYPE of | |
37 | bitsizetype (rather than sizetype). | |
38 | ||
39 | Accordingly, when such values are computed / initialized, care has to | |
40 | be takes to use / compute the proper type. | |
41 | ||
42 | When a size in bits is converted into a size in bytes, which is expressed | |
43 | in trees, care should be taken to change the tree's type again to sizetype. | |
44 | ||
19a0c73b | 45 | ?? 1997: |
30384dcf | 46 | |
19a0c73b | 47 | In an effort to decrease cache thrashing and useless loads we've changed the |
48 | third argument to the DEFTREECODE macro to be a single char. This will | |
f194e0e0 | 49 | affect languages that defined their own tree codes (usually in a .def file). |
19a0c73b | 50 | |
51 | Old way: | |
52 | ||
53 | DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", "d", 0) | |
54 | ||
55 | New way: | |
56 | ||
57 | DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0) | |
7dfbd804 | 58 | |
59 | \f | |
f1717362 | 60 | Copyright (C) 1998-2016 Free Software Foundation, Inc. |
7dfbd804 | 61 | |
62 | Copying and distribution of this file, with or without modification, | |
63 | are permitted in any medium without royalty provided the copyright | |
64 | notice and this notice are preserved. |