[PATCH] D4276: Added llvm.is.constant intrinsic

James Y Knight via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 13 10:14:22 PDT 2018


jyknight updated this revision to Diff 142433.
jyknight added a comment.
Herald added a subscriber: hiraditya.

Rewrote patch significantly.

- Added support for other types.
- Deleted SelectionDAG-side IS_CONSTANT as unneeded.
- Added support in CodeGenPrepare to lower to false, as ISel cannot eliminate unreachable blocks. (similar to llvm.objectsize)

Updated and added more tests;


https://reviews.llvm.org/D4276

Files:
  llvm/docs/LangRef.rst
  llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  llvm/include/llvm/IR/Intrinsics.td
  llvm/lib/Analysis/ConstantFolding.cpp
  llvm/lib/CodeGen/CodeGenPrepare.cpp
  llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
  llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/Transforms/Scalar/SCCP.cpp
  llvm/test/CodeGen/Generic/is-constant.ll
  llvm/test/CodeGen/X86/is-constant.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4276.142433.patch
Type: text/x-patch
Size: 15190 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180413/50751452/attachment.bin>


More information about the llvm-commits mailing list