SuccessChanges

Summary

  1. [IndVars] Use more precise context when eliminating narrowing (details)
  2. [NewPM] Add pipeline EP callback after initial frontend cleanup (details)
Commit 28d7ba15435f055562d18ee7111db4adbaf28fae by mkazantsev
[IndVars] Use more precise context when eliminating narrowing

When deciding to widen narrow use, we may need to prove some facts
about it. For proof, the context is used. Currently we take the instruction
being widened as the context.

However, we may be more precise here if we take as context the point that
dominates all users of instruction being widened.

Differential Revision: https://reviews.llvm.org/D90456
Reviewed By: skatkov
The file was modifiedllvm/lib/Transforms/Utils/SimplifyIndVar.cpp (diff)
The file was modifiedllvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll (diff)
Commit 2c7870dccaf31167b7d7b422ed51d1f0b3e343d3 by aeubanks
[NewPM] Add pipeline EP callback after initial frontend cleanup

This matches the legacy PM's EP_ModuleOptimizerEarly. Some backends use
this extension point and adding the pass somewhere else like
PipelineStartEPCallback doesn't work.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D91804
The file was modifiedllvm/tools/opt/NewPMDriver.cpp (diff)
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h (diff)
The file was modifiedllvm/test/Other/new-pm-O0-ep-callbacks.ll (diff)
The file was modifiedllvm/lib/Passes/PassBuilder.cpp (diff)
The file was modifiedllvm/test/Other/new-pm-defaults.ll (diff)
The file was modifiedllvm/test/Other/pass-pipeline-parsing.ll (diff)