[PATCH] D18634: Don't IPO over functions that can be de-refined

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 31 13:46:46 PDT 2016


sanjoy updated this revision to Diff 52280.
sanjoy added a comment.

Address review discussions.

I've changed the API to be based around "exactness".  An "exact"
definition is one that cannot be overridden or de-refined.  I've also
removed the confusing "mayBeOverridden is a subset of mayBeDerefined"
bit.

PTAL.


http://reviews.llvm.org/D18634

Files:
  include/llvm/IR/GlobalValue.h
  lib/Analysis/GlobalsModRef.cpp
  lib/Transforms/IPO/DeadArgumentElimination.cpp
  lib/Transforms/IPO/FunctionAttrs.cpp
  lib/Transforms/IPO/IPConstantPropagation.cpp
  lib/Transforms/IPO/PruneEH.cpp
  lib/Transforms/ObjCARC/ObjCARCAPElim.cpp
  lib/Transforms/Scalar/SCCP.cpp
  test/Analysis/GlobalsModRef/comdat-ipo.ll
  test/Transforms/FunctionAttrs/comdat-ipo.ll
  test/Transforms/IPConstantProp/comdat-ipo.ll
  test/Transforms/Inline/comdat-ipo.ll
  test/Transforms/ObjCARC/comdat-ipo.ll
  test/Transforms/SCCP/comdat-ipo.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18634.52280.patch
Type: text/x-patch
Size: 14341 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160331/0d897eac/attachment-0001.bin>


More information about the llvm-commits mailing list