[all-commits] [llvm/llvm-project] 7e8894: [CodeGen] IndirectBrExpandPass: preserve Dominator...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Wed Jan 27 14:59:50 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7e88942d2548704b35ac92bd327b38f9c6a991d2
      https://github.com/llvm/llvm-project/commit/7e88942d2548704b35ac92bd327b38f9c6a991d2
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-28 (Thu, 28 Jan 2021)

  Changed paths:
    M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
    M llvm/test/CodeGen/X86/opt-pipeline.ll

  Log Message:
  -----------
  [CodeGen] IndirectBrExpandPass: preserve Dominator Tree, if available

This fully de-pessimizes the common case of no indirectbr's,
(where we don't actually need to do anything to preserve domtree)
and avoids domtree recomputation in the case there were indirectbr's.

Note that two indirectbr's could have a common successor, and not all
successors of an indirectbr's are meant to survive the expansion.

Though, the code assumes that an indirectbr's doesn't have
duplicate successors, those *should* have been deduplicated
by simplifycfg or something already.




More information about the All-commits mailing list