亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? projects

?? 這是完整的gcc源代碼
??
?? 第 1 頁 / 共 2 頁
字號:
* Change the type of a variable.Sometimes a variable is declared as `int', it is assigned only oncefrom a value of type `char', and then it is used only by comparisonagainst constants.  On many machines, better code would result ifthe variable had type `char'.  If the compiler could detect thiscase, it could change the declaration of the variable and changeall the places that use it.* Order of subexpressions.It might be possible to make better code by paying attentionto the order in which to generate code for subexpressions of an expression.* More code motion.Consider hoisting common code up past conditional branches ortablejumps.* Trace scheduling.This technique is said to be able to figure out which way a jumpwill usually go, and rearrange the code to make that path thefaster one.* Distributive law.The C expression *(X + 4 * (Y + C)) compiles better on certainmachines if rewritten as *(X + 4*C + 4*Y) because of known addressingmodes.  It may be tricky to determine when, and for which machines, touse each alternative.Some work has been done on this, in combine.c.* Can optimize by changing if (x) y; else z; into z; if (x) y;if z and x do not interfere and z has no effects not undone by y.This is desirable if z is faster than jumping.* For a two-insn loop on the 68020, such as  foo:	movb	a2@+,a3@+	jne	fooit is better to insert dbeq d0,foo before the jne.d0 can be a junk register.  The challenge is to fit this intoa portable framework: when can you detect this situation andstill be able to allocate a junk register?2. Simpler porting.Right now, describing the target machine's instructions is donecleanly, but describing its addressing mode is done with severalad-hoc macro definitions.  Porting would be much easier if there werean RTL description for addressing modes like that for instructions.Tools analogous to genflags and genrecog would generate macros fromthis description.There would be one pattern in the address-description file for eachkind of addressing, and this pattern would have:  * the RTL expression for the address  * C code to verify its validity (since that may depend on    the exact data).  * C code to print the address in assembler language.  * C code to convert the address into a valid one, if it is not valid.    (This would replace LEGITIMIZE_ADDRESS).  * Register constraints for all indeterminates that appear    in the RTL expression.3. Other languages.Front ends for Pascal, Fortran, Algol, Cobol, Modula-2 and Ada aredesirable.Pascal, Modula-2 and Ada require the implementation of functionswithin functions.  Some of the mechanisms for this already exist.4. More extensions.* Label-addresses as expressions.It would be nice to have access to the addresses of labels; to be able tostore them in variables, or initialize vectors of them.Alas, `&label0' is the address of the variable named label0, which isunrelated to the label with that name.  Some other syntax is needed.Perhaps colon as a unary operator?  That is ambiguous with `?:' withthe middle operand omitted.  Perhaps ^ as a unary operator?  Perhaps`__label__ label0' could mean the value of label0?  Its type could be`void *'.  `goto *EXP' could be used to go to a value of type `void*'--no ambiguity there.Jump optimization and flow analysis must know about computed jumps,but that is not hard.  Each basic block headed by a possible target ofcomputed jumps must be considered a successor of each basic blockending in a computed jump.  Aside from this, I believe no otheroptimizer changes are needed.Next question: stack levels.  In most functions, there is no problem,but it would be a shame to make a feature that doesn't work togetherwith other features.  Here is an idea:For each label that might need stack level restoration, construct ashadow-label which will restore the stack and jump to the user-label.Then use the address of the shadow label for label0 when someone asksfor that of label0.  Jump optimization will delete all the shadow labelsif the function has no computed gotos.* Generated unique labels.  Have some way of generating distinct labelsfor use in extended asm statements.  I don't know what a good syntax wouldbe.5. Generalize the machine model.* Some new compiler features may be needed to do a good job on machineswhere static data needs to be addressed using base registers.* Some machines have two stacks in different areas of memory, one usedfor scalars and another for large objects.  The compiler does notnow have a way to understand this.6. Better documentation of how GCC works and how to port it.Here is an outline proposed by Allan Adler.I.    Overview of this documentII.   The machines on which GCC is implemented    A. Prose description of those characteristics of target machines and       their operating systems which are pertinent to the implementation       of GCC.	i. target machine characteristics	ii. comparison of this system of machine characteristics with	    other systems of machine specification currently in use    B. Tables of the characteristics of the target machines on which       GCC is implemented.    C. A priori restrictions on the values of characteristics of target        machines, with special reference to those parts of the source code       which entail those restrictions	i. restrictions on individual characteristics         ii. restrictions involving relations between various characteristics    D. The use of GCC as a cross-compiler 	i. cross-compilation to existing machines	ii. cross-compilation to non-existent machines    E. Assumptions which are made regarding the target machine	i.  assumptions regarding the architecture of the target machine	ii. assumptions regarding the operating system of the target machine	iii. assumptions regarding software resident on the target machine	iv. where in the source code these assumptions are in effect madeIII.   A systematic approach to writing the files tm.h and xm.h    A. Macros which require special care or skill    B. Examples, with special reference to the underlying reasoningIV.    A systematic approach to writing the machine description file md    A. Minimal viable sets of insn descriptions    B. Examples, with special reference to the underlying reasoningV.     Uses of the file aux-output.cVI.    Specification of what constitutes correct performance of an        implementation of GCC    A. The components of GCC    B. The itinerary of a C program through GCC    C. A system of benchmark programs    D. What your RTL and assembler should look like with these benchmarks    E. Fine tuning for speed and size of compiled codeVII.   A systematic procedure for debugging an implementation of GCC    A. Use of GDB	i. the macros in the file .gdbinit for GCC	ii. obstacles to the use of GDB	    a. functions implemented as macros can't be called in GDB    B. Debugging without GDB	i. How to turn off the normal operation of GCC and access specific	   parts of GCC    C. Debugging tools    D. Debugging the parser	i. how machine macros and insn definitions affect the parser    E. Debugging the recognizer	i. how machine macros and insn definitions affect the recognizerditto for other componentsVIII. Data types used by GCC, with special reference to restrictions not       specified in the formal definition of the data typeIX.   References to the literature for the algorithms used in GCC

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
17c精品麻豆一区二区免费| 亚洲一区二区高清| 欧美视频完全免费看| 国产精品原创巨作av| 午夜精品成人在线| 亚洲蜜臀av乱码久久精品 | 国产精品美女久久久久久2018| 欧美视频一区二区在线观看| 国内久久精品视频| 亚洲高清在线精品| 亚洲色欲色欲www| 久久久久久99久久久精品网站| 欧美日韩国产a| 色婷婷综合五月| 高清不卡在线观看| 国产在线视视频有精品| 天堂在线亚洲视频| 亚洲已满18点击进入久久| 国产精品女同一区二区三区| 精品国产乱码久久久久久闺蜜| 欧美色图激情小说| 色国产精品一区在线观看| 成人免费av网站| 国产成人免费视频精品含羞草妖精| 麻豆成人av在线| 日本va欧美va欧美va精品| 亚洲制服丝袜av| 亚洲午夜久久久久久久久电影网| 国产精品久久国产精麻豆99网站| 国产亚洲午夜高清国产拍精品| 欧美精品一区二区高清在线观看| 日韩一卡二卡三卡| 欧美一二三在线| 日韩欧美成人一区| 欧美精品一区男女天堂| 久久美女艺术照精彩视频福利播放| 日韩视频在线永久播放| 精品国产区一区| 欧美精品一区二区高清在线观看| 精品国产乱码久久| 久久久久久夜精品精品免费| 久久亚洲欧美国产精品乐播| 久久看人人爽人人| 中文字幕精品三区| 亚洲视频资源在线| 亚洲综合视频在线| 亚洲成av人片在线观看| 日韩国产欧美在线视频| 精品无码三级在线观看视频| 国产揄拍国内精品对白| 波多野结衣中文一区| 91在线看国产| 欧美日韩亚洲另类| 欧美va亚洲va| 亚洲国产高清不卡| 亚洲精品一二三| 亚洲成人激情av| 美女脱光内衣内裤视频久久网站| 国产乱码精品一区二区三区五月婷| 国产成人精品免费视频网站| 99re在线精品| 911精品国产一区二区在线| 精品国产青草久久久久福利| 亚洲国产成人私人影院tom| 亚洲乱码一区二区三区在线观看| 亚洲综合图片区| 久久99国产乱子伦精品免费| 国产一区二区精品在线观看| caoporn国产一区二区| 在线观看成人免费视频| 欧美一卡二卡在线| 国产精品久久久一区麻豆最新章节| 亚洲男人电影天堂| 免费观看日韩电影| 99精品欧美一区二区三区小说| 欧美性受极品xxxx喷水| wwwwxxxxx欧美| 亚洲黄网站在线观看| 国产在线视频精品一区| 在线视频国内自拍亚洲视频| 26uuu色噜噜精品一区二区| 亚洲激情图片qvod| 国产精品亚洲第一区在线暖暖韩国 | 奇米777欧美一区二区| 国产美女一区二区三区| 欧美做爰猛烈大尺度电影无法无天| 日韩免费成人网| 亚洲免费在线看| 老汉av免费一区二区三区 | 亚洲精品一区在线观看| 亚洲人成在线观看一区二区| 六月丁香婷婷久久| 日本久久精品电影| 国产欧美一区二区精品仙草咪| 亚洲成va人在线观看| 不卡一区在线观看| 精品国产乱码久久久久久影片| 亚洲图片你懂的| 国产精品996| 日韩亚洲欧美在线| 亚洲电影一级片| 99r国产精品| 国产欧美一区二区精品忘忧草| 日本不卡的三区四区五区| 99综合电影在线视频| 久久综合资源网| 日韩二区三区四区| 欧美日韩激情在线| 亚洲欧美另类久久久精品2019| 国产伦理精品不卡| 欧美一区二区性放荡片| 一区二区三区免费观看| 99久久精品国产网站| 中文字幕国产一区二区| 狠狠狠色丁香婷婷综合激情| 欧美日韩激情在线| 亚洲福利电影网| 91福利视频网站| 亚洲激情一二三区| 一本大道久久a久久精品综合| 中文字幕欧美激情一区| 精品久久人人做人人爰| 日韩国产欧美三级| 欧美丰满一区二区免费视频| 亚洲一卡二卡三卡四卡| 色综合久久久久久久| 亚洲人成网站色在线观看| 国产福利一区二区三区| 国产欧美综合色| 国产精品一二三区| 久久精品亚洲精品国产欧美| 国内精品免费**视频| 日韩免费性生活视频播放| 久久国产精品无码网站| 欧美成人精品1314www| 免费不卡在线观看| 日韩精品一区二区三区蜜臀| 麻豆成人免费电影| 久久久久久影视| 成人一道本在线| 亚洲欧美自拍偷拍色图| 97久久超碰国产精品电影| 亚洲丝袜美腿综合| 日本韩国欧美一区| 亚洲成av人影院在线观看网| 7878成人国产在线观看| 美女在线一区二区| 久久综合一区二区| 高清免费成人av| 亚洲卡通欧美制服中文| 欧美性大战久久久久久久蜜臀| 亚洲一区二区在线观看视频| 欧美丝袜第三区| 久久99热99| 欧美国产97人人爽人人喊| 99久久99久久精品免费观看| 亚洲午夜精品一区二区三区他趣| 欧美精选午夜久久久乱码6080| 日本三级亚洲精品| 久久噜噜亚洲综合| 色综合久久中文综合久久97| 性感美女久久精品| 精品国产网站在线观看| 国产69精品一区二区亚洲孕妇| 中文字幕亚洲区| 欧美在线观看视频在线| 日韩av中文在线观看| 久久色在线观看| 色综合天天天天做夜夜夜夜做| 亚洲妇女屁股眼交7| 欧美精品一区二区三区高清aⅴ| 成人性生交大片免费看在线播放| 亚洲一二三四在线观看| 精品国产乱码久久久久久图片| 99久久精品免费| 麻豆91免费看| 国产精品二三区| 777奇米成人网| 成人av网址在线| 首页国产欧美久久| 久久久久久免费网| 欧美日韩色综合| 粉嫩一区二区三区性色av| 亚洲高清中文字幕| 中文在线一区二区| 91麻豆精品国产自产在线| 国产白丝网站精品污在线入口| 亚洲成人www| 国产精品国产三级国产aⅴ原创| 69堂亚洲精品首页| 色噜噜狠狠成人网p站| 国产剧情av麻豆香蕉精品| 亚洲777理论| 中文字幕亚洲综合久久菠萝蜜| 日韩手机在线导航| 欧洲一区二区av| 国产成人av电影免费在线观看| 日韩在线一二三区| 亚洲精品一二三| 中文无字幕一区二区三区|