[LLVMdev] Tail Duplication Questions

Arnold Schwaighofer arnolds at codeaurora.org
Thu Nov 1 09:08:03 PDT 2012


http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_31/final/lib/CodeGen/Passes.cpp?revision=156747&view=markup

void TargetPassConfig::addMachineSSAOptimization() {
  // Pre-ra tail duplication.
  if (addPass(EarlyTailDuplicateID) != &NoPassID)
    printAndVerify("After Pre-RegAlloc TailDuplicate");


/// Add passes that optimize machine instructions after register allocation.
void TargetPassConfig::addMachineLateOptimization() {
  // Branch folding must be run after regalloc and prolog/epilog insertion.
  if (addPass(BranchFolderPassID) != &NoPassID)
    printAndVerify("After BranchFolding");

  // Tail duplication.
  if (addPass(TailDuplicateID) != &NoPassID)
    printAndVerify("After TailDuplicate");


On Thu, Nov 1, 2012 at 11:02 AM, <dag at cray.com> wrote:
>
> Eli Friedman <eli.friedman at gmail.com> writes:
>
> >> Ah.  So is the MachineFunction version expected to work correctly?
> >
> > It's part of the default set of CodeGen passes.
>
> It is?  Was that true in 3.1?  I can't see where it is initialized in
> llc.  I probably missed something important.  :)
>
> Thanks!
>
>                              -David



More information about the llvm-dev mailing list