Knowledge (XXG)

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

Index

v
t
e
Compiler optimizations
Peephole optimization
Local value numbering
Loop
Automatic parallelization
Automatic vectorization
Induction variable
Loop fusion
Loop-invariant code motion
Loop inversion
Loop interchange
Loop nest optimization
Loop splitting
Loop unrolling
Loop unswitching
Software pipelining
Strength reduction
Data-flow
analysis

Available expression
Common subexpression elimination
Constant folding
Dead store
Induction variable recognition and elimination
Live-variable analysis
Use-define chain
SSA
Global value numbering

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.