This is an archive of the discontinued LLVM Phabricator instance.

[DominatorTree] Add support for mixed pre/post CFG views.
ClosedPublic

Authored by asbirlea on Dec 15 2020, 10:37 PM.

Details

Summary

Add support for mixed pre/post CFG views.

Update usages of the MemorySSAUpdater to use the new DT API by
requesting the DT updates to be done by the MSSAUpdater.

Diff Detail

Event Timeline

asbirlea created this revision.Dec 15 2020, 10:37 PM
asbirlea requested review of this revision.Dec 15 2020, 10:37 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 15 2020, 10:37 PM
kuhar added inline comments.Dec 21 2020, 10:13 AM
llvm/include/llvm/Analysis/MemorySSAUpdater.h
122–126

What happens when it's false? My immediate thought would be: will the DT remain unmodified and assumed up to date?

llvm/include/llvm/Support/GenericDomTree.h
566

nit: drop the size parameter and let SmallVector pick it for you?
https://llvm.org/docs/ProgrammersManual.html#llvm-adt-smallvector-h

llvm/lib/Analysis/MemorySSAUpdater.cpp
831

Does this do anything if the update vector is Empty?

llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
509

nit: add braces around the else body

asbirlea updated this revision to Diff 313229.Dec 21 2020, 6:48 PM
asbirlea marked 4 inline comments as done.

Address comments.

kuhar accepted this revision.Dec 21 2020, 7:11 PM

LGTM

llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
862

nit: also add braces here

This revision is now accepted and ready to land.Dec 21 2020, 7:11 PM
This revision was landed with ongoing or failed builds.Jan 6 2021, 2:53 PM
This revision was automatically updated to reflect the committed changes.