[PATCH] D35844: Correct dwarf unwind information in function epilogue

Kyle Butt via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 5 13:32:53 PDT 2017


iteratee added inline comments.


================
Comment at: include/llvm/CodeGen/MachineInstr.h:795
 
+  bool isDirective() const { return isDebugValue() || isCFIInstruction(); }
   bool isPHI() const {
----------------
MatzeB wrote:
> violetav wrote:
> > MatzeB wrote:
> > > This name is unintuitive to me. And it feels like this isn't really a category of machine instructions but rather just a combination that `BranchFolding` is able to deal with after this patch.
> > > 
> > > Maybe it would be better to move this into BranchFolding.cpp then in the form of
> > > `static bool isDirective(const MachineInstr &MI) { return MI.isDebugValue() || MI.isCFIInstruction(); }`.
> > This is used in BranchFolding and TailDuplication. It was suggested previously to be done this way https://reviews.llvm.org/D18046?id=101198#inline-294697
> @iteratee Have you seen isMetaInstruction() and isTransient()? This feels like yet another variation of machine instructions that don't produce code. However I don't know why this specific combination is interesting and the generic name and no comment doesn't help understanding that either.
I hadn't.
Violeta, are there any reasons those 2 categories won't work?


Repository:
  rL LLVM

https://reviews.llvm.org/D35844





More information about the llvm-commits mailing list