reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
323 MPM.add(createSROAPass()); 324 MPM.add(createEarlyCSEPass(true /* Enable mem-ssa. */)); // Catch trivial redundancies 326 MPM.add(createGVNHoistPass()); 328 MPM.add(createGVNSinkPass()); 329 MPM.add(createCFGSimplificationPass()); 333 MPM.add(createSpeculativeExecutionIfHasBranchDivergencePass()); 334 MPM.add(createJumpThreadingPass()); // Thread jumps. 335 MPM.add(createCorrelatedValuePropagationPass()); // Propagate conditionals 336 MPM.add(createCFGSimplificationPass()); // Merge & remove BBs 339 MPM.add(createAggressiveInstCombinerPass()); 340 addInstructionCombiningPass(MPM); 342 MPM.add(createLibCallsShrinkWrapPass()); 343 addExtensionsToPM(EP_Peephole, MPM); 347 MPM.add(createPGOMemOPSizeOptLegacyPass()); 349 MPM.add(createTailCallEliminationPass()); // Eliminate tail calls 350 MPM.add(createCFGSimplificationPass()); // Merge & remove BBs 351 MPM.add(createReassociatePass()); // Reassociate expressions 358 MPM.add(createLoopInstSimplifyPass()); 359 MPM.add(createLoopSimplifyCFGPass()); 362 MPM.add(createLoopRotatePass(SizeLevel == 2 ? 0 : -1)); 363 MPM.add(createLICMPass(LicmMssaOptCap, LicmMssaNoAccForPromotionCap)); 365 MPM.add(createSimpleLoopUnswitchLegacyPass()); 367 MPM.add(createLoopUnswitchPass(SizeLevel || OptLevel < 3, DivergentTarget)); 371 MPM.add(createCFGSimplificationPass()); 372 addInstructionCombiningPass(MPM); 374 MPM.add(createIndVarSimplifyPass()); // Canonicalize indvars 375 MPM.add(createLoopIdiomPass()); // Recognize idioms like memset. 376 addExtensionsToPM(EP_LateLoopOptimizations, MPM); 377 MPM.add(createLoopDeletionPass()); // Delete dead loops 380 MPM.add(createLoopInterchangePass()); // Interchange loops 383 MPM.add(createSimpleLoopUnrollPass(OptLevel, DisableUnrollLoops, 385 addExtensionsToPM(EP_LoopOptimizerEnd, MPM); 389 MPM.add(createMergedLoadStoreMotionPass()); // Merge ld/st in diamonds 390 MPM.add(NewGVN ? createNewGVNPass() 393 MPM.add(createMemCpyOptPass()); // Remove memcpy / form memset 394 MPM.add(createSCCPPass()); // Constant prop with SCCP 399 MPM.add(createBitTrackingDCEPass()); // Delete dead bit computations 403 addInstructionCombiningPass(MPM); 404 addExtensionsToPM(EP_Peephole, MPM); 405 MPM.add(createJumpThreadingPass()); // Thread jumps 406 MPM.add(createCorrelatedValuePropagationPass()); 407 MPM.add(createDeadStoreEliminationPass()); // Delete dead stores 408 MPM.add(createLICMPass(LicmMssaOptCap, LicmMssaNoAccForPromotionCap)); 410 addExtensionsToPM(EP_ScalarOptimizerLate, MPM); 413 MPM.add(createLoopRerollPass()); 415 MPM.add(createAggressiveDCEPass()); // Delete dead instructions 416 MPM.add(createCFGSimplificationPass()); // Merge & remove BBs 418 addInstructionCombiningPass(MPM); 419 addExtensionsToPM(EP_Peephole, MPM); 423 MPM.add(createControlHeightReductionLegacyPass());