[PATCH] D38566: [SimplifyCFG] don't sink common insts too soon (PR34603)

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 12 10:16:43 PST 2017


spatel updated this revision to Diff 126573.
spatel added a comment.

Patch updated:
As suggested, turn off sinking of common instructions by default because that's known to be potentially harmful to both early-cse and GVN. Enable that option after GVN has run, in the former "latesimplifycfg" invocation, and when invoked in the target-specific backend pipelines for ARM/AArch64 (there is an AArch64 regression test in test/CodeGen/AArch64/rm_redundant_cmp.ll that requires the sinking transform).


https://reviews.llvm.org/D38566

Files:
  include/llvm/Transforms/Scalar.h
  include/llvm/Transforms/Scalar/SimplifyCFG.h
  include/llvm/Transforms/Utils/Local.h
  lib/Passes/PassBuilder.cpp
  lib/Target/AArch64/AArch64TargetMachine.cpp
  lib/Target/ARM/ARMTargetMachine.cpp
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/Scalar/SimplifyCFGPass.cpp
  lib/Transforms/Utils/SimplifyCFG.cpp
  test/DebugInfo/Generic/simplifycfg_sink_last_inst.ll
  test/Transforms/PhaseOrdering/simplifycfg-options.ll
  test/Transforms/SimplifyCFG/no-md-sink.ll
  test/Transforms/SimplifyCFG/sink-common-code.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38566.126573.patch
Type: text/x-patch
Size: 11297 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171212/ebbd5ff1/attachment.bin>


More information about the llvm-commits mailing list