Template:Compiler optimizations
Source 📝
412:
458:
37:
184:
423:
218:
474:
30:
390:
267:
168:
309:
204:
454:
288:
339:
304:
228:
103:
83:
88:
236:
213:
189:
118:
365:
360:
314:
241:
65:
60:
395:
319:
163:
375:
246:
138:
46:
370:
334:
153:
143:
93:
251:
75:
385:
324:
194:
173:
133:
113:
380:
355:
329:
128:
123:
108:
468:
98:
178:
272:
406:
15:
19:
446:
438:
434:
419:
348:
297:
281:
260:
227:
203:
152:
74:
53:
431:Editors can experiment in this template's sandbox
185:Induction variable recognition and elimination
31:
8:
38:
24:
16:
219:Sparse conditional constant propagation
7:
14:
410:
169:Common subexpression elimination
310:Compile-time function execution
1:
475:Computing navigational boxes
289:Interprocedural optimization
340:Profile-guided optimization
305:Bounds-checking elimination
491:
430:
104:Loop-invariant code motion
459:Subpages of this template
84:Automatic parallelization
89:Automatic vectorization
453:Add categories to the
415:Template documentation
237:Instruction scheduling
214:Global value numbering
190:Live-variable analysis
119:Loop nest optimization
47:Compiler optimizations
366:Control-flow analysis
361:Array-access analysis
315:Dead-code elimination
273:Tail-call elimination
242:Instruction selection
66:Local value numbering
61:Peephole optimization
396:Value range analysis
320:Expression templates
164:Available expression
376:Dependence analysis
247:Register allocation
139:Software pipelining
371:Data-flow analysis
335:Partial evaluation
144:Strength reduction
94:Induction variable
404:
403:
252:Rematerialization
482:
450:
442:
427:
416:
414:
413:
386:Pointer analysis
325:Inline expansion
195:Use-define chain
174:Constant folding
134:Loop unswitching
114:Loop interchange
40:
33:
26:
17:
490:
489:
485:
484:
483:
481:
480:
479:
465:
464:
463:
462:
452:
444:
432:
429:
428:
417:
411:
409:
405:
400:
381:Escape analysis
349:Static analysis
344:
293:
277:
256:
229:Code generation
223:
199:
155:
148:
70:
49:
44:
12:
11:
5:
488:
486:
478:
477:
467:
466:
443:and testcases
408:
407:
402:
401:
399:
398:
393:
391:Shape analysis
388:
383:
378:
373:
368:
363:
358:
356:Alias analysis
352:
350:
346:
345:
343:
342:
337:
332:
330:Jump threading
327:
322:
317:
312:
307:
301:
299:
295:
294:
292:
291:
285:
283:
279:
278:
276:
275:
270:
264:
262:
258:
257:
255:
254:
249:
244:
239:
233:
231:
225:
224:
222:
221:
216:
210:
208:
201:
200:
198:
197:
192:
187:
182:
176:
171:
166:
160:
158:
150:
149:
147:
146:
141:
136:
131:
129:Loop unrolling
126:
124:Loop splitting
121:
116:
111:
109:Loop inversion
106:
101:
96:
91:
86:
80:
78:
72:
71:
69:
68:
63:
57:
55:
51:
50:
45:
43:
42:
35:
28:
20:
13:
10:
9:
6:
4:
3:
2:
487:
476:
473:
472:
470:
460:
456:
448:
440:
436:
425:
421:
397:
394:
392:
389:
387:
384:
382:
379:
377:
374:
372:
369:
367:
364:
362:
359:
357:
354:
353:
351:
347:
341:
338:
336:
333:
331:
328:
326:
323:
321:
318:
316:
313:
311:
308:
306:
303:
302:
300:
296:
290:
287:
286:
284:
280:
274:
271:
269:
268:Deforestation
266:
265:
263:
259:
253:
250:
248:
245:
243:
240:
238:
235:
234:
232:
230:
226:
220:
217:
215:
212:
211:
209:
206:
202:
196:
193:
191:
188:
186:
183:
180:
177:
175:
172:
170:
167:
165:
162:
161:
159:
157:
151:
145:
142:
140:
137:
135:
132:
130:
127:
125:
122:
120:
117:
115:
112:
110:
107:
105:
102:
100:
97:
95:
92:
90:
87:
85:
82:
81:
79:
77:
73:
67:
64:
62:
59:
58:
56:
52:
48:
41:
36:
34:
29:
27:
22:
21:
18:
23:
422:] [
181:elimination
99:Loop fusion
54:Basic block
261:Functional
179:Dead store
457:subpage.
154:Data-flow
469:Category
156:analysis
437:|
451:pages.
447:create
439:mirror
435:create
420:create
282:Global
207:-based
426:]
424:purge
418:[
298:Other
455:/doc
76:Loop
205:SSA
471::
461:.
449:)
445:(
441:)
433:(
39:e
32:t
25:v
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.
↑