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