[PATCH] D14361: Let SelectionDAG start to use probability-based interface to add successors.

Cong Hou via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 4 16:58:04 PST 2015


congh created this revision.
congh added reviewers: dexonsmith, manmanren, davidxl.
congh added a subscriber: llvm-commits.
Herald added a subscriber: dsanders.

The patch in http://reviews.llvm.org/D13745 is broken into four parts:

1. New interfaces without functional changes.
2. Use new interfaces in SelectionDAG, while in other passes treat probabilities as weights.
3. Use new interfaces in all other passes.
4. Remove old interfaces.

This the second patch above. In this patch SelectionDAG starts to use probability-based interfaces in MBB to add successors but other MC passes are still using weight-based interfaces. Therefore, we need to maintain correct weight list in MBB even when probability-based interfaces are used. This is done by updating weight list in probability-based interfaces by treating the numerator of probabilities as weights. This change affects many test cases that check successor weight values. I will update those test cases once this patch looks good to you.

http://reviews.llvm.org/D14361

Files:
  include/llvm/Analysis/BranchProbabilityInfo.h
  include/llvm/Support/BranchProbability.h
  lib/CodeGen/MachineBasicBlock.cpp
  lib/CodeGen/SelectionDAG/FastISel.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  lib/Target/AArch64/AArch64FastISel.cpp
  lib/Target/Mips/MipsDelaySlotFiller.cpp
  lib/Target/PowerPC/PPCISelLowering.cpp
  lib/Target/X86/X86FrameLowering.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14361.39293.patch
Type: text/x-patch
Size: 52753 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151105/bbc3aed9/attachment.bin>


More information about the llvm-commits mailing list