[PATCH] Remove all MMOs from memory operations when tail merging.

Ana Pazos apazos at codeaurora.org
Fri Feb 27 16:50:09 PST 2015


Hi Hal,

Yes, for now we can have the V1 != V2 solution to resolve the benchmark miscompares resulting from BranchFolding.

I have updated the patch with a few new fixes:
(1) I was potentially removing MMOs from all LD/ST instructions inside the common tail.
I should have been more conservative and  remove MMOs from the corresponding LD/ST instructions  between a block and the common tail.
(2) The "CommonTailLen"  includes  matching instructions between a block and the common tail, but it can also include additional debug instructions.
I have to discount these debug instructions.


http://reviews.llvm.org/D7769

Files:
  include/llvm/CodeGen/MachineInstr.h
  lib/CodeGen/BranchFolding.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7769.20913.patch
Type: text/x-patch
Size: 4826 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150228/e1d9b2ed/attachment.bin>


More information about the llvm-commits mailing list