[PATCH] fix for PR16393: miscompile with struct byval

Jakob Stoklund Olesen jolesen at apple.com
Thu Jul 11 16:43:24 PDT 2013


On Jul 11, 2013, at 12:07 PM, Manman Ren <mren at apple.com> wrote:

<byval_spadj_pei.patch>

This patch is hard to review because of the structural changes.

Could you extract this method first without changing the iteration order?

Index: lib/CodeGen/PrologEpilogInserter.h
===================================================================
--- lib/CodeGen/PrologEpilogInserter.h	(revision 186057)
+++ lib/CodeGen/PrologEpilogInserter.h	(working copy)
@@ -127,6 +127,8 @@
     void insertCSRSpillsAndRestores(MachineFunction &Fn);
     void calculateFrameObjectOffsets(MachineFunction &Fn);
     void replaceFrameIndices(MachineFunction &Fn);
+    void replaceFrameIndices(MachineBasicBlock *BB, MachineFunction &Fn,
+                             int &SPAdj);
     void scavengeFrameVirtualRegs(MachineFunction &Fn);
     void insertPrologEpilogCode(MachineFunction &Fn);

If you can do the refactoring without any functional change, we can review that change after you commit it.

Thanks,
/jakob




More information about the llvm-commits mailing list