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
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
Arnold Schwaighofer <arnolds at codeaurora.org> writes:> 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");Hmm. Why doesn't -tailduplication show up in llc -help?
Seemingly Similar Threads
- [LLVMdev] Tail Duplication Questions
- [LLVMdev] prevents instruction-scheduler from interfereing instruction pair
- [LLVMdev] prevents instruction-scheduler from interfereing instruction pair
- [LLVMdev] prevents instruction-scheduler from interfereing instruction pair
- [LLVMdev] Understanding SelectionDAG construction