[PATCH] D26872: Outliner: Add MIR-level outlining pass

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 6 16:59:32 PST 2016


paquette retitled this revision from "Outliner: Add MIR-level outlining pass (resubmission)" to "Outliner: Add MIR-level outlining pass".
paquette updated this revision to Diff 80512.
paquette marked 52 inline comments as done.
paquette added a comment.

I realized I missed a bunch of stuff on MachineOutliner.cpp/MachineOutliner.h, so I went ahead and picked through the code and fixed a good chunk of it.

Highlights:

- No more MachineOutliner.h!
- Less gross X86 TargetInstrInfo!
- Range-based for loops!
- Proper pass initialization!

I'd also like to ask about the best way to handle custom epilogue/prologue insertion. I left in the three separate virtual functions in TargetInstrInfo.h. Does anyone think it'd be better to just smack them all together into one function which handles function call insertion? I feel like that'd be the best way to do it, but I left it as is for now.

Thanks!
Jessica


Repository:
  rL LLVM

https://reviews.llvm.org/D26872

Files:
  include/llvm/CodeGen/Passes.h
  include/llvm/InitializePasses.h
  include/llvm/Target/TargetInstrInfo.h
  lib/CodeGen/CMakeLists.txt
  lib/CodeGen/CodeGen.cpp
  lib/CodeGen/MachineOutliner.cpp
  lib/CodeGen/TargetPassConfig.cpp
  lib/Target/X86/X86InstrInfo.cpp
  lib/Target/X86/X86InstrInfo.h
  test/CodeGen/X86/machineoutliner.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26872.80512.patch
Type: text/x-patch
Size: 54416 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161207/877cf1d4/attachment-0001.bin>


More information about the llvm-commits mailing list